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