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) |