次の方法で共有


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® がデバイスを列挙する順序は保証されない。

参照

IDirectInput8::EnumDevicesBySemantics