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 |
---|---|
|
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. |
|
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 |