Когда задание печатается, последний статус задания — JOB_STATUS_RETAINED вместо JOB_STATUS_PRINTED

Я опрашиваю очередь принтера при любом изменении, например JOB_CHANGE, и, если я вижу, что какое-то задание исчезло, я сообщаю серверу, что задание было распечатано или удалено, в соответствии с последним состоянием задания.

Проблема заключается в том, что принтер Lexmark X945e возвратил статус последней работы только JOB_STATUS_RETAINED, но не JOB_STATUS_DELETED или JOB_STATUS_PRINTED.

Что это значит? Могу ли я использовать сохраненный статус, чтобы сказать, что работа была напечатана?

2

Решение

В случае, если вы имели в виду JOB_STATUS_RETAINED когда вы сказали «ОСТАВЛЕНО», я нашел эту ссылку в документации:

Windows Vista и более поздние версии: задание было сохранено в очереди печати и не может быть удалено. Это может быть вызвано следующими причинами:
1) Задание было вручную сохранено при вызове SetJob, и диспетчер очереди печати ожидает его освобождения.
2) Задание не завершило печать и должно завершить печать, прежде чем оно может быть автоматически удалено.
См. SetJob для получения дополнительной информации о командах задания на печать.

Из документации SetJob:

JOB_CONTROL_RETAIN
Windows Vista и более поздние версии. Храните задание в очереди после его печати.
JOB_CONTROL_RELEASE
Windows Vista и более поздние версии. Отпустите задание на печать.

Из документации кажется, что SetJob(JOB_CONTROL_RELEASE) может быть использован для освобождения работы.

1

Другие решения


По вопросам рекламы [email protected]