Compartir a través de


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 ejecuta 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.

Observaciones

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

El recuento de tiempo de interrupción recuperado por la función QueryUnbiasedInterruptTime refleja solo el tiempo 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 la suspensión 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 las compilaciones de Windows QueryUnbiasedInterruptTime generan 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 en 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.
 
Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0601 o posterior. Para obtener más información, vea Using the Windows Headers.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 7, Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
servidor mínimo admitido Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
de la plataforma de destino de Windows
encabezado de realtimeapiset.h (incluya Windows.h)
biblioteca de Mincore.lib
DLL de Kernel32.dll

Consulte también

tiempo de interrupción

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePreci se

System Power States

de hora de Windows