Fungsi KsPropertyHandler (ks.h)
Driver memanggil fungsi KsPropertyHandler untuk penanganan IRP.
Sintaks
KSDDKAPI NTSTATUS KsPropertyHandler(
[in] PIRP Irp,
[in] ULONG PropertySetsCount,
[in] const KSPROPERTY_SET *PropertySet
);
Parameter
[in] Irp
Menentukan IRP dengan permintaan properti yang sedang ditangani.
[in] PropertySetsCount
Menentukan jumlah kumpulan properti yang diteruskan.
[in] PropertySet
Menunjuk ke array struktur KSPROPERTY_SET . Driver harus menyediakan satu struktur untuk setiap set properti yang ingin ditangani KsPropertyHandler.
Nilai kembali
Fungsi KsPropertyHandler mengembalikan STATUS_SUCCESS jika berhasil, atau kesalahan khusus untuk properti yang ditangani jika tidak berhasil. Fungsi ini mengatur IO_STATUS_BLOCK IRP>. Anggota informasi, baik melalui pengaturan ke nol karena kesalahan internal, atau melalui penangan properti yang mengaturnya. Fungsi ini tidak mengatur anggota lrp-IoStatus.Status> juga tidak menyelesaikan IRP.
Keterangan
KsPropertyHandler merespons semua pengidentifikasi properti yang ditentukan oleh set, dan hanya dapat dipanggil pada PASSIVE_LEVEL.
Setiap entri KSPROPERTY_SET berisi penunjuk ke array struktur KSPROPERTY_ITEM di anggota PropertyItem-nya. Untuk pemrosesan khusus driver, KsPropertyHandler menyerahkan setiap permintaan ke salah satu panggilan balik yang disediakan driver dalam PropertyItem. KsPropertyHandler mengurus pemrosesan IRP apa pun yang diperlukan.
KsPropertyHandler tidak menggunakan anggota FastIoTable dari struktur KSPROPERTY_SET . Jika driver perlu mendukung penanganan I/O cepat permintaan, struktur KSPROPERTY_SET yang sama harus diteruskan ke rutinitas KsFastPropertyHandler.
Pemilik set properti dapat melakukan prafilter atau pascafilter penanganan properti. Pengecualian akses struktur properti dasar ditangani oleh fungsi KsPropertyHandler , meskipun pembersihan untuk pengecualian tertentu harus dicakup oleh handler properti.
KsPropertyHandler menempatkan penunjuk ke struktur KSPROPERTY_SET yang relevan dalam parameter Irp-Tail.Overlay.DriverContext> di IRP. Minidriver dapat menggunakan makro KSPROPERTY_SET_IRP_STORAGE, yang ditentukan dalam ks.h, untuk mengakses penunjuk ini.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk