Compartilhar via


Função FltGetStreamContext (fltkernel.h)

A rotina FltGetStreamContext recupera um contexto que foi definido para um fluxo de arquivos por uma determinada instância de driver de minifiltro.

Sintaxe

NTSTATUS FLTAPI FltGetStreamContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *Context
);

Parâmetros

[in] Instance

Ponteiro de instância opaco para a instância do driver de minifiltro cujo contexto deve ser recuperado.

[in] FileObject

Ponteiro para um objeto de arquivo para o fluxo.

[out] Context

Ponteiro para uma variável alocada pelo chamador que recebe o endereço do contexto. Esse parâmetro é necessário e não pode ser definido como NULL.

Retornar valor

FltGetStreamContext retorna STATUS_SUCCESS quando retorna com êxito o contexto solicitado. Caso contrário, ele retornará um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_NOT_FOUND Nenhum contexto correspondente foi encontrado neste arquivo no momento, portanto, o FltMgr definiu Context como NULL_CONTEXT. Este é um código de erro.
STATUS_NOT_SUPPORTED O sistema de arquivos não dá suporte a contextos por fluxo para esse fluxo de arquivos. Este é um código de erro.

Comentários

Para obter mais informações sobre contextos, consulte Sobre contextos de minifiltro.

FltGetStreamContext recupera um contexto que foi definido para um fluxo de arquivos por uma determinada instância de driver de minifiltro.

FltGetStreamContext incrementa a contagem de referência no contexto para o qual o parâmetro Context aponta. Quando esse ponteiro de contexto não é mais necessário, o chamador deve diminuir sua contagem de referência chamando FltReleaseContext. Portanto, cada chamada bem-sucedida para FltGetStreamContext deve ser correspondida por uma chamada subsequente para FltReleaseContext.

Para definir um contexto para um fluxo de arquivos, chame FltSetStreamContext.

Para alocar um novo contexto, chame FltAllocateContext.

Para excluir um contexto de fluxo, chame FltDeleteStreamContext ou FltDeleteContext.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Confira também

FltAllocateContext

FltDeleteContext

FltDeleteStreamContext

FltReleaseContext

FltSetStreamContext