Función FltGetVolumeFromDeviceObject (fltkernel.h)

La rutina FltGetVolumeFromDeviceObject devuelve un puntero opaco para el volumen representado por un objeto de dispositivo de volumen (VDO).

Sintaxis

NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
  [in]  PFLT_FILTER    Filter,
  [in]  PDEVICE_OBJECT DeviceObject,
  [out] PFLT_VOLUME    *RetVolume
);

Parámetros

[in] Filter

Puntero de filtro opaco para el autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.

[in] DeviceObject

Puntero al objeto de dispositivo de volumen.

[out] RetVolume

Puntero a una variable asignada por el autor de la llamada que recibe un puntero opaco para el volumen. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

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

Código devuelto Descripción
STATUS_FLT_DELETING_OBJECT El volumen se está derribando. Se trata de un código de error.
STATUS_INVALID_PARAMETER El objeto de dispositivo de volumen especificado en el parámetro DeviceObject no era un puntero de objeto de dispositivo de volumen válido o no se encontró ningún volumen coincidente. Se trata de un código de error.

Comentarios

El parámetro DeviceObject puede ser un puntero a un filtro o a un objeto de dispositivo de volumen del sistema de archivos (VDO). Si apunta a un objeto de dispositivo de almacenamiento, FltGetVolumeFromDeviceObject devuelve STATUS_INVALID_PARAMETER.

Para obtener más información sobre los objetos de dispositivo de volumen, vea Pilas del sistema de archivos.

FltGetVolumeFromDeviceObject agrega una referencia de resumen al puntero de volumen opaco devuelto en el parámetro RetVolume . Cuando este puntero ya no es necesario, el autor de la llamada debe liberarlo llamando a FltObjectDereference. Por lo tanto, cada llamada correcta a FltGetVolumeFromDeviceObject debe coincidir con una llamada posterior a FltObjectDereference.

Para obtener un puntero al objeto de dispositivo para un volumen determinado, llame a FltGetDeviceObject.

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

FltGetDeviceObject

FltGetDiskDeviceObject

FltObjectDereference