Função KeQueryInterruptTime (wdm.h)

A rotina KeQueryInterruptTime retorna o valor atual da contagem de tempo de interrupção do sistema, com precisão para dentro do tique do relógio do sistema.

Sintaxe

ULONGLONG KeQueryInterruptTime();

Retornar valor

KeQueryInterruptTime retorna a contagem atual de tempo de interrupção em unidades de 100 nanossegundos. A atualização para esse valor retornado geralmente ocorre pelo menos uma vez por tique de relógio do sistema.

Comentários

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.

KeQueryInterruptTime pode ser usado para ajuste de desempenho. Essa rotina retorna uma medida mais refinada do que a rotina KeQueryTickCount . Uma chamada para KeQueryInterruptTime tem consideravelmente menos sobrecarga do que uma chamada para a rotina KeQueryPerformanceCounter também.

Consequentemente, o tempo de interrupção pode ser usado para medir durações muito refinadas enquanto o sistema está em execução porque as operações que definem ou redefinem o tempo do sistema não têm efeito na contagem de tempo de interrupção do sistema.

No entanto, as alterações de estado de gerenciamento de energia afetam a contagem de tempo de interrupção do sistema. A manutenção da contagem de tempo de interrupção é suspensa durante os estados de suspensão do sistema. Quando ocorre uma transição de estado de ativação subsequente, o sistema adiciona um valor de "desvio" à contagem de tempo de interrupção para compensar a duração estimada desse estado de suspensão. A contagem de tempo de interrupção retornada por KeQueryInterruptTime inclui esse valor de desvio. Para obter uma contagem de tempo de interrupção imparcial, use a rotina KeQueryUnbiasedInterruptTime em vez de KeQueryInterruptTime.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
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

Aquisição de carimbos de data/hora de alta resolução

KeQueryInterruptTimePrecise

KeQueryPerformanceCounter

KeQueryTickCount

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime