Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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