Поделиться через


Функция FltGetVolumeFromDeviceObject (fltkernel.h)

Подпрограмма FltGetVolumeFromDeviceObject возвращает непрозрачный указатель на том, представленный объектом устройства тома (VDO).

Синтаксис

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

Параметры

[in] Filter

Непрозрачный указатель фильтра для вызывающего объекта. Этот параметр является обязательным и не может быть null.

[in] DeviceObject

Указатель на объект устройства тома.

[out] RetVolume

Указатель на выделенную вызывающим переменную, которая получает непрозрачный указатель для тома. Этот параметр является обязательным и не может быть null.

Возвращаемое значение

FltGetVolumeFromDeviceObject возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих:

Возвращаемый код Описание
STATUS_FLT_DELETING_OBJECT Том отключается. Это код ошибки.
STATUS_INVALID_PARAMETER Объект устройства тома, указанный в параметре DeviceObject, не был допустимым указателем объекта устройства тома или не найден соответствующий том. Это код ошибки.

Замечания

Параметр DeviceObject может быть указателем на фильтр или объект устройства тома файловой системы (VDO). Если он указывает на объект устройства хранения, FltGetVolumeFromDeviceObject возвращает STATUS_INVALID_PARAMETER.

Дополнительные сведения об объектах устройств томов см. в стеках файловой системы.

FltGetVolumeFromDeviceObject добавляет ссылку на непрозрачный указатель тома, возвращенный в параметре RetVolume. Если этот указатель больше не нужен, вызывающий объект должен освободить его, вызвав FltObjectDereference. Таким образом, каждый успешный вызов FltGetVolumeFromDeviceObject должен соответствовать последующему вызову FltObjectDereference.

Чтобы получить указатель на объект устройства для заданного тома, вызовите FltGetDeviceObject.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также

FltGetDeviceObject

FltGetDiskDeviceObject

FltObjectDereference