IDirectInputDevice7::EnumObjects
IDirectInputDevice7::EnumObjects メソッドは、デバイス上で使用可能な入力ソース (軸、ボタンなど) を列挙する。
HRESULT EnumObjects(
LPDIENUMDEVICEOBJECTSCALLBACK lpCallback,
LPVOID pvRef,
DWORD dwFlags
);
パラメータ
- lpCallback
- DirectInputDevice オブジェクトのコールバック関数のアドレス。DirectInput は、この関数のプロトタイプを DIEnumDeviceObjectsCallback として提供している。
- pvRef
- コールバック用のリファレンス データ (コンテキスト)
- dwFlags
- 列挙するオブジェクトのタイプを指定するフラグ。次のフラグは、列挙対象を指定されたタイプのオブジェクトに制限する。
- DIDFT_ABSAXIS
- 絶対軸。
- DIDFT_ALL
- すべてのオブジェクト。
- DIDFT_AXIS
- 絶対軸、相対軸のどちらか。
- DIDFT_BUTTON
- プッシュ ボタンまたはトグル ボタン。
- DIDFT_COLLECTION
- HID リンク コレクション。HID リンク コレクションは、独自のデータを生成しない。
- DIDFT_ENUMCOLLECTION(n)
- HID リンク コレクション番号 n に属するオブジェクト。
- DIDFT_FFACTUATOR
- フォース フィードバック アクチュエータを含むオブジェクト。すなわち、フォースをこのオブジェクトに適用することができる。
- DIDFT_FFEFFECTTRIGGER
- フォース フィードバック エフェクトをトリガするために使用できるオブジェクト。
- DIDFT_NOCOLLECTION
- HID リンク コレクションに属さないオブジェクト。すなわち、DIDEVICEOBJECTINSTANCE 構造体の wCollectionNumber メンバが 0 であるオブジェクト。
- DIDFT_NODATA
- データを生成しないオブジェクト。
- DIDFT_OUTPUT
- IDirectInputDevice7::SendDeviceData メソッドを利用することによって、データを送ることができるオブジェクト。
- DIDFT_POV
- 視点コントローラ。
- DIDFT_PSHBUTTON
- プッシュ ボタン。プッシュ ボタンは、ユーザーが押したときにダウン、ユーザーが離したときにアップと報告される。
- DIDFT_RELAXIS
- 相対軸。
- DIDFT_TGLBUTTON
- トグル ボタン。トグル ボタンは、ユーザーが押したときにダウンと報告され、ユーザーが再度そのボタンを押すまでその状態に留まる。
- DIDFT_VENDORDEFINED
- メーカーにより定義されるタイプのオブジェクト。
戻り値
成功すれば DI_OK を返す。
失敗すれば次のエラー値のいずれかを返す。
注意
dwFlags パラメータに DIDFT_FFACTUATOR および DIDFT_FFEFFECTTRIGGER フラグを指定すると、列挙対象は、この 2 つのフラグで定義されているすべての基準を満たすオブジェクトに限定される。ほかのすべてのフラグの場合は、このカテゴリに指定したフラグで定義されている基準を満たすオブジェクトが列挙される。たとえば、(DIDFT_FFACTUATOR | DIDFT_FFEFFECTTRIGGER) を指定すると、列挙対象をフォース フィードバック トリガ オブジェクトに限定する。これに対して、(DIDFT_FFEFFECTRIGGER | DIDFT_TGLBUTTON | DIDFT_PSHBUTTON) を指定すると、エフェクト トリガとして利用できる任意のボタンが列挙される。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dinput.h で宣言。
インポート ライブラリ : dinput.lib を使用。