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 conocer los valores posibles.

NumberOfBytes

Especifica un número distinto de cero de bytes que se van 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 delimitado 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 ULONG que especifica el número de parámetros en 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 suficiente
  • La etiqueta se establece en 0 o se especifican POOL_FLAGS no válidos.
  • Estructuras de POOL_EXTENDED_PARAMETER no válidas

Comentarios

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

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 2004
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (consulte la sección Comentarios)
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs, SpNoWait, StorPortStartIo

Consulte también

ExAllocatePool2