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

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

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

Синтаксис

PDEVICE_OBJECT WdfIoTargetWdmGetTargetPhysicalDevice(
  [in] WDFIOTARGET IoTarget
);

Параметры

[in] IoTarget

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

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

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

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

Комментарии

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

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

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

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

Примеры

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

PDEVICE_OBJECT  pTargetDO;

pTargetDO = WdfIoTargetWdmGetTargetPhysicalDevice(IoTarget);

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfiotarget.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

DEVICE_OBJECT

WdfIoTargetCreate