Partilhar 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 opaca 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 por chamador que recebe o endereço do contexto. Esse parâmetro é necessário e não pode ser definido como NULL.

Valor de retorno

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, FltMgr definir 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.

Observações

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 ao qual o parâmetro de Contexto aponta. Quando esse ponteiro de contexto não for mais necessário, o chamador deverá 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
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
biblioteca FltMgr.lib
de DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte também

FltAllocateContext

FltDeleteContext

FltDeleteStreamContext

FltReleaseContext

FltSetStreamContext