!usb3kd.ucx_endpoint
Der Befehl !usb3kd.ucx_endpoint zeigt Informationen über einen Endpunkt auf einem USB-Gerät im USB 3.0 Tree an. Die Anzeige basiert auf Datenstrukturen, die vom USB-Hostcontroller-Erweiterungstreiber (UcxVersion.sys) verwaltet werden.
!usb3kd.ucx_endpoint UcxEndpointPrivContext
Parameter
UcxEndpointPrivContext
Adresse der Struktur _UCXENDPOINT_PRIVCONTEXT, die den Endpunkt darstellt.
DLL
Usb3kd.dll
Hinweise
Der USB-Hostcontroller-Erweiterungstreiber (UcxVersion.sys) bietet eine Abstraktionsebene zwischen dem USB 3.0-Hub-Treiber und dem USB 3.0-Hostcontroller-Treiber. Der Erweiterungstreiber hat seine eigene Darstellung von Hostcontrollern, Geräten und Endpunkten. Die Ausgabe des Befehls !ucx_endpoint basiert auf den Datenstrukturen, die vom Erweiterungstreiber gepflegt werden. Weitere Informationen über den USB-Hostcontroller-Erweiterungstreiber und den USB-3.0-Hostcontroller-Treiber finden Sie unter USB Driver Stack Architecture.
Beispiele
Um die Adresse des privaten UCX-Endpunktkontexts zu erhalten, sehen Sie sich die Ausgabe des Befehls !ucx_controller_list an. Im folgenden Beispiel lautet die Adresse des privaten Kontexts für den ersten Endpunkt auf dem zweiten Gerät 0xfffffa8003694860.
3: kd> !ucx_controller_list
## Dumping List of UCX controller objects
--------------------------------------
[1] !ucx_controller 0xfffffa80052da050 (dt ucx01000!_UCXCONTROLLER_PRIVCONTEXT fffffa80052da050)
!ucx_device 0xfffffa8005a41840
.!ucx_endpoint 0xfffffa800533f3d0 [Blk In ], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa80053405d0 [Blk Out], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8005a3f710 [Control], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8005bbe4e0 [Blk Out], UcxEndpointStateStale
.!ucx_endpoint 0xfffffa8005ac4810 [Blk In ], UcxEndpointStateStale
!ucx_device 0xfffffa8005bd9680
.!ucx_endpoint 0xfffffa8003694860 [Blk Out], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8003686820 [Blk In ], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8005be0550 [Control], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8003695580 [Blk In ], UcxEndpointStateStale
.!ucx_endpoint 0xfffffa80036a20c0 [Blk Out], UcxEndpointStateStale
Jetzt können Sie die Adresse des privaten UCX-Endpunkt-Kontextes an den Befehl !ucx_endpoint übergeben.
3: kd> !ucx_endpoint 0xfffffa8003694860
## Dumping Ucx USB Endpoint Information fffffa8003694860
-----------------------------------------------------
dt ucx01000!_UCXENDPOINT_PRIVCONTEXT 0xfffffa8003694860
[Blk Out], UcxEndpointStateEnabled, MaxTransferSize: 4194304
Endpoint Address: 0x02
Endpoint Queue: !wdfqueue 0x57ffc969888
UcxEndpoint State History: <Event> NewState
[ 3] <UcxEndpointEventOperationSuccess> UcxEndpointStateEnabled
[ 2] <UcxEndpointEventYes> UcxEndpointStateCompletingPendingOperation1
[ 1] <UcxEndpointEventEnableComplete> UcxEndpointStateIsAbleToStart2
[ 0] <SmEngineEventStart> UcxEndpointStateCreated
UcxEndpoint Event History:
[ 1] UcxEndpointEventEnableComplete
[ 0] SmEngineEventStart
EventCallbacks:
EvtEndpointPurge: (0xfffff880044ba6e8) USBXHCI!Endpoint_UcxEvtEndpointPurge
EvtEndpointAbort: (0xfffff880044ba94c) USBXHCI!Endpoint_UcxEvtEndpointAbort
EvtEndpointReset: (0xfffff880044bb854) USBXHCI!Endpoint_UcxEvtEndpointReset