Freigeben über


C30032

Warnung C30032: Aufrufen einer Speicherzuordnungsfunktion und Erzwingen der Anforderung von ausführbarem Arbeitsspeicher durch Verwendung der POOL_NX_OPTOUT-Direktive

BANNED_MEM_ALLOCATION_FORCE_UNSAFE

Die Präprozessordirektive POOL_NX_OPTOUT verhindert die automatische Heraufstufung nicht sicherer Typen (MM_PAGE_PRIORITY und POOL_TYPE) auf sichere Typen (z. B. NonPagedPool zu NonPagedPoolNx). Die Verwendung von POOL_NX_OPTOUT in Ihren Quellen ist wahrscheinlich beabsichtigt. Wenn dies beabsichtigt ist und ausführbarer Arbeitsspeicher erforderlich ist, können Sie die Warnung mit Pragma Prefast unterdrücken, um Warnmeldungen zu unterdrücken. Diese Art der Zuordnung ist auf Windows 10 Systemen, die zusätzlichen Speicherschutz aktiviert haben, nicht zulässig.

Beispiel

Der folgende Code generiert diese Warnung:

In der Quelldatei:

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

in der Codedatei:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);

Der folgende Code vermeidet diese Warnung:

Fügen Sie in der Quelldatei Folgendes hinzu:

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

in der Codedatei:

pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);