Compartilhar via


Função FltGetFilterFromInstance (fltkernel.h)

A rotina FltGetFilterFromInstance retorna um ponteiro de filtro opaco para o driver de minifiltro que criou a instância fornecida.

Sintaxe

NTSTATUS FLTAPI FltGetFilterFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_FILTER   *RetFilter
);

Parâmetros

[in] Instance

Ponteiro de instância opaco para a instância.

[out] RetFilter

Ponteiro para uma variável alocada por chamador que recebe um ponteiro de filtro opaco para o driver de minifiltro. Esse parâmetro é necessário e não pode ser NULL.

Valor de retorno

FltGetFilterFromInstance retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como o seguinte:

Código de retorno Descrição
STATUS_FLT_DELETING_OBJECT
O motorista do minifiltro está sendo destruído. Este é um código de erro.

Observações

FltGetFilterFromInstance adiciona uma referência de rundown ao ponteiro de filtro opaco retornado no parâmetro RetFilter. Quando esse ponteiro não for mais necessário, o chamador deverá liberá-lo chamando FltObjectDereference. Portanto, cada chamada bem-sucedida para FltGetFilterFromInstance deve ser correspondida por uma chamada subsequente para FltObjectDereference.

Para obter um ponteiro de volume opaco para o volume ao qual uma determinada instância de driver de minifiltro está anexada, chame FltGetVolumeFromInstance.

Para enumerar todas as instâncias de um determinado driver de minifiltro, chame FltEnumerateInstanceInformationByFilter.

Para enumerar instâncias de todos os drivers de minifiltro em todos os volumes, chame FltEnumerateInstances.

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

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference