Microsoft DirectX 8.0 (C++) |
デバイスから直接データを取得する。
HRESULT GetDeviceState( DWORD cbData, LPVOID lpvData );
成功した場合は、DI_OK を返す。
失敗した場合は、次のいずれかのエラー値を返す。
DIERR_INPUTLOST |
DIERR_INVALIDPARAM |
DIERR_NOTACQUIRED |
DIERR_NOTINITIALIZED |
E_PENDING |
デバイス データを取得する前に、IDirectInputDevice8::SetCooperativeLevel メソッドで協調レベルを設定した後、IDirectInputDevice8::SetDataFormat メソッドでデータ形式を設定し、IDirectInputDevice8::Acquire メソッドでデバイスを取得する。
次の表に示すように、5 つの定義済みデータ形式には、それぞれに対応するデバイス状態構造体が必要である。
データ形式 | 状態構造体 |
---|---|
c_dfDIMouse | DIMOUSESTATE |
c_dfDIMouse2 | DIMOUSESTATE2 |
c_dfDIKeyboard | 256 バイトの配列 |
c_dfDIJoystick | DIJOYSTATE |
c_dfDIJoystick2 | DIJOYSTATE2 |
たとえば、c_dfDIMouse 形式を IDirectInputDevice8::SetDataFormat メソッドに渡す場合は、DIMOUSESTATE 構造体を IDirectInputDevice8::GetDeviceState メソッドに渡さなければならない。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : dinput.h で宣言。
IDirectInputDevice8::Poll、「ポーリングとイベント通知」、「バッファリング データと直接データ」