Aracılığıyla paylaş


C30032

uyarı C30032: Bir bellek ayırma işlevini çağırma ve POOL_NX_OPTOUT yönergesini kullanarak yürütülebilir bellek isteğini zorlama

BANNED_MEM_ALLOCATION_FORCE_UNSAFE

önişlemci yönergesi POOL_NX_OPTOUT güvenli olmayan türlerin (MM_PAGE_PRIORITY ve POOL_TYPE) güvenli türlere (örneğin, NonPagedPool'un NonPagedPoolNx'e) otomatik olarak yükseltılmasını engeller. Kaynaklarınızda POOL_NX_OPTOUT kullanımı büyük olasılıkla tasarım gereğidir. Bu tasarım gereğiyse ve yürütülebilir bellek gerekiyorsa uyarıyı Pragma Prefast to Suppress Warning Messagesile gizleyebilirsiniz. Ek bellek korumalarını kabul eden Windows 10 sistemlerinde bu ayırma türüne izin verilmez.

Örneği

Aşağıdaki kod bu uyarıyı oluşturur:

Kaynak dosyasında:

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

kod dosyasında:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);

Aşağıdaki kod bu uyarıyı önler:

Kaynak dosyasında şunları ekleyin:

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

kod dosyasında:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);