Compartir a través de


Función FltEnumerateVolumeInformation (fltkernel.h)

La rutina FltEnumerateVolumeInformation proporciona información sobre los volúmenes conocidos para el administrador de filtros.

Sintaxis

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

Parámetros

[in] Filter

Puntero de filtro opaco para el controlador de minifiltro. Este puntero identifica de forma única el controlador de minifiltro y permanece constante siempre que se cargue el controlador de minifiltro.

[in] Index

Índice de base cero del volumen para el 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
FilterVolumeBasicInformation El parámetro Buffer recibe una estructura de FILTER_VOLUME_BASIC_INFORMATION para el volumen.
FilterVolumeStandardInformation El parámetro Buffer recibe una estructura de FILTER_VOLUME_STANDARD_INFORMATION para el volumen. 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, FltEnumerateVolumeInformation 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

FltEnumerateVolumeInformation 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ó un volumen coincidente, pero se está derribando. 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 se especifica FilterVolumeStandardInformation en un sistema operativo antes de Windows Vista, la rutina devuelve STATUS_INVALID_PARAMETER. Se trata de un código de error.
STATUS_NO_MORE_ENTRIES
No hay más entradas en la lista global de volúmenes. Se trata de un código de advertencia.

Comentarios

El uso del parámetro Index es simplemente una manera de que la rutina FltEnumerateVolumeInformation seleccione entre los volúmenes de la lista global de volúmenes del administrador de filtros. Dos llamadas a FltEnumerateVolumeInformation con el mismo valor del parámetro Index no devuelven necesariamente el mismo resultado porque los volúmenes se pueden montar o desmontar en cualquier momento.

Si FltEnumerateVolumeInformation se usa para crear una lista de estructuras de información de volumen, es posible que dos o más de estas estructuras contengan nombres de volumen idénticos. Para obtener más información, vea Descripción de las enumeraciones de volúmenes con nombres de volumen duplicados.

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

Para enumerar todos los volúmenes conocidos para el administrador de filtros, llame a FltEnumerateVolumes.

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 de un controlador de minifiltro determinado, llame a FltEnumerateInstanceInformationByFilter.

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.

Requisitos

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

Consulte también

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation