共用方式為


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列舉的旗標位OR

qwClockFrequency

以 Hz 為單位的時鐘頻率。 MFCLOCK_FREQUENCY_HNS值表示時鐘的頻率為 10 MHz (100 奈秒刻度) ,這是媒體基礎的標準MFTIME時間單位。 如果 IMFClock::GetClockCharacteristics 方法傳回 MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ 旗標,則此欄位的值必須 MFCLOCK_FREQUENCY_HNS

dwClockTolerance

時鐘上可能存在的不透明度,以百億分之一 (ppb) 。 例如,50 ppb 的不精確度表示時鐘可能會每十億秒的即時漂移最多 50 秒。 如果不知道容錯,此值會 MFCLOCK_TOLERANCE_UNKNOWN。 這個常數等於每百萬個 (ppm) 50 個部分。

dwClockJitter

可能存在的抖動數量,以 100 奈秒為單位。 Jitter 是頻率的變化,因為取樣基礎時鐘。 抖動不包含漂移所造成的不透明,這會反映在 dwClockTolerance的值中。

對於以單一裝置為基礎的時鐘,最小抖動是刻度期間長度, (頻率的反轉) 。 例如,如果頻率為 10 Hz,則抖動為 0.1 秒, MFTIME 單位為 1,000,000。 這個值反映時鐘可能在下一個刻度之前取樣的事實,導致一個週期小於實際時間的時鐘時間。 如果頻率大於 10 MHz,則抖動應該設定為 1 (最小值) 。

如果時鐘的基礎硬體裝置未直接時間戳記傳入資料,抖動也會包含分派驅動程式插斷服務常式所需的時間, (ISR) 。 在此情況下,預期的抖動應該包含下列值:

意義
MFCLOCK_JITTER_ISR
因設備磁碟機 ISR 期間時間戳記而發生抖動。
MFCLOCK_JITTER_DPC
由於延遲程序呼叫期間 (DPC) 處理期間的時間戳記而發生抖動。
MFCLOCK_JITTER_PASSIVE
由於在時間戳記之前卸載至一般執行緒執行,因此發生抖動。

需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
標頭 mfidl.h

另請參閱

IMFClock::GetProperties

MFTIME

媒體基礎結構