Microsoft DirectX 8.0 (Visual Basic) |
ウィンドウ アプリケーションまたはフルスクリーン アプリケーションに対する Microsoft® Direct3D® デバイスの現在の協調レベル ステータスを報告する。
object.TestCooperativeLevel() As Long
成功した場合は D3D_OK を返す。この戻り値は、デバイスが動作しており、呼び出し側アプリケーションが実行を継続できることを示している。
失敗した場合はエラーが発生し、Err.Number に次のいずれかの値が設定される (「注意」を参照)。
D3DERR_DEVICELOST |
D3DERR_DEVICENOTRESET |
エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。
デバイスが失われたにもかかわらず現時点では復元できない場合、Direct3DDevice8.TestCooperativeLevel は D3DERR_DEVICELOST リターン コードを返す。たとえば、フルスクリーン デバイスがフォーカスを失ったような場合である。アプリケーションで消失したデバイスを検出した場合、アプリケーションは一時停止して TestCooperativeLevel を定期的に呼び出し、戻り値 D3DERR_DEVICENOTRESET を受け取るまで待機する必要がある。その後で、Direct3DDevice8.Reset を呼び出してデバイスをリセットする。これに成功した場合は、必要なリソースを復元し、通常の処理を再開する。デバイスの状態が "消失" または "非リセット" のいずれかの場合は、Direct3DDevice8.Present は D3DERR_DEVICELOST を返すことに注意する。