Compartilhar via


Função KeQueryUnbiasedInterruptTime (wdm.h)

A rotina de KeQueryUnbiasedInterruptTime retorna o valor atual do sistema tempo de interrupção contagem.

Sintaxe

ULONGLONG KeQueryUnbiasedInterruptTime();

Valor de retorno

KeQueryUnbiasedInterruptTime retorna a contagem de tempo de interrupção atual em unidades de 100 nanossegundos. A contagem começa em zero quando o computador é iniciado. As atualizações para essa contagem são suspensas quando o computador entra em um estado de suspensão e são retomadas quando o computador é despertado.

Observações

Os drivers no modo kernel podem chamar essa rotina para medir durações relativamente refinadas.

Essa rotina retorna o tempo de interrupção do sistema, que é a quantidade de tempo desde que o sistema operacional foi iniciado pela última vez. A contagem de tempo de interrupção começa em zero quando o sistema operacional é iniciado e incrementado em cada interrupção de relógio pelo comprimento de um relógio. Por vários motivos, como diferenças de hardware, o comprimento de um tique de relógio do sistema pode variar entre computadores. Chame a rotina KeQueryTimeIncrement para determinar o tamanho de um tique de relógio do sistema.

As rotinas KeQueryUnbiasedInterruptTime e KeQueryInterruptTime são semelhantes, mas diferem na forma como elas representam os períodos em que o sistema operacional suspende as atualizações da contagem de tempo de interrupção. Por exemplo, essas atualizações são suspensas enquanto o computador está em um estado de suspensão do sistema. Para compensar os períodos em que as atualizações da contagem são suspensas, KeQueryInterruptTime retorna um valor de contagem tendencioso que ele calcula adicionando uma contagem de viés à contagem de tempo de interrupção bruta. A contagem de desvios é a soma estimada de todas as atualizações para a contagem de tempo de interrupção que o sistema operacional perdeu durante a contagem ser suspensa. Por outro lado, KeQueryUnbiasedInterruptTime retorna a contagem bruta e imparcial.

Ao contrário da rotina KeQuerySystemTime, KeQueryUnbiasedInterruptTime retorna um valor de contagem que não é afetado por operações que definem ou redefinem a hora do sistema. Além disso, o tempo do sistema relatado por KeQuerySystemTime normalmente é atualizado aproximadamente a cada dez milissegundos. Por outro lado, a contagem retornada por KeQueryUnbiasedInterruptTime é atualizada pelo menos uma vez por tique de relógio do sistema.

No Windows 2000 e versões posteriores do sistema operacional Windows, a rotina KeQueryPerformanceCounter fornece a melhor contagem de execução granular que está disponível no sistema operacional.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 7.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL Qualquer nível

Consulte também

KeQueryInterruptTime

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTimeIncrement