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 |
---|---|
|
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 |