C30034

Warnung C30034: Übergeben eines Flagwerts an eine Zuweisungsfunktion, die dazu führen kann, dass ausführbarer Arbeitsspeicher zugewiesen wird. Stellen Sie sicher, dass die Zuweisungsfunktion keine Form eines ausführbaren, nicht auslagerten Pools anfordert.

BANNED_MEM_ALLOCATION_MAYBE_UNSAFE

Es wurde ein Aufruf einer Funktion gefunden, der zu einer möglichen Zuordnung eines ausführbaren, nicht auslagerten Pools führt. Es werden Parameter verwendet, die darauf hinweisen, dass die resultierende Zuordnung möglicherweise nicht ausführbar ist, aber es wird festgestellt, dass dies unwahrscheinlich ist und ausführbarer Arbeitsspeicher zugewiesen wurde. Dies ist am gängigsten bei einer Funktion, die optionale Zuweisungsfunktionen als Parameter akzeptiert.

Beispiel

Der folgende Code generiert diese Warnung, da nicht bekannt ist, ob pAllocate den angegebenen Typ zuweist – in diesem den vierten Parameter (0, der ausführbar ist) oder ob der Zuordnungstyp in pAllocate festgelegt wird.

ExInitializeNPagedLookasideList(   pLookaside,
                pAllocate,
                pFree,
                0,
                size,
                tag,
                depth);

Der folgende Code vermeidet diese Warnung:

ExInitializeNPagedLookasideList(   pLookaside,
                pAllocate,
                pFree,
                POOL_NX_ALLOCATION,
                size,
                tag,
                depth);