Fungsi KsGenerateEvents (ks.h)
Fungsi KsGenerateEvents menghasilkan peristiwa dari jenis yang ditunjukkan yang ada dalam daftar peristiwa Objek.
Sintaks
void KsGenerateEvents(
[in] PVOID Object,
[in, optional] const GUID *EventSet,
[in] ULONG EventId,
[in] ULONG DataSize,
[in, optional] PVOID Data,
[in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
[in, optional] PVOID CallBackContext
);
Parameter
[in] Object
Objek tempat menghasilkan peristiwa. Ini bisa menjadi filter AVStream atau objek pin.
[in, optional] EventSet
Peristiwa mengatur GUID agar cocok untuk menentukan peristiwa mana yang akan dihasilkan. Jika parameter ini NULL, set GUID tidak dipertahankan untuk menentukan peristiwa yang cocok.
[in] EventId
ID peristiwa yang cocok untuk menentukan peristiwa mana yang akan dihasilkan.
[in] DataSize
Ukuran dalam byte data untuk menghasilkan peristiwa data.
[in, optional] Data
Penunjuk ke buffer data untuk disertakan dalam pemberitahuan peristiwa. Jika driver tidak perlu menyampaikan informasi tambahan melalui pemberitahuan, atur parameter opsional ini ke NULL.
[in, optional] CallBack
Penunjuk ke fungsi yang ditentukan penelepon yang dipanggil untuk menentukan apakah peristiwa tertentu harus dibuat. Jika ini NULL, tidak ada verifikasi panggilan balik yang dilakukan untuk menentukan apakah peristiwa harus dibuat (hanya *EventSet *dan EventId yang digunakan).
[in, optional] CallBackContext
Penunjuk ke konteks yang ditentukan penelepon yang diteruskan ke fungsi panggilan balik CallBack.
Nilai kembali
Tidak ada
Keterangan
Saat memanggil fungsi ini, minidriver harus menempatkan Data dan CallBackContext di segmen data yang terkunci dan tidak dapat di-halaman. Selain itu, perhatikan bahwa CallBack dibuat pada DISPATCH_LEVEL. Fungsi panggilan balik harus berada di segmen terkunci dan harus siap untuk berjalan di IRQL = DISPATCH_LEVEL. Perhatikan bahwa hanya ada masalah tambahan di DX8:EventSet harus berada di segmen data terkunci.
Minidriver biasanya tidak memanggil fungsi ini secara langsung dan sebaliknya menggunakan salah satu versi yang melakukan transmisi yang sesuai: KsFilterGenerateEvents atau KsPinGenerateEvents.
Peristiwa dihasilkan jika ada di *Daftar peristiwa *Objek dan *EventId *cocok dengan ID peristiwa, EventSet cocok dengan GUID yang ditetapkan acara atau NULL, dan *CallBack *adalah NULL atau mengotorisasi kecocokan.
CallBack adalah panggilan balik yang ditentukan penelepon yang digunakan untuk penentuan kecocokan tambahan. Ini diprototi sebagai berikut:
BOOLEAN CallBack (IN PVOID Context, IN PKSEVENT_ENTRY EventEntry);
AVStream meneruskan konten parameter rutin KsGenerateEventsCallBackContext dalam parameter Konteks panggilan balik ini. EventEntry adalah penunjuk ke struktur KSEVENT_ENTRY yang menentukan peristiwa yang akan dihasilkan. Fungsi panggilan balik harus mengembalikan TRUE jika kejadian ini harus dihasilkan.
Untuk informasi selengkapnya, lihat Penanganan Peristiwa di Peristiwa AVStream dan KS.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Microsoft Windows XP dan sistem operasi yang lebih baru dan DirectX 8.0 dan versi DirectX yang lebih baru. |
Target Platform | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
IRQL | <=DISPATCH_LEVEL |