Fungsi KsPinGenerateEvents (ks.h)

Fungsi KsPinGenerateEvents menghasilkan peristiwa dari jenis yang ditunjukkan yang ada dalam daftar peristiwa Pin.

Sintaks

void KsPinGenerateEvents(
  [in]           PKSPIN                     Pin,
  [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] Pin

Penunjuk ke struktur KSPIN untuk menghasilkan peristiwa.

[in, optional] EventSet

Penunjuk ke peristiwa mengatur GUID agar cocok untuk menentukan peristiwa mana yang akan dihasilkan. Jika parameter ini NULL, atur 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. Tentukan apakah menghasilkan peristiwa data.

[in, optional] CallBack

Penunjuk ke fungsi yang ditentukan penelepon yang dipanggil untuk menentukan apakah peristiwa tertentu harus dihasilkan. Jika NULL, tidak ada verifikasi panggilan balik yang dilakukan untuk menentukan apakah peristiwa harus dibuat (hanya *EventSet *dan EventId yang digunakan). Prototipe sebagai berikut:

BOOLEAN CallBack
(IN PVOID Context,
    IN PKSEVENT_ENTRY EventEntry);

KsPinGenerateEvents melewati parameter CallBackContext yang tidak berubah sebagai parameter Konteks untuk panggilan balik. Fungsi panggilan balik mengembalikan TRUE jika EventEntry harus dibuat. Jika tidak, ia mengembalikan FALSE.

[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. 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 tiga kondisi berikut ini ditangguhkan:

  • Acara ini ada di *Pin*daftar peristiwa dan *EventId *cocok dengan ID acara.

  • EventSet cocok dengan GUID yang ditetapkan peristiwa atau NULL.

  • *CallBack *adalah NULL atau mengotorisasi kecocokan.

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 serta 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 Keterangan)

Lihat juga

KSEVENT_ENTRY

KsAddEvent

KsFilterGenerateEvents

KsGenerateEvents