Freigeben über


IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

Diese Anforderung registriert den Anrufer bei USB-Treiberstapel für Zeitsynchronisierungsdienste.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabe-/Ausgabepuffer

Ein Zeiger auf eine USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION Struktur. Bei eingaben muss der Aufrufer den TimeTrackingHandle Member auf NULL festlegen. Bei der Ausgabe legt der USB-Treiberstapel den TimeTrackingHandle- Member auf ein Handle fest, das den Synchronisierungsdienstevorgang nachverfolgt.

Länge des Eingabe-/Ausgabepuffers

Die Größe der USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION Struktur.

Statusblock

Irp->IoStatus.Status auf STATUS_SUCCESS festgelegt ist, wenn die Anforderung erfolgreich ist. Andernfalls gibt Status eine entsprechende Fehlerbedingung als NTSTATUS- Code an.

Bemerkungen

Nach Abschluss dieser IOCTL-Anforderung ermöglicht der USB-Treiberstapel bestimmte Unterbrechungen vom Hostcontroller, um die nächstgelegene Frame-/Microframe-Grenze nachzuverfolgen, um den System-QPC-Wert mit Genauigkeit vorherzusagen. Durch das Aktivieren der Hardwareunterbrechungen wird der Stromverbrauch erhöht, da die CPU alle 2,048 Sekunden beim Arbeiten im D0-Leistungszustand aufwacht. Daher wird empfohlen, dass sich der Aufrufer nur bei Bedarf für Zeitsynchronisierungsdienste registrieren sollte.

Der Treiberstapel deaktiviert diese Unterbrechungen, wenn er die IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC Anforderung empfängt und abschließt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 1709
mindestens unterstützte Server- Windows Server 2016
Header- usbioctl.h
IRQL- <= DISPATCH_LEVEL

Siehe auch

Erstellen von IOCTL-Anforderungen in Treibern

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously