| Previous | Next |
| ERROR_PRINT_MONITOR_IN_USE | ERROR_SUCCESS_REBOOT_REQUIRED |
ERROR_PRINTER_HAS_JOBS_QUEUED
This is a queue-state precondition, not a queue-capacity failure. ERROR_PRINTQ_FULL says the queue cannot accept more work; ERROR_PRINTER_HAS_JOBS_QUEUED says an operation is disallowed because existing jobs are still attached to the printer object.
Windows exposes individual job controls through SetJob and a queue purge command through SetPrinter. Which action is appropriate depends on ownership and policy: jobs may need to finish, be moved or resubmitted by an application, or be explicitly cancelled by an authorized administrator.
Make the queued work visible
- Enumerate jobs and record job ID, owner, state, size, and submission time before changing the printer object.
- Determine whether the blocked operation is configuration, deletion, or another lifecycle transition that requires an empty queue.
- Allow active jobs to drain when they must be preserved; otherwise use explicit job or queue controls and record who initiated them.
- After the queue is empty, re-read printer state before retrying because the original object may also have changed or entered pending deletion.
SetJob job controls · SetPrinter queue controls · Print Spooler job functions
Looking for a different code? Search another status or error code.