次の方法で共有


IDirectInput8::EnumDevicesBySemantics メソッド

IDirectInput8::EnumDevicesBySemantics メソッド

アプリケーション指定のアクション マップに最も一致するデバイスを列挙する。

構文

HRESULT EnumDevicesBySemantics(      
    LPCTSTR ptszUserName,
    LPDIACTIONFORMAT lpdiActionFormat,
    LPDIENUMDEVICESBYSEMANTICSCB lpCallback,
    LPVOID pvRef,
    DWORD dwFlags
);

パラメータ

  • ptszUserName
    現在のユーザーを識別する文字列。システムにログオンしたユーザーを指定する場合は NULL。ユーザー名はデバイスの列挙時に考慮される。ユーザー マッピングのないデバイスよりも、ユーザー マッピングを持つデバイスが優先される。デフォルトでは、他のユーザーが使用中のデバイスは、このユーザー用には列挙されない。
  • lpdiActionFormat
    列挙する適切なデバイスのアクション マップを指定する DIACTIONFORMAT 構造体のアドレス。
  • lpCallback
    列挙されるデバイスごとに 1 回呼び出されるコールバック関数のアドレス。「DIEnumDevicesBySemanticsCallback」を参照すること。
  • pvRef
    アプリケーション定義の 32 ビット値。列挙コールバック関数が呼び出されるたびに渡される。
  • dwFlags
    列挙の範囲を指定するフラグ値。次の 1 つまたは複数のフラグを指定する。
    • DIEDBSFL_ATTACHEDONLY
      アタッチ状態にあり、インストール済みのデバイスだけを列挙する。
    • DIEDBSFL_AVAILABLEDEVICES
      未所有かつインストール済みのデバイスだけを列挙する。
    • DIEDBSFL_FORCEFEEDBACK
      フォース フィードバックをサポートするデバイスだけを列挙する。
    • DIEDBSFL_MULTIMICEKEYBOARDS
      セカンダリ (非システム) キーボードおよびマウス デバイスのみ。
    • DIEDBSFL_NONGAMINGDEVICES
      主な用途がゲーム デバイスとしてではない、HID 準拠のデバイスのみ。USB スピーカなどのデバイス、および特殊なキーボード上のマルチメディア ボタンは、この値をとる。
    • DIEDBSFL_THISUSER
      ptszUserName で識別されるユーザー用のインストール済みのすべてのデバイス、および未所有のすべてのデバイスを列挙する。
    • DIEDBSFL_VALID
      DIEDBSFL_VALID も Dinput.h に定義されているが、アプリケーションはこれを使わない。

戻り値

成功した場合は、DI_OK を返す。

失敗した場合は、次のいずれかのエラー値を返す。

DIERR_INVALIDPARAM 無効なパラメータが、戻ってくる関数に渡されたか、オブジェクトがその関数を呼び出せる状態になかった。この値は、標準のコンポーネント オブジェクト モデル (COM) 戻り値である E_INVALIDARG に等しい。
DIERR_NOTINITIALIZED このオブジェクトは初期化されていない。

注意

キーボードとマウスは最後に列挙される。

  Microsoft® DirectInput® がデバイスを列挙する順序は保証されない。

参照

IDirectInput8::EnumDevicesアクション マップ