I've seen error 0x00000321 pop up on more small business PCs than I can count. The usual trigger: someone unplugs a USB printer, plugs it into a different port, or you've got a network printer that's half-awake after a power outage. The error text often says something like "Windows cannot connect to the printer" or "Operation failed with error 0x00000321."
Here's the thing: this code is almost always a printer driver or port mess, not a hardware failure. Your printer is probably fine. So let's work through this in order—start with the 30-second fix, then move up. Stop when it works.
The 30-Second Fix: Restart the Print Spooler
Half the time, this error is just a spooler that's choked. The spooler is the Windows service that holds print jobs and feeds them to the printer. When it hangs, everything downstream breaks.
- Press
Win + R, typeservices.msc, hit Enter. - Scroll down to Print Spooler.
- Right-click it and select Restart.
If it stops and restarts without complaint, try printing again. I've had clients whose error vanished after this alone because the spooler had a stuck job that was corrupting everything.
Pro tip: if the spooler won't restart and gives you an error like "The dependency service does not exist," that's a different animal. But for plain 0x00000321, this often does the trick.
The 5-Minute Fix: Clear Stale Print Jobs and Reset Ports
If the spooler restart didn't help, you've likely got a corrupt print job sitting in the queue, or the printer is bound to a dead port (like an old USB port that no longer exists). Here's how to blow that away.
Clear the Print Queue Manually
- Open Services again (Win + R,
services.msc). - Right-click Print Spooler and hit Stop. Leave the window open.
- Open File Explorer and go to
C:\Windows\System32\spool\PRINTERS. - Delete everything in that folder. Don't worry—these are just temp files for pending jobs.
- Go back to Services, right-click Print Spooler, and start it again.
Warning: This kills all pending print jobs for everyone on that PC. If you've got a shared printer and someone has a big report queued, they'll lose it. But if you're staring at 0x00000321, that report probably wouldn't have printed anyway.
Check and Reassign the Printer Port
Now, open Devices and Printers (search for it in the Start menu). Right-click your printer, pick Printer properties, and go to the Ports tab.
Look at what port is checked. If it's a USB printer, you'll see something like USB001, USB002, etc. If the printer is unplugged or moved, that port might be stale. Here's what to do:
- Unplug the printer from the PC.
- In Printer properties, check a different USB port (like
USB001ifUSB002is checked). - Replug the printer. Windows will often reassign the port automatically, but manually picking a different one can force a refresh.
For network printers, verify the IP address hasn't changed. Run ipconfig on the printer's control panel (or check its network settings), then in the Ports tab, click Add Port, choose Standard TCP/IP Port, and enter the correct IP. I've seen IP conflicts cause this exact error after a DHCP lease renewal—printer thinks it's at 192.168.1.50, but the PC is looking at .49.
The 15-Minute Fix: Reinstall the Printer Driver Clean
If you're still hitting 0x00000321, it's driver corruption. This happens a lot after Windows updates replace the driver, or when a third-party driver gets partially installed. The trick is to remove every trace of the printer and start fresh.
First, download the latest driver from the manufacturer's site. Don't use the CD that came with the printer—those drivers are ancient and often broken on Windows 10/11. For HP, use HP Smart; for Epson, grab the full driver package from their support page. If you're on a domain-joined machine, you might need admin rights for this.
Step 1: Uninstall the Printer
- Open Settings > Devices > Printers & scanners.
- Click on the problem printer and hit Remove device.
- Also remove any "copy 1" or "copy 2" entries that Windows auto-created. I've seen five ghost copies of the same printer after repeated failed installs.
Step 2: Delete the Driver Package
Just removing the printer isn't enough. You need to delete the driver files too.
- Right-click the Start button and select Device Manager.
- Click View in the menu and check Show hidden devices.
- Expand Print queues. You'll see greyed-out entries for uninstalled printers.
- Right-click each one and select Uninstall device. When prompted, check Delete the driver software for this device.
If that checkbox isn't there, you can manually clean the driver store. Open an elevated command prompt (Win + X, then "Command Prompt (Admin)" or "Terminal (Admin)") and run:
pnputil /enum-drivers | findstr /i "print"
Note the oem*.inf file names that show up. Then remove them one by one:
pnputil /delete-driver oemxx.inf /uninstall /force
Replace oemxx.inf with the actual names. This is the nuclear option, but it clears out corrupt driver remnants that normal uninstallers miss.
Step 3: Reinstall the Driver
Now plug the printer back in (for USB) or make sure it's on the network. Run the installer you downloaded. Follow the prompts. When Windows asks whether to share the printer, say yes only if you actually need network sharing—otherwise keep it local.
After installation, try a test page. Right-click the printer in Devices and Printers, choose Printer properties, and hit Print Test Page. If that works, you're done.
When None of This Works
If you've gone through all three levels and still get 0x00000321, think about the hardware. I had a client last month where the printer itself was fine, but the USB cable was damaged—it worked for small jobs but dropped data on bigger ones, causing this exact error. Swap the cable, try a different port on the PC (preferably a USB 2.0 port, not a hub), and test.
Also check if the error happens with a specific application, like Excel or a custom ERP. I've seen 0x00000321 triggered by an app sending malformed print data, not the spooler. In that case, update the app or its print-to-PDF driver.
I'd say 90% of the time, the port reassignment or a clean driver reinstall gets you there. The spooler restart is just a quick win that saves you ten minutes when it works. Good luck—and if you're stuck, drop the exact make and model of your printer in a comment and I'll point you to the right driver.