Microsoft DirectX 8.0 (C++)

IDirectInput8::EnumDevicesBySemantics

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

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

パラメータ

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

DIEDBSFL_VALID も Dinput.h に定義されているが、アプリケーションからは使用されない。

戻り値

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

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

DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED

注意

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

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : dinput.h で宣言。

参照

IDirectInput8::EnumDevices、「アクション マッピング