UMDF 개체 보기
경고
UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한됩니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다.
보관된 UMDF 1 샘플은 Windows 11 버전 22H2 - 2022년 5월 드라이버 샘플 업데이트에서 찾을 수 있습니다.
자세한 내용은 UMDF를 사용하여 시작 참조하세요.
이 항목에서는 Wudfext.dll 디버거 확장을 사용하여 UMDF(User-Mode Driver Framework) 버전 1 드라이버에서 사용하는 개체에 대한 정보를 보는 방법을 설명합니다.
UMDF 버전 2부터 Wdfkd.dll 디버거 확장을 대신 사용해야 합니다. 자세한 내용은 Windows 드라이버 프레임워크 확장(Wdfkd.dll)을 참조하세요.
다음 단계를 수행하여 UMDF 버전 1 개체에 대한 정보를 볼 수 있습니다.
다음 UMDF 디버거 확장 중 하나를 사용하여 호스트 프로세스에 있는 디바이스 스택을 봅니다.
!wudfext.umdevstacks
다음 예제와 같이 !wudfext.umdevstack
!wudfext.umdevstack <dev-stack-addr>
정보에는 각 드라이버에 대한 드라이버 개체 및 디바이스 개체가 포함됩니다. 현재 UMDF는 호스트 프로세스에서 하나의 디바이스 스택만 허용하므로 이러한 두 확장의 출력 간에 차이가 없습니다.
다음 예제와 같이 !wudfext.wudfobject UMDF 디버거 확장을 사용하여 전체 개체 트리를 봅니다.
!wudfext.wudfobject <IWDFDriver*> 1
다음 예제와 같이 !wudfext.wudfdevice UMDF 디버거 확장을 사용하여 디바이스의 플러그 앤 플레이(PnP) 및 전원 관리 상태를 확인합니다.
!wudfext.wudfdevice <IWDFDevice*>
디바이스와 연결된 큐를 확인하려면 다음 단계를 수행합니다.
!wudfext.wudfdevicequeues UMDF 디버거 확장을 사용하여 디바이스와 연결된 큐를 확인합니다. 이 확장은 큐 속성, 큐 상태 및 드라이버 소유 요청을 보여 줍니다.
다음 예제와 같이 !wudfext.wudfqueue UMDF 디버거 확장을 사용하여 각 큐에 대한 정보를 가져옵니다.
!wudfext.wudfqueue <IWDFIoQueue*>
!wudfext.wudfrequest UMDF 디버거 확장을 사용하여 특정 요청에 대한 정보를 가져옵니다. 이 정보에는 기본 사용자 모드 IRP(사용자 모드 I/O 요청 패킷)가 포함됩니다. 사용자 모드 IRP 정보에서 요청이 현재 스택에서 처리되고 있는 위치를 확인할 수 있습니다. !wudfext.umirp UMDF 디버거 확장을 사용하여 이 사용자 모드 IRP 정보를 가져올 수도 있습니다.
다음을 통해 모든 I/O 대상을 확인합니다.
!wudfext.wudfobject UMDF 디버거 확장을 사용하여 디바이스 개체의 자식 개체를 봅니다. I/O 대상 개체는 디바이스 개체의 자식 개체입니다.
다음 예제와 같이 !wudfext.wudfiotarget UMDF 디버거 확장을 사용하여 각 I/O 대상 개체에 대한 정보를 확인합니다.
!wudfext.wudfiotarget <IWDFTarget*>
이 확장은 대상의 상태 및 보낸 요청 목록을 보여 줍니다.
현재 모든 I/O 대상을 볼 수 있는 UMDF 디버거 확장이 없습니다.
다음 UMDF 디버거 확장자를 사용하여 파일 개체에 대한 정보를 볼 수 있습니다.
!wudfext.wudfrequest 또는 !wudfext.umirp
!wudfext.wudfrequest 또는 !wudfext.umirp UMDF 디버거 확장을 사용하여 디바이스 개체의 자식 개체인 파일을 봅니다.!wudfext.wudffile
다음 예제와 같이 !wudfext.wudffile UMDF 디버거 확장을 사용하여 프레임워크 파일에 대한 정보를 확인합니다.!wudfext.wudffile <IWDFFile*>
!wudfext.umfile
다음 예제와 같이 !wudfext.umfile UMDF 디버거 확장을 사용하여 UMDF 스택 내 파일(즉, 애플리케이션 또는 다른 스택의 드라이버에서 만든 파일 개체가 아닌 스택의 드라이버가 만든 파일 개체)에 대한 정보를 볼 수 있습니다.!wudfext.umfile <addr>
경우에 따라 해당 프레임워크 파일이 없을 수 있으며 사용자 모드 IRP 정보에는 UMDF 스택 내 파일이 포함될 수 있습니다.
!wudfext.umfile이 표시하는 정보에는 UMDF 스택 내 파일에 큐에 대기 중인 모든 IRP가 포함됩니다. 드라이버에서 만든 파일만 해당 파일에 큐에 대기 중인 사용자 모드 IRP를 추적합니다. 애플리케이션에서 만든 파일의 경우 I/O 관리자는 커널 모드 IRP를 추적합니다.
!wudfext.umdevstacks 및 !wudfext.umdevstack
!wudfext.umdevstacks 및 !wudfext.umdevstack UMDF 디버거 확장의 출력을 사용하여 드라이버에서 만든 파일에 해당하는 미해결 UMDF 인트라 스택 파일을 봅니다.