C30034
aviso C30034: passando um valor de sinalizador para uma função de alocação que pode resultar na alocação de memória executável. Verifique se a função de alocação não está solicitando uma forma de pool executável nãopagado.
BANNED_MEM_ALLOCATION_MAYBE_UNSAFE
Uma chamada para uma função que resulta em uma possível alocação de pool nãopagado executável foi encontrada. Há parâmetros usados que indicam que a alocação resultante pode realmente ser não executável, mas é determinado que isso é improvável e a memória executável foi alocada. Isso é mais comum com uma função que usa funções de alocação opcionais como um parâmetro.
Exemplo
O código a seguir gera esse aviso porque não se sabe se pAllocate aloca o tipo especificado – neste, o quarto parâmetro (0, que é executável) ou se o tipo de alocação é definido de dentro do pAllocate.
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
0,
size,
tag,
depth);
O código a seguir evita este aviso:
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
POOL_NX_ALLOCATION,
size,
tag,
depth);