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

KsFastPropertyHandler

KsPropertyHandlerWithAllocator