USB 3.0 拡張機能
このセクションでは、USB 3.0 デバッガ拡張コマンドについて説明します。 これらのコマンドは、USB 3.0 スタック内の 3 つのドライバー (USB 3.0 ハブ ドライバー、USB ホスト コントローラー拡張ドライバー、および USB 3.0 ホスト コントローラー ドライバー) によって維持されるデータ構造からの情報を表示します。 これら 3 つのドライバーの詳細については、「Windows の USB ホスト側ドライバー」を参照してください。 USB 3.0 スタックのドライバーで使用されるデータ構造の説明については、「USB 3.0 データ構造」と「Windows 8 の USB デバッグの革新」ビデオのパート 2 を参照してください。
USB 3.0 デバッガ拡張コマンドは、Usb3kd.dll に実装されています。 Usb3kd コマンドをロードするには、デバッガーに「.load usb3kd.dll」と入力します。
USB 3.0 ツリー
USB 3.0 ツリーには、すべての USB 3.0 ホスト コントローラーと、USB 3.0 ホスト コントローラーに接続されているすべてのハブおよびデバイスが含まれます。 次の図は、USB 3.0 ツリーの例を示しています。
図に示されているツリーには 2 つの USB 3.0 ホスト コントローラーがあります。 図に示されているすべてのデバイスが USB 3.0 デバイスであるわけではないことに注意してください。 ただし、各デバイスは USB 3.0 ホスト コントローラーを起点とするブランチ上にあるため、表示されているすべてのデバイス (ハブを含む) は USB 3.0 ツリーの一部です。
この図は、ホスト コントローラーごとに 1 つずつ、合計 2 つのツリーとして考えることができます。 ただし、USB 3.0 ツリーという用語を使用する場合は、すべての USB 3.0 ホスト コントローラーと、それらに接続されているハブおよびデバイスのセットを指します。
USB 3.0 デバッグを始める
USB 3.0 の問題のデバッグを開始するには、!usb_tree コマンドを入力します。 !usb_tree コマンドは、ホスト コントローラー、ハブ、ポート、デバイス、エンドポイント、および USB 3.0 ツリーのその他の要素を調査するために使用できるコマンドとアドレスのリストを表示します
ハブ コマンド
次の拡張コマンドは、USB 3.0 ハブ、デバイス、ポートに関する情報を表示します。 表示される情報は、USB 3.0 ハブ ドライバーによって維持されるデータ構造に基づいています。
- !usb3kd.usb_tree
- !usb3kd.hub_info
- !usb3kd.hub_info_from_fdo
- !usb3kd.device_info
- !usb3kd.device_info_from_pdo
- !usb3kd.port_info
UCX コマンド
次の拡張コマンドは、USB 3.0 ホスト コントローラー、デバイス、ポートに関する情報を表示します。 表示される情報は、USB ホスト コントローラー拡張ドライバーによって維持されるデータ構造に基づいています。
ホストコントローラーのコマンド
次の拡張コマンドは、USB 3.0 ホスト コントローラー ドライバーによって維持されるデータ構造からの情報を表示します。
- !usb3kd.xhci_dumpall
- !usb3kd.xhci_capability
- !usb3kd.xhci_commandring
- !usb3kd.xhci_deviceslots
- !usb3kd.xhci_eventring
- !usb3kd.xhci_registers
- !usb3kd.xhci_resourceusage
- !usb3kd.xhci_trb
- !usb3kd.xhci_transferring
- !usb3kd.xhci_findowner