Partilhar via


IOCTL_USB_START_TRACKING_FOR_TIME_SYNC IOCTL (usbioctl.h)

Essa solicitação registra o chamador com a 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 rastreia 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 de NTSTATUS.

Observações

Quando essa solicitação IOCTL é concluída, a pilha de driver USB permite que determinadas interrupções do controlador de 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
de cliente com suporte mínimo Windows 10, versão 1709
servidor com suporte mínimo Windows Server 2016
cabeçalho usbioctl.h
IRQL <= DISPATCH_LEVEL

Consulte também

criar solicitações IOCTL em drivers

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously