Bagikan melalui


struktur MFCLOCK_PROPERTIES (mfidl.h)

Menentukan properti jam.

Sintaks

typedef struct _MFCLOCK_PROPERTIES {
  unsigned __int64 qwCorrelationRate;
  GUID             guidClockId;
  DWORD            dwClockFlags;
  unsigned __int64 qwClockFrequency;
  DWORD            dwClockTolerance;
  DWORD            dwClockJitter;
} MFCLOCK_PROPERTIES;

Anggota

qwCorrelationRate

Interval di mana jam menghubungkan waktu jamnya dengan waktu sistem, dalam unit 100 nanodetik. Jika nilainya nol, korelasi dibuat setiap kali metode IMFClock::GetCorrelatedTime dipanggil .

guidClockId

Pengidentifikasi unik perangkat yang mendasar yang menyediakan waktu. Jika dua jam memiliki pengidentifikasi unik yang sama, mereka didasarkan pada perangkat yang sama. Jika perangkat yang mendasar tidak dibagi antara dua jam, nilainya dapat GUID_NULL.

dwClockFlags

Bitwise ATAU bendera dari enumerasi MFCLOCK_RELATIONAL_FLAGS .

qwClockFrequency

Frekuensi jam di Hz. Nilai MFCLOCK_FREQUENCY_HNS berarti bahwa jam memiliki frekuensi 10 MHz (100-nanodetik tick), yang merupakan unit waktu MFTIME standar di Media Foundation. Jika metode IMFClock::GetClockCharacteristics mengembalikan bendera MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , nilai bidang ini harus MFCLOCK_FREQUENCY_HNS.

dwClockTolerance

Jumlah ketidakakuratan yang mungkin ada pada jam, pada bagian per miliar (ppb). Misalnya, ketidakakuratan 50 ppb berarti jam mungkin menyimpang hingga 50 detik per miliar detik secara real time. Jika toleransi tidak diketahui, nilainya adalah MFCLOCK_TOLERANCE_UNKNOWN. Konstanta ini sama dengan 50 bagian per juta (ppm).

dwClockJitter

Jumlah jitter yang mungkin ada, dalam 100 unit nanodetik. Jitter adalah variasi dalam frekuensi karena pengambilan sampel jam yang mendasar. Jitter tidak termasuk ketidakakuratan yang disebabkan oleh penyimpangan, yang tercermin dalam nilai dwClockTolerance.

Untuk jam berdasarkan satu perangkat, jitter minimum adalah panjang periode tick (inversi frekuensi). Misalnya, jika frekuensinya adalah 10 Hz, jitter adalah 0,1 detik, yaitu 1.000.000 dalam unit MFTIME . Nilai ini mencerminkan fakta bahwa jam mungkin diambil sampelnya tepat sebelum tanda centang berikutnya, menghasilkan waktu jam yang satu periode kurang dari waktu aktual. Jika frekuensi lebih besar dari 10 MHz, jitter harus diatur ke 1 (nilai minimum).

Jika perangkat keras yang mendasar jam tidak secara langsung memberi stempel data masuk, jitter juga mencakup waktu yang diperlukan untuk mengirimkan rutinitas layanan interupsi (ISR) driver. Dalam hal ini, jitter yang diharapkan harus menyertakan nilai berikut:

Nilai Makna
MFCLOCK_JITTER_ISR
Jitter karena stempel waktu selama ISR driver perangkat.
MFCLOCK_JITTER_DPC
Jitter karena stempel waktu selama pemrosesan panggilan prosedur yang ditangguhkan (DPC).
MFCLOCK_JITTER_PASSIVE
Jitter karena menurun ke eksekusi utas normal sebelum stempel waktu.

Persyaratan

   
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Header mfidl.h

Lihat juga

IMFClock::GetProperties

MFTIME

Struktur Yayasan Media