Partager via


IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

Cette demande inscrit l’appelant auprès de la pile de pilotes USB pour les services de synchronisation de temps.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée/sortie

Pointeur vers une structure USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION. Lors de l’entrée, l’appelant doit définir le membre TimeTrackingHandle sur NULL. En sortie, la pile de pilotes USB définit le membre TimeTrackingHandle sur un handle qui suit l’opération des services de synchronisation.

Longueur de la mémoire tampon d’entrée/sortie

Taille de la structure USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION.

Bloc d’état

> IoStatus.Status est défini sur STATUS_SUCCESS si la requête réussit. Sinon, 'état indique une condition d’erreur appropriée en tant que code NTSTATUS.

Remarques

Lorsque cette demande IOCTL se termine, la pile de pilotes USB permet à certaines interruptions du contrôleur hôte de suivre la limite de trame/microframe la plus proche afin de prédire la valeur QPC système avec précision. L’activation des interruptions matérielles ajoute une surcharge à la consommation d’alimentation, car le processeur se réveille toutes les 2,048 secondes lors du travail dans l’état d’alimentation D0. Par conséquent, nous vous recommandons d’inscrire l’appelant pour les services de synchronisation de temps uniquement si nécessaire.

La pile de pilotes désactive ces interruptions lorsqu’elle reçoit et termine la demande de IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1709
serveur minimum pris en charge Windows Server 2016
d’en-tête usbioctl.h
IRQL <= DISPATCH_LEVEL

Voir aussi

création de requêtes IOCTL dans les pilotes

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously