C30034

avviso C30034: passaggio di un valore di flag a una funzione di allocazione che potrebbe comportare l'allocazione della memoria eseguibile. Verificare che la funzione di allocazione non richieda una forma di pool eseguibile non di paging.

BANNED_MEM_ALLOCATION_MAYBE_UNSAFE

È stata trovata una chiamata a una funzione che determina la possibile allocazione del pool eseguibile non di paging. Esistono parametri usati che indicano che l'allocazione risultante può essere effettivamente non eseguibile, ma è determinato che è improbabile e che sia stata allocata la memoria eseguibile. Questa operazione è più comune con una funzione che accetta funzioni di allocazione facoltative come parametro.

Esempio

Il codice seguente genera questo avviso perché non è noto se pAllocate alloca il tipo specificato, in questo quarto parametro (0, eseguibile) o se il tipo di allocazione è impostato da pAllocate.

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

Il codice seguente evita questo avviso:

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