Compartilhar via


Função KeQueryUnbiasedInterruptTime (wdm.h)

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

Sintaxe

ULONGLONG KeQueryUnbiasedInterruptTime();

Retornar valor

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. Atualizações para essa contagem são suspensos quando o computador entra em um estado de suspensão e são retomados quando o computador acorda.

Comentários

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 tique de 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 são responsáveis por 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 tendenciosa que calcula adicionando uma contagem de desvios à 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 perdida pelo sistema operacional durante a suspensão da contagem. 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
Cliente mínimo com suporte Disponível a partir do Windows 7.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível

Confira também

KeQueryInterruptTime

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQuerySystemTime

KeQueryTimeIncrement