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