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 |