Compartir a través de


Función FltEnumerateInstanceInformationByVolumeName (fltkernel.h)

La rutina FltEnumerateInstanceInformationByVolumeName proporciona información sobre las instancias del controlador de minifiltro y los controladores de filtro heredados que están asociados al volumen con el nombre especificado.

Sintaxis

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

Nombre del volumen para el que se van a enumerar las instancias de filtro.

[in] Index

Índice de base cero de la instancia del controlador de minifiltro o del controlador de filtro heredado para el que se solicita la información.

[in] InformationClass

Tipo de información que se va a devolver para la instancia del controlador de minifiltro o el controlador de filtro heredado. Este parámetro puede tener uno de los siguientes valores.

Valor Significado
InstanceBasicInformation El búfer al que apunta el parámetro buffer de recibe una estructura INSTANCE_BASIC_INFORMATION para una instancia de minifiltro. Se omiten los controladores de filtro heredados.
instanceFullInformation El búfer al que apunta el parámetro buffer de recibe una estructura de INSTANCE_FULL_INFORMATION para una instancia de minifiltro. Se omiten los controladores de filtro heredados.
InstancePartialInformation El búfer al que apunta el parámetro buffer de recibe una estructura INSTANCE_PARTIAL_INFORMATION para una instancia de minifiltro. Se omiten los controladores de filtro heredados.
InstanceAggregateStandardInformation El búfer al que apunta el parámetro buffer de recibe una estructura de INSTANCE_AGGREGATE_STANDARD_INFORMATION para una instancia del controlador de minifiltro o un controlador de filtro heredado.

[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 Búfer parámetro. El autor de la llamada debe establecer este parámetro según el valor de 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, FltEnumerateInstanceInformationByVolumeName 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 necesario y no se puede null.

Valor devuelto

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

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL
El búfer al que apunta el Búfer no es lo suficientemente grande como para almacenar la información solicitada.
STATUS_FLT_DELETING_OBJECT
Se encontró una instancia de minifiltro coincidente, pero se está descomponiéndose. Tenga en cuenta que este valor devuelto no se aplica a los controladores de filtro heredados porque no se pueden descargar los controladores de filtro heredados.
STATUS_INVALID_PARAMETER
Se especificó un valor no válido para el parámetro InformationClass.

-o-

VolumeName contiene un nombre de volumen no válido.

STATUS_NO_MORE_ENTRIES
No hay más entradas en la lista de instancias o filtros del volumen.
STATUS_OBJECT_NAME_NOT_FOUND
El volumen especificado en volumeName no existe.
STATUS_OBJECT_PATH_NOT_FOUND
La ruta de acceso del volumen especificado en VolumeName no existe.
STATUS_FLT_VOLUME_NOT_FOUND
El volumen especificado por VolumeName no tiene ninguna instancia de filtro adjunta.

-o-

El volumen especificado por VolumeName se quita del sistema.

STATUS_FLT_INTERNAL_ERROR
El volumen especificado por volumeName se registró, pero no tiene ninguna instancia de filtro adjunta.

Observaciones

El uso del parámetro Index es simplemente una manera de FltEnumerateInstanceInformationByVolumeName seleccionar entre instancias de controlador de minifiltro y controladores de filtro heredados en la lista de instancias o filtros del volumen especificado por VolumeName. Dado que las instancias del controlador de minifiltro de la lista de instancias o filtros pueden cambiar en cualquier momento, no se garantiza que dos llamadas a FltEnumerateInstanceInformationByVolumeName con el mismo Index y VolumeName valores no se garantiza que devuelvan el mismo resultado.

Esta rutina devolverá tanto la información del controlador de filtro heredado como la información de la instancia del controlador de minifiltro cuando el valor del parámetro informationClass de sea InstanceAggregateStandardInformation.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 8.
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
irQL <= APC_LEVEL

Consulte también

FltEnumerateInstanceInformationByDeviceObject

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume