Compartilhar via


Função FltEnumerateInstanceInformationByFilter (fltkernel.h)

A rotina FltEnumerateInstanceInformationByFilter fornece informações sobre instâncias de um determinado driver de minifiltro.

Sintaxe

NTSTATUS FLTAPI FltEnumerateInstanceInformationByFilter(
  [in]  PFLT_FILTER                Filter,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parâmetros

[in] Filter

Ponteiro de filtro opaco para o chamador.

[in] Index

Índice baseado em zero da instância para a qual as informações são solicitadas.

[in] InformationClass

Tipo de informação solicitada. Esse parâmetro pode ter um dos valores a seguir.

Valor Significado
InstanceBasicInformation O buffer apontado pelo parâmetro do Buffer recebe uma estrutura de INSTANCE_BASIC_INFORMATION para a instância.
InstanceFullInformation O buffer apontado pelo parâmetro do Buffer recebe uma estrutura de INSTANCE_FULL_INFORMATION para a instância.
InstancePartialInformation O buffer apontado pelo parâmetro do Buffer recebe uma estrutura de INSTANCE_PARTIAL_INFORMATION para a instância.
InstanceAggregateStandardInformation O buffer apontado pelo parâmetro do Buffer recebe uma estrutura de INSTANCE_AGGREGATE_STANDARD_INFORMATION para a instância. A parte LegacyFilter da estrutura não é utilizada. Essa estrutura está disponível a partir do Windows Vista.

[out] Buffer

Ponteiro para um buffer alocado por chamador que recebe as informações solicitadas. O tipo das informações retornadas no buffer é definido pelo parâmetro InformationClass.

[in] BufferSize

Tamanho, em bytes, do buffer ao qual o Buffer parâmetro aponta. O chamador deve definir esse parâmetro de acordo com o valor informationClass fornecido.

[out] BytesReturned

Ponteiro para uma variável alocada por chamador que recebe o número de bytes retornados no buffer para o qual Buffer aponta. Se o valor de entrada de BufferSize for muito pequeno, FltEnumerateInstanceInformationByFilter retornará STATUS_BUFFER_TOO_SMALL e definirá essa variável para o número de bytes necessários para armazenar as informações solicitadas. Esse parâmetro é necessário e não pode ser NULL.

Valor de retorno

FltEnumerateInstanceInformationByFilter retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:

Código de retorno Descrição
STATUS_BUFFER_TOO_SMALL
O buffer ao qual o buffer de aponta não é grande o suficiente para armazenar as informações solicitadas. Este é um código de erro.
STATUS_FLT_DELETING_OBJECT
Uma instância correspondente foi encontrada, mas está sendo demolida. Este é um código de erro.
STATUS_INVALID_PARAMETER
Um valor inválido foi especificado para o parâmetro InformationClass. Por exemplo, se FilterAggregateStandardInformation for especificado em um sistema operacional antes do Windows Vista, a rotina retornará STATUS_INVALID_PARAMETER. Este é um código de erro.
STATUS_NO_MORE_ENTRIES
Não há mais entradas na lista de instâncias do driver de minifiltro. Este é um código de aviso.

Observações

O parâmetro Index é simplesmente uma maneira de FltEnumerateInstanceInformationByFilter para selecionar entre instâncias na lista de instâncias para o driver de minifiltro especificado por Filter. Como as instâncias de driver de minifiltro na lista de instâncias podem ser alteradas a qualquer momento, duas chamadas para FltEnumerateInstanceInformationByFilter com os mesmos valores de Índice e Filtro não têm garantia de retornar o mesmo resultado.

Para enumerar todos os drivers de minifiltro registrados, chame FltEnumerateFilters.

Para listar informações de filtro para todos os drivers de minifiltro registrados, chame FltEnumerateFilterInformation.

Para obter informações de filtro para um determinado driver de minifiltro, chame FltGetFilterInformation .

Para enumerar todas as instâncias de driver de minifiltro em um determinado volume, chame FltEnumerateInstanceInformationByVolume.

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

Para enumerar todos os volumes que são conhecidos pelo Gerenciador de Filtros, chame FltEnumerateVolumes.

.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua FltKernel.h)
biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Consulte também

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION