Função FltGetNewSystemBufferAddress (fltkernel.h)

A função FltGetNewSystemBufferAddress recupera o buffer AssociatedIrp.SystemBuffer, que o sistema de arquivos alocou. A rotina pós-retorno de chamada de um driver de minifiltro chama essa função.

Sintaxe

PVOID FLTAPI FltGetNewSystemBufferAddress(
  [in] PFLT_CALLBACK_DATA CallbackData
);

Parâmetros

[in] CallbackData

Um ponteiro para uma estrutura FLT_CALLBACK_DATA que representa uma operação de E/S.

Retornar valor

Se o buffer AssociatedIrp.SystemBuffer foi alocado pelo sistema de arquivos, FltGetNewSystemBufferAddress retornará um ponteiro para esse buffer; caso contrário, retornará NULL.

Comentários

A rotina pós-retorno de chamada de um driver de minifiltro chama a função FltGetNewSystemBufferAddress para recuperar um ponteiro para o buffer AssociatedIrp.SystemBuffer alocado pelo sistema de arquivos. Um driver de minifiltro deve chamar essa função somente quando o sinalizador FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER for definido em CallbackData.Flags.

Quando o sistema de arquivos aloca seu próprio buffer AssociatedIrp.SystemBuffer, o Gerenciador de Filtros definirá o sinalizador FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER. Isso sinaliza o minifiltro que o buffer recebido na pré-operação não é aquele que tem os dados lidos do sistema de arquivos.

Se o sinalizador FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER não estiver definido, essa rotina retornará NULL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows 7 e versões posteriores do sistema operacional Windows.
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca Fltmgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

Confira também

FLT_CALLBACK_DATA