Bagikan melalui


Fungsi FsRtlAllocateAePushLock (ntifs.h)

FsRtlAllocateAePushLock mengalokasikan dan menginisialisasi kunci dorong perluasan otomatis.

Sintaks

PVOID FsRtlAllocateAePushLock(
  [in] POOL_TYPE PoolType,
  [in] ULONG     Tag
);

Parameter

[in] PoolType

Jenis memori kumpulan yang akan dialokasikan untuk kunci dorong perluasan otomatis. Lihat POOL_TYPE untuk deskripsi jenis memori kumpulan yang tersedia. Anda dapat mengubah nilai PoolType dengan bitwise-ORing dengan bendera POOL_RAISE_IF_ALLOCATION_FAILURE. Bendera ini menyebabkan pengecualian dinaikkan jika permintaan alokasi tidak dapat dipenuhi.

[in] Tag

Tag kumpulan yang digunakan untuk memori yang dialokasikan. Tentukan tag kumpulan sebagai literal karakter bukan nol dari satu hingga empat karakter yang dibatasi oleh tanda kutip tunggal (misalnya, 'Tag1'). String biasanya ditentukan dalam urutan terbalik (misalnya, '1gaT'). Setiap karakter ASCII dalam tag harus berupa nilai dalam rentang 0x20 (spasi) hingga 0x7E (tilde). Setiap jalur kode alokasi harus menggunakan tag kumpulan unik untuk membantu debugger dan verifier mengidentifikasi jalur kode.

Nilai kembali

FsRtlAllocateAePushLock mengembalikan NULL jika tidak ada cukup memori di kumpulan gratis untuk memenuhi permintaan. Jika tidak, rutinitas mengembalikan penunjuk ke kunci dorong perluasan otomatis yang dialokasikan dan diinisialisasi.

Keterangan

FsRtlAllocateAePushLock digunakan untuk mengalokasikan memori kumpulan untuk kunci dorong perluasan otomatis. Lihat FSRTL_ADVANCED_FCB_HEADER untuk informasi selengkapnya tentang kunci pendorongan perluasan otomatis.

Sistem mengaitkan tag kumpulan dengan memori yang dialokasikan. Alat pemrograman, seperti WinDbg, dapat menampilkan tag kumpulan yang terkait dengan setiap buffer yang dialokasikan. Gflags, alat yang disertakan dalam Alat Debugging untuk Windows, mengaktifkan fitur sistem yang meminta alokasi dari kumpulan khusus untuk tag kumpulan tertentu. Poolmon, yang disertakan dalam WDK, melacak memori menurut tag kumpulan.

Pemanggil FsRtlAllocateAePushLock kemudian harus memanggil FsRtlFreeAePushLock untuk membebaskan kunci pendorongan perluasan otomatis yang dialokasikan.

Sistem secara otomatis mengatur objek peristiwa standar tertentu ketika jumlah kumpulan (paged atau nonpaged) tinggi atau rendah. Driver dapat menunggu peristiwa ini untuk menyempurnakan penggunaan kumpulan mereka. Untuk informasi selengkapnya, lihat Objek Peristiwa Standar.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, version 20H2
Header ntifs.h
IRQL <= APC_LEVEL

Lihat juga

FSRTL_ADVANCED_FCB_HEADER

FsRtlFreeAePushLock

FsRtlSetupAdvancedHeaderEx2