提供されている WDTF シンプル I/O プラグイン
シンプル I/O プラグインは、デバイス固有の汎用 I/O 機能を実装する Windows Driver Test Framework (WDTF) の拡張機能です。 テスト対象のデバイスの種類にプラグインが存在する場合、Device Fundamental テスト では WDTFシンプルI/Oインターフェイスを使用してI/Oをテストします。
このトピックでは、Simple I/O プラグインがあるデバイスの種類を示し、デバイスをテストするための特定の要件があるかどうかを示します。 これらは、Windows ハードウェア ラボ キット (Windows HLK) を使用するときに従う必要があるのと同じ要件です。 このトピックでは、テストエラーのトラブルシューティングとトリアージを行うアイデアも提供します。
デバイスの種類が一覧にない場合は、「WDTF Simple I/O Action プラグインを使用してデバイスの I/O をカスタマイズする方法」をご参照ください。
特定の要件を持つ Device Fundamental テストの一覧については、「特定のデバイス構成要件を持つ Device Fundamental テスト」をご参照ください
オーディオ
要件
デバイスには、少なくとも 1 つのレンダー タイプ エンドポイント (スピーカー、ヘッドフォンなど) が接続されている必要があります。
対象のオーディオ デバイスに HDMI ビデオおよびオーディオ出力機能がある場合、オーディオ テストを実行するには、HDMI モニターや A/V レシーバーなどの HDMI オーディオ対応デバイスにデバイスを接続する必要があります。
I/O プラグインの実行の種類 (オーディオ)
- レンダー タイプ エンドポイントでサイン チューニングを再生します。 キャプチャの種類のエンドポイントでオーディオをキャプチャします。
テストの失敗をトリアージする方法
- 最初のトリアージを実行するために失敗した HRESULT を確認します。
- テストが応答しない場合は、ターゲット コンピューターのカーネル デバッガーを使用して根本原因を絞り込みます。
- トレースを実行します。
- カーネル トレースを開始します。
xperf.exe -on LOADER+PROC_THREAD+CSWITCH+DISK_IO+HARD_FAULTS+PROFILE+INTERRUPT+NETWORKTRACE+DPC+Latency+POWER -stackwalk ProcessCreate+ProcessDelete+ImageLoad+ImageUnload+ThreadCreate+ThreadDelete+CSwitch+ReadyThread+Profile+DiskFlushInit+FileFlush+RegFlush+HardFault+VirtualAlloc+VirtualFree -BufferSize 1024 -MinBuffers 512 -MaxBuffers 1024 -f Audio_SimpleIo_Kernel.etl
- オーディオ トレースを開始します。
xperf.exe -start AudioSimpleIo -on Microsoft-Windows-Audio+a6a00efd-21f2-4a99-807e-9b3bf1d90285:0xffff:0x3 -BufferSize 1024 -MinBuffers 512 -MaxBuffers 1024 -f Audio_SimpleIo.etl
- テストを実行します。
- トレースを停止します。
xperf.exe -stop "NT Kernel Logger" Audio_SimpleIo
- マージ トレース:
xperf.exe -merge Audio_SimpleIo_Kernel.etl Audio_SimpleIo.etl Audio_SimpleIo _Merged.etl
- マージされたトレース ファイルを Xperf (xperfview) で表示します。
Bluetooth
Bluetooth の要件
- 特別な要件なし。
I/O プラグインの実行の種類 (Bluetooth)
- BluetoothFindFirstDevice 関数を使用して、Bluetooth デバイスを検索します。
CDROM
CDROM の要件
- ドライブ文字が割り当てられています。
- デバイスにメディアが存在します。
- 挿入されたメディアにファイルが存在します。
I/O プラグインの実行の種類 (CDROM)
- CD-ROM 上のファイルを検索し、Win32 ReadFile API を使用して読み取り操作を実行します。
テストエラーをトリアージする方法 (CDROM)
- テスト コンピューターで、対象の CD/DVD ドライブに移動し、ドライブの内容にアクセスできることを確認します。
- CD-Rom Simple I/O プラグインは、読み取りを実行するために使用する CD/DVD 上のファイルを検索します。 CD/DVD にディスクにエンコードされたファイルがあることを確認します。
- このシンプルな I/O プラグは、Win32 CreateFile、WriteFile、ReadFile 関数を使用します。 返されるエラーは、ほとんどの場合、これらの API からの Win32 エラー コードです。
ディスク
ディスクの要件
- ディスクに少なくとも 1 つのボリューム ドライブ文字が割り当てられます。
I/O プラグインの実行の種類 (ディスク)
- ボリューム用の簡易 I/O プラグインを使用 します。
ディスプレイ
表示要件
- テストに特別な要件はありません。
I/O プラグインの実行の種類 (ディスプレイ)
- D3DX API を使用してグラフィックス アダプターを実行します。
テストエラーをトリアージする方法 (ディスプレイ)
- 使用されている API からのエラーを報告するテスト ログを確認します。
GPS デバイス (およびシステム内の GPS デバイス)
要件 (GPS)
- デバイスは、適切な GPS 信号がある場所でテストする必要があります。
I/O プラグイン実行の種類 (GPS)
- センサーの I/O プラグインを使用 します。
LAN
要件 (LAN)
デバイスに IPv6 アドレスがあります。
デバイスに IPv6 ゲートウェイ アドレスがあります (それ以外の場合は、テスト NIC が ping できる IPv6 アドレスを使用して WDTFREMOTESYSTEM パラメーターをテストに渡す必要があります)。
デバイスのネットワーク動作ステータスは IfOperStatusUp です。
ネットワーク デバイスが WWAN または WLAN デバイスではありません。
I/O プラグイン実行の種類 (LAN)
- IPv6 ネットワーク ゲートウェイ アドレスに ping を実行します。
テストの失敗をトリアージする方法 (LAN)
- 既存の IP アドレスがあることを確認します。
- ゲートウェイ IPv6 IP アドレスがあることを確認します。
- IP ゲートウェイ アドレスを手動で確認します (ping.exe使用)。
モバイル ブロードバンド
要件 (モバイル ブロードバンド)
- テストに特別な要件はありません。
I/O プラグイン実行の種類 (モバイル ブロードバンド)
- IMbnInterface インターフェイスを使用し、GetHomeProvider、IMbnInterface::GetInterfaceCapability メソッド、および IMbnInterface::GetReadyState メソッド API を呼び出して、デバイスを実行します。
テストエラーをトリアージする方法 (モバイル ブロードバンド)
MobileBroadbandPlugin には、障害が発生する可能性がある限られた領域があります。
- "MobileBroadbandPlugin:すべてのモバイル ブロードバンド インターフェイスの取得でエラーが返されました。"
- "MobileBroadbandPlugin:インターフェイスの取得でエラーが返されました。"
- "MobileBroadbandPlugin:DeviceId の取得が返されました。"
- "MobileBroadbandPlugin:インターフェイスの機能の取得でエラーが返されました。"
- "MobileBroadbandPlugin:ReadyState を取得するとエラーが返されました。"
エラーを調査する最適な場所は、デバイスから開始し、準備完了情報またはデバイス機能を示すことができなかったかどうかを判断することです。 さらに OS トレース ファイルをデバッグするには、収集する必要があります。
- コマンドを実行:netsh trace start wwan_dbg
- 問題を再現します。
- コマンドを実行:netsh trace stop
ポータブル デバイス
要件 (ポータブル デバイス)
- デバイスには、フォルダーとファイルを作成できるストレージ コンポーネントがあります。
I/O プラグイン実行の種類 (ポータブル デバイス)
- WPD API を使用して、WPD デバイス上のストレージ コンポーネントにファイルを読み書きします。
スマート カード リーダー
要件 (スマート カード リーダー)
- デバイスに Athena T0 テスト カードが挿入されています。
I/O プラグインの実行の種類 (スマート カード リーダー)
- カード リーダーに挿入カード、データを読み書きします。
センサー
要件 (センサー)
- GPS デバイスは、適切な GPS 信号がある場所でテストする必要があります。
体積
要件 (数量)
- ボリュームにはドライブ文字が割り当てられます。
- ボリュームには 5 MB (メガバイト) の空き領域があります。
- ボリュームは書き込み保護されていません。
- デバイスにメディアが存在します。
I/O プラグインの実行の種類 (ボリューム)
- WDTF_Volume_IOという名前のディレクトリを作成し、SimpleIO.tmpという名前のファイルを作成します。 I/O は、ReadFile API と WriteFile API をこのファイルに呼び出すことによって実行されます。
テストエラーをトリアージする方法 (ボリューム)
- テスト コンピューターで、対象のドライブに移動し、ドライブの内容にアクセスできることを確認します。
- ドライブへのファイルの保存を試みます。 保存してすぐにアクセスできることを確認します。
- このシンプルな I/O プラグは、Win32 CreateFile、WriteFile、ReadFile 関数を使用します。 返されるエラーは、ほとんどの場合、これらの API からの Win32 エラー コードです。
Web カメラ
要件 (Web カメラ)
テストに特別な要件はありません。
Note
Web カメラ デバイス用の Simple I/O プラグインは、MFPlat.dll ファイルに依存しています。このファイルは、windows 7 N や Windows 7 KN など、メディア プレーヤーおよび関連テクノロジを含まない Windows のバージョンでは使用できません。 これらのバージョンの Windows では、メディア機能パックをインストールする必要があります。 メディア機能パックをダウンロードできます。 詳細については、KB Article 968211 をご参照ください。
I/O プラグインの実行の種類 (Web カメラ)
- メディア ファンデーション インターフェイスを使用してビデオをキャプチャします。
WLAN
要件 (WLAN)
- HCKドキュメントの「Device Fundamentalsテスト によってログに記録されるWLAN SimpleIOプラグインのエラーのトラブルシューティング」をご参照ください。
I/O プラグイン実行の種類 (WLAN)
- HCKドキュメントの「Device Fundamentalsテスト によってログに記録されるWLAN SimpleIOプラグインのエラーのトラブルシューティング」をご参照ください。
テストの失敗をトリアージする方法 (WLAN)
- HCKドキュメントの「Device Fundamentalsテスト によってログに記録されるWLAN SimpleIOプラグインのエラーのトラブルシューティング」をご参照ください。
ミュート付き USB コントローラーとハブ
要件 (USB)
テストに特別な要件はありません。
デバイスにはシンボリック リンクがあります。
I/O プラグイン実行の種類 (USB)
- Microsoft USB テスト ツール (MUTT) デバイスを使用した USB 転送テスト。 対象となる転送の種類は、制御、一括、等時性、割り込み、ストリームです (SuperMUTT が USB 3.0 コントローラーに接続されている場合のみ)
テストの失敗をトリアージする方法 (USB)
- まず、テスト ログ ファイル内のメッセージを確認します。
- USB 2.0 および USB 3.0 スタックで Windows イベント トレーシング (ETW) を有効にしてさらに調査します。
- USB 2.0 については、「Windows 7 USB コア スタックの Microsoft Windows USB Core チーム ブログ - ETW」 をご参照ください
- USB 3.0 については、「Microsoft Windows USB Core チーム ブログ」をご参照ください。
特定のデバイス構成要件を持つデバイスの基本テスト
次の Device Fundamental テストを実行する前に、テスト コンピューター上のデバイスを、このトピックで説明されている特定のデバイスの種類の要件に従って構成する必要があります。
- PCI ルートポートの突然の取り外しテスト (PCI デバイスのみ)
- デバイス パス エクササイザー テスト (認証)
- 前後のIO を伴うスリープと PNP (無効化と有効化) (認証’)
- プラグ アンド プレイ ドライバー テスト (認証)
- ハードウェアとオペレーティング システムの同時実行 (CHAOS) テスト (認証)
- 前後のIO を伴う再インストール (認証)
- ファイル システム整合性のデバイス インストール チェック (認証)
- その他のデバイスの安定性に関するデバイス インストール チェック (認証)