Condividi tramite


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

IRP_MJ_DEVICE_CONTROL

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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously