IDirectInputDevice8::EnumObjects
デバイス上で使用可能な入力オブジェクトと出力オブジェクトを列挙します。
HRESULT
EnumObjects(
LPDIENUMDEVICEOBJECTSCALLBACK lpCallback,
LPVOID pvRef,
DWORD dwFlags
);
パラメータ
- lpCallback
DirectInputDevice オブジェクトを受け取るコールバック関数のアドレス。DirectInput は、この関数のプロトタイプを DIEnumDeviceObjectsCallback として提供しています。 - pvRef
コールバックのリファレンス データ (コンテキスト)。 - dwFlags
列挙するオブジェクトの種類を指定するフラグ。次のそれぞれの値によって、列挙の対象がそれぞれ示されている種類のオブジェクトに制限されます。- DIDFT_ABSAXIS
絶対軸。 - DIDFT_ALIAS
ヒューマン インターフェイス デバイス (HID) 使用エイリアスによって示されるコントロール。このフラグは、HID 準拠の USB デバイスのみに適用されます。 - 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
出力をサポートするオブジェクト。詳しくは、IDirectInputDevice8::SendDeviceData の「解説」を参照してください。 - DIDFT_POV
視点コントローラー。 - DIDFT_PSHBUTTON
プッシュ ボタン。プッシュ ボタンは、ユーザーが押したときはダウン、ユーザーが放したときはアップとして報告されます。 - DIDFT_RELAXIS
相対軸。 - DIDFT_TGLBUTTON
トグル ボタン。トグル ボタンは、ユーザーが押したときにダウンとして報告され、ユーザーが次にそのボタンを押すまでその状態を保ちます。 - DIDFT_VENDORDEFINED
製造元によって定義された型のオブジェクト。
- DIDFT_ABSAXIS
戻り値
メソッドが正常に実行された場合、戻り値は DI_OK です。メソッドが失敗した場合、戻り値は次のいずれかのエラー値です。
DIERR_INVALIDPARAM DIERR_NOTINITIALIZED
解説
dwFlags パラメーター内の DIDFT_FFACTUATOR フラグと DIDFT_FFEFFECTTRIGGER フラグは、 パラメーターに含まれるフラグによって定義された条件をすべて満たすオブジェクトのみに列挙の対象を制限します。その他すべてのフラグの場合は、このカテゴリに含まれるすべてのフラグによって定義された条件を満たす場合に、オブジェクトが列挙されます。たとえば、(DIDFT_FFACTUATOR | DIDFT_FFEFFECTTRIGGER) はフォース フィードバック トリガー オブジェクトのみに列挙の対象を制限し、(DIDFT_FFEFFECTTRIGGER | DIDFT_TGLBUTTON | DIDFT_PSHBUTTON) はエフェクト トリガーとして使用できる種類のボタンに列挙の対象を制限します。
特定のキーボード キーやインジケーター ライトが存在するかどうか判別するために、アプリケーションでこの方式を使用しないようにしてください。これは、これらのオブジェクトが存在していなくても列挙される可能性があるからです。使用可能なオブジェクトの基本的なセットはデバイス サブタイプから判別できますが、メニュー キーなどの追加オブジェクトが使用可能かどうか確実に判別する方法はありません。
要件
ヘッダー: Dinput.h 宣言