структура MFCLOCK_PROPERTIES (mfidl.h)
Определяет свойства часов.
Синтаксис
typedef struct _MFCLOCK_PROPERTIES {
unsigned __int64 qwCorrelationRate;
GUID guidClockId;
DWORD dwClockFlags;
unsigned __int64 qwClockFrequency;
DWORD dwClockTolerance;
DWORD dwClockJitter;
} MFCLOCK_PROPERTIES;
Члены
qwCorrelationRate
Интервал, с которым часы сопоставляют свое время с системным временем в единицах 100 наносекунд. Если значение равно нулю, корреляция выполняется при каждом вызове метода IMFClock::GetCorrelatedTime .
guidClockId
Уникальный идентификатор базового устройства, предоставляющего время. Если два часа имеют одинаковый уникальный идентификатор, они основаны на одном устройстве. Если базовое устройство не является общим для двух часов, значение можно GUID_NULL.
dwClockFlags
Побитовое ИЛИ флагов из перечисления MFCLOCK_RELATIONAL_FLAGS .
qwClockFrequency
Тактовая частота в Гц. Значение MFCLOCK_FREQUENCY_HNS означает, что часы имеют частоту 10 МГц (100 наносекундных тактов), которая является стандартной единицей времени MFTIME в Media Foundation. Если метод IMFClock::GetClockCharacteristics возвращает флаг MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , значение этого поля должно быть MFCLOCK_FREQUENCY_HNS.
dwClockTolerance
Количество неточностей, которые могут присутствовать на часах, в частях на миллиард (ppb). Например, неточность в 50 ppb означает, что часы могут дрейфовать до 50 секунд на миллиард секунд в режиме реального времени. Если погрешность неизвестна, значение будет MFCLOCK_TOLERANCE_UNKNOWN. Эта константа равна 50 частям на миллион (ppm).
dwClockJitter
Возможное количество дрожания в единицах 100 наносекунд. Дрожание — это изменение частоты из-за выборки базовых часов. Дрожание не включает неточности, вызванные смещением, что отражается в значении dwClockTolerance.
Для часов, основанных на одном устройстве, минимальное дрожание — это длина периода деления (обратная частота). Например, если частота составляет 10 Гц, то дрожание составляет 0,1 секунды, что составляет 1 000 000 в единицах MFTIME . Это значение отражает тот факт, что часы могут быть выбраны непосредственно перед следующим тиком, что приводит к тому, что время часов на один период меньше фактического времени. Если частота превышает 10 МГц, то дрожание должно быть равно 1 (минимальное значение).
Если базовое аппаратное устройство часов не устанавливает метку времени для входящих данных напрямую, в дрожание также включается время, необходимое для отправки процедуры обслуживания прерываний драйвера (ISR). В этом случае ожидаемое дрожание должно включать следующие значения:
Требования
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Верхняя часть | mfidl.h |