Поделиться через


Функция WdfDeviceWdmGetAttachedDevice (wdfdevice.h)

[Применимо только к KMDF]

Метод WdfDeviceWdmGetAttachedDevice возвращает следующий нижний объект устройства WDM в стеке устройств .

Синтаксис

PDEVICE_OBJECT WdfDeviceWdmGetAttachedDevice(
  [in] WDFDEVICE Device
);

Параметры

[in] Device

Дескриптор объекта устройства платформы.

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

WdfDeviceWdmGetAttachedDevice возвращает указатель на структуру WDM DEVICE_OBJECT. Если указанный дескриптор объекта представляет объект физического устройства (PDO), метод возвращает NULL.

Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Замечания

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

Примеры

В следующем примере кода создается сообщение трассировки, содержащее указатели на объекты устройства WDM, представляющие PDO, FDO и следующее нижнее устройство.

TraceEvents(
            TRACE_LEVEL_INFORMATION,
            DBG_PNP,
            "PDO(0x%p) FDO(0x%p), Lower(0x%p)\n",
            WdfDeviceWdmGetPhysicalDevice(device),
            WdfDeviceWdmGetDeviceObject(device),
            WdfDeviceWdmGetAttachedDevice(device)
            );

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
Заголовок wdfdevice.h (include Wdf.h)
Библиотека Wdf01000.sys (см. управление версиями библиотеки Платформы).)
IRQL <= DISPATCH_LEVEL
правил соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также

WdfDeviceWdmGetDeviceObject

WdfDeviceWdmGetPhysicalDevice