DF - PNP 重新平衡故障重启设备测试(开发和集成)

与删除测试一样,测试应用程序会尝试将上层筛选器添加到目标设备堆栈,然后使用 SetupDiCallClassInstaller 和 DIF_PROPERTYCHANGE 重启设备堆栈。 如果此尝试失败(即,如果目标设备堆栈上的某人使查询删除 IRP 失败),则测试将重启计算机以测试重新平衡。

此测试将启动重新平衡,但当筛选器驱动程序在重新平衡后获得启动时,它会有意使其失败,这会导致意外删除 IRP,后跟删除 IRP。

首先,它启动重新平衡过程,并确保驱动程序通过为不消耗任何资源的设备生成虚假的资源要求,获得停止和启动。

  • IRP_MN_QUERY_STOP_DEVICE (假设此 IRP 由所有驱动程序传递。测试已涵盖此 IRP 失败的情况。)
  • IRP_MN_QUERY_RESOURCE_REQUIREMENTS
  • IRP_MN_FILTER_RESOURCE_REQUIREMENTS(如果实际资源要求为 null,筛选器会分配虚假的资源要求,因此存在停止和启动。)
  • IRP_MN_STOP_DEVICE
  • IRP_MN_START_DEVICE (筛选器在启动时无法通过此 IRP。此操作会导致意外删除 IRP.)
  • IRP_MN_SURPRISE_REMOVAL
  • IRP_MN_REMOVE

重新平衡测试完成后,将卸载设备并重新进行枚举,同时从堆栈中删除筛选器驱动程序。

  • 测试二进制文件:Devfund_PnPDTest.dll
  • 测试方法:PNPTryStopDeviceAndFailRestart

禁用增强设备测试 (EDT) 支持测试卸载测试筛选器驱动程序 (msdmfilt.sys) 作为使用 DQ 参数指定的设备的上层筛选器。 此测试筛选器作为在此测试类别中运行测试的一部分进行安装

  • 测试二进制文件:Devfund_PnPDTest.dll
  • 测试方法:DisableEnhancedDeviceTestingSupport

测试详细信息

   
规范
  • Device.DevFund.Reliability.Discretional
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
  • Windows Server 2016 (x64)
  • Windows 10,客户端版本 (Arm64)
  • Windows 10,移动版本 (Arm)
  • Windows 10,移动版本 (Arm64)
支持的版本
  • Windows 10
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 3
类别 方案
超时(以分钟为单位) 45
需要重启 false
需要特殊配置
类型 automatic

 

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

在运行测试之前,请按照如下测试要求中所述完成测试设置:Device.Fundamentals 可靠性测试先决条件

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

有关 HLK 和 WDK 中特定于设备基础功能测试的故障排除信息,请参阅 Device.DevFund 附加文档

更多信息

参数

参数名称 参数说明
DQ 一个 WDTF SDEL 查询,用于标识目标设备 - https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid 只有当 DUT 或它的一个子设备是 WiFi 适配器时才需要。 请提供测试可用其测试 WiFi 适配器的 WPA2 AES WiFi 网络 SSID。 默认值为“kitstestssid”。
Wpa2PskPassword 只有当 DUT 或它的一个子设备是 WiFi 适配器时才需要。 请提供由使用 Wpa2PskAesSsid 参数指定的 WPA2 AES WiFi 网络的密码。 默认值为“password”。
WDTFREMOTESYSTEM 只有当 DUT 或它的一个子设备是没有 IPv6 网关地址的有线 NIC 时,才需要。 如果确定为必需,请提供测试 NIC 可以 ping 以测试网络 I/O 的 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。 执行 PNP 操作时,使用 WDTF 并发 IO 接口向目标设备堆栈发送 I/O 请求。