我有一个非常简单的应用程序,可以将 TIFF 文件打印到各种联网打印机。打印机都安装在 3 台不同的打印服务器上,而应用程序则在单独的机器上运行。(我们称它们为 Print1、2、3 和 App1。)
大多数情况下它运行良好,但最近我注意到某些新打印机(使用 PCL6 驱动程序的 HP P4515x 型号)导致 App1 上 spoolsv.exe 打开的句柄数量激增。一个文档可以将句柄提高 500,并且它们永远不会被释放,如果没有及时发现,最终会导致 App1 机器必须重新启动。实际的打印服务器似乎都不受此问题的影响。
该代码在概念上与此非常相似,但来自在域帐户下运行的后台服务:MSDN Link。我使用 \print3\deptP4515x 命名约定指定打印机。
[不确定这是否发生在 StackOverflow 或 ServerFault 上,但我认为由于可能的驱动程序问题,它应该在这里?]
编辑:我运行 procexp 并看到它已经增长到的 1243 句柄,1135 是这样的: Key HKLM\SOFTWARE\Hewlett-Packard\San Diego Shared IO