Partilhar via


Função ExCreatePool (wdm.h)

ExCreatePool cria uma instância de pool do tipo solicitado.

Sintaxe

NTSTATUS ExCreatePool(
  ULONG                       Flags,
  ULONG_PTR                   Tag,
  POOL_CREATE_EXTENDED_PARAMS *Params,
  HANDLE                      *PoolHandle
);

Parâmetros

Flags

[in] Máscara de bits especificando o tipo de pool e as opções de criação opcionais. Exatamente um sinalizador de tipo de pool deve ser especificado. Os seguintes valores são mutuamente exclusivos:

Valor Descrição
POOL_CREATE_FLG_SECURE_POOL Cria uma instância de pool segura. Um nome de pool NÃO deve ser fornecido quando esse sinalizador é usado.
POOL_CREATE_FLG_PAGED_POOL Cria uma instância de pool de páginas privada. Um nome de pool DEVE ser fornecido por meio de um parâmetro estendido. As alocações podem residir na memória paginável.
POOL_CREATE_FLG_NONPAGED_POOL Cria uma instância de pool nãopagado privado. Um nome de pool DEVE ser fornecido por meio de um parâmetro estendido. As alocações permanecem residentes na memória nãopagada.

Tag

[in] Marcação (valor de quatro caracteres, armazenado no formato little-endian) para associar ao pool.

Params

[in, opcional] Ponteiro para uma estrutura POOL_CREATE_EXTENDED_PARAMS que fornece parâmetros de criação estendidos para o tipo de pool fornecido. Esse parâmetro pode ser NULL. Um parâmetro de nome pode ser fornecido sujeito a estas regras: necessário para pools paginados e nãopagados; não permitido para pools seguros; apenas um parâmetro de nome permitido; Tipos de parâmetro sem suporte são rejeitados.

PoolHandle

[out] Recebe a alça opaca para o pool recém-criado com êxito.

Valor de retorno

Retorna um valor NTSTATUS, como um dos valores a seguir.

Código de retorno Descrição
STATUS_SUCCESS Pool criado com êxito e PoolHandle é válido.
STATUS_INVALID_PARAMETER_1 A especificação de tipo de pool em Sinalizadores era inválida.
STATUS_INVALID_PARAMETER_3 Parâmetros estendidos inválidos (nome necessário ausente, nome não permitido, nome duplicado ou tipo de parâmetro sem suporte).
Outros códigos de status Ocorreu um erro durante a criação.

Observações

O ExCreatePool cria uma instância de pool do tipo solicitado (seguro, paginado ou nãopagado) e retorna uma alça opaca que pode ser usada com rotinas de gerenciamento de pool. O chamador especifica um tipo de pool por meio de sinalizadores e pode fornecer parâmetros estendidos opcionais.

Exatamente um sinalizador de tipo de pool deve estar presente em Sinalizadores. Um nome de pool é necessário para pools paginados e nãopagados e deve ser omitido para pools seguros.

Parâmetros estendidos são opcionais quando nenhum nome é exigido pelo tipo de pool escolhido. O identificador retornado deve ser liberado usando a rotina de gerenciamento de pool apropriada quando não for mais necessário.

A alocação do pool é feita chamando ExAllocatePool2.

Requisitos

Requisito Valor
servidor com suporte mínimo Windows Server 2022
cabeçalho wdm.h (inclua Wdm.h)
IRQL PASSIVE_LEVEL

Consulte também

POOL_CREATE_EXTENDED_PARAMS

ExAllocatePool2

ExFreePool2