Функция FltEnumerateInstanceInformationByVolumeName (fltkernel.h)
Подпрограмма FltEnumerateInstanceInformationByVolumeName предоставляет сведения об экземплярах драйверов минифильтров и устаревших драйверах фильтров, присоединенных к тому с указанным именем.
Синтаксис
NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolumeName(
[in] PUNICODE_STRING VolumeName,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Параметры
[in] VolumeName
Имя тома для перечисления экземпляров фильтра.
[in] Index
Отсчитываемый от нуля индекс экземпляра драйвера минифильтра или устаревшего драйвера фильтра, для которого запрашиваются сведения.
[in] InformationClass
Тип сведений, возвращаемых для экземпляра драйвера минифильтра или устаревшего драйвера фильтра. Этот параметр может иметь одно из следующих значений.
Значение | Значение |
---|---|
InstanceBasicInformation | Буфер, на который указывает параметр Buffer , получает INSTANCE_BASIC_INFORMATION структуру для экземпляра минифильтра. Устаревшие драйверы фильтров игнорируются. |
InstanceFullInformation | Буфер, на который указывает параметр Buffer , получает INSTANCE_FULL_INFORMATION структуру для экземпляра минифильтра. Устаревшие драйверы фильтров игнорируются. |
InstancePartialInformation | Буфер, на который указывает параметр Buffer , получает INSTANCE_PARTIAL_INFORMATION структуру для экземпляра минифильтра. Устаревшие драйверы фильтров игнорируются. |
InstanceAggregateStandardInformation | Буфер, на который указывает параметр Buffer , получает INSTANCE_AGGREGATE_STANDARD_INFORMATION структуру для экземпляра драйвера минифильтра или устаревшего драйвера фильтра. |
[out] Buffer
Указатель на буфер, выделенный вызывающим объектом, который получает запрошенные сведения. Тип сведений, возвращаемых в буфере, определяется параметром InformationClass .
[in] BufferSize
Размер (в байтах) буфера, на который указывает параметр Buffer . Вызывающий объект должен задать этот параметр в соответствии с заданным значением InformationClass .
[out] BytesReturned
Указатель на переменную, выделенную вызывающим объектом, которая получает количество байтов, возвращаемых в буфере, на который указывает буфер . Если входное значение BufferSize слишком мало, Функция FltEnumerateInstanceInformationByVolumeName возвращает STATUS_BUFFER_TOO_SMALL и задает для этой переменной количество байтов, необходимых для хранения запрошенной информации. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
FltEnumerateInstanceInformationByVolumeName возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS , например одно из следующих значений:
Код возврата | Описание |
---|---|
|
Буфер, на который указывает параметр Buffer , недостаточно велик для хранения запрошенной информации. |
|
Найден соответствующий экземпляр минифильтра, но он сносится. Обратите внимание, что это возвращаемое значение не применяется к устаревшим драйверам фильтров, так как устаревшие драйверы фильтров не могут быть выгружены. |
|
Для параметра InformationClass указано недопустимое значение.
-или- Имя_тома содержит недопустимое имя тома. |
|
В списке экземпляров или фильтров тома больше нет записей. |
|
Том, указанный в параметре VolumeName, не существует. |
|
Путь для тома, указанного в параметре VolumeName , не существует. |
|
Том, указанный параметром VolumeName , не имеет присоединенных экземпляров фильтра.
-или- Том, указанный параметром VolumeName , удаляется из системы. |
|
Том, указанный параметром VolumeName , зарегистрирован, но к нему не подключены экземпляры фильтра. |
Комментарии
Использование параметра Index позволяет FltEnumerateInstanceInformationByVolumeName выбрать экземпляры драйверов минифильтра и устаревшие драйверы фильтров в списке экземпляров или фильтров для тома, указанного volumeName. Так как экземпляры драйвера минифильтра в списке экземпляров или фильтров могут измениться в любое время, два вызова FltEnumerateInstanceInformationByVolumeName с одинаковыми значениями Index и VolumeName не гарантируют получение одного и того же результата.
Эта подпрограмма возвращает сведения о устаревшем драйвере фильтра и сведения об экземпляре драйвера минифильтра, если параметр InformationClass имеет значение InstanceAggregateStandardInformation.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
IRQL | <= APC_LEVEL |
См. также раздел
FltEnumerateInstanceInformationByDeviceObject