Partager via


IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

Cette demande inscrit l’appelant avec 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. Lors de la sortie, la pile de pilotes USB définit le membre TimeTrackingHandle sur un handle qui effectue le suivi de 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

Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande réussit. Sinon, Status indique une condition d’erreur appropriée en tant que code NTSTATUS .

Remarques

Une fois cette requête IOCTL terminée, 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’énergie, car le processeur se réveille toutes les 2,048 secondes quand il fonctionne dans l’état d’alimentation D0. Par conséquent, nous recommandons à l’appelant de s’inscrire aux services de synchronisation de l’heure uniquement en cas de besoin.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1709
Serveur minimal pris en charge Windows Server 2016
En-tête usbioctl.h
IRQL <= DISPATCH_LEVEL

Voir aussi

Création de requêtes IOCTL dans les pilotes

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously