!usb3kd.ucx_endpoint
La commande !usb3kd.ucx_endpoint affiche des informations sur un point de terminaison sur un appareil USB dans l’arborescence USB 3.0. L’affichage est basé sur les structures de données gérées par le pilote d’extension du contrôleur hôte USB (UcxVersion.sys).
!usb3kd.ucx_endpoint UcxEndpointPrivContext
Paramètres
UcxEndpointPrivContext
Adresse de la structure _UCXENDPOINT_PRIVCONTEXT qui représente le point de terminaison.
DLL
Usb3kd.dll
Notes
Le pilote d’extension du contrôleur hôte USB (UcxVersion.sys) fournit une couche d’abstraction entre le pilote du hub USB 3.0 et celui du contrôleur hôte USB 3.0. Le pilote d’extension a sa propre représentation des contrôleurs hôtes, des appareils et des points de terminaison. La sortie de la commande !ucx_endpoint est basée sur les structures de données gérées par le pilote d’extension. Pour en savoir plus sur le pilote d’extension du contrôleur hôte USB et le pilote du contrôleur hôte USB 3.0, consultez Architecture de la pile de pilotes USB.
Exemples
Pour obtenir l’adresse du contexte privé du point de terminaison UCX, examinez la sortie de la commande !ucx_controller_list. Dans l’exemple suivant, l’adresse du contexte privé pour le premier point de terminaison sur le deuxième appareil est 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
Ensuite, transmettez l’adresse du contexte privé du point de terminaison UCX à la commande !ucx_endpoint.
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