다음을 통해 공유


WdfIoTargetWdmGetTargetPhysicalDevice 함수(wdfiotarget.h)

[KMDF에만 적용]

WdfIoTargetWdmGetTargetPhysicalDevice 메서드는 원격 I/O 대상의 디바이스를 나타내는 WDM(Windows 드라이버 모델) PDO(물리적 디바이스 개체)에 대한 포인터를 반환합니다.

구문

PDEVICE_OBJECT WdfIoTargetWdmGetTargetPhysicalDevice(
  [in] WDFIOTARGET IoTarget
);

매개 변수

[in] IoTarget

원격 I/O 대상 개체에 대한 핸들입니다. 이 핸들은 WdfIoTargetCreate에 대한 이전 호출에서 가져옵니다.

반환 값

I/O 대상이 PnP 디바이스를 나타내는 경우 WdfIoTargetWdmGetTargetPhysicalDevice 는 원격 I/O 대상의 PDO를 나타내는 DEVICE_OBJECT 구조체에 대한 포인터를 반환합니다. 그렇지 않으면 메서드는 NULL을 반환합니다.

드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.

설명

WdfIoTargetWdmGetTargetPhysicalDevice 메서드가 반환하는 포인터는 드라이버가 WdfIoTargetClose 또는 WdfIoTargetCloseForQueryRemove를 호출하거나 원격 I/O 대상 개체가 삭제될 때까지 유효합니다. 드라이버가 원격 I/O 대상 개체에 대해 EvtCleanupCallback 함수를 제공하고, 개체가 원격 I/O 대상을 닫기 전에 삭제된 경우 포인터는 EvtCleanupCallback 함수가 반환될 때까지 유효합니다.

드라이버가 제거된 후 WDM 디바이스 개체에 액세스하려고 하면 드라이버가 시스템 충돌을 일으킬 수 있습니다. 알림 샘플은 드라이버가 I/O 대상이 제거되면 알림을 받을 수 있도록 EvtIoTargetQueryRemove 콜백 함수를 제공하는 방법을 보여 줍니다.

WdfIoTargetWdmGetTargetPhysicalDevice에 대한 자세한 내용은 일반 I/O 대상에 대한 정보 가져오기를 참조하세요.

I/O 대상에 대한 자세한 내용은 I/O 대상 사용을 참조하세요.

예제

다음 코드 예제에서는 원격 I/O 대상 디바이스의 PDO를 나타내는 DEVICE_OBJECT 구조체에 대한 포인터를 가져옵니다.

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

WdfIoTarget만들기