You hit ERROR_SPL_NO_ADDJOB (0X00000BBC) right when you least want it — usually mid-shift with a document queued. The classic trigger is a legacy LOB app (think an old medical billing or accounting package) sending a print job to a network printer, or SplWOW64 kicking in for a 32-bit app on 64-bit Windows. The job never lands in the queue. Instead you get the spooler screaming that no AddJob call was issued, and the print dialog just hangs or dies.
What the error actually means
Windows printing has a strict handshake. Before any data gets spooled, your app has to call StartDocPrinter, which internally issues an AddJob call. That call is what tells the spooler "hey, I'm about to send a job, reserve a slot for it." The spooler replies with a job ID. Only then can the app push the document through WritePrinter.
If an app tries to write to the spooler without that reservation — or if the AddJob call fails silently and the app ignores the return code — the spooler throws 0x00000BBC. It's not a random crash. It's the spooler refusing to accept data it can't file. Nine times out of ten this traces back to one of three things: a faulty print driver that's mangled the print processor, a corrupted spooler state after a bad Windows update, or an app running under a security context that can't access the spool folder.
If you're seeing this after a Patch Tuesday rollout, the driver almost certainly got half-updated. Windows 10 22H2 and Windows 11 23H2 both had print spooler hardening patches that broke older v3 drivers in exactly this way.
The fix, in order
Don't reinstall Windows. Don't run some random registry cleaner. Work through these steps and stop at the one that clears it.
-
Restart the Print Spooler service. Open an elevated Command Prompt and run:
net stop spooler net start spoolerIf that alone fixes it, great — but you're not done. Something crashed the spooler, and it'll happen again. Keep going.
-
Clear the spool folder. A stuck job can hold a handle on the spooler and prevent new AddJob calls from succeeding.
net stop spooler del /Q /F C:\Windows\System32\spool\PRINTERS\* net start spoolerDon't skip the
/F. Some of those .SPL files hide behind odd locks. -
Check the security context. If the app throwing 0x00000BBC runs as a service or under a non-admin account, it needs read/write on the spool directory. Right-click
C:\Windows\System32\spool\PRINTERS, go to Properties → Security, and confirm the account running the print job has Modify rights. This trips people up constantly with SplWOW64 for 32-bit apps on 64-bit Windows. -
Replace the print driver. This is the real fix most of the time. Open Print Management, find the printer, and remove the driver completely:
printui.exe /dl /n "Your Printer Name" printui.exe /dd /m "Driver Name"Then install the vendor's latest driver. For HP LaserJet Pro and M400 series printers, the generic Microsoft IPP driver works better here than the vendor driver — I know, shocking. For Kyocera and Ricoh MFPs, grab the postscript driver off their site, not the PCL6 one that shipped with the box.
-
Disable third-party print monitors. Port monitors like PaperCut, Printix, or older HP Smart install hooks can intercept the spooler call chain and break the AddJob sequence. Check
HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitorsand temporarily rename any non-Microsoft monitor keys. Restart the spooler. -
Test with a clean-print pipeline. Print a test page from Notepad to the same printer. If Notepad works but your LOB app doesn't, the app itself is calling the API wrong. Check for updates — vendors like Sage, QuickBooks, and older EHR platforms have patched this specific bug in the last two years.
If it still fails
Pull the spooler log and confirm what's actually happening:
Event Viewer → Applications and Services Logs → Microsoft → Windows → PrintService → Operational. Set the log size to 100MB or you'll lose the entries you need.
Look for events 808, 4909, or 372. Event 372 with a driver name tells you exactly which driver is failing. If the log shows nothing, enable verbose spooler logging:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Print" -Name "SpoolerLogLevel" -Value 4 -Type DWord
Restart-Service Spooler
Two more things to check. First, if this is only happening on Remote Desktop sessions, the redirected printer driver is the culprit — disable printer redirection in RDP properties. Second, if the machine has any third-party antivirus with a printer-filtering module (Kaspersky, older Bitdefender builds), whitelist spoolsv.exe and the spool folder. Those modules inject hooks into the print pipeline and are a known trigger for 0x00000BBC.
One last thing — if the app is 16-bit or DOS-era, it's going through a Windows compatibility shim that may not support the AddJob handshake at all. There's no fix for that on modern Windows. Virtualize it or replace it.