IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

Essa solicitação registra o chamador com pilha de driver USB para serviços de sincronização de tempo.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada/saída

Um ponteiro para uma estrutura USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION . Na entrada, o chamador deve definir o membro TimeTrackingHandle como NULL. Na saída, a pilha de driver USB define o membro TimeTrackingHandle como um identificador que acompanha a operação de serviços de sincronização.

Comprimento do buffer de entrada/saída

O tamanho da estrutura USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION .

Bloco de status

Irp->IoStatus.Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, Status indica uma condição de erro apropriada como um código NTSTATUS .

Comentários

Quando essa solicitação IOCTL é concluída, a pilha de driver USB permite que determinadas interrupções do controlador host acompanhem o limite de quadro/microframe mais próximo para prever o valor QPC do sistema com precisão. Habilitar as interrupções de hardware adiciona uma sobrecarga ao consumo de energia porque a CPU é ativada a cada 2,048 segundos ao trabalhar no estado de energia D0. Portanto, recomendamos que o chamador se registre para serviços de sincronização de tempo somente quando necessário.

A pilha de driver desabilita essas interrupções quando recebe e conclui a solicitação de IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1709
Servidor mínimo com suporte Windows Server 2016
Cabeçalho usbioctl.h
IRQL <= DISPATCH_LEVEL

Confira também

Criando solicitações IOCTL em drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously