Platform SDK: DirectX

CONST_DISCLFLAGS

CONST_DISCLFLAGS 列挙は、DirectInputDevice.SetCooperativeLevel メソッドの flags パラメータに使用され、デバイスが、そのデバイスのほかのインスタンスおよびシステムの残りの部分と通信する方法を決定する。

Enum CONST_DISCLFLAGS
    DISCL_BACKGROUND   = 8
    DISCL_EXCLUSIVE    = 1
    DISCL_FOREGROUND   = 4
    DISCL_NONEXCLUSIVE = 2
End Enum
DISCL_BACKGROUND
アプリケーションは、バックグラウンド アクセス権を要求する。バックグラウンド アクセス権が許可されると、割り当てられたウィンドウがアクティブ ウィンドウでない場合でも、いつでもデバイスを取得できる。
DISCL_EXCLUSIVE
アプリケーションは、排他アクセス権を要求する。排他アクセス権が付与されると、デバイスが取得されている間、デバイスのほかのインスタンスは、そのデバイスの排他アクセス権を取得できない。ただし、別のアプリケーションが排他アクセス権を取得している場合でも、デバイスの非排他アクセス権は常に認められる。

アプリケーションがマウス デバイスやキーボード デバイスを取得すると、ユーザーはウィンドウ メニューを使用したり、ウィンドウを移動したり、ウィンドウのサイズを変更したりすることはできなくなる。

DISCL_FOREGROUND
アプリケーションはフォアグラウンド アクセス権を要求する。フォアグラウンド アクセス権が付与されると、割り当てられたウィンドウがバックグラウンドに移動するときに、デバイスは自動的に解放される。
DISCL_NONEXCLUSIVE
アプリケーションは、排他アクセス権を要求する。デバイスに対するアクセス権は、同じデバイスにアクセスしているほかのアプリケーションの妨げにならない。

アプリケーションは、DISCL_FOREGROUND または DISCL_BACKGROUND のどちらか一方を指定しなければならない。両方指定することも、まったく指定しないこともエラーとなる。同様に、アプリケーションは、DISCL_EXCLUSIVE または DISCL_NONEXCLUSIVE のどちらか一方を指定しなければならない。