Platform SDK: DirectX |
DIJOYSTATE2 構造体は、拡張機能付きジョイスティック デバイスの状態に関する情報を格納する。この構造体は、IDirectInputDevice7::GetDeviceState メソッドで使用する。
typedef struct DIJOYSTATE2 { LONG lX; LONG lY; LONG lZ; LONG lRx; LONG lRy; LONG lRz; LONG rglSlider[2]; DWORD rgdwPOV[4]; BYTE rgbButtons[128]; LONG lVX; LONG lVY; LONG lVZ; LONG lVRx; LONG lVRy; LONG lVRz; LONG rglVSlider[2]; LONG lAX; LONG lAY; LONG lAZ; LONG lARx; LONG lARy; LONG lARz; LONG rglASlider[2]; LONG lFX; LONG lFY; LONG lFZ; LONG lFRx; LONG lFRy; LONG lFRz; LONG rglFSlider[2]; } DIJOYSTATE2, *LPDIJOYSTATE2;
拡張機能付きジョイスティックへのアクセス用にデバイスを準備するには、IDirectInputDevice7::SetDataFormat メソッドを呼び出し、c_dfDIJoystick2 グローバルデータ形式変数を渡す。
DIJOYSTATE2 構造体は IDirectInputDevice7 インターフェイスと特別な関連はない。DIJOYSTATE または DIJOYSTATE2 のどちらか一方を、IDirectInputDevice インターフェイスまたは IDirectInputDevice7 インターフェイスのどちらか一方と共に使用することができる。
軸が相対モードである場合は、適切なメンバが位置の変化量を格納する。絶対モードの場合には、同じメンバが軸の絶対位置を格納する。
POV インジケータの中心位置を 65,535 と報告するドライバもある。POV インジケータが中心位置にあるかどうかは、次のようにして確認する。
BOOL POVCentered = (LOWORD(dwPOV) == 0xFFFF);
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dinput.h で宣言。