Функция 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 добавляет ссылку rundown на непрозрачный указатель тома, возвращенный в параметре RetVolume. Если этот указатель больше не нужен, вызывающий объект должен освободить его, вызвав FltObjectDereference. Таким образом, каждый успешный вызов FltGetVolumeFromName должен соответствовать последующему вызову FltObjectDereference.
Чтобы получить имя тома для данного тома, вызовите FltGetVolumeName.
Чтобы получить имя GUID тома для заданного тома, вызовите FltGetVolumeGuidName.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | fltkernel.h (include Fltkernel.h) |
библиотеки | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |