Función KeQueryUnbiasedInterruptTime (wdm.h)
La rutina KeQueryUnbiasedInterruptTime devuelve el valor actual del recuento de tiempo de interrupción del sistema.
Sintaxis
ULONGLONG KeQueryUnbiasedInterruptTime();
Valor devuelto
KeQueryUnbiasedInterruptTime devuelve el recuento de tiempo de interrupción actual en unidades de 100 nanosegundos. El recuento comienza en cero cuando se inicia el equipo. Novedades a este recuento se suspenden cuando el equipo entra en un estado de suspensión y se reanudan cuando el equipo se despierta.
Comentarios
Los controladores en modo kernel pueden llamar a esta rutina para medir duraciones relativamente específicas.
Esta rutina devuelve el tiempo de interrupción del sistema, que es la cantidad de tiempo desde que se inició por última vez el sistema operativo. El recuento de tiempo de interrupción comienza en cero cuando se inicia el sistema operativo y se incrementa en cada interrupción del reloj por la longitud de un tic del reloj. Por diversos motivos, como las diferencias de hardware, la longitud de un tic de reloj del sistema puede variar entre equipos. Llame a la rutina KeQueryTimeIncrement para determinar el tamaño de un tic del reloj del sistema.
Las rutinas KeQueryUnbiasedInterruptTime y KeQueryInterruptTime son similares, pero difieren en la forma en que tienen en cuenta los períodos en los que el sistema operativo suspende las actualizaciones del recuento de tiempo de interrupción. Por ejemplo, estas actualizaciones se suspenden mientras el equipo está en estado de suspensión del sistema. Para compensar los períodos en los que se suspenden las actualizaciones del recuento, KeQueryInterruptTime devuelve un valor de recuento sesgado que calcula agregando un recuento de sesgos al recuento de tiempo de interrupción sin procesar. El recuento de sesgos es la suma estimada de todas las actualizaciones del recuento de tiempo de interrupción que el sistema operativo perdió mientras se suspendía el recuento. Por el contrario, KeQueryUnbiasedInterruptTime devuelve el recuento sin formato e imparcial.
A diferencia de la rutina KeQuerySystemTime , KeQueryUnbiasedInterruptTime devuelve un valor de recuento que no se ve afectado por las operaciones que establecen o restablecen la hora del sistema. Además, la hora del sistema notificada por KeQuerySystemTime normalmente se actualiza aproximadamente cada diez milisegundos. En cambio, el recuento devuelto por KeQueryUnbiasedInterruptTime se actualiza al menos una vez por cada tic del reloj del sistema.
En Windows 2000 y versiones posteriores del sistema operativo Windows, la rutina KeQueryPerformanceCounter proporciona el recuento de ejecución más específico que está disponible en el sistema operativo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 7. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | Cualquier nivel |