次の方法で共有


提供されている WDTF Simple I/O プラグイン

単純な I/O プラグインは、デバイス固有の汎用 I/O 機能を実装する Windows Driver Test Framework (WDTF) の拡張機能です。 テスト対象のデバイスの種類に対してプラグインが存在する場合、 Device Fundamental テスト では WDTF Simple 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)

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 CreateFileWriteFileReadFile 関数を 使用します。 返されるエラーは、ほとんどの場合、これらの API からの Win32 エラー コードです。

Disk

ディスクの要件

  • ディスクには少なくとも 1 つの関連付けられたボリュームがあり、ドライブ文字が割り当てられています。

I/O プラグインの実行の種類 (ディスク)

  • ボリューム用の簡易 I/O プラグインを使用 します

ディスプレイ

表示要件

  • テストに特別な要件はありません。

I/O プラグインが実行する種類(ディスプレイ)

  • D3DX API を使用してグラフィックス アダプターを実行します。

テストエラーをトリアージする方法 (表示)

  • 使用されている API からのエラーを報告するテスト ログを確認します。

GPS デバイス (およびシステム内の GPS デバイス)

要件 (GPS)

  • デバイスは、適切な GPS 信号がある場所でテストする必要があります。

GPSを実行するI/Oプラグインのタイプ

  • センサーの 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 プラグイン実行の種類 (モバイル ブロードバンド)

テストエラーをトリアージする方法 (モバイル ブロードバンド)

  • MobileBroadbandPlugin には、障害が発生する可能性がある限られた領域があります。

    • "MobileBroadbandPlugin: すべてのモバイル ブロードバンド インターフェイスの取得でエラーが返されました。"
    • "MobileBroadbandPlugin: インターフェイスの取得でエラーが返されました。"
    • "MobileBroadbandPlugin: DeviceId の取得が返されました。"
    • "MobileBroadbandPlugin: インターフェイス機能の取得でエラーが返される"
    • "MobileBroadbandPlugin: ReadyState を取得するとエラーが返されました。"
  • エラーを調査する最適な場所は、デバイスから開始し、準備完了情報またはデバイス機能を示すことができなかったかどうかを判断することです。 デバッグを行うには、OS トレースファイルを収集する必要があります。

    • コマンドを実行します: netsh trace start wwan_dbg
    • 問題を再現します。
    • コマンドの実行: netsh トレース停止

ポータブル デバイス

要件 (ポータブル デバイス)

  • デバイスには、フォルダーとファイルを作成できるストレージ コンポーネントがあります。

I/O プラグイン実行の種類 (ポータブル デバイス)

  • WPD API を使用して、WPD デバイス上のストレージ コンポーネントにファイルを読み書きします。

スマート カード リーダー

要件 (スマート カード リーダー)

  • デバイスには、Athena T0 テスト カードが挿入されています。

I/O プラグインの実行の種類 (スマート カード リーダー)

  • カード リーダーに挿入されたアテナ T0 カードにデータを読み書きします。

センサー

要件 (センサー)

  • GPSデバイスは、適切なGPS信号を持つ場所でテストする必要があります。

ボリューム

要件 (ボリューム)

  • ボリュームにはドライブ文字が割り当てられます。
  • ボリュームには 5 MB の空き領域があります。
  • ボリュームは書き込み保護されていません。
  • メディアはデバイスに存在します。

I/O プラグインの実行の種類 (ボリューム)

  • WDTF_Volume_IOという名前のディレクトリを作成し、SimpleIO.tmpという名前のファイルを作成します。 I/O は、 ReadFile API と WriteFile API をこのファイルに呼び出すことによって実行されます。

テストエラーをトリアージする方法 (ボリューム)

  • テスト コンピューターで、対象のドライブに移動し、ドライブの内容にアクセスできることを確認します。
  • ドライブへのファイルの保存を試みます。 保存してすぐにアクセスできることを確認します。
  • このシンプルな I/O プラグは、Win32 CreateFileWriteFileReadFile 関数を 使用します。 返されるエラーは、ほとんどの場合、これらの API からの Win32 エラー コードです。

ウェブカメラ

要件 (ウェブカメラ)

  • テストに特別な要件はありません。

    Web カメラ デバイス用の Simple I/O プラグインは、MFPlat.dll ファイルに依存しています。これは、Media Player および関連テクノロジが含まれていない Windows のバージョンでは使用できません (Windows 7 N や Windows 7 KN など)。 これらのバージョンの Windows では、Media Feature Pack をインストールする必要があります。 メディア機能パックをダウンロードできます。 詳細については、 サポート技術情報の記事の968211を参照してください。

I/O プラグインの実行の種類 (Web カメラ)

  • Media Foundation インターフェイスを使用してビデオをキャプチャします。

WLAN

要件 (WLAN)

I/O プラグインの種類(WLAN対応)

WLANでのテストの失敗を管理する方法

ミュート付き USB コントローラーとハブ

要件 (USB)

  • テストに特別な要件はありません。

    デバイスにはシンボリック リンクがあります。

I/O プラグインの実行の種類 (USB)

  • Microsoft USB テスト ツール (MUTT) デバイスを使用した USB 転送テスト。 対象となる転送の種類は、制御、一括、等時性、割り込み、ストリームです (SuperMUTT が USB 3.0 コントローラーに接続されている場合のみ)

テストエラーをトリアージする方法 (USB)

  • まず、テスト ログ ファイル内のメッセージを確認します。
  • USB 2.0 および USB 3.0 スタックで Windows イベント トレーシング (ETW) を有効にしてさらに調査します。

特定のデバイス構成要件を持つデバイスの基本テスト

次の Device Fundamental テストを実行する前に、テスト コンピューター上のデバイスを、このトピックで説明されている特定のデバイスの種類の要件に従って構成する必要があります。

  • PCI ルート ポートの突然の削除テスト (PCI デバイスのみ)
  • デバイス パス エクササイザー テスト (認定)
  • IO Before と After (認定) を使用したスリープと PNP (無効化と有効化)
  • プラグ アンド プレイ ドライバー テスト (認定)
  • 同時実行ハードウェアとオペレーティング システム (CHAOS) テスト (認定)
  • IO Before と After を使用して再インストールする (認定)
  • ファイル システム整合性のデバイス インストール チェック (認定)
  • その他のデバイスの安定性に関するデバイス インストール チェック (認定)

デバイス基本テスト

Visual Studio を使用して実行時にドライバーをテストする方法

コマンド プロンプトから実行時にドライバーをテストする方法

Device Fundamentals テストを選択して構成する方法