Microsoft DirectX 8.0 (Visual Basic) |
バッファリングされている Microsoft® DirectInput® 入力データの場合 (「バッファリング データと直接データ」を参照)、各 DIDEVICEOBJECTDATA 型には、イベントのタイプとそれに関連するデバイス オブジェクトだけでなく、タイム スタンプとシーケンス番号も格納される。
lTimeStamp メンバは、イベントが発生したときのシステム時間をミリ秒単位で格納する。これは、Microsoft Win32® GetTickCount 関数によって返される値と同じか、より精度が高い値である。
lSequence メンバは、DirectInput が割り当てたシーケンス番号を格納する。DirectInput システムは、単一のシーケンス カウンタを保持している。このカウンタは、任意のデバイスで、バッファリングされるイベントが発生するたびに随時増加する。(マウスの斜めの動きなど、同一デバイス上で同時に発生したイベントは、1 回だけカウントが増加する)。この番号を使って、異なるデバイスから発生するイベントを比較し、どちらが先かを確認することができる。
注 イベントは、常に、発生時間順にバッファに入れられるので、単一デバイスからのイベントを単に順序付けするだけなら、シーケンス番号をチェックする必要はない。