Platform SDK: DirectX

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 を返す。

失敗すれば次のエラー値のいずれかを返す。

DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED

注意

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 を使用。