MÉTHODE IMFClock ::GetCorrelatedTime (mfidl.h)

Récupère l’heure de la dernière horloge qui a été corrélée à l’heure système.

Syntaxe

HRESULT GetCorrelatedTime(
  [in]  DWORD    dwReserved,
  [out] LONGLONG *pllClockTime,
  [out] MFTIME   *phnsSystemTime
);

Paramètres

[in] dwReserved

Réservé, doit être égal à zéro.

[out] pllClockTime

Reçoit la dernière heure d’horloge connue, en unités de la fréquence de l’horloge.

[out] phnsSystemTime

Reçoit l’heure système qui correspond à l’heure d’horloge retournée dans pllClockTime, en unités de 100 nanosecondes.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
MF_E_CLOCK_NO_TIME_SOURCE
L’horloge n’a pas de source de temps.

Remarques

À un intervalle fixe, une horloge met en corrélation ses cycles d’horloge internes avec l’heure système. (L’heure système est l’heure retournée par le compteur de performances haute résolution.) Cette méthode retourne :

  • Heure d’horloge la plus récente qui a été corrélée à l’heure système.
  • Heure système à laquelle la corrélation a été effectuée.
L’heure de l’horloge est retournée dans le paramètre pllClockTime et est exprimée en unités de la fréquence de l’horloge. Si la méthode IMFClock ::GetClockCharacteristics de l’horloge retourne l’indicateur MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , la fréquence de l’horloge est de 10 MHz (chaque battement d’horloge est de 100 nanosecondes). Sinon, vous pouvez obtenir la fréquence de l’horloge en appelant IMFClock ::GetProperties. La fréquence est donnée dans le membre qwClockFrequency de la structure MFCLOCK_PROPERTIES retournée par cette méthode.

L’heure système est retournée dans le paramètre phnsSystemTime et est toujours exprimée en unités de 100 nanosecondes.

Pour savoir à quelle fréquence l’horloge met en corrélation son heure d’horloge avec l’heure système, appelez GetProperties. L’intervalle de corrélation est indiqué dans le membre qwCorrelationRate de la structure MFCLOCK_PROPERTIES . Si qwCorrelationRate est égal à zéro, cela signifie que l’horloge effectue la corrélation chaque fois que GetCorrelatedTime est appelé. Sinon, vous pouvez calculer l’heure d’horloge actuelle en extrapolant à partir de la dernière heure corrélée.

Certaines horloges prennent en charge les changements de taux via l’interface IMFRateControl . Si c’est le cas, l’heure de l’horloge avance à une vitesse de fréquence × vitesse actuelle. Si une horloge n’expose pas l’interface IMFRateControl , le taux est toujours de 1,0.

Pour l’horloge de présentation, l’heure d’horloge est l’heure de présentation et est toujours relative à l’heure de début spécifiée dans IMFPresentationClock ::Start. Vous pouvez également obtenir l’heure de présentation en appelant IMFPresentationClock ::GetTime.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfidl.h
Bibliothèque Mfuuid.lib

Voir aussi

IMFClock

MFTIME