Fonction QueryUnbiasedInterruptTime (realtimeapiset.h)

Obtient le nombre de temps d’interruption non biaisé actuel, en unités de 100 nanosecondes. Le nombre de temps d’interruption non biaisé n’inclut pas le temps passé par le système en veille ou en veille prolongée.

Syntaxe

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

Paramètres

UnbiasedTime

TBD

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro. Si la fonction échoue parce qu’elle est appelée avec un paramètre null, la valeur de retour est zéro.

Remarques

Le nombre de temps d’interruption commence à zéro au démarrage du système et est incrémenté à chaque interruption d’horloge par la longueur d’une horloge. La longueur exacte d’une horloge dépend du matériel sous-jacent et peut varier d’un système à l’autre.

Le nombre de temps d’interruption récupéré par la fonction QueryUnbiasedInterruptTime reflète uniquement la durée de fonctionnement du système. Par conséquent, le nombre de temps d’interruption n’est pas « biaisé » par le temps passé par le système en veille ou en veille prolongée. Le système utilise le temps d’interruption biaisé pour certaines opérations, comme s’assurer que les minuteurs relatifs qui auraient expiré pendant le sommeil expirent immédiatement au réveil.

Contrairement à l’heure système, le nombre de temps d’interruption n’est pas soumis à des ajustements par les utilisateurs ni par le service de temps Windows. Les applications peuvent utiliser le nombre de temps d’interruption pour mesurer des durées plus fines que ce qui est possible avec le temps système. Les applications qui nécessitent une précision supérieure au nombre de temps d’interruption doivent utiliser un minuteur haute résolution. Utilisez la fonction QueryPerformanceFrequency pour récupérer la fréquence du minuteur haute résolution et la fonction QueryPerformanceCounter pour récupérer la valeur du compteur.

La résolution du minuteur définie par les fonctions timeBeginPeriod et timeEndPeriod affecte la résolution de la fonction QueryUnbiasedInterruptTime . Toutefois, l’augmentation de la résolution du minuteur n’est pas recommandée, car elle peut réduire les performances globales du système et augmenter la consommation d’énergie du système en empêchant le processeur d’entrer dans des états d’économie d’énergie. Au lieu de cela, les applications doivent utiliser un minuteur haute résolution.

Note La fonction QueryUnbiasedInterruptTime produit des résultats différents sur les builds de débogage (« vérifiée ») de Windows, car le nombre de temps d’interruption et le nombre de graduations sont avancés d’environ 49 jours. Cela permet d’identifier les bogues qui peuvent ne pas se produire tant que le système n’est pas en cours d’exécution depuis longtemps. La build vérifiée est disponible pour les abonnés MSDN via le site Web MSDN (Microsoft Developer Network).
 
Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0601 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête realtimeapiset.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Heure d’interruption

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

États d’alimentation du système

Horloge Windows