IDirectInput8::EnumDevices メソッド
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 型のすべてのデバイス。
lpCallback
列挙されるデバイスごとに 1 回呼び出されるコールバック関数のアドレス。「DIEnumDevicesCallback」を参照すること。pvRef
アプリケーション定義の 32 ビット値。列挙コールバック関数が呼び出されるたびに渡される。dwFlags
列挙の範囲を指定するフラグ値。次のフラグを指定する。DIEDFL_ALLDEVICES
すべてのインストール済みデバイスが列挙される。これがデフォルトの動作である。DIEDFL_ATTACHEDONLY
アタッチ状態にあり、インストール済みのデバイスのみ。DIEDFL_FORCEFEEDBACK
フォース フィードバックをサポートするデバイスのみ。DIEDFL_INCLUDEALIASES
他のデバイスのエイリアスであるデバイスを含む。DIEDFL_INCLUDEHIDDEN
隠しデバイスを含む。隠しデバイスの詳細については、「DIDEVCAPS」を参照すること。DIEDFL_INCLUDEPHANTOMS
仮想デバイス (プレースホルダ) を含む。
戻り値
成功した場合は、DI_OK を返す。
失敗した場合は、次のいずれかのエラー値を返す。
DIERR_INVALIDPARAM | 無効なパラメータが、戻ってくる関数に渡されたか、オブジェクトがその関数を呼び出せる状態になかった。この値は、標準のコンポーネント オブジェクト モデル (COM) 戻り値である E_INVALIDARG に等しい。 |
DIERR_NOTINITIALIZED | このオブジェクトは初期化されていない。 |
注意
すべてのインストール済みデバイスは、存在していなくても列挙可能である。たとえば、操縦桿をシステムにインストールしておいて、コンピュータに接続しないでおくこともできる。dwFlags パラメータを設定して、アタッチ状態にあるデバイスだけを列挙するか、またはインストール済みのすべてのデバイスを列挙するかを指示する。DIEDFL_ATTACHEDONLY フラグが存在しない場合は、インストール済みのすべてのデバイスが列挙される。
選別したいデバイス タイプを dwDevType フィルタとして渡して、そのタイプのデバイスだけを列挙できる。
Microsoft® Windows® XP 上では、Microsoft DirectInput® は、システム マウスおよびシステム キーボードとして参照される、1 つのマウス デバイスと 1 つのキーボード デバイスのみを列挙する。これらのデバイスは、システム上のすべてのマウスの出力と、キーボードの出力の組み合わせをそれぞれ表す。Windows XP での複数のマウスまたはキーボードからの読み取り方法については、WM_INPUT のドキュメントを参照すること。
注 DirectInput® がデバイスを列挙する順序は保証されない。
参照