Compartir a través de


Función FltGetVolumeInformation (fltkernel.h)

La rutina FltGetVolumeInformation proporciona información sobre un volumen determinado.

Sintaxis

NTSTATUS FLTAPI FltGetVolumeInformation(
  [in]  PFLT_VOLUME                     Volume,
  [in]  FILTER_VOLUME_INFORMATION_CLASS InformationClass,
  [out] PVOID                           Buffer,
  [in]  ULONG                           BufferSize,
  [out] PULONG                          BytesReturned
);

Parámetros

[in] Volume

Puntero opaco para el volumen. Este parámetro es necesario y no se puede null.

[in] InformationClass

Tipo de información solicitada. Este parámetro es necesario y debe ser uno de los siguientes valores.

Valor Significado
FilterVolumeBasicInformation El parámetro Buffer recibe una estructura FILTER_VOLUME_BASIC_INFORMATION para el volumen.
FilterVolumeStandardInformation El parámetro Buffer recibe una estructura 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. Este parámetro es necesario y no se puede null.

[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. Este parámetro es obligatorio.

[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, FltGetVolumeInformation 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

FltGetVolumeInformation devuelve STATUS_SUCCESS o un código de estado NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
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 anterior a Windows Vista, la rutina devolverá STATUS_INVALID_PARAMETER. Se trata de un código de error.
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. Se trata de un código de error.

Observaciones

Dado un puntero de volumen opaco, como el devuelto por la rutina de FltEnumerateVolumes, la rutina FltGetVolumeInformation proporciona información sobre el volumen al que apunta el puntero de volumen opaco, pasado por el parámetro Volume. Tenga en cuenta que el autor de la llamada debe liberar el puntero de volumen opaco llamando a la rutina FltObjectDereference.

La rutina FltGetVolumeInformation devuelve información de un solo volumen. Sin embargo, dada una lista de punteros de volumen opacos, la rutina se puede usar de forma iterativa para crear una lista de estructuras de información de volumen correspondientes. En esta lista, es posible que dos o más de las 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 la información del volumen de todos los volúmenes conocidos para el administrador de filtros, llame a FltEnumerateVolumeInformation.

La lista siguiente contiene información relacionada, que puede ser de uso:

  • Para enumerar todos los controladores de minifiltro registrados en el sistema, llame a la rutina FltEnumerateFilters.
  • Para obtener información sobre las instancias del controlador de minifiltro asociadas a un volumen determinado, llame a la rutina FltEnumerateInstanceInformationByVolume.
  • Para enumerar instancias de controlador de minifiltro para un volumen o controlador de minifiltro determinado, llame a la rutina de FltEnumerateInstances.
  • Para enumerar todos los volúmenes del sistema, llame a la rutina FltEnumerateVolumes.
  • Para obtener un puntero opaco para el volumen representado por un objeto de dispositivo de volumen determinado (VDO), llame a la rutina de FltGetVolumeFromDeviceObject.
  • Para obtener un puntero opaco para el volumen en el que reside una secuencia de archivos determinada, llame a la rutina FltGetVolumeFromFileObject.
  • Para obtener un puntero opaco para el volumen al que está asociada una instancia de controlador de minifiltro determinada, llame a la rutina FltGetVolumeFromInstance.
  • Para obtener un puntero opaco para el volumen cuyo nombre coincide con un nombre de volumen determinado, llame a la rutina fltGetVolumeFromName.

Requisitos

Requisito Valor
cliente mínimo admitido Esta rutina está disponible a partir de Windows Vista.
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya FltKernel.h)
biblioteca de FltMgr.lib
DLL de Fltmgr.sys
irQL <= APC_LEVEL

Consulte también

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FLT_RELATED_OBJECTS

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

fltEnumerateInstances

FltEnumerateVolumeInformation

fltEnumerateVolumes

FltGetVolumeFromDeviceObject

FltGetVolumeFromFileObject

FltGetVolumeFromInstance

FltGetVolumeFromName