Fungsi StreamClassQueryMasterClock (strmini.h)

Ketika minidriver memanggil rutinitas StreamClassQueryMasterClock , driver kelas meminta nilai waktu yang sesuai dari jam master secara asinkron, dan meneruskan hasilnya ke rutinitas yang diteruskan dalam parameter ClockCallbackRoutine .

Sintaks

void StreamClassQueryMasterClock(
  [in] PHW_STREAM_OBJECT       HwStreamObject,
  [in] HANDLE                  MasterClockHandle,
  [in] TIME_FUNCTION           TimeFunction,
  [in] PHW_QUERY_CLOCK_ROUTINE ClockCallbackRoutine
);

Parameter

[in] HwStreamObject

Penunjuk ke HW_STREAM_OBJECT menunjukkan aliran yang mengkueri jam masternya. Aliran mungkin hanya memiliki satu kueri yang tertunda pada satu waktu. Driver kelas meneruskan nilai ini ke panggilan balik di anggota HwStreamObject dari parameter TimeContext panggilan balik.

[in] MasterClockHandle

Menentukan handel untuk jam master yang sedang dikueri. Driver kelas meneruskan ini dalam permintaan SRB_INDICATE_MASTER_CLOCK ke rutinitas StrMiniReceiveStreamControlPacket minidriver.

[in] TimeFunction

Menentukan fungsi waktu untuk mengkueri jam master. Lihat HW_TIME_CONTEXT untuk nilai yang mungkin. Driver kelas meneruskan nilai ini ke panggilan balik di anggota Fungsi parameter TimeContext .

[in] ClockCallbackRoutine

Menentukan rutinitas di mana driver kelas melewati hasilnya. Prototipe fungsi harus:

ClockCallbackRoutine(PHW_TIME_CONTEXT TimeContext);

Nilai kembali

Tidak ada

Keterangan

Driver kelas meminta jam master dan meneruskan hasil dalam parameter TimeContext (jenis HW_TIME_CONTEXT) dari panggilan balik. Secara khusus, ini mengatur anggota Waktu dari struktur ini ke nilai waktu yang diminta dalam parameter TimeFunction , waktu sistem saat ini dalam anggota SystemTime dari struktur yang sama, dan ekstensi perangkat minidriver di anggota HwDeviceExtension dari struktur tersebut.

Driver kelas membatalkan alokasi struktur HW_TIME_CONTEXT setelah rutinitas panggilan balik jam berakhir, sehingga panggilan balik harus menyimpan informasi apa pun yang ingin dipertahankan oleh minidriver. Untuk tujuan itu, rutinitas panggilan balik dapat menggunakan ruang yang dialokasikan sebelumnya di ekstensi perangkat minidriver (TimeContext-HwDeviceExtension>), atau ekstensi aliran aliran yang mengkueri jam masternya (TimeContext-HwStreamObject-HwStreamExtension).>>

Pada kesempatan yang jarang terjadi, manajer grafik mengalihkan jam master. Pembalap kelas mengekspos kondisi balapan dalam menangani jam master baru. Jika minidriver memanggil rutinitas jam master kelas streaming segera setelah menerima jam baru dari driver kelas, driver kelas dapat menghasilkan hasil yang tidak terduga.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header strmini.h (termasuk Strmini.h)
Pustaka Stream.lib

Lihat juga

HW_TIME_CONTEXT

StrMiniReceiveStreamControlPacket

StreamClassQueryMasterClockSync