Share via


IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

Esta solicitud registra el autor de la llamada con la pila de controladores USB para los servicios de sincronización de tiempo.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada y salida

Puntero a una estructura de USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION . En la entrada, el autor de la llamada debe establecer el miembro TimeTrackingHandle en NULL. En la salida, la pila del controlador USB establece el miembro TimeTrackingHandle en un identificador que realiza un seguimiento de la operación de servicios de sincronización.

Longitud del búfer de entrada y salida

Tamaño de la estructura USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION .

Bloque de estado

Irp->IoStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. De lo contrario, Status indica una condición de error adecuada como código NTSTATUS .

Comentarios

Cuando se completa esta solicitud IOCTL, la pila del controlador USB permite ciertas interrupciones del controlador host para realizar un seguimiento de los límites de fotogramas o microframe más cercanos para predecir el valor QPC del sistema con precisión. La habilitación de las interrupciones de hardware agrega una sobrecarga al consumo de energía porque la CPU se reactiva cada 2,048 segundos al trabajar en el estado de alimentación D0. Por lo tanto, se recomienda que el autor de la llamada se registre para los servicios de sincronización de hora solo cuando sea necesario.

La pila del controlador deshabilita esas interrupciones cuando recibe y completa la solicitud de IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1709
Servidor mínimo compatible Windows Server 2016
Encabezado usbioctl.h
IRQL <= DISPATCH_LEVEL

Consulte también

Creación de solicitudes IOCTL en controladores

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously