打印机池场景下如何获取打印作业的端口名
How to get the port name of a print job in a printer pooling scenario
在 windows -> 打印机和设备 -> 实际打印队列中有(最后一个)名为端口 like here
的列
启用打印机池时,这会显示文档正在打印的端口名称(对于真实打印机),如第一个 c:\ports\p1、第二个 c:\ports\p2(或 port_2121 和 port_2122 ... 等等)。
我想获得相同的信息。
我检查了 Enumjobs 和 JOB_INFO_1 - 4 结构,它们都没有端口或端口名成员。
我测试过,pPrinterName 也总是一样的。所以即使从那边也无法访问它。
知道如何获取打印作业的端口吗? (就像打印队列一样)
感谢
您可以使用带有 JOB_NOTIFY_FIELD_PORT_NAME
字段的 FindNextPrinterChangeNotification
函数来做到这一点。当启用打印机池并且一个端口繁忙时可以更改此值
在 windows -> 打印机和设备 -> 实际打印队列中有(最后一个)名为端口 like here
的列启用打印机池时,这会显示文档正在打印的端口名称(对于真实打印机),如第一个 c:\ports\p1、第二个 c:\ports\p2(或 port_2121 和 port_2122 ... 等等)。 我想获得相同的信息。
我检查了 Enumjobs 和 JOB_INFO_1 - 4 结构,它们都没有端口或端口名成员。 我测试过,pPrinterName 也总是一样的。所以即使从那边也无法访问它。
知道如何获取打印作业的端口吗? (就像打印队列一样)
感谢
您可以使用带有 JOB_NOTIFY_FIELD_PORT_NAME
字段的 FindNextPrinterChangeNotification
函数来做到这一点。当启用打印机池并且一个端口繁忙时可以更改此值