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