Fungsi KsMethodHandlerWithAllocator (ks.h)
Fungsi KsMethodHandlerWithAllocator melakukan penanganan yang sama dengan KsMethodHandler, dengan batasan yang sama, tetapi memungkinkan panggilan balik alokator opsional digunakan untuk menyediakan buffer untuk parameter. Jika digunakan, filter mungkin perlu membebaskan buffer secara nonkonvensional. Perhatikan bahwa bendera IRP_BUFFERED_IO dan IRP_DEALLOCATE_BUFFER tidak diatur saat menggunakan alokator kustom.
Sintaks
KSDDKAPI NTSTATUS KsMethodHandlerWithAllocator(
[in] PIRP Irp,
[in] ULONG MethodSetsCount,
[in] const KSMETHOD_SET *MethodSet,
[in, optional] PFNKSALLOCATOR Allocator,
[in, optional] ULONG MethodItemSize
);
Parameter
[in] Irp
Menentukan IRP dengan permintaan metode yang sedang ditangani.
[in] MethodSetsCount
Menunjukkan jumlah struktur set metode yang diteruskan.
[in] MethodSet
Menentukan penunjuk ke daftar informasi kumpulan metode.
[in, optional] Allocator
Secara opsional menunjuk ke fungsi alokasi yang akan digunakan untuk mengalokasikan memori untuk menyimpan parameter metode.
[in, optional] MethodItemSize
Secara opsional berisi ukuran setiap struktur KSMETHOD_ITEM di setiap daftar metode. Item metode dapat diperluas untuk menyimpan informasi privat. Jika parameter ini nol, ukuran struktur diasumsikan normal. Jika lebih besar dari atau sama dengan struktur item metode, makro KSMETHOD_ITEM_IRP_STORAGE dapat digunakan untuk mengembalikan penunjuk ke item metode sehingga data kustom dapat diambil. Pada platform 64-bit, parameter ini harus kelipatan 8.
Nilai kembali
Fungsi KsMethodHandler mengembalikan STATUS_SUCCESS jika berhasil, atau kesalahan khusus untuk metode yang ditangani jika tidak berhasil. Fungsi ini selalu mengatur IO_STATUS_BLOCK. Bidang informasi PIRP. Elemen IoStatus dalam IRP ke nol karena kesalahan internal, atau elemen diatur oleh handler metode. Fungsi tidak mengatur IO_STATUS_BLOCK. Bidang status atau melengkapi IRP.
Pada platform 64-bit, jika parameter PropertyItemSize bukan kelipatan 8, STATUS_INVALID_PARAMETER dikembalikan, dan panggilan gagal.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ks.h (termasuk Ks.h) |
Pustaka | Ks.lib |
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