3

I poll printer queue on any change like JOB_CHANGE, and if I see that some job disappeared, I report to server that job has been printed or deleted, according to job last status.

Problem is that printer Lexmark X945e returned last job status only JOB_STATUS_RETAINED, but no JOB_STATUS_DELETED or JOB_STATUS_PRINTED.

What does that mean? Can I use retained status to say that job was printed?

4

1 回答 1

2

如果您的意思是JOB_STATUS_RETAINED当您说 RETAINED 时,我在文档中找到了这个链接:

Windows Vista 及更高版本:作业已保留在打印队列中,无法删除。这可能是由以下原因引起的:1) 通过调用 SetJob 手动保留了作业,并且假脱机程序正在等待释放作业。2) 作业未完成打印,必须完成打印才能自动删除。有关打印作业命令的详细信息,请参阅 SetJob。

从 SetJob 文档:

JOB_CONTROL_RETAIN Windows Vista 和更高版本:打印后将作业保留在队列中。JOB_CONTROL_RELEASE Windows Vista 和更高版本:释放打印作业。

从文档来看,似乎SetJob(JOB_CONTROL_RELEASE)可以用来释放工作。

于 2014-11-11T14:31:22.233 回答