!usb3kd.ucx_endpoint
!usb3kd.ucx_endpointコマンドは、USB 3.0ツリー内のUSBデバイスのエンドポイントに関する情報を表示します。 表示は、USBホストコントローラー拡張機能ドライバー (UcxVersion.sys) によって管理されるデータ構造に基づいています。
!usb3kd.ucx_endpoint UcxEndpointPrivContext
パラメーター
UcxEndpointPrivContext
デバイスを表す _UCXENDPOINT_PRIVCONTEXT 構造体のアドレス。
DLL
Usb3kd.dll
解説
USBホストコントローラー拡張機能ドライバー (UcxVersion.sys) は、usb 3.0ハブドライバーとusb 3.0ホストコントローラードライバーの間に抽象化レイヤーを提供します。 拡張機能ドライバーには、ホストコントローラー、デバイス、およびエンドポイントの独自の表現があります。 !ucx_endpoint コマンドの出力は、拡張ドライバが保持するデータ構造に基づいています。 USBホストコントローラー拡張機能ドライバーとUSB 3.0ホストコントローラードライバーの詳細については、 「USBドライバースタックアーキテクチャ」 を参照してください。
例
UCXエンドポイントのプライベートコンテクストのアドレスを取得するの出力を確認、!ucx_controller_listコマンドのコマンドを見てください。 以下の例では、2番目のデバイスの1番目のエンドポイントのプライベート・コンテキストのアドレスは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