Función FltEnumerateInstanceInformationByFilter (fltkernel.h)

La rutina FltEnumerateInstanceInformationByFilter proporciona información sobre las instancias de un controlador de minifiltro determinado.

Sintaxis

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

Puntero de filtro opaco para el autor de la llamada.

[in] Index

Índice de base cero de la instancia para la que se solicita la información.

[in] InformationClass

Tipo de información solicitada. Este parámetro puede tener uno de los siguientes valores.

Valor Significado
InstanceBasicInformation El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_BASIC_INFORMATION para la instancia.
InstanceFullInformation El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_FULL_INFORMATION para la instancia.
InstancePartialInformation El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_PARTIAL_INFORMATION para la instancia.
InstanceAggregateStandardInformation El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_AGGREGATE_STANDARD_INFORMATION para la instancia. La parte LegacyFilter de la estructura no se utiliza. Esta estructura está disponible a partir de Windows Vista.

[out] Buffer

Puntero a un búfer asignado por el autor de la llamada que recibe la información solicitada. El tipo de la información devuelta en el búfer se define mediante el parámetro InformationClass .

[in] BufferSize

Tamaño, en bytes, del búfer al que apunta el parámetro Buffer . El autor de la llamada debe establecer este parámetro según el valor informationClass especificado.

[out] BytesReturned

Puntero a una variable asignada por el autor de la llamada que recibe el número de bytes devueltos en el búfer al que apunta buffer . Si el valor de entrada de BufferSize es demasiado pequeño, FltEnumerateInstanceInformationByFilter devuelve STATUS_BUFFER_TOO_SMALL y establece esta variable en el número de bytes necesarios para almacenar la información solicitada. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

FltEnumerateInstanceInformationByFilter devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL
El búfer al que apunta el parámetro Buffer no es lo suficientemente grande como para almacenar la información solicitada. Se trata de un código de error.
STATUS_FLT_DELETING_OBJECT
Se encontró una instancia coincidente, pero se está descomponendo. Se trata de un código de error.
STATUS_INVALID_PARAMETER
Se especificó un valor no válido para el parámetro InformationClass . Por ejemplo, si FilterAggregateStandardInformation se especifica en un sistema operativo antes de Windows Vista, la rutina devolverá STATUS_INVALID_PARAMETER. Se trata de un código de error.
STATUS_NO_MORE_ENTRIES
No hay más entradas en la lista de instancias del controlador minifilter. Se trata de un código de advertencia.

Comentarios

El parámetro Index es simplemente una manera de que FltEnumerateInstanceInformationByFilter seleccione entre las instancias de la lista de instancias para el controlador de minifiltro especificado por Filter. Dado que las instancias del controlador de minifiltro de la lista de instancias pueden cambiar en cualquier momento, no se garantiza que dos llamadas a FltEnumerateInstanceInformationByFilter con los mismos valores index y Filter devuelvan el mismo resultado.

Para enumerar todos los controladores de minifiltro registrados, llame a FltEnumerateFilters.

Para enumerar la información de filtro de todos los controladores de minifiltro registrados, llame a FltEnumerateFilterInformation.

Para obtener información de filtro para un controlador de minifiltro determinado, llame a FltGetFilterInformation.

Para enumerar todas las instancias del controlador de minifiltro en un volumen determinado, llame a FltEnumerateInstanceInformationByVolume.

Para enumerar instancias de todos los controladores de minifiltro en todos los volúmenes, llame a FltEnumerateInstances.

Para enumerar todos los volúmenes que se conocen en el Administrador de filtros, llame a FltEnumerateVolumes.

.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya FltKernel.h)
Library FltMgr.lib
IRQL <= APC_LEVEL

Consulte también

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION