!usb3kd.ucx_endpoint
Команда !usb3kd.ucx_endpoint отображает сведения о конечной точке на USB-устройстве в дереве USB 3.0. Отображение основано на структурах данных, поддерживаемых драйвером расширения контроллера USB (версия Ucx.sys).
!usb3kd.ucx_endpoint UcxEndpointPrivContext
Параметры
UcxEndpointPrivContext
Адрес структуры _UCXENDPOINT_PRIVCONTEXT, представляющей конечную точку.
DLL-библиотеки
Usb3kd.dll
Замечания
Драйвер расширения контроллера USB (версия Ucx.sys) предоставляет уровень абстракции между драйвером концентратора USB 3.0 и драйвером контроллера узла USB 3.0. Драйвер расширения имеет собственное представление контроллеров узлов, устройств и конечных точек. Выходные данные команды !ucx_endpoint основаны на структурах данных, поддерживаемых драйвером расширения. Дополнительные сведения о драйвере расширения контроллера USB-узла и драйвере контроллера узла USB 3.0 см. в разделе "Архитектура стека драйверов USB".
Примеры
Чтобы получить адрес частного контекста конечной точки UCX, просмотрите выходные данные команды !ucx_controller_list . В следующем примере адрес частного контекста для первой конечной точки на втором устройстве 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
Теперь можно передать адрес частного контекста конечной точки UCX команде !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