Fungsi FsRtlAllocateExtraCreateParameterList (ntifs.h)
Rutinitas FsRtlAllocateExtraCreateParameterList mengalokasikan memori kumpulan halaman untuk struktur ECP_LIST dan menghasilkan penunjuk ke struktur tersebut.
Sintaks
NTSTATUS FsRtlAllocateExtraCreateParameterList(
[in] FSRTL_ALLOCATE_ECPLIST_FLAGS Flags,
[out] PECP_LIST *EcpList
);
Parameter
[in] Flags
Menentukan opsi alokasi kumpulan. Jika bendera FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA digabungkan dengan parameter Bendera dengan menggunakan operasi bitwise OR, kumpulan apa pun yang dialokasikan oleh FsRtlAllocateExtraCreateParameterList akan dikenakan terhadap kuota memori proses saat ini.
[out] EcpList
Menerima penunjuk ke struktur daftar ECP yang diinisialisasi. Jika FsRtlAllocateExtraCreateParameterList gagal mengalokasikan kumpulan yang cukup, *EcpList akan menjadi NULL dan FsRtlAllocateExtraCreateParameterList akan mengembalikan kode status STATUS_INSUFFICIENT_RESOURCES.
Nilai kembali
FsRtlAllocateExtraCreateParameterList dapat mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_INSUFFICIENT_RESOURCES | FsRtlAllocateExtraCreateParameterList tidak dapat mengalokasikan memori yang cukup untuk struktur daftar ECP. Dalam hal ini, *EcpList akan menjadi NULL. |
STATUS_SUCCESS | Memori untuk struktur ECP_LIST berhasil dialokasikan dan diinisialisasi. Dalam hal ini, penunjuk ke struktur daftar yang diinisialisasi dikembalikan dalam parameter EcpList . |
Keterangan
Apakah sistem operasi secara otomatis membebaskan memori yang dipanggil FsRtlAllocateExtraCreateParameterList bergantung pada kapan FsRtlAllocateExtraCreateParameterList dipanggil, seperti yang ditunjukkan dalam situasi berikut:
Pemanggil dapat memanggil FsRtlAllocateExtraCreateParameterList untuk mengalokasikan ECP_LIST dan menambahkan satu atau beberapa struktur konteks ECP sebelum pemanggil memanggil rutinitas IoCreateFileEx . Dalam situasi ini, sistem operasi tidak membebaskan salah satu struktur konteks ECP. Oleh karena itu, pemanggil dapat melakukan beberapa panggilan ke IoCreateFileEx dengan set ECP yang sama. Ketika pemanggil dilakukan dengan ECP_LIST, pemanggil harus memanggil rutinitas FltFreeExtraCreateParameter untuk membebaskan ECP_LIST.
Saat sistem file atau driver filter sistem file memproses permintaan IRP_MJ_CREATE , sistem file atau driver filter sistem file dapat memanggil FltInsertExtraCreateParameter untuk melampirkan ECP ke ECP_LIST yang ada. Jika ECP_LIST tidak ada, pemanggil harus memanggil FsRtlAllocateExtraCreateParameterList untuk membuat ECP_LIST. Dalam situasi ini, ECP_LIST dan struktur konteks ECP secara otomatis dibersihkan oleh manajer I/O ketika operasi pembuatan selesai. Hal ini memungkinkan ECP sistem file atau driver filter disebarluaskan dengan benar di seluruh pemrosesan titik pemilah ulang. Proses ini mungkin memerlukan beberapa permintaan IRP_MJ_CREATE untuk dihasilkan.
Jika bendera FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA digunakan dengan parameter Bendera , kumpulan yang dapat dipakai dialokasikan. Jika tidak, kumpulan yang dapat di-pageable dialokasikan dengan menggunakan daftar tampilan internal.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Lihat juga
FltAllocateExtraCreateParameter
FltAllocateExtraCreateParameterFromLookasideList
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