Bagikan melalui


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.)

Lihat juga

KSEVENT_ENTRY

KsAddEvent

KsGenerateEvents

KsPinGenerateEvents