Compartir a través de


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 necesario y no se puede 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 necesario y no se puede 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á descomponiéndose. 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.

Observaciones

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, consulte Pilas del sistema de archivos.

FltGetVolumeFromDeviceObject agrega una referencia de rundown 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 Valor
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

FltGetDeviceObject

FltGetDiskDeviceObject

fltObjectDereference