Partager via


structure MFCLOCK_PROPERTIES (mfidl.h)

Définit les propriétés d’une horloge.

Syntaxe

typedef struct _MFCLOCK_PROPERTIES {
  unsigned __int64 qwCorrelationRate;
  GUID             guidClockId;
  DWORD            dwClockFlags;
  unsigned __int64 qwClockFrequency;
  DWORD            dwClockTolerance;
  DWORD            dwClockJitter;
} MFCLOCK_PROPERTIES;

Membres

qwCorrelationRate

Intervalle auquel l’horloge met en corrélation son heure d’horloge avec l’heure système, en unités de 100 nanosecondes. Si la valeur est égale à zéro, la corrélation est établie chaque fois que la méthode IMFClock::GetCorrelatedTime est appelée.

guidClockId

Identificateur unique de l’appareil sous-jacent qui fournit l’heure. Si deux horloges ont le même identificateur unique, elles sont basées sur le même appareil. Si l’appareil sous-jacent n’est pas partagé entre deux horloges, la valeur peut être GUID_NULL.

dwClockFlags

Or au niveau du bit des indicateurs de l’énumération MFCLOCK_RELATIONAL_FLAGS .

qwClockFrequency

Fréquence d’horloge en Hz. Une valeur de MFCLOCK_FREQUENCY_HNS signifie que l’horloge a une fréquence de 10 MHz (100 nanosecondes), qui est l’unité de temps MFTIME standard dans Media Foundation. Si la méthode IMFClock::GetClockCharacteristics retourne l’indicateur MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , la valeur de ce champ doit être MFCLOCK_FREQUENCY_HNS.

dwClockTolerance

Quantité d’imprécision qui peut être présente sur l’horloge, en parties par milliard (ppb). Par exemple, une inexactitude de 50 ppb signifie que l’horloge peut dériver jusqu’à 50 secondes par milliard de secondes en temps réel. Si la tolérance n’est pas connue, la valeur est MFCLOCK_TOLERANCE_UNKNOWN. Cette constante est égale à 50 parties par million (ppm).

dwClockJitter

Quantité de gigue qui peut être présente, en unités de 100 nanosecondes. La gigue est la variation de la fréquence due à l’échantillonnage de l’horloge sous-jacente. La gigue n’inclut pas les inexactitudes provoquées par la dérive, qui se reflètent dans la valeur de dwClockTolerance.

Pour les horloges basées sur un seul appareil, la gigue minimale est la longueur de la période de graduation (l’inverse de la fréquence). Par exemple, si la fréquence est de 10 Hz, la gigue est de 0,1 seconde, ce qui est 1 000 000 000 en unités MFTIME . Cette valeur reflète le fait que l’horloge peut être échantillonné juste avant la coche suivante, ce qui entraîne une heure d’horloge inférieure d’une période à l’heure réelle. Si la fréquence est supérieure à 10 MHz, la gigue doit être définie sur 1 (la valeur minimale).

Si le périphérique matériel sous-jacent d’une horloge n’horodaille pas directement les données entrantes, la gigue inclut également le temps nécessaire pour distribuer la routine de service d’interruption (ISR) du pilote. Dans ce cas, la gigue attendue doit inclure les valeurs suivantes :

Valeur Signification
MFCLOCK_JITTER_ISR
Gigue due à l’horodatage pendant l’ISR du pilote de périphérique.
MFCLOCK_JITTER_DPC
Gigue due à l’horodatage pendant le traitement de l’appel de procédure différée (DPC).
MFCLOCK_JITTER_PASSIVE
Gigue due au passage à l’exécution normale du thread avant l’horodatage.

Spécifications

   
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]
En-tête mfidl.h

Voir aussi

IMFClock::GetProperties

MFTIME

Media Foundation Structures