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

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

Синтаксис

PDEVICE_OBJECT IoGetAttachedDevice(
  [in] PDEVICE_OBJECT DeviceObject
);

Параметры

[in] DeviceObject

Указатель на объект устройства, для которого должно быть возвращено самое верхнее подключенное устройство.

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

IoGetAttachedDevice возвращает устройство самого высокого уровня, подключенное к указанному устройству.

Комментарии

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

IoGetAttachedDevice отличается от IoGetAttachedDeviceReference в следующих аспектах:

  • IoGetAttachedDevice не увеличивает количество ссылок в объекте устройства. (Таким образом, соответствующий вызов ObDereferenceObject не требуется.)

  • Вызывающие объекты IoGetAttachedDevice должны гарантировать, что во время выполнения IoGetAttachedDevice объекты устройства не добавляются в стек или не удаляются из него. Вызывающие пользователи, которые не могут это сделать, должны использовать Вместо этого IoGetAttachedDeviceReference .

Требования

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

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

IoGetAttachedDeviceReference

ObDereferenceObject