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


Функция WdfIoTargetWdmGetTargetPhysicalDevice (wdfiotarget.h)

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

Метод WdfIoTargetWdmGetTargetPhysicalDevice возвращает указатель на объект физического устройства модели драйвера Windows (WDM), представляющий удаленное устройство целевого устройства ввода-вывода.

Синтаксис

PDEVICE_OBJECT WdfIoTargetWdmGetTargetPhysicalDevice(
  [in] WDFIOTARGET IoTarget
);

Параметры

[in] IoTarget

Дескриптор удаленного целевого объекта ввода-вывода. Этот дескриптор был получен из предыдущего вызова WdfIoTargetCreate.

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

Если целевой объект ввода-вывода представляет устройство PnP, WdfIoTargetGetTargetTargetPhysicalDevice возвращает указатель на структуру DEVICE_OBJECT, представляющую PDO удаленного объекта ввода-вывода. В противном случае метод возвращает NULL.

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

Замечания

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

Если драйвер пытается получить доступ к объекту устройства WDM после его удаления, драйвер может вызвать сбой системы. В примере toastmon показано, как драйвер может предоставить функцию обратного вызова EvtIoTargetQueryRemove, чтобы она была уведомлена об удалении целевого объекта ввода-вывода.

Дополнительные сведения о WdfIoTargetWdmGetTargetPhysicalDeviceсм. в получения сведений об общем целевом объекте ввода-вывода.

Дополнительные сведения о целевых объектах ввода-вывода см. в разделе Использование целевых объектов ввода-вывода.

Примеры

В следующем примере кода получается указатель на структуру DEVICE_OBJECT, представляющую PDO удаленного целевого устройства ввода-вывода.

PDEVICE_OBJECT  pTargetDO;

pTargetDO = WdfIoTargetWdmGetTargetPhysicalDevice(IoTarget);

Требования

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

См. также

DEVICE_OBJECT

WdfIoTargetCreate