打印驱动程序 DevMode Corruptor 测试

此自动测试使用的 DEVMODE 结构有好有坏,确保驱动程序正常处理错误数据。 此测试并不打算计算输出。

测试详细信息

   
规范
  • Device.Imaging.Printer.Base.applicationVerifier
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
  • Windows Server 2016 (x64)
  • 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 的下一次更新
预计运行时间(以分钟为单位) 240
类别 方案
超时(以分钟为单位) 14400
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

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

运行测试

在运行测试之前,请按照如下测试要求中所述完成测试设置:打印机测试先决条件

注意

   必须从启用了 NTSD 调试的 AppVerifier 环境中运行此测试。 该测试使用以下 Windows HLK 库测试作业,以 NULL 端口运行此测试,然后自动还原打印机端口:

  • 添加 NullPortMonitor 并切换端口

  • 还原端口并删除 NullPortMonitor

 

故障排除

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

有关故障排除信息,请参阅排查 Device.Imaging 测试问题

如果调试器中断,UI 显示在后台处理程序进程中,测试由于任何原因而停止,或者日志文件指示出现故障,则可以确定此测试失败。

下面是此测试的日志文件:

  • DevmodeCorrupt.xml

  • DevModeCorruptor_DeviceLogger.xml

更多信息

应用程序和用户向打印子系统指定打印作业设置的主要方式是使用 DEVMODE 结构。 由于 DEVMODE 结构源自打印子系统外,因此打印子系统将 DEVMODE 结构视为不受信任。 打印机驱动程序也经常访问此数据结构。

此测试不需要将打印机物理连接到测试计算机。 可使用 NULL 端口运行该测试。

打印驱动程序 Devmode Corruptor 测试工具在打印子系统的驱动程序相关代码路径中执行故障注入,确保驱动程序的可靠性足以处理损坏的 DEVMODE 结构。

此测试可生成大量的输出。 可忽略并放弃此输出。 也可确保将此测试打印到 NULL 端口打印机以避免物理输出。

可在命令提示符下键入以下命令,手动运行此测试:

DevModeCorruptW.exe /printer="<printername>" /stress /Logfile=DevmodeCorrupt.xml /timetorun=4

参数

参数名称 参数说明
LLU_NetAccessOnly 逻辑本地用户:仅限网络访问。
TestExecutable Name 测试可执行文件名。
WDKPrinterName 打印机名称。