2.0のデバイスクラスで規定されている、多くのクラス固有の情報を表示する機能があります。ログと情報ビュー中の、クラス固有のリクエストとディスクリプタの詳しいデコード情報を表示します。参照)をダウンロードする必要があります。現在サポートされているデバイスクラスは、次のリンクを参照してください。http://www.sysnucleus.com/usbtrace_cd.html下の図は、USBTraceでキャプチャされた、ハブクラスを示しています。下の図は、情報ビューの、デコードされたクラスリクエストです。クラスデコーダは、クラス固有のデスクリプタと関連データも、デコードして表示する事ができます。下の図は、USBTraceビデオクラスデコーダを使って、クラス固有の情報を表示しているところです。クラスデコーダのインストールUSBTraceクラスデコーダは、USBTraceのメインアプリケーションとは別に、インストールする必要があります。クラスデコーダは、ZIP圧縮されたDLLとして配布されます。必要なクラスデコーダを、次のリンクからダウンロードします。http://www.sysnucleus.com/usbtrace_download.htmlダウンロードしたファイルを、USBTraceのインストールディレクトリに解凍します。USBTraceをリスタートします。マスストレージクラスデコーダマスストレージクラスデコーダ(プラグインdll)を使用してマスストレージデバイスクラスに属するUSBデバイスをモニタリングすることができます。Bulk-Only転送プロトコルをサポートするマスストレージデバイスをモニタリング可能です。両方がデコード・表示可能です。(RBC)以下のイメージは、USBトレースでデコード・表示されたSCSI問い合わせコマンドブロックを示しています。ワイヤレスUSBホストワイヤクラスデコーダHWAクラスデコーダ(プラグインdll)を使用してワイヤレスコントローラ/ワイヤレスUSBホストワイヤアダプタ(HWA)クラスに属するUSBデバイスがモニタリング可能です。このデコーダはWUSB、HWAクラス特定リクエストをキャプチャ、デコード、表示します。HWAクラスリクエストを示しています:HIDクラスデコーダヒューマンインターフェイスデバイス(HID)クラスに属するUSBデバイスが、HIDクラスデコーダ(プラグインdll)を使用してモニタリング可能です。HIDクラスの具体的なデコードされたリクエスト:レポートを取得Idleを取得プロトコルを取得レポートを設定Idleを設定プロトコルを設定また、デコーダはインタラプトパイプを通してデバイスから運ばれる非同期データ(HIDレポート)をキャプチャ・表示します。以下の画像はHIDマウスからUSBトレースを使用してキャプチャされたHIDレポートです:HUBクラスデコーダHubクラスデコーダ(プラグインdll)を使用してHubクラスに属するUSBデバイスをモニタリング可能です。IOCTLs内部Hubと同様にHubクラス特定のリクエストをモニタリングします。Hub記述子はデバイス情報ビューに表示されます。TT以下の内部USB(Hub特定)IOCTLsがモニタリングされます:IOCTL_INTERNAL_USB_RESET_PORTIOCTL_INTERNAL_USB_GET_ROOTHUB_PDOIOCTL_INTERNAL_USB_GET_PORT_STATUSIOCTL_INTERNAL_USB_ENABLE_PORTIOCTL_INTERNAL_USB_GET_HUB_COUNTIOCTL_INTERNAL_USB_CYCLE_PORTIOCTL_INTERNAL_USB_GET_HUB_NAMEIOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO以下のイメージは、USBトレースでデコードされ、表示されるHub特定リクエストを示しています。静止画像キャプチャクラスデコーダこのクラスデコーダ(プラグインdll)を使用して、静止画像キャプチャデバイスクラスに属するUSBデバイスのモニタリングが可能です。15740プロトコルをキャプチャ・表示します。PIMA15740動作、応答、イベントがデコードされ、表示されます。1570パケットです。ビデオクラスデコーダビデオクラスデコーダ(プラグインdll)を使用してビデオクラスに属するUSBデバイスのモニタリングが可能です。デジタルテレビジョンチューナー、ビデオストリームをサポートする静止画カメラがあります。USBビデオクラス特定リクエストとデータをキャプチャ、デコードし、表示します。ビデオコントロール(VC)とビデオストリーム(VS)の両方をサポートします。USBビデオクラス規格のバージョン1.0と1.1をサポートします。ペイロードデータ(バルクとアイソクロナス)もキャプチャします。以下のイメージはUSBトレースでデコード、表示されたビデオリクエストパケットです。カスタムデバイスクラスデコーダを書くことができます。(サンプルコードのダウンロード)上記2つのDLLはUSBトレースのインストールディレクトリにコピーして使用してください。ベンダー独自クラスデコーダをダウンロードこちらよりベンダー特定クラスデコーダをダウンロードすることができます。USBトレースのインストールディレクトリに解凍して下さい。DLLカスタムデバイスクラスデコーダを書く以下の2つのエクスポートされた関数が実装されたウインドウズDLLを書きます。テスト済みのカスタムデバイスクラスデコーダ・サンプルコードを是非ダウンロードしてご利用下さい。このサンプルを編集して、任意のデバイスクラスデコーダを実装することができます。reqNameLen);この関数で、受けたリクエストの名前を返さなければなりません。パラメータ内に収めます。wIndexといったリクエスト詳細はUSB規格(セットアップパケット8バイト)の通りです。nDataLen)も与えられます。reqNameLenはsReqNameバッファの幅を特定します。提供するリクエスト名がログビューに表示されます。(USBトレースキャプチャデータリスト)リクエスト情報を取得この関数でリクエスト情報の詳細を返さなければなりません。Code=0x21;Control=CT_NONE"追加情報ビューに表示されます。sInfoStringの幅を示します。同じ変数で要求された幅を提供する関数は機能しません。vsdecoder.dllです。このDLLはvendordecoder.dllと共に、USBトレースのインストールディレクトリにコピーされる必要があります。詳細は、サンプルDLLソースコードをご覧下さい。どちらもUSBのモニタを行うソフトウェアですが、それぞれのソフトウェアは、以下のような違いがあります。詳しい説明は、それぞれのソフトウェアのページをご参照ください。usbdi.sysの通信をモニタするため、ハードウェアのUSBアナライザに近い使い勝手マスストレージデバイスなどのパケットの解析を行えるシリアルモニタやネットワークモニタとおなじ操作性のため、USBに限らず、PC上の様々な通信をモニタしたい場合は、使い勝手が良い廉価なライトエディションから、フル機能のプロフェッショナル版まであるため、選択範囲が広いUSBアナライザになれた方・USBデバイスの開発者や、USBデバイスのアプリケーション開発者には使いやすいツールです。IRPもキャプチャ可能キャプチャしたログをリクエストのタイプとリクエストのバッファ内容で検索できる高度な検索機能USBドライバの開発者向けのツールと考えられます。どちらの製品も、それぞれ特徴のある製品ですので、用途に応じて使い分けてください。どちらも試用期間がありますので、まずはそれぞれの機能をお試し下さい。