Функция FltGetDeviceObject (fltkernel.h)
Подпрограмма FltGetDeviceObject возвращает указатель на объект устройства тома (VDO) диспетчера фильтров для заданного тома.
Синтаксис
NTSTATUS FLTAPI FltGetDeviceObject(
[in] PFLT_VOLUME Volume,
[out] PDEVICE_OBJECT *DeviceObject
);
Параметры
[in] Volume
Непрозрачный указатель на том.
[out] DeviceObject
Указатель на переменную, выделенную вызывающим объектом, которая получает указатель на объект устройства тома. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
FltGetDeviceObject возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:
Код возврата | Описание |
---|---|
STATUS_FLT_NO_DEVICE_OBJECT | Запрошенный объект устройства не существует для заданного тома. Это код ошибки. |
Комментарии
FltGetDeviceObject возвращает указатель на объект устройства тома (VDO) диспетчера фильтров для заданного тома.
Дополнительные сведения об объектах устройства томов см. в разделе Стеки файловой системы.
VDO диспетчера фильтров не совпадает с объектом дискового устройства базового драйвера хранилища или VDO базовой файловой системы. Чтобы получить указатель на объект дискового устройства, вызовите Метод FltGetDiskDeviceObject для тома, указанного в параметре Volume . Чтобы получить указатель на VDO базовой файловой системы, вызовите IoGetDeviceAttachmentBaseRef в объекте RetDeviceObject , возвращенном FltGetDeviceObject.
Чтобы получить непрозрачный указатель для соответствующего тома для заданного объекта устройства, вызовите Метод FltGetVolumeFromDeviceObject.
FltGetDeviceObject увеличивает число ссылок на возвращенный указатель объекта устройства. Если этот указатель больше не нужен, вызывающий объект должен уменьшать это число ссылок, вызывая ObDereferenceObject. Таким образом, каждый успешный вызов FltGetDeviceObject должен сопоставляться последующим вызовом ObDereferenceObject.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | Fltmgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по