次の方法で共有


IDirectInput8::EnumDevices

使用可能なデバイスを列挙します。

HRESULT 
EnumDevices(
  DWORD dwDevType,
  LPDIENUMDEVICESCALLBACK lpCallback,
  LPVOID pvRef,
  DWORD dwFlags
);

パラメータ

  • dwDevType
    デバイス種類フィルター。 列挙の対象を特定の種類のデバイスに制限するには、このパラメーターの値を DI8DEVTYPE_* に設定します。「DIDEVICEINSTANCE」を参照してください。 デバイスのクラスを列挙するには、次のいずれかの値を使用します。
    • DI8DEVCLASS_ALL
      すべてのデバイス。
    • DI8DEVCLASS_DEVICE
      他のクラスに分類できないすべてのデバイス。
    • DI8DEVCLASS_GAMECTRL
      すべてのゲーム コントローラー。
    • DI8DEVCLASS_KEYBOARD
      すべてのキーボード。DI8DEVTYPE_KEYBOARD と同等。
    • DI8DEVCLASS_POINTER
      DI8DEVTYPE_MOUSE および DI8DEVTYPE_SCREENPOINTER の種類のデバイスすべて。
  • lpCallback
    列挙されたそれぞれのデバイスごとに 1 回呼び出されるコールバック関数のアドレス。「DIEnumDevicesCallback」を参照してください。
  • pvRef
    列挙コールバックが呼び出されるたびにそのコールバックに渡される、アプリケーション定義の 32 ビット値。
  • dwFlags
    列挙の範囲を指定するフラグ値。このパラメーターには、次の 1 つ以上の値を設定できます。
    • DIEDFL_ALLDEVICES
      インストール済みデバイスがすべて列挙されます。これがデフォルトの動作です。
    • DIEDFL_ATTACHEDONLY
      接続されているインストール済みデバイスのみ。
    • DIEDFL_FORCEFEEDBACK
      フォース フィードバックをサポートするデバイスのみ。
    • DIEDFL_INCLUDEALIASES
      他のデバイスのエイリアスであるデバイスも含めます。
    • DIEDFL_INCLUDEHIDDEN
      隠しデバイスも含めます。隠しデバイスについては、「DIDEVCAPS」を参照してください。
    • DIEDFL_INCLUDEPHANTOMS
      ファントム (プレースホルダー) デバイスも含めます。

戻り値

メソッドが正常に実行された場合、戻り値は DI_OK です。メソッドが失敗した場合、戻り値は次のいずれかのエラー値です。DIERR_INVALIDPARAM、DIERR_NOTINITIALIZED

解説 

インストール済みデバイスは、存在していなくてもすべて列挙できます。たとえば、フライト スティックがシステムにインストールされていても、現在コンピューターには接続されていない場合があります。◆次の文節に含まれる◇ dwFlags パラメーターを設定すると、接続されているデバイスのみ、またはインストール済みデバイスすべてを列挙するように指示できます。DIEDFL_ATTACHEDONLY フラグが指定されない場合は、インストール済みデバイスすべてが列挙されます。

対象とするデバイスの種類を dwDevType フィルターとして渡すことにより、その種類のデバイスのみが列挙されるようにすることができます。

Microsoft Windows XP では、DirectInput は 1 つのマウスと 1 つのキーボード デバイスのみを列挙します。これらのデバイスは、システム マウスおよびシステム キーボードと呼ばれます。これらのデバイスは、それぞれシステム上にあるすべてのマウスとキーボードの出力を結合したものを表します。Windows XP 上で複数のマウスまたはキーボードから個別に読み取りを行う方法については、WM_INPUT の資料を参照してください。

    DirectInput がデバイスを列挙する順序は、常に同じとは限りません。

要件

ヘッダー: Dinput.h 宣言

関連項目

IDirectInput8::EnumDevicesBySemantics