Функция 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 |