Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
advertencia C30032: Llamada a una función de asignación de memoria y forzar la solicitud de memoria ejecutable mediante el uso de la directiva POOL_NX_OPTOUT
BANNED_MEM_ALLOCATION_FORCE_UNSAFE
La directiva de preprocesador POOL_NX_OPTOUT impide la promoción automática de tipos no seguros (MM_PAGE_PRIORITY y POOL_TYPE) a tipos seguros (por ejemplo, NonPagedPool a NonPagedPoolNx). Es probable que el uso de POOL_NX_OPTOUT en los orígenes sea por diseño. Si esto es por diseño y la memoria ejecutable es necesaria, puede suprimir la advertencia con Pragma Prefast para suprimir mensajes de advertencia. Este tipo de asignación no está permitido en sistemas Windows 10 que han optado por proteger memoria adicional.
Ejemplo de
El código siguiente genera esta advertencia:
En el archivo de orígenes:
C_DEFINES=$(C_DEFINES) –DUNICODE -DPOOL_NX_OPTOUT=1
en el archivo de código:
pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);
El código siguiente evita esta advertencia:
En el archivo de orígenes, agregue:
C_DEFINES=$(C_DEFINES) -DUNICODE -DPOOL_NX_OPTIN_AUTO=1
en el archivo de código:
pPtr = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority);