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

[Относится только к KMDF]

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

Синтаксис

PDEVICE_OBJECT WdfDeviceWdmGetAttachedDevice(
  [in] WDFDEVICE Device
);

Параметры

[in] Device

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

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

WdfDeviceWdmGetAttachedDevice возвращает указатель на структуру DEVICE_OBJECT WDM. Если указанный дескриптор объекта представляет физический объект устройства (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 (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы).
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

WdfDeviceWdmGetDeviceObject

WdfDeviceWdmGetPhysicalDevice