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

Подпрограмма FltGetVolumeFromName возвращает непрозрачный указатель на том, имя которого соответствует значению параметра VolumeName .

Синтаксис

NTSTATUS FLTAPI FltGetVolumeFromName(
  [in]  PFLT_FILTER      Filter,
  [in]  PCUNICODE_STRING VolumeName,
  [out] PFLT_VOLUME      *RetVolume
);

Параметры

[in] Filter

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

[in] VolumeName

Указатель на структуру UNICODE_STRING , содержащую имя тома (например, "\Device\HarddiskVolume1", "\DosDevices\D:", "\?? \D:" или "D:"). Этот параметр является обязательным и не может иметь значение NULL.

[out] RetVolume

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

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

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

Код возврата Описание
STATUS_ACCESS_DENIED Вызывающий объект не имеет FILE_READ_DATA доступа к тому. Это код ошибки.
STATUS_FLT_DELETING_OBJECT Том сносится. Это код ошибки.
STATUS_INVALID_PARAMETER Для параметра VolumeName указано недопустимое значение. Это код ошибки.
STATUS_FLT_VOLUME_NOT_FOUND Соответствующий том не найден. Это код ошибки.

Комментарии

FltGetVolumeFromName выполняет поиск тома в глобальном списке томов диспетчера фильтров, имя которого совпадает с VolumeName. Вызывающий объект должен иметь FILE_READ_DATA доступ к тому. Чтобы найти структуру тома, fltGetVolumeFromName сначала должен открыть том.

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

Чтобы получить имя тома для заданного тома, вызовите FltGetVolumeName.

Чтобы получить имя GUID тома для заданного тома, вызовите FltGetVolumeGuidName.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

См. также раздел

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING