C30034

advertencia C30034: pasar un valor de marca a una función de asignación que podría dar lugar a que se asigne memoria ejecutable. Compruebe que la función de asignación no solicita un formulario de grupo no paginado ejecutable.

BANNED_MEM_ALLOCATION_MAYBE_UNSAFE

Se ha encontrado una llamada a una función que da como resultado la posible asignación de un grupo no paginado ejecutable. Hay parámetros usados que indican que la asignación resultante puede ser realmente no ejecutable, pero se determina que esto es poco probable y se ha asignado memoria ejecutable. Esto es más común con una función que toma funciones opcionales de asignación como parámetro.

Ejemplo

El código siguiente genera esta advertencia porque no se conoce si pAllocate asigna el tipo especificado: en este cuarto parámetro (0, que es ejecutable) o si el tipo de asignación se establece desde pAllocate.

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

El código siguiente evita esta advertencia:

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