DF - PNP 停止(重新平衡)设备测试(可靠性)
此测试启动重新平衡过程,该过程导致设备驱动程序的 IRP_MN_QUERY_STOP_DEVICE PnP IRP。
如果堆栈中的任何驱动程序未能通过此 IRP,则将放弃重新平衡过程。 请注意,在 Windows Vista 中,支持多层重新平衡。 如果在非叶设备节点上启动重新平衡,则以该设备节点为根的设备树中存在的所有设备堆栈也会进行重新平衡。 如果任何子设备堆栈未能查询停止,则放弃整个重新平衡过程。 因此,驱动程序不得在没有正当原因的情况下阻止查询停止 如果发生此故障,PnP 管理器会将“取消停止”(IRP_MN_CANCEL_STOP) 发送到已发送了“查询停止”的所有设备堆栈。
如果涉及的所有设备堆栈都传递查询停止,则测试继续重新平衡并发送 IRP_MN_QUERY_RESOURCE_REQUIREMENTS 和 IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRPS 以查找设备的资源需求。
在此之后,根据目标设备是否消耗任何资源,可能有两种不同的路径:
如果设备不消耗任何资源,则 PnP 管理器本身会发送取消停止 (IRP_MN_CANCEL_STOP_DEVICE) 作为优化。
如果设备实际消耗资源,则使用 IRP_MN_STOP_DEVICE 和 IRP_MN_START_DEVICE IRP 完成重新平衡过程。
通过这个测试,设备的资源不会改变。
- 测试二进制文件:Devfund_PnPDTest.dll
- 测试方法:PNPTryStopAndRestartDevice
禁用增强设备测试 (EDT) 支持测试卸载测试筛选器驱动程序 (msdmfilt.sys) 作为使用 DQ 参数指定的设备的上层筛选器。 此测试筛选器作为在此测试类别中运行测试的一部分进行安装
- 测试二进制文件:Devfund_PnPDTest.dll
- 测试方法:DisableEnhancedDeviceTestingSupport
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 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 请求。 |