DF - PNP 重新平衡请求新资源设备测试(可靠性)

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

此测试会发起重新均衡,还将操作设备的资源要求,来最大程度地提高实际将新资源分配给设备的可能性。 此选项还有助于没有资源的设备实际完成完整的重新均衡过程:

  1. 首先启动简单的重新均衡,这会得到以下 IRP:

    • IRP_MN_QUERY_STOP_DEVICE (假设此 IRP 由所有驱动程序传递。测试已涵盖此 IRP 失败的情况。)

    • IRP_MN_QUERY_RESOURCE_REQUIREMENTS

    • IRP_MN_FILTER_RESOURCE_REQUIREMENTS。 为了响应此 IRP,在上升时,筛选器驱动程序将根据设备是否使用任何资源来采取措施:

      • 如果设备没有资源要求,筛选器会分配一个假资源。
      • 如果设备有资源要求,它将尝试按照可最大程度提高当前分配更改可能性的方式来重构资源要求列表。 例如,如果设备需要 2 个字节的内存(介于 00 到 FF 之间)且当前分配有 3A-3B,请进行修改,使新的资源要求(按首选项顺序)看起来像 00-39、3C-FF 或 3A-3B。 同样,如果设备资源要求列表具有任何备用要求,它将更改其顺序,使备用要求移到列表的前面。
  2. 现在,设备应始终完成重新均衡过程。

    IRP_MN_STOP_DEVICE

    IRP_MN_START_DEVICE (新分配的资源。如果创建了虚假要求,请屏蔽实际 drivers.)

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

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

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

测试详细信息

   
规范
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.PnPIRPs
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
平台
  • 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 的下一次更新
预计运行时间(以分钟为单位) 8
类别 方案
超时(以分钟为单位) 210
需要重启 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 请求。