共用方式為


C30032

警告 C30032:呼叫記憶體配置函式,並使用 POOL_NX_OPTOUT 指示詞強制要求可執行記憶體

BANNED_MEM_ALLOCATION_FORCE_UNSAFE

預處理器指示詞 POOL_NX_OPTOUT 防止非安全型別(MM_PAGE_PRIORITYPOOL_TYPE)自動升級為安全型別(例如 NonPagedPool 至 NonPagedPoolNx)。 在您的來源中使用POOL_NX_OPTOUT可能是設計方式。 如果這是設計所需且可執行的記憶體,您可以使用 Pragma Prefast 隱藏警告訊息。 在加入加入其他記憶體保護的 Windows 10 系統上,不允許這種配置。

範例

下列程式代碼會產生此警告:

在來源檔案中:

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

在程式代碼檔案中:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);

下列程式代碼會避免此警告:

在來源檔案中,新增:

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

在程式代碼檔案中:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);