Функция FltGetVolumeInformation (fltkernel.h)
Подпрограмма FltGetVolumeInformation предоставляет сведения о заданном томе.
Синтаксис
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Параметры
[in] Volume
Непрозрачный указатель на том. Этот параметр является обязательным и не может быть null.
[in] InformationClass
Тип запрошенной информации. Этот параметр является обязательным и должен быть одним из следующих значений.
Ценность | Значение |
---|---|
FilterVolumeBasicInformation | Параметр буфера получает структуру FILTER_VOLUME_BASIC_INFORMATION для тома. |
FilterVolumeStandardInformation | Параметр buffer получает FILTER_VOLUME_STANDARD_INFORMATION структуру тома. Эта структура доступна начиная с Windows Vista. |
[out] Buffer
Указатель на выделенный вызывающим буфером, который получает запрошенные сведения. Тип информации, возвращаемой в буфере, определяется параметром InformationClass. Этот параметр является обязательным и не может быть null.
[in] BufferSize
Размер буфера в байтах, на который указывает параметр буфера. Вызывающий объект должен задать этот параметр в соответствии с заданным значением InformationClass. Этот параметр является обязательным.
[out] BytesReturned
Указатель на выделенную вызывающим переменную, которая получает количество байтов, возвращаемых в буфере, на который буфер указывает. Если входное значение BufferSize слишком мало, FltGetVolumeInformation возвращает STATUS_BUFFER_TOO_SMALL и задает для этой переменной количество байтов, необходимых для хранения запрошенных сведений. Этот параметр является обязательным и не может быть null.
Возвращаемое значение
FltGetVolumeInformation возвращает STATUS_SUCCESS или соответствующий код состояния NTSTATUS, например один из следующих:
Возвращаемый код | Описание |
---|---|
|
Недопустимое значение было указано для параметра InformationClass. Например, если FilterVolumeStandardInformation указан в операционной системе до Windows Vista, подпрограмма вернет STATUS_INVALID_PARAMETER. Это код ошибки. |
|
Буфер, на который указывает параметр буфера, недостаточно велик для хранения запрошенных сведений. Это код ошибки. |
Замечания
Учитывая непрозрачный указатель тома, например, возвращаемый подпрограммой FltEnumerateVolum es, подпрограмма FltGetVolumeInformation предоставляет сведения о томе, на который указывает указатель непрозрачного тома, передаваемого через параметр тома. Обратите внимание, что вызывающий объект должен в конечном итоге освободить непрозрачный указатель тома, вызвав подпрограмму FltObjectDereference.
Подпрограмма FltGetVolumeInformation возвращает сведения для одного тома. Однако при наличии списка непрозрачных указателей тома подпрограмма может использоваться для создания списка соответствующих структур информации о томах. В таком списке можно содержать одинаковые имена томов в двух или более структурах. Дополнительные сведения см. в статье Общие сведения о перечислении томов с использованием повторяющихся имен томов.
Чтобы перечислить сведения о томах для всех томов, известных диспетчеру фильтров, вызовите FltEnumerateVolumeInformation.
В следующем списке содержатся связанные сведения, которые могут использоваться:
- Чтобы перечислить все зарегистрированные драйверы минифильтра в системе, вызовите процедуру FltEnumerateFilters.
- Чтобы получить сведения о экземплярах драйвера минифильтра, подключенных к заданному тому, вызовите подпрограмму FltEnumerateInstanceInformationByVolume.
- Чтобы перечислить экземпляры драйвера минифильтра для заданного драйвера или тома, вызовите FltEnumerateInstances подпрограмме.
- Чтобы перечислить все тома в системе, вызовите процедуру FltEnumerateVolumes.
- Чтобы получить непрозрачный указатель на том, представленный заданным объектом устройства тома (VDO), вызовите подпрограмму FltGetVolumeFromDeviceObject.
- Чтобы получить непрозрачный указатель на том, на котором находится данный поток файлов, вызовите подпрограмму FltGetVolumeFromFileObject.
- Чтобы получить непрозрачный указатель на том, к которому подключен определенный экземпляр драйвера минифильтра, вызовите подпрограмму FltGetVolumeFromInstance.
- Чтобы получить непрозрачный указатель на том, имя которого соответствует заданному имени тома, вызовите подпрограмму FltGetVolumeFromName.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Эта подпрограмма доступна начиная с Windows Vista. |
целевая платформа | Всеобщий |
заголовка | fltkernel.h (include FltKernel.h) |
библиотеки | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
См. также
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION