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 :
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 |