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