// usbioctl.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
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.
TimeTrackingHandleThe time racking handle received in the previous IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC request.
InputFrameNumberA 32-bit USB bus frame number.
InputMicroFrameNumberA 3-bit value received from the hardware.
QueryPerformanceCounterAtInputFrameOrMicroFrameA 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.
QueryPerformanceCounterFrequencyThe current performance-counter frequency, in counts per second.
PredictedAccuracyInMicroSecondsA value that represents the accuracy of the predicted QPC value in micro seconds.
CurrentGenerationIDAn identifier for this request of time synchronization.
CurrentQueryPerformanceCounterCurrent QPC value captured that is synchronized with the bus frame numbers represented by CurrentHardwareFrameNumber, CurrentHardwareMicroFrameNumber and CurrentUSBFrameNumber.
CurrentHardwareFrameNumberA 1-bit value of the current hardware frame number that is directly read from the MFINDEX register.
CurrentHardwareMicroFrameNumberA 3-bit value of the current hardware micro frame number that is directly read from the MFINDEX register.
CurrentUSBFrameNumberA 32-bit USB frame number value returned by _URB_GET_CURRENT_FRAME_NUMBER.