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