此请求将调用方注册到 USB 驱动程序堆栈进行时间同步服务。
主要代码
输入/输出缓冲区
指向 USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION 结构的指针。 在输入时,调用方必须将 TimeTrackingHandle 成员设置为 NULL。 输出时,USB 驱动程序堆栈会将 TimeTrackingHandle 成员设置为跟踪同步服务作的句柄。
输入/输出缓冲区长度
USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION 结构的大小。
状态块
Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。 否则,状态 指示作为 NTSTATUS 代码的相应错误条件。
言论
当此 IOCTL 请求完成时,USB 驱动程序堆栈使主机控制器的某些中断能够跟踪最近的帧/微帧边界,以便准确预测系统 QPC 值。 启用硬件中断会增加电源消耗开销,因为 CPU 在 D0 电源状态下每 2.048 秒唤醒一次。 因此,我们建议调用方仅在需要时注册时间同步服务。
驱动程序堆栈在收到并完成 IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC 请求时禁用这些中断。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10 版本 1709 |
| 支持的最低服务器 | Windows Server 2016 |
| 标头 | usbioctl.h |
| IRQL | <= DISPATCH_LEVEL |
另请参阅
WdfIoTargetSendInternalIoctlOthersSynchronously