C30032

peringatan C30032: Memanggil fungsi alokasi memori dan memaksa permintaan memori yang dapat dieksekusi melalui penggunaan direktif POOL_NX_OPTOUT

BANNED_MEM_ALLOCATION_FORCE_UNSAFE

Direktif pra-prosesor POOL_NX_OPTOUT mencegah promosi otomatis jenis yang tidak aman (MM_PAGE_PRIORITY dan POOL_TYPE) ke jenis yang aman (misalnya, NonPagedPool ke NonPagedPoolNx). Penggunaan POOL_NX_OPTOUT di sumber Anda kemungkinan berdasarkan desain. Jika ini berdasarkan desain dan memori yang dapat dieksekusi diperlukan, maka Anda dapat menekan peringatan dengan Pragma Prefast untuk Menekan Pesan Peringatan. Jenis alokasi ini tidak diizinkan pada sistem Windows 10 yang telah memilih untuk perlindungan memori tambahan.

Contoh

Kode berikut menghasilkan peringatan ini:

Dalam file sumber:

C_DEFINES=$(C_DEFINES) –DUNICODE -DPOOL_NX_OPTOUT=1

dalam file kode:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);

Kode berikut menghindari peringatan ini:

Dalam file sumber, tambahkan:

C_DEFINES=$(C_DEFINES) -DUNICODE -DPOOL_NX_OPTIN_AUTO=1

dalam file kode:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);