!usbkd.usbep
!usbkd.usbep 명령은 USB 엔드포인트에 대한 정보를 표시합니다.
!usbkd.usbep StructAddr
매개 변수
StructAddr
usbport!_HCD_ENDPOINT 구조체의 주소입니다. USB 호스트 컨트롤러에 대한 엔드포인트 목록을 얻으려면 !usbkd.usbhcdext 명령을 사용합니다.
DLL
Usbkd.dll
예제
다음은 usbport!_HCD_ENDPOINT 구조체의 주소를 찾는 한 가지 방법입니다. 먼저 !usbkd.usb2tree를 입력 합니다.
0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
...
이전 출력에서 FDO의 디바이스 확장 주소는 DML 명령 !ehci_info ffffe00001ca11a0의 인수로 표시됩니다.
DML 명령을 클릭하거나 디바이스 확장 의 주소를 !usbhcdext 에 전달하여 전역 엔드포인트 목록을 가져옵니다.
0: kd> !usbkd.usbhcdext ffffe00001ca11a0
...
DeviceHandleList: !usblist ffffe00001ca23b8, DL
DeviceHandleDeletedList: !usblist ffffe00001ca23c8, DL [Empty]
GlobalEndpointList: !usblist ffffe00001ca2388, EP
...
이제 !usbkd.usblist 명령을 사용하여 _HCD_ENDPOINT 구조체의 주소를 가져옵니다.
0: kd> !usblist ffffe00001ca2388, EP
list: ffffe00001ca2388 EP
----------
dt usbport!_HCD_ENDPOINT ffffe000020f6970 !usbep ffffe000020f6970
Device Address: 0x00, ep 0x00 Control Flags: 00000002 dt _USB_ENDPOINT_FLAGS ffffe000020f6990
dt usbport!_ENDPOINT_PARAMETERS ffffe000020f6b18 RootHub Endpoint
...
앞의 출력ffffe000020f6970
에서 _HCD_ENDPOINT구조체의 주소입니다. 이 주소를 !usbkd.usbep에 전달합니다.
0: kd> !usbep ffffe000020f6970
Device Address: 0x00, Endpoint Address 0x00 Endpoint Type: Control
dt USBPORT!_HCD_ENDPOINT ffffe000020f6970
dt USBPORT!_ENDPOINT_PARAMETERS ffffe000020f6b18
RootHub Endpoint
## Transfer(s) List: (HwPendingListHead)
[EMPTY]
## Endpoint Reference List: (EpRefListHead)
[00] dt USBPORT!_USBOBJ_REF ffffe000021a64a0 Object ffffe000020f6970 Tag:EPop Endpoint:ffffe000020f6970
[01] dt USBPORT!_USBOBJ_REF ffffe000021264a0 Object ffffe000020f95e0 Tag:EPpi Endpoint:ffffe000020f6970
## GEP HISTORY (latest at bottom)
## EVENT STATE NEXT HwEpState
[01] Ev_gEp_Open GEp_Init GEp_Paused ENDPOINT_PAUSE
[02] Ev_gEp_ReqActive GEp_Paused GEp_Active ENDPOINT_ACTIVE