Función QueryUnbiasedInterruptTime (realtimeapiset.h)

Obtiene el recuento de tiempo de interrupción no sesgado actual, en unidades de 100 nanosegundos. El recuento de tiempo de interrupción no sesgado no incluye el tiempo que el sistema pasa en suspensión o hibernación.

Sintaxis

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

Parámetros

UnbiasedTime

TBD

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero. Si se produce un error en la función porque se llama con un parámetro NULL, el valor devuelto es cero.

Comentarios

El recuento de tiempo de interrupción comienza en cero cuando se inicia el sistema y se incrementa en cada interrupción del reloj por la longitud de un tic del reloj. La longitud exacta de un tic del reloj depende del hardware subyacente y puede variar entre sistemas.

El recuento de tiempo de interrupción recuperado por la función QueryUnbiasedInterruptTime solo refleja la hora en que el sistema está en estado de trabajo. Por lo tanto, el recuento de tiempo de interrupción no es "sesgado" por el tiempo que el sistema pasa en suspensión o hibernación. El sistema usa el tiempo de interrupción sesgado para algunas operaciones, como asegurarse de que los temporizadores relativos que habrían expirado durante el sueño expiran inmediatamente después de despertarse.

A diferencia de la hora del sistema, el recuento de tiempo de interrupción no está sujeto a ajustes por parte de los usuarios o el servicio de hora de Windows. Las aplicaciones pueden usar el recuento de tiempo de interrupción para medir las duraciones más finas de las que son posibles con la hora del sistema. Las aplicaciones que requieren mayor precisión que el recuento de tiempo de interrupción deben usar un temporizador de alta resolución. Use la función QueryPerformanceFrequency para recuperar la frecuencia del temporizador de alta resolución y la función QueryPerformanceCounter para recuperar el valor del contador.

La resolución del temporizador establecida por las funciones timeBeginPeriod y timeEndPeriod afecta a la resolución de la función QueryUnbiasedInterruptTime . Sin embargo, no se recomienda aumentar la resolución del temporizador porque puede reducir el rendimiento general del sistema y aumentar el consumo de energía del sistema evitando que el procesador entre en estados de ahorro de energía. En su lugar, las aplicaciones deben usar un temporizador de alta resolución.

Nota La función QueryUnbiasedInterruptTime genera resultados diferentes en las compilaciones de depuración ("checked") de Windows, ya que el recuento de tiempo de interrupción y el recuento de tics están avanzados aproximadamente 49 días. Esto ayuda a identificar errores que podrían no producirse hasta que el sistema se haya estado ejecutando durante mucho tiempo. La compilación activada está disponible para los suscriptores de MSDN a través del sitio web de Microsoft Developer Network (MSDN).
 
Para compilar una aplicación que usa esta función, defina _WIN32_WINNT como 0x0601 o posterior. Para obtener más información, vea Usar los encabezados de Windows.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado realtimeapiset.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Tiempo de interrupción

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

Estados de energía del sistema

Hora de Windows