Функция 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 | Буфер, на который указывает параметр буфера , получает структуру INSTANCE_BASIC_INFORMATION для экземпляра. |
InstanceFullInformation | Буфер, на который указывает параметр буфера, получает INSTANCE_FULL_INFORMATION структуру для экземпляра. |
InstancePartialInformation | Буфер, на который указывает параметр буфера , получает структуру INSTANCE_PARTIAL_INFORMATION для экземпляра. |
InstanceAggregateStandardInformation | Буфер, на который указывает параметр буфера , получает INSTANCE_AGGREGATE_STANDARD_INFORMATION структуру для экземпляра. устаревшей части структуры не используется. Эта структура доступна начиная с Windows Vista. |
[out] Buffer
Указатель на выделенный вызывающим буфером, который получает запрошенные сведения. Тип информации, возвращаемой в буфере, определяется параметром InformationClass.
[in] BufferSize
Размер буфера в байтах, на который указывает параметр буфера. Вызывающий объект должен задать этот параметр в соответствии с заданным значением InformationClass.
[out] BytesReturned
Указатель на выделенную вызывающим переменную, которая получает количество байтов, возвращаемых в буфере, на который буфер указывает. Если входное значение BufferSize слишком мало, FltEnumerateInsterateInformationByFilter возвращает STATUS_BUFFER_TOO_SMALL и задает для этой переменной количество байтов, необходимых для хранения запрошенных сведений. Этот параметр является обязательным и не может быть null.
Возвращаемое значение
FltEnumerateInstanceInformationByFilter возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих:
Возвращаемый код | Описание |
---|---|
|
Буфер, на который указывает параметр буфера, недостаточно велик для хранения запрошенных сведений. Это код ошибки. |
|
Обнаружен соответствующий экземпляр, но он отключается. Это код ошибки. |
|
Недопустимое значение было указано для параметра InformationClass. Например, если FilterAggregateStandardInformation указан в операционной системе до Windows Vista, подпрограмма вернет STATUS_INVALID_PARAMETER. Это код ошибки. |
|
В списке экземпляров мини-фильтра драйвера больше нет записей. Это код предупреждения. |
Замечания
Параметр индекса — это просто способ FltEnum erateInsterateInformationByFilter, чтобы выбрать среди экземпляров в списке экземпляров драйвер минифильтра, указанный фильтром. Так как экземпляры драйвера минифильтра в списке экземпляров могут изменяться в любое время, два вызова FltEnum erateInsterateInformationByFilter с теми же индексом и значения фильтра не гарантированно возвращают тот же результат.
Чтобы перечислить все зарегистрированные драйверы минифильтра, вызовите FltEnumerateFilters.
Чтобы получить список сведений о фильтрации для всех зарегистрированных драйверов минифильтра, вызовите FltEnumerateFilterInformation.
Чтобы получить сведения о фильтре для заданного драйвера минифильтра, вызовите FltGetFilterInformation.
Чтобы перечислить все экземпляры драйвера минифильтра в заданном томе, вызовите FltEnumerateInstanceInformationByVolume.
Чтобы перечислить экземпляры всех драйверов минифильтра во всех томах, вызовите FltEnumerateInstances.
Чтобы перечислить все тома, известные диспетчеру фильтров, вызовите FltEnumerateVolumes.
.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | fltkernel.h (include FltKernel.h) |
библиотеки | FltMgr.lib |
IRQL | <= APC_LEVEL |
См. также
FltEnumerateInstanceInformationByVolume