Site icon EfmSoft

What does HRESULT 0x8899002B (D2DERR_PRINT_JOB_CLOSED) mean?

 
Previous Next
D2DERR_NO_SUBPROPERTIES D2DERR_PRINT_FORMAT_NOT_SUPPORTED

D2DERR_PRINT_JOB_CLOSED

D2DERR_PRINT_JOB_CLOSED belongs to Direct2D print-control lifetime. AddPage or Close was called after the Direct2D print job had already been closed.

Locate the first rejecting layer

A Direct2D print control has a one-way lifecycle: pages are submitted while the job is open and Close ends that generation. Late asynchronous callbacks or duplicate cleanup can call AddPage or Close after termination even when the page content and printer are valid.

print-control lifecycle and duplicate or late page submission.

Controlled reproduction

Serialize one AddPage and one Close, tag the job generation, and reject callbacks from completed jobs. Create a new print control for a new document instead of attempting to reopen the closed object.

  1. submit one page then close exactly once.
  2. Serialize close with page production.
  3. Reject late callbacks from an older job generation.
  4. Create a new print control for a new document.

Evidence to preserve

  • Job creation, AddPage, and Close timestamps
  • Thread and asynchronous print callback
  • Spooler result and document generation
  • Object instance and cancellation state

Misleading responses

This is a state-machine error, not a printer capability or page-content rendering error. Do not respond with a universal render-target recreation loop unless the returned status specifically documents device-loss recovery; graph, property, numeric, lifetime, and print-state errors require correcting their contract.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version