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