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

Lihat juga

FLT_CALLBACK_DATA

FltAllocateCallbackData