Compartir a través de


Función FltGetVolumeProperties (fltkernel.h)

La rutina FltGetVolumeProperties devuelve información de propiedad de volumen para el volumen especificado.

Sintaxis

NTSTATUS FLTAPI FltGetVolumeProperties(
  [in]  PFLT_VOLUME            Volume,
  [out] PFLT_VOLUME_PROPERTIES VolumeProperties,
        ULONG                  VolumePropertiesLength,
  [out] PULONG                 LengthReturned
);

Parámetros

[in] Volume

Puntero opaco para el volumen. Este parámetro es obligatorio y no puede ser NULL.

[out] VolumeProperties

Puntero a un búfer asignado por el autor de la llamada que recibe la información de la propiedad de volumen solicitada. Si Length es cero en la entrada, se omite este parámetro. De lo contrario, este parámetro es obligatorio y no puede ser NULL.

VolumePropertiesLength

Tamaño, en bytes, del búfer al que apunta el parámetro VolumeProperties . Este parámetro es opcional y puede ser cero. Si es cero, LengthReturned recibe el tamaño, en bytes, del búfer necesario para contener las propiedades del volumen. Si este parámetro es distinto de cero, debe ser al menos el valor de sizeof(FLT_VOLUME_PROPERTIES).

[out] LengthReturned

Puntero a una variable asignada por el autor de la llamada que recibe el tamaño, en bytes, de la información devuelta en VolumeProperties. Si FltGetVolumeProperties devuelve STATUS_BUFFER_TOO_SMALL, o si Length es cero en la entrada, este parámetro recibe el tamaño, en bytes, del búfer necesario para contener las propiedades del volumen. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

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

Código devuelto Descripción
STATUS_BUFFER_OVERFLOW
El búfer al que apunta el parámetro VolumeProperties es lo suficientemente grande como para contener la parte fija de la estructura FLT_VOLUME_PROPERTIES , pero no los miembros FileSystemDriverName, FileSystemDeviceName o RealDeviceName . En este caso, solo se devuelve la parte fija de la información del volumen en el búfer al que apunta el parámetro VolumeProperties . El parámetro LengthReturned recibe la longitud real, en bytes, de los datos devueltos. Se trata de un código de advertencia.
STATUS_BUFFER_TOO_SMALL
El búfer al que apunta el parámetro VolumeProperties no es lo suficientemente grande como para contener la información de la propiedad del volumen. El parámetro LengthReturned recibe el tamaño de búfer necesario. En este caso, no se devuelve información de volumen. Se trata de un código de error.

Comentarios

FltGetVolumeProperties solo devuelve información que se puede consultar de forma segura durante el proceso de montaje sin riesgo de interbloqueo del sistema. Por lo tanto, un controlador de minifiltro normalmente llama a esta rutina desde una función de devolución de llamada posterior al montaje o una rutina InstanceSetupCallback (PFLT_INSTANCE_SETUP_CALLBACK) para determinar si se va a adjuntar a un volumen determinado.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
Archivo DLL Fltmgr.sys
IRQL <= APC_LEVEL

Consulte también

FLT_VOLUME_PROPERTIES

PFLT_INSTANCE_SETUP_CALLBACK