IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

此请求将调用方注册到用于时间同步服务的 USB 驱动程序堆栈。

主要代码

IRP_MJ_DEVICE_CONTROL

输入/输出缓冲区

指向 USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION 结构的指针。 输入时,调用方必须将 TimeTrackingHandle 成员设置为 NULL。 在输出时,USB 驱动程序堆栈将 TimeTrackingHandle 成员设置为跟踪同步服务操作的句柄。

输入/输出缓冲区长度

USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION结构的大小。

状态块

Irp->如果请求成功,IoStatus.Status 设置为 STATUS_SUCCESS。 否则, Status 指示作为 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

另请参阅

在驱动程序中创建 IOCTL 请求

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously