Compartir a través de


Función ExAllocatePool3 (wdm.h)

La rutina ExAllocatePool3 asigna memoria de grupo del tipo especificado y devuelve un puntero al bloque asignado. Esta rutina es similar a ExAllocatePool2, pero agrega parámetros extendidos.

Sintaxis

DECLSPEC_RESTRICT PVOID ExAllocatePool3(
  POOL_FLAGS                Flags,
  SIZE_T                    NumberOfBytes,
  ULONG                     Tag,
  PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
  ULONG                     ExtendedParametersCount
);

Parámetros

Flags

Valor de tipo ULONG64 que especifica el tipo de memoria del grupo junto con los atributos obligatorios y opcionales. Se pueden combinar varios valores de marca mediante OR bit a bit. Consulte POOL_FLAGS para obtener los valores posibles.

NumberOfBytes

Especifica un número distinto de cero de bytes que se va a asignar.

Tag

Etiqueta de grupo que se va a usar para la memoria asignada. Especifique la etiqueta de grupo como un literal de carácter distinto de cero de uno a cuatro caracteres delimitados por comillas simples (por ejemplo, Tag1). Normalmente, la cadena se especifica en orden inverso (por ejemplo, 1gaT). Cada carácter ASCII de la etiqueta debe ser un valor del intervalo 0x20 (espacio) para 0x7E (tilde). Cada ruta de acceso de código de asignación debe usar una etiqueta de grupo única para ayudar a los depuradores y comprobadores a identificar la ruta de acceso del código.

ExtendedParameters

Puntero a una matriz de estructuras de POOL_EXTENDED_PARAMETER que especifican atributos adicionales para la asignación.

ExtendedParametersCount

Valor de ULONG que especifica el número de parámetros de ExtendedParameters.

Valor devuelto

ExAllocatePool3 devuelve un puntero a la memoria asignada.

Las condiciones siguientes hacen que la función devuelva NULL de forma predeterminada. Si se especifica POOL_FLAG_RAISE_ON_FAILURE, la función genera una excepción.

  • Memoria insuficiente
  • etiqueta se establece en 0 o se especifican POOL_FLAGS no válidos
  • Estructuras POOL_EXTENDED_PARAMETER no válidas

Observaciones

Si va a compilar un controlador destinado a versiones de Windows anteriores a Windows 10, versión 2004, use ExAllocatePoolPriorityZero o ExAllocatePoolPriorityUninitialized.

Consulte los comentarios de ExAllocatePool2 para obtener información adicional.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10, versión 2004
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= DISPATCH_LEVEL (consulte la sección Comentarios)
reglas de cumplimiento de DDI HwStorPortProhibitedDIs, SpNoWait, StorPortStartIo

Consulte también

ExAllocatePool2