IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)
Questa richiesta registra il chiamante con lo stack di driver USB per i servizi di sincronizzazione dell'ora.
Codice principale
Buffer di input/output
Puntatore a una struttura USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION . In input, il chiamante deve impostare il membro TimeTrackingHandle su NULL. Nell'output, lo stack di driver USB imposta il membro TimeTrackingHandle su un handle che tiene traccia dell'operazione dei servizi di sincronizzazione.
Lunghezza del buffer di input/output
Dimensione della struttura USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION .
Blocco dello stato
Irp->IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. In caso contrario, Status indica una condizione di errore appropriata come codice NTSTATUS .
Commenti
Al termine di questa richiesta IOCTL, lo stack di driver USB consente a determinati interrupt dal controller host di tenere traccia del limite di fotogrammi/microframe più vicino per stimare il valore QPC di sistema con accuratezza. L'abilitazione degli interrupt hardware comporta un sovraccarico per il consumo di energia perché la CPU viene riattivata ogni 2,048 secondi quando si lavora nello stato di alimentazione D0. È pertanto consigliabile registrare il chiamante per i servizi di sincronizzazione dell'ora solo quando necessario.
Lo stack di driver disabilita tali interruzioni quando riceve e completa la richiesta di IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1709 |
Server minimo supportato | Windows Server 2016 |
Intestazione | usbioctl.h |
IRQL | <= DISPATCH_LEVEL |
Vedi anche
Creazione di richieste IOCTL nei driver
WdfIoTargetSendInternalIoctlOthersSynchronously