Microsoft DirectX 8.0 (C++) |
デバイスのインスタンスに対する協調レベルを確立する。協調レベルは、このインスタンスが、同じデバイスのほかのインスタンス、およびシステムのこれ以外の部分との間で、どのように対話するかを決定する。
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 |
システム マウスが排他モードで取得されると、マウス ポインタは、デバイスが解放されるまで画面から消去される。これに該当するのは、GUID_SysMouse を IDirectInput8::CreateDevice に渡して作成されたマウスのみである。
アプリケーションは、IDirectInputDevice8::Acquire メソッドでデバイスを取得する前に、このメソッドを呼び出さなければならない。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : dinput.h で宣言。