다음을 통해 공유


IMFClock::GetCorrelatedTime 메서드(mfidl.h)

시스템 시간과 상관 관계가 있는 마지막 클록 시간을 검색합니다.

구문

HRESULT GetCorrelatedTime(
  [in]  DWORD    dwReserved,
  [out] LONGLONG *pllClockTime,
  [out] MFTIME   *phnsSystemTime
);

매개 변수

[in] dwReserved

예약됨, 0이어야 합니다.

[out] pllClockTime

마지막으로 알려진 클록 시간을 클록 빈도 단위로 받습니다.

[out] phnsSystemTime

pllClockTime에서 반환된 클록 시간에 해당하는 시스템 시간을 100나노초 단위로 받습니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
메서드가 성공했습니다.
MF_E_CLOCK_NO_TIME_SOURCE
시계에 시간 원본이 없습니다.

설명

일부 고정 간격에서 클록은 내부 클록 틱과 시스템 시간의 상관 관계를 지정합니다. (시스템 시간은 고해상도 성능 카운터에서 반환되는 시간입니다.) 이 메서드는 다음을 반환합니다.

  • 시스템 시간과 상관 관계가 있는 가장 최근의 시계 시간입니다.
  • 상관 관계가 수행된 시스템 시간입니다.
클록 시간은 pllClockTime 매개 변수에 반환되고 클록 빈도 단위로 표현됩니다. 클록의 IMFClock::GetClockCharacteristics 메서드가 MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ 플래그를 반환하는 경우 클록의 빈도는 10MHz입니다(각 클록 틱은 100나노초). 그렇지 않으면 IMFClock::GetProperties를 호출하여 시계의 빈도를 가져올 수 있습니다. 빈도는 해당 메서드에서 반환된 MFCLOCK_PROPERTIES 구조체의 qwClockFrequency 멤버에 지정됩니다.

시스템 시간은 phnsSystemTime 매개 변수에 반환되며 항상 100나노초 단위로 표현됩니다.

시계가 시계 시간과 시스템 시간의 상관 관계를 지정하는 빈도를 확인하려면 GetProperties를 호출합니다. 상관 관계 간격은 MFCLOCK_PROPERTIES 구조체의 qwCorrelationRate 멤버에 지정됩니다. qwCorrelationRate가 0이면 GetCorrelatedTime이 호출될 때마다 시계가 상관 관계를 수행한다는 의미입니다. 그렇지 않으면 마지막 상호 관련된 시간을 추정하여 현재 클록 시간을 계산할 수 있습니다.

일부 시계는 IMFRateControl 인터페이스를 통해 속도 변경을 지원합니다. 그렇다면 클록 시간이 현재 속도에 × 빈도 속도로 진행됩니다. 클록이 IMFRateControl 인터페이스를 노출하지 않는 경우 속도는 항상 1.0입니다.

프레젠테이션 시계의 경우 시계 시간은 프레젠테이션 시간이며 항상 IMFPresentationClock::Start에 지정된 시작 시간을 기준으로 합니다. IMFPresentationClock::GetTime을 호출하여 프레젠테이션 시간을 가져올 수도 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mfuuid.lib

추가 정보

IMFClock

MFTIME