Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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);