Platform SDK: DirectX

IDirectInput7::EnumDevices

IDirectInput7::EnumDevice メソッドは、現在コンピュータにアタッチ されているか、アタッチ可能なデバイスを列挙する。

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

パラメータ

dwDevType
デバイス タイプのフィルタ。このパラメータがゼロなら、すべてのデバイス タイプが列挙される。ゼロでなければ、列挙すべきデバイス タイプを示す DIDEVTYPE_* 値になる (「DIDEVICEINSTANCE」を参照)。
lpCallback
各 DirectInput デバイスの記述を使って呼び出されるコールバック関数のアドレス。
pvRef
アプリケーション定義の 32 ビット値。列挙コールバック関数が呼ばれるたびに渡される。
dwFlags
列挙の範囲を指定するフラグ値。次のフラグを指定する。
DIEDFL_ALLDEVICES
すべてのインストール済みデバイスが列挙される。これがデフォルト モードである。
DIEDFL_ATTACHEDONLY
アタッチかつインストール済みデバイスだけ。
DIEDFL_FORCEFEEDBACK
フォース フィードバックをサポートするデバイスだけ。
DIEDFL_INCLUDEALIASES
ほかのデバイスのエイリアスであるデバイスを含む。
DIEDFL_INCLUDEPHANTOMS
仮想デバイス (プレースホルダ) を含む。

戻り値

成功すれば DI_OK を返す。

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

DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED

注意

すべてのインストール済みデバイスは、たとえそれが現存していなくても列挙可能である。たとえば、操縦桿は、システムにインストールするが、当面コンピュータに接続しないでおくこともできる。dwFlags パラメータを設定して、アタッチされているデバイスだけを列挙するか、またはインストール済みのすべてのデバイスを列挙するかを指示する。DIEDFL_ATTACHEDONLY フラグが存在しない場合は、インストール済みの全デバイスが列挙される。

選別したいデバイス タイプを dwDevType フィルタとして渡して、そのタイプのデバイスだけを列挙することができる。

LpCallback パラメータには、DIEnumDevicesCallback として表記されている種類のコールバック関数のアドレスを指定する。DirectInput は、列挙されているデバイスごとに、この関数を呼び出す。このコールバック関数の中では、デバイス タイプと登録名、および製品 GUID と登録名が、各デバイスに対して与えられる。単一の入力デバイスが、複数の DirectInput デバイス タイプとして機能することができる場合は、サポートする各デバイス タイプごとに返される。たとえば、組み込みマウス付きのキーボードは、1 つのキーボードとして、かつ、1 つのマウスとして列挙される。ただし、製品 GUID は各デバイスに対して同じである。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dinput.h で宣言。
  インポート ライブラリ : dinput.lib を使用。