MFCLOCK_PROPERTIES struttura (mfidl.h)
Definisce le proprietà di un orologio.
Sintassi
typedef struct _MFCLOCK_PROPERTIES {
unsigned __int64 qwCorrelationRate;
GUID guidClockId;
DWORD dwClockFlags;
unsigned __int64 qwClockFrequency;
DWORD dwClockTolerance;
DWORD dwClockJitter;
} MFCLOCK_PROPERTIES;
Members
qwCorrelationRate
Intervallo in cui l'orologio correla l'ora dell'orologio con l'ora di sistema, in unità da 100 nanosecondi. Se il valore è zero, la correlazione viene eseguita ogni volta che viene chiamato il metodo FMClock::GetCorrelatedTime .
guidClockId
Identificatore univoco del dispositivo sottostante che fornisce il tempo. Se due orologi hanno lo stesso identificatore univoco, si basano sullo stesso dispositivo. Se il dispositivo sottostante non è condiviso tra due orologi, il valore può essere GUID_NULL.
dwClockFlags
Or bit per bit dei flag dall'enumerazione MFCLOCK_RELATIONAL_FLAGS.
qwClockFrequency
Frequenza di clock in Hz. Un valore di MFCLOCK_FREQUENCY_HNS indica che l'orologio ha una frequenza di 10 MHz (100-nanosecondi tick), ovvero l'unità temporale MFTIME standard in Media Foundation. Se il metodo IMFClock::GetClockCharacteristics restituisce il flag MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , il valore di questo campo deve essere MFCLOCK_FREQUENCY_HNS.
dwClockTolerance
Quantità di errori che possono essere presenti sull'orologio, in parti per miliardo (ppb). Ad esempio, un'accuratezza di 50 ppb significa che l'orologio potrebbe derivare fino a 50 secondi per miliardi di secondi di tempo reale. Se la tolleranza non è nota, il valore è MFCLOCK_TOLERANCE_UNKNOWN. Questa costante è uguale a 50 parti per milione (ppm).
dwClockJitter
Quantità di jitter che può essere presente in 100-nanosecondi. Jitter è la variazione della frequenza a causa del campionamento dell'orologio sottostante. Il jitter non include errori causati dalla deriva, che si riflette nel valore di dwClockTolerance.
Per gli orologi basati su un singolo dispositivo, il jitter minimo è la lunghezza del periodo di tick (l'inverso della frequenza). Ad esempio, se la frequenza è 10 Hz, il jitter è 0,1 secondo, ovvero 1.000.000 in unità MFTIME . Questo valore riflette il fatto che l'orologio potrebbe essere campione appena prima del segno di spunta successivo, causando un'ora di orologio minore del tempo effettivo. Se la frequenza è maggiore di 10 MHz, il jitter deve essere impostato su 1 (valore minimo).
Se il dispositivo hardware sottostante di un orologio non contrassegna direttamente i dati in ingresso, il jitter include anche il tempo necessario per inviare la routine del servizio di interruzione del driver (ISR). In tal caso, il jitter previsto deve includere i valori seguenti:
Requisiti
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Intestazione | mfidl.h |