IMFClock::GetCorrelatedTime メソッド (mfidl.h)

システム時刻と関連付けられた最後のクロック時刻を取得します。

構文

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

パラメーター

[in] dwReserved

予約済み。0 である必要があります。

[out] pllClockTime

クロックの周波数の単位で、最後の既知のクロック時刻を受信します。

[out] phnsSystemTime

100 ナノ秒単位で 、pllClockTime で返されるクロック時間に対応するシステム時刻を受信します。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_CLOCK_NO_TIME_SOURCE
クロックにタイム ソースがありません。

注釈

ある一定の間隔で、クロックは内部クロック ティックをシステム時刻と関連付けます。 (システム時刻は、高解像度パフォーマンス カウンターによって返される時間です)。このメソッドは次を返します。

  • システム時刻と関連付けられた最新のクロック時間。
  • 関連付けが実行されたシステム時刻。
クロック時刻は 、pllClockTime パラメーターで返され、クロックの周波数の単位で表されます。 クロックの IMFClock::GetClockCharacteristics メソッドが MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ フラグを返す場合、クロックの周波数は 10 MHz です (各クロック ティックは 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
Library Mfuuid.lib

こちらもご覧ください

IMFClock

MFTIME