USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION structure

Stores the frame and microframe numbers and the calculated system QPC values. This structure is used in the IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC request.

Syntax

typedef struct _USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {
  HANDLE        TimeTrackingHandle;
  ULONG         InputFrameNumber;
  ULONG         InputMicroFrameNumber;
  LARGE_INTEGER QueryPerformanceCounterAtInputFrameOrMicroFrame;
  LARGE_INTEGER QueryPerformanceCounterFrequency;
  ULONG         PredictedAccuracyInMicroSeconds;
  ULONG         CurrentGenerationID;
  LARGE_INTEGER CurrentQueryPerformanceCounter;
  ULONG         CurrentHardwareFrameNumber;
  ULONG         CurrentHardwareMicroFrameNumber;
  ULONG         CurrentUSBFrameNumber;
} USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION, *PUSB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION;

Members

TimeTrackingHandle

The time racking handle received in the previous IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC request.

InputFrameNumber

A 32-bit USB bus frame number.

InputMicroFrameNumber

A 3-bit value received from the hardware.

QueryPerformanceCounterAtInputFrameOrMicroFrame

A value predicted by the USB driver stack that represents the system QPC value at the beginning of the frame and microframe represented by the InputFrameNumber and InputMicroFrameNumber input values.

QueryPerformanceCounterFrequency

The current performance-counter frequency, in counts per second.

PredictedAccuracyInMicroSeconds

A value that represents the accuracy of the predicted QPC value in micro seconds.

CurrentGenerationID

An identifier for this request of time synchronization.

CurrentQueryPerformanceCounter

Current QPC value captured that is synchronized with the bus frame numbers represented by CurrentHardwareFrameNumber, CurrentHardwareMicroFrameNumber and CurrentUSBFrameNumber.

CurrentHardwareFrameNumber

A 1-bit value of the current hardware frame number that is directly read from the MFINDEX register.

CurrentHardwareMicroFrameNumber

A 3-bit value of the current hardware micro frame number that is directly read from the MFINDEX register.

CurrentUSBFrameNumber

A 32-bit USB frame number value returned by _URB_GET_CURRENT_FRAME_NUMBER.

Requirements

   
Header usbioctl.h