Platform SDK: DirectX

ステップ 1 : ジョイスティックの列挙

[Visual Basic]

ここでは、C++ でのアプリケーション開発について説明する。Visual Basic については、「DirectInput Visual Basic チュートリアル」を参照すること。

[C++]

DirectInput システムを作成したら、IDirectInput7::EnumDevices メソッドを呼び出し、ジョイスティックを列挙する。この処理を行うには、次のコードを使用する。

// pdi は、IDirectInput7 への初期化済みのポインタである。
 
pdi->lpVtbl->EnumDevices(pdi, DIDEVTYPE_JOYSTICK,
InitJoystickInput, pdi, DIEDFL_ATTACHEDONLY);
 

メソッド呼び出しは C 形式である。呼び出しを簡単にするために、IDirectInput7_EnumDevices マクロを使用することに注意すること。すべての DirectInput メソッドには、それに対応する、Dinput.h で定義されたマクロが含まれていて、適切な C または C++ の文法に従って展開する。

第 2 パラメータとして渡される DIDEVTYPE_JOYSTICK 定数は、列挙対象のデバイスのタイプを指定する。

InitJoystickInput は、ジョイスティックが見つかるたびに呼び出されるコールバック関数のアドレスである。チュートリアルのこれ以降のステップにおいて、個別のデバイスはこの関数の中で初期化される。

第 4 パラメータは、コールバック関数が使用できる任意の 32 ビット値である。この場合は、DirectInput インターフェイスへのポインタである。コールバック関数が IDirectInput7::CreateDeviceEx メソッドを呼び出すには、このポインタが必要である。

最後のパラメータの DIEDFL_ATTACHEDONLY は、列挙対象をコンピュータにアタッチされているデバイスに限定するフラグである。

次項 : ステップ 2 : DirectInput ジョイスティック デバイスの作成