DF - PNP 移除裝置測試 (開發和整合)
此測試會使用 EDT 篩選驅動程式來傳送原因IRP_MN_QUERY_REMOVE_DEVICE,並將IRP_MN_REMOVE_DEVICE傳送至目標裝置堆疊。
測試會嘗試在目標裝置堆疊上安裝其上層篩選器驅動程式。 此嘗試會導致查詢移除 IRP。
如果此查詢移除 IRP 失敗,測試會重新開機電腦,讓篩選驅動程式進入裝置堆疊。 如果未保留移除要求,將會移除裝置堆疊,並在裝置堆疊上使用篩選驅動程式重新開機。
測試會使用設定 API,將查詢移除 IRP 傳送至裝置堆疊。 篩選驅動程式會失敗此移除要求,因此會傳送取消移除 IRP。 篩選驅動程式會判斷提示取消移除成功。
接下來,測試應用程式會呼叫適當的類別安裝程式和任何已註冊的共同安裝程式,以停用或移除或移除或繼續裝置, (這會測試類別和共同安裝程式處理與DICS_DISABLE、DICS_ENABLE和DICS_PROPCHANGE) 的DIF_PROPERTYCHANGE。 收到IRP_MN_REMOVE_DEVICE時,篩選驅動程式會判斷提示較低驅動程式已成功完成。
這些步驟都牽涉到初步移除要求。 如果已確認該要求,將不會移除裝置。 您可以選擇在適當情況下移除要求,例如在 USB 相機上串流視訊,或目標裝置位於開機或分頁路徑中。 請記住,只要將所有移除要求都失敗,通常不是很好的作法。 失敗所有移除要求並不保證驅動程式永遠不會收到移除,因為移除 IRP 仍會在意外移除之後發出,或者如果裝置堆疊中的任何人都失敗,就會啟動 IRP。
- 測試二進位檔: Devfund_PnPDTest.dll
- 測試方法: PNPRemoveAndRestartDevice
停用增強型裝置測試 (EDT) 支援測試會將測試篩選器驅動程式 (msdmfilt.sys) 卸載為使用 DQ 參數所指定裝置上的上限篩選。 此測試篩選器會安裝為此測試類別中執行測試的一部分
- 測試二進位檔: Devfund_PnPDTest.dll
- 測試方法: DisableEnhancedDeviceTestingSupport
測試詳細資料
規格 |
|
平台 |
|
支援的版本 |
|
預期的執行時間 (以分鐘為單位) | 3 |
類別 | 案例 |
以分鐘為單位的逾時 () | 45 |
需要重新開機 | false |
需要特殊設定 | true |
類型 | automatic |
其他檔
此功能區域中的測試可能會有其他檔,包括必要條件、設定和疑難排解資訊,可在下列主題中找到 () :
執行測試
執行測試之前,請先完成測試設定,如測試需求中所述: Device.Fundamentals 可靠性測試必要條件。
疑難排解
如需 HLK 測試失敗的一般疑難排解,請參閱 針對 Windows HLK 測試失敗進行疑難排解。
如需 HLK 和 WDK 中裝置基本概念測試的特定疑難排解資訊,請參閱 Device.DevFund 其他檔。
詳細資訊
參數
參數名稱 | 參數描述 |
---|---|
DQ | WDTF SDEL 查詢,用來識別目標裝置 () - https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | 只有在 DUT 或其其中一個子裝置是 WiFi 配接器時才需要。 請提供 WPA2 AES WiFi 網路的 SSID,讓測試可用來測試 WiFi 配接器。 預設值為 'kitstestssid'。 |
Wpa2PskPassword | 只有在 DUT 或其其中一個子裝置是 WiFi 配接器時才需要。 請使用 Wpa2PskAesSsid 參數指定之 WPA2 AES WiFi 網路的密碼。 預設值為 'password'。 |
WDTFREMOTESYSTEM | 只有在 DUT 或其其中一個子裝置是沒有 IPv6 閘道位址的有線 NIC 時才需要。 如果判斷為必要,請提供測試 NIC 可以 Ping 的 IPv6 位址來測試網路 I/O。 例如:fe80::78b6:810:9c12:46cd |
DriverVerifierAdditionalDrivers | 應啟用驅動程式驗證程式的其他驅動程式 |
DriverVerifierExcludedFlags | 可能針對測試回合手動排除的驅動程式驗證器旗標預留位置 |
MultiDeviceHardwareIdSdelQueryHardwareID | 多裝置 SDEL |
MultiDeviceInstanceIdSdelWDKDeviceID | DUT 的裝置識別碼 |
DriverVerifierCustomizeConfiguration | 指定此測試可能會想要自動更新驅動程式驗證程式設定 |
TestCycles | 要執行測試的迴圈數目。 |
DoSimpleIO | 是非題。 如果在執行 PNP 作業之前和之後于測試裝置上找到) ,請執行 SimpleIO (。 |
IOPeriod | ) 找到時,以分鐘為單位執行 SimpleIO (。 |
DoConcurrentIO | 是非題。 使用 WDTF 並行 IO 介面,在執行 PNP 作業時,將 I/O 要求傳送至目標裝置堆疊。 |