Fungsi FltAllocateCallbackDataEx (fltkernel.h)
Rutinitas FltAllocateCallbackDataEx mengalokasikan struktur data panggilan balik dan dapat melakukan pra-alokasi memori untuk struktur tambahan yang dapat digunakan driver minifilter untuk memulai permintaan I/O.
Sintaks
NTSTATUS FLTAPI FltAllocateCallbackDataEx(
[in] PFLT_INSTANCE Instance,
[in/optional] PFILE_OBJECT FileObject,
[in] FLT_ALLOCATE_CALLBACK_DATA_FLAGS Flags,
[out] PFLT_CALLBACK_DATA *RetNewCallbackData
);
Parameter
[in] Instance
Penunjuk instans buram ke instans driver minifilter yang memulai operasi I/O. Parameter ini diperlukan dan tidak boleh NULL.
[in/optional] FileObject
Penunjuk ke objek file yang akan digunakan dalam operasi I/O. Parameter ini bersifat opsional dan dapat berupa NULL. Atur FileObject ke NULL jika ini adalah operasi CREATE.
[in] Flags
Nilai nol atau bendera berikut: FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY
Jika bendera ini diatur, rutinitas akan mengalokasikan semua memori yang diperlukan oleh manajer filter untuk struktur tambahan yang akan digunakan dalam permintaan I/O.
[out] RetNewCallbackData
Arahkan ke variabel yang dialokasikan penelepon yang menerima alamat data panggilan balik yang baru dialokasikan FLT_CALLBACK_DATA struktur.
Nilai kembali
Rutinitas FltAllocateCallbackDataEx mengembalikan STATUS_SUCCESS pada keberhasilan atau STATUS_INSUFFICIENT_RESOURCES jika rutinitas mengalami kegagalan alokasi kumpulan saat mencoba mengalokasikan struktur data panggilan balik atau jika bendera FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY diatur dan memori tambahan tidak dapat dialokasikan.
Keterangan
Jika bendera FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY diatur, rutin mengalokasikan semua memori yang diperlukan untuk struktur manajer filter tambahan yang akan digunakan dalam permintaan I/O berikutnya. Menggunakan bendera ini memungkinkan minifilter untuk melakukan pra-alokasi satu atau beberapa struktur data panggilan balik yang akan digunakan untuk mengeluarkan permintaan I/O dalam kondisi memori rendah atau dalam situasi di mana pemulihan dari kegagalan alokasi memori mungkin rumit.
Catatan
Memori tambahan yang dialokasikan adalah untuk digunakan oleh manajer filter. Sistem file atau filter lain masih dapat menggagalkan permintaan I/O karena kondisi kehabisan memori.
Penting
Komentar untuk FltAllocateCallbackData juga berlaku untuk FltAllocateCallbackDataEx . Tinjau informasi tersebut untuk memilih rutinitas yang benar untuk desain Anda.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows 7 dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Universal |
Header | fltkernel.h (termasuk FltKernel.h) |
Pustaka | FltMgr.lib |
IRQL | <= APC_LEVEL |