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