Compartilhar via


Função FltCheckAndGrowNameControl (fltkernel.h)

A rotina FltCheckAndGrowNameControl verifica se o buffer em uma estrutura de FLT_NAME_CONTROL é grande o suficiente para conter o número especificado de bytes. Caso contrário, FltCheckAndGrowNameControl o substitui por um buffer maior alocado pelo sistema.

Sintaxe

NTSTATUS FLTAPI FltCheckAndGrowNameControl(
  [in, out] PFLT_NAME_CONTROL NameCtrl,
  [in]      USHORT            NewSize
);

Parâmetros

[in, out] NameCtrl

Ponteiro para uma estrutura de FLT_NAME_CONTROL que contém informações de nome de arquivo.

[in] NewSize

Tamanho necessário, em bytes, do novo buffer de controle de nome.

Valor de retorno

FltCheckAndGrowNameControl retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES
Não há memória suficiente no pool gratuito para atender à solicitação.

Observações

Os drivers de minifiltro não devem tentar liberar ou substituir o buffer no Name membro de uma estrutura FLT_NAME_CONTROL diretamente. Em vez disso, os drivers de minifiltro devem chamar FltCheckAndGrowNameControl para obter um buffer de nome maior.

Se o tamanho, em bytes, do buffer na estrutura NameCtrl for menor que o valor do parâmetro NewSize, FltCheckAndGrowNameControl o substituirá por um buffer maior alocado pelo sistema. FltCheckAndGrowNameControl copia o conteúdo do buffer antigo para o novo e libera o buffer antigo.

Se o tamanho, em bytes, do buffer na estrutura NameCtrl for maior ou igual ao valor do parâmetro NewSize, FltCheckAndGrowNameControl retornará STATUS_SUCCESS e não substituirá o buffer.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Consulte também

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod