Função ExAllocatePool3 (wdm.h)
A rotina ExAllocatePool3 aloca a memória do pool do tipo especificado e retorna um ponteiro para o bloco alocado. Essa rotina é semelhante a ExAllocatePool2 , mas adiciona parâmetros estendidos.
Sintaxe
DECLSPEC_RESTRICT PVOID ExAllocatePool3(
POOL_FLAGS Flags,
SIZE_T NumberOfBytes,
ULONG Tag,
PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
ULONG ExtendedParametersCount
);
Parâmetros
Flags
Um valor de tipo ULONG64 especificando o tipo de memória do pool juntamente com atributos obrigatórios e opcionais. Vários valores de sinalizador podem ser combinados usando OR bit a bit. Consulte POOL_FLAGS para obter valores possíveis.
NumberOfBytes
Especifica um número diferente de zero de bytes a serem alocados.
Tag
A marca de pool a ser usada para a memória alocada. Especifique a marca de pool como um literal de caractere diferente de zero de um a quatro caracteres delimitado por aspas simples (por exemplo, Tag1
). A cadeia de caracteres geralmente é especificada em ordem inversa (por exemplo, 1gaT
). Cada caractere ASCII na marca deve ser um valor no intervalo 0x20 (espaço) para 0x7E (til). Cada caminho de código de alocação deve usar uma marca de pool exclusiva para ajudar os depuradores e verificadores a identificar o caminho do código.
ExtendedParameters
Um ponteiro para uma matriz de estruturas de POOL_EXTENDED_PARAMETER que especificam atributos adicionais para a alocação.
ExtendedParametersCount
Um valor ULONG que especifica o número de parâmetros em ExtendedParameters.
Retornar valor
ExAllocatePool3 retorna um ponteiro para a memória alocada.
As condições a seguir fazem com que a função retorne NULL por padrão. Se POOL_FLAG_RAISE_ON_FAILURE for especificado, a função gerará uma exceção.
- Memória insuficiente
- A marca é definida como 0 ou POOL_FLAGS inválidas são especificadas
- Estruturas de POOL_EXTENDED_PARAMETER inválidas
Comentários
Se você estiver criando um driver destinado a versões do Windows antes de Windows 10, versão 2004, use ExAllocatePoolPriorityZero ou ExAllocatePoolPriorityUninitialized.
Consulte as observações de ExAllocatePool2 para obter informações adicionais.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 2004 |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (consulte a seção Comentários) |
Regras de conformidade de DDI | HwStorPortProhibitedDDIs, SpNoWait, StorPortStartIo |