Microsoft DirectX 8.0 (Visual Basic) |
object.GetDeviceData( _ deviceObjectDataArray() As DIDEVICEOBJECTDATA, _ flags As CONST_DIDGDDFLAGS) As Long
deviceObjectDataArray に実際に返されたバッファリング データ要素数が返される。
失敗した場合はエラーが発生し、Err.Number に次のいずれかのエラー コードが設定される。
DIERR_INPUTLOST |
DIERR_INVALIDPARAM |
DIERR_NOTACQUIRED |
DIERR_NOTBUFFERED |
デバイスを取得する前に、DirectInputDevice8.SetDataFormat メソッドでデータ形式を設定し、DirectInputDevice8.SetProperty メソッドでバッファ サイズを設定し、DirectInputDevice8.Acquire メソッドでデバイスを取得しておかなければならない。
このメソッドを使って、SetProperty で作成したバッファから 1 つ以上の入力イベントを取得することができる。一度の呼び出しで、待機中のすべてのイベントを取得する必要はない。たとえば、単一の要素で構成される deviceObjectDataArray() に渡し、すべてのデータが返されるまで GetDeviceData をループ処理することができる。
バッファがオーバーフローすると、待機中のすべてのデータは失われ、DI_BUFFEROVERFLOW エラーが発生する。