Функция 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 | Буфер, на который указывает параметр 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
Указатель на переменную, выделенную вызывающим объектом, которая получает количество байтов, возвращаемых в буфере, на который указывает buffer . Если входное значение BufferSize слишком мало, FltEnumerateInstanceInformationByDeviceObject возвращает STATUS_BUFFER_TOO_SMALL и задает для этой переменной количество байтов, необходимых для хранения запрошенной информации. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
FltEnumerateInstanceInformationByDeviceObject возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS , например одно из следующих значений:
Код возврата | Описание |
---|---|
|
Буфер, на который указывает параметр Buffer , недостаточно велик для хранения запрошенной информации. |
|
Найден соответствующий экземпляр минифильтра, но он сносится. Обратите внимание, что это возвращаемое значение не применяется к устаревшим драйверам фильтров, так как устаревшие драйверы фильтров не могут быть выгружены. |
|
Для параметра InformationClass указано недопустимое значение. |
|
В списке экземпляров или фильтров тома больше нет записей. |
|
Связанный том для DeviceObject не найден. |
|
DeviceObject не является допустимым объектом устройства тома.
-или- Том, связанный с DeviceObject , был зарегистрирован, но к нему не подключены экземпляры фильтра. |
Комментарии
Использование параметра Index — это просто способ для FltEnumerateInstanceInformationByDeviceObject выбрать экземпляры драйвера минифильтра и устаревшие драйверы фильтров в списке экземпляров или фильтров для тома, связанного с DeviceObject. Так как экземпляры драйвера мини-фильтра в списке экземпляров или фильтров могут измениться в любое время, два вызова FltEnumerateInstanceInformationByDeviceObject с одинаковыми значениями Index и DeviceObject не гарантируют, что возвращают одинаковый результат.
Эта подпрограмма возвращает как устаревшие сведения о драйвере фильтра, так и сведения об экземпляре драйвера минифильтра, если параметр InformationClass имеет значение InstanceAggregateStandardInformation.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
IRQL | <= APC_LEVEL |
См. также раздел
FltEnumerateInstanceInformationByFilter
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по