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
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