Compartilhar via


Função FltEnumerateInstanceInformationByVolumeName (fltkernel.h)

A rotina FltEnumerateInstanceInformationByVolumeName fornece informações sobre instâncias de driver de minifiltro e drivers de filtro herdados anexados ao volume com o nome especificado.

Sintaxe

NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolumeName(
  [in]  PUNICODE_STRING            VolumeName,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parâmetros

[in] VolumeName

O nome do volume para o qual enumerar instâncias de filtro.

[in] Index

Índice baseado em zero da instância do driver de minifiltro ou do driver de filtro herdado para o qual as informações são solicitadas.

[in] InformationClass

Tipo de informação a ser retornada para a instância do driver de minifiltro ou o driver de filtro herdado. Esse parâmetro pode ter um dos valores a seguir.

Valor Significado
InstanceBasicInformation O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_BASIC_INFORMATION para uma instância de minifiltro. Os drivers de filtro herdados são ignorados.
InstanceFullInformation O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_FULL_INFORMATION para uma instância de minifiltro. Os drivers de filtro herdados são ignorados.
InstancePartialInformation O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_PARTIAL_INFORMATION para uma instância de minifiltro. Os drivers de filtro herdados são ignorados.
InstanceAggregateStandardInformation O buffer apontado pelo parâmetro Buffer recebe uma estrutura INSTANCE_AGGREGATE_STANDARD_INFORMATION para uma instância de driver de minifiltro ou driver de filtro herdado.

[out] Buffer

Ponteiro para um buffer alocado pelo 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 para o qual o parâmetro Buffer aponta. O chamador deve definir esse parâmetro de acordo com o valor de InformationClass fornecido.

[out] BytesReturned

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

Retornar valor

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

Código de retorno Descrição
STATUS_BUFFER_TOO_SMALL
O buffer para o qual o parâmetro Buffer aponta não é grande o suficiente para armazenar as informações solicitadas.
STATUS_FLT_DELETING_OBJECT
Uma instância de minifiltro correspondente foi encontrada, mas está sendo interrompida. Observe que esse valor retornado não se aplica a drivers de filtro herdados porque os drivers de filtro herdados não podem ser descarregados.
STATUS_INVALID_PARAMETER
Um valor inválido foi especificado para o parâmetro InformationClass .

-ou-

VolumeName contém um nome de volume inválido.

STATUS_NO_MORE_ENTRIES
Não há mais entradas na lista de instâncias/filtros do volume.
STATUS_OBJECT_NAME_NOT_FOUND
O volume especificado em VolumeName não existe.
STATUS_OBJECT_PATH_NOT_FOUND
O caminho para o volume especificado em VolumeName não existe.
STATUS_FLT_VOLUME_NOT_FOUND
O volume especificado por VolumeName não tem nenhuma instância de filtro anexada.

-ou-

O volume especificado por VolumeName está sendo removido do sistema.

STATUS_FLT_INTERNAL_ERROR
O volume especificado por VolumeName foi registrado, mas não tem nenhuma instância de filtro anexada.

Comentários

Usar o parâmetro Index é simplesmente uma maneira de FltEnumerateInstanceInformationByVolumeName selecionar entre instâncias de driver de minifiltro e drivers de filtro herdados na lista de instância/filtro para o volume especificado por VolumeName. Como as instâncias de driver de minifiltro na lista de instâncias/filtros podem ser alteradas a qualquer momento, não há garantia de que duas chamadas para FltEnumerateInstanceInformationByVolumeName com os mesmos valores Index e VolumeName retornem o mesmo resultado.

Essa rotina retornará informações de driver de filtro herdado e informações de instância de driver de minifiltro quando o valor do parâmetro InformationClass for InstanceAggregateStandardInformation.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho fltkernel.h (inclua Fltkernel.h)
Biblioteca FltMgr.lib
IRQL <= APC_LEVEL

Confira também

FltEnumerateInstanceInformationByDeviceObject

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume