DF - PNP 削除デバイス テスト (開発および統合)
このテストでは、EDT フィルター ドライバーを使用して、IRP_MN_QUERY_REMOVE_DEVICE と IRP_MN_REMOVE_DEVICE をターゲット デバイス スタックに送信します。
テストでは、ターゲット デバイス スタックに上位フィルター ドライバーをインストールする処理を試行します。 この試行により、query-remove IRP が生成されます。
この query-remove IRP が失敗した場合、テストによってコンピューターが再起動され、フィルター ドライバーがデバイス スタックに取得されます。 削除要求が拒否されない場合、デバイス スタックは削除され、デバイス スタックのフィルター ドライバーを使用して再起動されます。
テストでは、セットアップ API を使用して、query-remove IRP をデバイス スタックに送信します。 フィルター ドライバーがこの削除要求に失敗するため、cancel-remove IRP が送信されます。 フィルター ドライバーは、cancel-remove が正常に終了したことをアサートします。
次に、テスト アプリケーションは、適切なクラス インストーラーと登録されているすべての共同インストーラーを呼び出して、デバイスを無効または有効にし、さらに削除または再列挙します (これにより、クラスおよび共同インストーラーによる DIF_PROPERTYCHANGE と DICS_DISABLE、DICS_ENABLE、および DICS_PROPCHANGE の処理がテストされます)。 IRP_MN_REMOVE_DEVICE を受信すると、フィルター ドライバーは、下位のドライバーが正常に完了したことをアサートします。
これらの各手順には、暫定的な削除要求が含まれます。 要求が拒否された場合、デバイスは削除されません。 USB カメラでビデオをストリーミングしているときや、ターゲット デバイスがブート パスまたはページング パスにある場合など、必要に応じて削除要求を拒否することを選択できます。 すべての削除要求を単純に失敗させることは、一般的には適切な方法ではないことに注意してください。 すべての削除要求が失敗しても、そのドライバーが remove を受信しないことは保証されません。なぜなら、突然の削除の後に remove IRP が発行されるか、またはデバイス スタックでユーザーが start IRP に失敗する場合があるためです。
- テスト バイナリ: Devfund_PnPDTest.dll
- テスト メソッド: PNPRemoveAndRestartDevice
拡張デバイス テスト (EDT) のサポートを無効にするテストでは、DQ パラメーターで指定されたデバイスの上位フィルターとして、テスト フィルター ドライバー (msdmfilt.sys) がアンインストールされます。 このテスト フィルターは、このテスト カテゴリで実行中のテストの一部としてインストールされます
- テスト バイナリ: Devfund_PnPDTest.dll
- テスト メソッド: DisableEnhancedDeviceTestingSupport
テストの詳細
仕様 |
|
プラットフォーム |
|
サポートされているリリース |
|
予想される実行時間 (分) | 3 |
カテゴリ | シナリオ |
タイムアウト (分) | 45 |
再起動が必要です | false |
特別な構成が必要です | true |
Type | automatic |
その他のドキュメント
この機能領域のテストには、前提条件、セットアップ、トラブルシューティング情報など、次のトピックに記載されている追加のドキュメントが含まれている場合があります。
テストの実行
テストを実行する前に、「Device.Fundamentals の信頼性テストの前提条件」で説明されているテスト要件に従って、テストのセットアップを完了します。
トラブルシューティング
HLK テスト エラーの一般的なトラブルシューティングについては、「Windows HLK テストのエラーのトラブルシューティング」を参照してください。
HLK と WDK での Device Fundamentals テストに固有のトラブルシューティング情報は、Device.DevFund のその他のドキュメントを参照してください。
詳細
パラメーター
パラメーター名 | パラメーターの説明 |
---|---|
DQ | ターゲット デバイスを識別するために使用される WDTF SDEL クエリ - https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | DUT またはその子デバイスの 1 つが WiFi アダプターの場合にのみ必要です。 WiFi アダプターのテストに使用できる WPA2 AES WiFi ネットワークの SSID を指定してください。 既定値は 'kitstestssid' です。 |
Wpa2PskPassword | DUT またはその子デバイスの 1 つが WiFi アダプターの場合にのみ必要です。 Wpa2PskAesSsid パラメーターを使って指定された WPA2 AES WiFi ネットワークのパスワードを指定してください。 既定値は 'password' です。 |
WDTFREMOTESYSTEM | DUT またはその子デバイスの 1 つが、IPv6 ゲートウェイ アドレスのないワイヤード (有線) NIC である場合にのみ必要です。 必要と判断された場合は、テスト NIC がネットワーク I/O をテストするために ping を実行できる IPv6 アドレスを指定してください。 例: fe80::78b6:810:9c12:46cd |
DriverVerifierAdditionalDrivers | ドライバーの検証ツールを有効にする必要がある追加のドライバー |
DriverVerifierExcludedFlags | テスト実行の際に手動で除外できるドライバー検証ツール フラグのプレースホルダー |
MultiDeviceHardwareIdSdelQueryHardwareID | マルチ デバイス SDEL |
MultiDeviceInstanceIdSdelWDKDeviceID | DUT のデバイス ID |
DriverVerifierCustomizeConfiguration | このテストでドライバーの検証の設定を自動的に更新することを指定します |
TestCycles | テストを実行するサイクル数。 |
DoSimpleIO | True または False。 PNP 操作の実行の前後に、テスト デバイスで SimpleIO (見つかった場合) を実行します。 |
IOPeriod | SimpleIO の分単位の実行時間 (見つかった場合)。 |
DoConcurrentIO | True または False。 WDTF 同時 IO インターフェイスを使って、PNP 操作の実行中に対象のデバイス スタックに I/O 要求を送信します。 |