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나노초 단위)입니다. 값이 0이면 IMFClock::GetCorrelatedTime 메서드가 호출될 때마다 상관 관계가 만들어집니다.
guidClockId
시간을 제공하는 기본 디바이스의 고유 식별자입니다. 두 클록에 동일한 고유 식별자가 있는 경우 동일한 디바이스를 기반으로 합니다. 기본 디바이스가 두 클록 간에 공유되지 않는 경우 값을 GUID_NULL 수 있습니다.
dwClockFlags
MFCLOCK_RELATIONAL_FLAGS 열거형의 플래그 비트 OR입니다.
qwClockFrequency
클록 주파수(Hz)입니다. MFCLOCK_FREQUENCY_HNS 값은 시계의 주파수가 Media Foundation의 표준 MFTIME 시간 단위인 10MHz(100나노초 틱)임을 의미합니다. IMFClock::GetClockCharacteristics 메서드가 MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ 플래그를 반환하는 경우 이 필드의 값은 MFCLOCK_FREQUENCY_HNS 합니다.
dwClockTolerance
시계에 존재할 수 있는 부정확성의 양(ppb)당 10억 개 단위입니다. 예를 들어 50 ppb의 부정확성은 시계가 10억 초당 최대 50초까지 실시간으로 표류할 수 있음을 의미합니다. 허용 오차를 알 수 없는 경우 값은 MFCLOCK_TOLERANCE_UNKNOWN. 이 상수는 백만(ppm)당 50개 부분과 같습니다.
dwClockJitter
존재할 수 있는 지터의 양(100나노초 단위)입니다. 지터는 기본 클록 샘플링으로 인한 빈도의 변화입니다. 지터는 dwClockTolerance 값에 반영되는 드리프트로 인한 부정확성을 포함하지 않습니다.
단일 디바이스를 기반으로 하는 클록의 경우 최소 지터는 틱 기간의 길이(빈도의 역)입니다. 예를 들어 주파수가 10Hz인 경우 지터는 0.1초이며 MFTIME 단위의 1,000,000입니다. 이 값은 클록이 다음 틱 직전에 샘플링되어 실제 시간보다 한 기간 미만인 클록 시간을 생성할 수 있다는 사실을 반영합니다. 주파수가 10MHz보다 크면 지터를 1(최소값)으로 설정해야 합니다.
시계의 기본 하드웨어 디바이스가 들어오는 데이터에 직접 타임스탬프를 지정하지 않는 경우 지터에는 드라이버의 ISR(인터럽트 서비스 루틴)을 디스패치하는 데 필요한 시간도 포함됩니다. 이 경우 예상되는 지터에는 다음 값이 포함되어야 합니다.
값 | 의미 |
---|---|
|
디바이스 드라이버의 ISR 중 타임스탬핑으로 인한 지터입니다. |
|
DPC(지연 프로시저 호출) 처리 중 타임스탬프로 인한 지터입니다. |
|
타임스탬핑 전에 일반 스레드 실행으로 인해 지터가 발생합니다. |
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
머리글 | mfidl.h |