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 |