Функция IoGetDeviceAttachmentBaseRef (ntifs.h)

Подпрограмма IoGetDeviceAttachmentBaseRef возвращает указатель на объект устройства самого низкого уровня в файловой системе или стеке драйверов устройства.

Синтаксис

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

Параметры

[in] DeviceObject

Указатель на объект устройства в стеке.

Возвращаемое значение

IoGetDeviceAttachmentBaseRef возвращает указатель на объект устройства в нижней части стека файловой системы или драйвера устройства. Если данный объект устройства не подключен к стеку драйверов, IoGetDeviceAttachmentBaseRef возвращает указатель объекта устройства в DeviceObject.

Комментарии

Драйвер фильтра файловой системы обычно вызывает IoGetDeviceAttachmentBaseRef , чтобы получить объект устройства самого низкого уровня в стеке драйверов файловой системы. Часто это делается, когда драйвер фильтра получает уведомление о том, что файловая система зарегистрирована или отменена в качестве активной файловой системы. Подпрограмма обратного вызова уведомлений драйвера фильтра вызывает IoGetDeviceAttachmentBaseRef , чтобы получить указатель на объект управляющего устройства файловой системы, а затем вызывает ObQueryNameString для получения имени этого объекта в целях отладки.

IoGetDeviceAttachmentBaseRef увеличивает количество ссылок на объект устройства в нижней части стека. Таким образом, каждый успешный вызов IoGetDeviceAttachmentBaseRef должен соответствовать последующему вызову ObDereferenceObject.

Требования

Требование Значение
Минимальная версия клиента Накопительный пакет обновления Windows 2000 с пакетом обновления 4 (SP4); Windows XP
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

См. также раздел

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString