Platform SDK: DirectX |
IDirectInputDevice7::SetCooperativeLevel メソッドは、デバイスのインスタンスに対する協調レベルを確立する。協調レベルは、このインスタンスが、同じデバイスのほかのインスタンス、およびシステムのこれ以外の部分との間で、どのように対話するかを決定する。
HRESULT SetCooperativeLevel( HWND hwnd, DWORD dwFlags );
アプリケーションがマウスまたはキーボード デバイスを排他モードで取得している場合は、WM_ENTERSIZEMOVE メッセージおよび WM_ENTERMENULOOP メッセージを受け取ると、常にデバイスを解放する必要がある。それ以外の場合、ユーザーはメニューを操作したり、ウィンドウを移動またはウィンドウのサイズを変更したりすることはできない。
アプリケーションは、DISCL_FOREGROUND または DISCL_BACKGROUND のどちらか一方を指定しなければならない。両方指定することも、まったく指定しないこともエラーとなる。同様に、アプリケーションは、DISCL_EXCLUSIVE または DISCL_NONEXCLUSIVE のどちらか一方を指定しなければならない。
成功すれば DI_OK を返す。
失敗すれば次のエラー値のいずれかを返す。
DIERR_INVALIDPARAM |
DIERR_NOTINITIALIZED |
E_HANDLE |
システム マウスが排他モードで取得されると、マウス ポインタは、デバイスが解放されるまで画面から消去される。
アプリケーションは、IDirectInputDevice7::Acquire メソッドでデバイスを取得する前に、このメソッドを呼び出さなければならない。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dinput.h で宣言。
インポート ライブラリ : dinput.lib を使用。
「協調レベル」