Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Jika Anda menulis minidriver AVStream, lihat Penanganan Peristiwa di AVStream.
Set peristiwa adalah grup peristiwa terkait yang pendengarnya dapat meminta pemberitahuan. Misalnya, pendengar dapat mendaftar untuk diberi tahu tentang perubahan status perangkat, atau perubahan posisi aliran. Ketika peristiwa terjadi, streaming kernel memberi tahu klien apa pun yang telah mendaftar untuk peristiwa ini.
Minidriver menjelaskan cara mereka mendukung peristiwa dengan menyediakan struktur KSEVENT_ITEM yang berisi pointer untuk menangani rutinitas.
Pendengar mendaftar untuk pemberitahuan dengan memanggil rutinitas proksi streaming kernel KsSynchronousDeviceControl dengan kode kontrol IOCTL_KS_ENABLE_EVENT dan pointer ke KSEVENT dan KSEVENTDATA.structures.
Permintaan IOCTL_KS_DISABLE_EVENT menonaktifkan peristiwa tertentu. Penunjuk yang sama yang digunakan untuk mengaktifkan peristiwa harus digunakan untuk menonaktifkannya. Pointer ini secara unik mengidentifikasi peristiwa. Secara opsional, klien dapat menentukan pointer NULL dan panjang nol untuk menonaktifkan semua peristiwa aktif untuk klien.
Semua set peristiwa harus mendukung flag KSEVENT_TYPE_BASICSUPPORT. Lihat KSEVENT untuk daftar bendera peristiwa yang tersedia.
Beberapa jenis peristiwa memerlukan parameter tambahan untuk mendaftar pemberitahuan peristiwa. Misalnya, peristiwa KSEVENT_CLOCK_POSITION_MARK pada jam dipicu ketika jam mencapai stempel waktu tertentu. Akibatnya, klien yang mendaftar untuk diberi tahu tentang peristiwa ini harus menentukan stempel waktu untuk memicu peristiwa.
Dalam kasus seperti itu, minidriver mengirimkan parameter data tambahan di buffer data setelah struktur KSEVENTDATA. Minidriver yang mendukung jenis peristiwa seperti itu menggunakan struktur data yang diperluas, di mana anggota pertama berjenis KSEVENTDATA, untuk menyimpan data pemberitahuan.