Freigeben über


C30032

Warnung C30032: Aufrufen einer Speicherzuweisungsfunktion und Erzwingen der Anforderung des ausführbaren Speichers mithilfe der POOL_NX_OPTOUT-Direktive

BANNED_MEM_ALLOCATION_FORCE_UNSAFE

Die Präprozessordirektive POOL_NX_OPTOUT verhindert die automatische Heraufwertung 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 vom Entwurf und ausführbaren Speicher erforderlich ist, können Sie die Warnung mit Pragma Prefast unterdrücken, um Warnmeldungenzu unterdrücken. Diese Art der Zuweisung ist für Windows 10-Systeme, die sich für zusätzliche Speicherschutzfunktionen entschieden 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);