IDirectInput8::EnumDevices
使用可能なデバイスを列挙します。
HRESULT
EnumDevices(
DWORD dwDevType,
LPDIENUMDEVICESCALLBACK lpCallback,
LPVOID pvRef,
DWORD dwFlags
);
パラメータ
- dwDevType
デバイス種類フィルター。 列挙の対象を特定の種類のデバイスに制限するには、このパラメーターの値を DI8DEVTYPE_* に設定します。「DIDEVICEINSTANCE」を参照してください。 デバイスのクラスを列挙するには、次のいずれかの値を使用します。- DI8DEVCLASS_ALL
すべてのデバイス。 - DI8DEVCLASS_DEVICE
他のクラスに分類できないすべてのデバイス。 - DI8DEVCLASS_GAMECTRL
すべてのゲーム コントローラー。 - DI8DEVCLASS_KEYBOARD
すべてのキーボード。DI8DEVTYPE_KEYBOARD と同等。 - DI8DEVCLASS_POINTER
DI8DEVTYPE_MOUSE および DI8DEVTYPE_SCREENPOINTER の種類のデバイスすべて。
- DI8DEVCLASS_ALL
- lpCallback
列挙されたそれぞれのデバイスごとに 1 回呼び出されるコールバック関数のアドレス。「DIEnumDevicesCallback」を参照してください。 - pvRef
列挙コールバックが呼び出されるたびにそのコールバックに渡される、アプリケーション定義の 32 ビット値。 - dwFlags
列挙の範囲を指定するフラグ値。このパラメーターには、次の 1 つ以上の値を設定できます。- DIEDFL_ALLDEVICES
インストール済みデバイスがすべて列挙されます。これがデフォルトの動作です。 - DIEDFL_ATTACHEDONLY
接続されているインストール済みデバイスのみ。 - DIEDFL_FORCEFEEDBACK
フォース フィードバックをサポートするデバイスのみ。 - DIEDFL_INCLUDEALIASES
他のデバイスのエイリアスであるデバイスも含めます。 - DIEDFL_INCLUDEHIDDEN
隠しデバイスも含めます。隠しデバイスについては、「DIDEVCAPS」を参照してください。 - DIEDFL_INCLUDEPHANTOMS
ファントム (プレースホルダー) デバイスも含めます。
- DIEDFL_ALLDEVICES
戻り値
メソッドが正常に実行された場合、戻り値は DI_OK です。メソッドが失敗した場合、戻り値は次のいずれかのエラー値です。DIERR_INVALIDPARAM、DIERR_NOTINITIALIZED
解説
インストール済みデバイスは、存在していなくてもすべて列挙できます。たとえば、フライト スティックがシステムにインストールされていても、現在コンピューターには接続されていない場合があります。◆次の文節に含まれる◇ dwFlags パラメーターを設定すると、接続されているデバイスのみ、またはインストール済みデバイスすべてを列挙するように指示できます。DIEDFL_ATTACHEDONLY フラグが指定されない場合は、インストール済みデバイスすべてが列挙されます。
対象とするデバイスの種類を dwDevType フィルターとして渡すことにより、その種類のデバイスのみが列挙されるようにすることができます。
Microsoft Windows XP では、DirectInput は 1 つのマウスと 1 つのキーボード デバイスのみを列挙します。これらのデバイスは、システム マウスおよびシステム キーボードと呼ばれます。これらのデバイスは、それぞれシステム上にあるすべてのマウスとキーボードの出力を結合したものを表します。Windows XP 上で複数のマウスまたはキーボードから個別に読み取りを行う方法については、WM_INPUT の資料を参照してください。
注 DirectInput がデバイスを列挙する順序は、常に同じとは限りません。
要件
ヘッダー: Dinput.h 宣言