Função FltCheckAndGrowNameControl (fltkernel.h)

A rotina FltCheckAndGrowNameControl verifica se o buffer em uma estrutura FLT_NAME_CONTROL é grande o suficiente para conter o número especificado de bytes. Caso contrário, FltCheckAndGrowNameControl o substituirá 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.

Retornar valor

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.

Comentários

Os drivers de minifiltro não devem tentar liberar ou substituir o buffer no membro Name de uma estrutura de 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
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Confira também

FLT_NAME_CONTROL

FltGetFileNameFormat

FltGetFileNameInformation

FltGetFileNameInformationUnsafe

FltGetFileNameQueryMethod