次の方法で共有


IDirect3DDevice9::TestCooperativeLevel

ウィンドウ表示アプリケーションまたは全画面アプリケーションにおける Direct3D デバイスの現在の協働レベル状態が報告されます。

HRESULT 
TestCooperativeLevel(
);

パラメータ

なし。

戻り値

メソッドが成功した場合は、D3D_OK を返します。これは、デバイスが操作可能で、呼び出しているアプリケーションは続行できることを示しています。メソッドが失敗した場合は、次のいずれかの値を返します。D3DERR_DEVICELOST、D3DERR_DEVICENOTRESET、D3DERR_DRIVERINTERNALERROR。

解説 

デバイスが失われ、現状で復元できない場合、IDirect3DDevice9::TestCooperativeLevel は D3DERR_DEVICELOST リターン コードを返します。これは、たとえば全画面デバイスがフォーカスを失った場合などに当てはまります。アプリケーションで失われたデバイスが検出された場合、戻り値 D3DERR_DEVICENOTRESET を受け取るまで、処理を中断して定期的に IDirect3DDevice9::TestCooperativeLevel を呼び出す必要があります。次に、IDirect3DDevice9::Reset を呼び出してデバイスのリセットを試行できます。これが成功した場合、必要なリソースを復元して通常の処理を再開できます。デバイスが失われたか、リセットされていない場合、IDirect3DDevice9::Present は D3DERR_DEVICELOST を返すことに注意してください。

IDirect3DDevice9::TestCooperativeLevel は、リセット対象のデバイスの作成に使用したものとは異なるスレッド上で呼び出すと、失敗します。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容