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