Função ExAllocatePoolUninitialized (wdm.h)
Essa rotina é um wrapper e uma opção de substituição para ExAllocatePoolWithTag.
Para dar suporte a versões do Windows anteriores a Windows 10, versão 2004, use ExAllocatePoolUninitialized ou ExAllocatePoolZero.
Para dar suporte a Windows 10, versão 2004 e posterior, use ExAllocatePool2.
Sintaxe
PVOID ExAllocatePoolUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag
);
Parâmetros
PoolType
Define o parâmetro POOL_TYPEPoolType.
NumberOfBytes
Define o parâmetro SIZE_TNumberOfBytes.
Tag
Define o parâmetro ULONGTag.
Comentários
Use esse wrapper se você quiser não zero explicitamente o intervalo de memória alocado.
Um driver só deve acessar a memória dentro do intervalo de bytes alocado. Acessar a memória fora desse intervalo pode corromper o pool e fazer com que o sistema falhe.
A memória alocada por ExAllocatePoolUninitialized não é inicializada. Um driver de modo kernel deve primeiro zero essa memória se ele vai torná-lo visível para o software no modo de usuário (para evitar o vazamento de conteúdo potencialmente privilegiado).
Consulte a seção Comentários de ExAllocatePoolWithTag para obter diretrizes adicionais.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Requer o WDK para Windows 10, versão 2004. Tem como destino o Windows 7 e versões posteriores do sistema operacional Windows. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | IRQL <= DISPATCH_LEVEL (consulte a seção Comentários) |