Fungsi KsFilterGenerateEvents (ks.h)
Fungsi KsFilterGenerateEvents menghasilkan peristiwa dari jenis yang ditunjukkan yang ada dalam daftar peristiwa Filter.
Sintaks
void KsFilterGenerateEvents(
[in] PKSFILTER Filter,
[in, optional] const GUID *EventSet,
[in] ULONG EventId,
[in] ULONG DataSize,
[in] PVOID Data,
[in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
[in, optional] PVOID CallBackContext
);
Parameter
[in] Filter
Penunjuk ke struktur KSFILTER untuk menghasilkan peristiwa.
[in, optional] EventSet
Penunjuk ke GUID set peristiwa agar cocok dengan penentuan peristiwa mana yang akan dihasilkan. Jika parameter ini NULL, GUID set peristiwa tidak dipertahankan untuk menentukan peristiwa yang cocok.
[in] EventId
ID peristiwa yang cocok untuk menentukan peristiwa mana yang akan dihasilkan.
[in] DataSize
Ukuran Data dalam byte.
[in] Data
Penunjuk ke buffer data. Tentukan apakah menghasilkan peristiwa data.
[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). Untuk informasi selengkapnya, lihat bagian Keterangan di bawah ini.
[in, optional] CallBackContext
Penunjuk opsional ke konteks yang ditentukan penelepon yang diteruskan ke fungsi panggilan balik CallBack. Untuk informasi selengkapnya, lihat bagian Keterangan di bawah ini.
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.
Ini adalah panggilan fungsi sebaris ke KsGenerateEvents yang melakukan typecasting yang diperlukan. Minidriver biasanya harus memanggil versi ini alih-alih langsung memanggil KsGenerateEvents.
Peristiwa dihasilkan jika kondisi berikut ditangguhkan:
Peristiwa ini ada di daftar peristiwa Filter dan EventId cocok dengan ID peristiwa
EventSet cocok dengan GUID yang ditetapkan peristiwa atau NULL
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 KsFilterGenerateEventsCallBackContext 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 | Desktop |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
IRQL | <=DISPATCH_LEVEL (Lihat bagian Keterangan.) |