0X00000777

OR_INVALID_OID 0x00000777: The Object Specified Was Not Found

OR_INVALID_OID means Windows is looking for a printer, port, or driver object that no longer exists. Usually a stale print queue or orphaned registry key. Fix it fast.

You're trying to print, or add a printer, or open Print Management, and Windows throws OR_INVALID_OID (0x00000777) in your face. The message literally translates to "the object specified was not found." Not super helpful. What it actually means: something in the print subsystem is pointing at a port, driver, or printer object that got deleted or corrupted, and Windows can't reconcile the reference.

I ran into this last month at a dental office. Their receptionist's PC had an old HP LaserJet driver removed with some third-party uninstaller tool, but the registry key for the port monitor was still there. Every time she hit print, the spooler tried to talk to a driver that didn't exist. OR_INVALID_OID. Took 20 minutes to untangle because nobody had touched the machine in months.

Work through these in order. Stop when it's fixed. Don't skip ahead — the advanced stuff can make things worse if the simple fix was the answer.

Fix 1: Restart the Print Spooler (30 seconds)

Nine times out of ten, the spooler service just has a stale handle open. Restart it and the invalid object reference clears.

  1. Hit Win + R, type services.msc, Enter.
  2. Find Print Spooler.
  3. Right-click, Restart.

If the service won't restart, or it hangs on "Stopping," jump to the command line version. This kills it hard:

net stop spooler
net start spooler

If it still hangs, force-kill it:

taskkill /F /IM spoolsv.exe
net start spooler

Try your print job again. If OR_INVALID_OID is gone, you're done. If it comes right back the second you touch the printer, the problem is deeper.

Fix 2: Delete the Offending Printer and Re-add It (5 minutes)

If a restart doesn't stick, the printer object itself is the broken reference. Windows is holding onto a printer entry whose driver or port no longer exists.

  1. Open Settings → Bluetooth & devices → Printers & scanners (Windows 11) or Devices → Printers & scanners (Windows 10).
  2. Click the problem printer, then Remove.
  3. Reboot. Yes, actually reboot. Windows caches printer state and won't refresh it without a restart.
  4. Add the printer back with Add device or point it at the IP/UNC path directly.

If the printer won't remove — greys out the Remove button, or throws the same 0x00000777 — kill the spooler first (see Fix 1), then remove it while the spooler is stopped. Remove the device with the service down. That's the trick that unsticks stubborn entries.

Pro tip: use printui /dl /n "Printer Name" from a command prompt if the GUI won't cooperate. It bypasses the broken UI code path.

rundll32 printui.dll,PrintUIEntry /dl /n "HP LaserJet M404" /q

Fix 3: Clean Up Orphaned Registry Keys (15+ minutes)

This is where I end up when the printer was removed by a bad uninstaller, a Windows update half-applied, or someone manually deleted driver files. The GUI thinks the printer is gone, but the registry still has references to a port or driver that no longer exists. That mismatch is what throws OR_INVALID_OID.

Back up the registry first. File → Export in regedit, save the whole thing. If you break the print subsystem, you'll want that .reg file to fall back on.

Check the printer registry hive

Open regedit and navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers

Look for entries that don't match any printer you actually have installed. If you see a printer here that doesn't show up in Settings, that's your ghost. Export the key first, then delete the subkey for the phantom printer.

Check for orphaned ports

Ports are the usual culprit. A printer removed cleanly leaves the port behind sometimes, and Windows chokes when it tries to bind to a port that references a dead driver.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports

If you see a port like HP_Network_Printer_Port or a WSD port with no matching printer, export and delete it.

Check the monitors key

Third-party print monitors (looking at you, old Lexmark and Brother utilities) often leave garbage here:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors

Only the Microsoft ones and legitimately installed vendor monitors should be present. Anything referencing a program you uninstalled is dead weight and can trigger the OID error when the spooler enumerates print providers.

Rebuild the spool folder

Sometimes the spool file itself is corrupt. Everything in C:\Windows\System32\spool\PRINTERS can be deleted (stop the spooler first, or you'll get access denied):

net stop spooler
del /Q /F C:\Windows\System32\spool\PRINTERS\*
net start spooler

Yes, delete all of it. Those are just temp files for in-flight jobs. The spooler recreates the folder contents on start.

When This Shows Up in the Wild

I see OR_INVALID_OID most often in three situations:

  • A printer was removed with Revo Uninstaller, IObit, or similar tools that nuke registry entries aggressively — and take out shared dependencies other printers were using.
  • A WSD (Web Services on Devices) port went stale after the printer was moved to a new IP or replaced. The device's UUID changed, Windows still has the old OID cached, and enumeration fails.
  • A driver update installed a v4 driver over a v3 one, but the old queue still references the v3 driver files that got removed.

If you're hitting it specifically when opening Print Management or Add Printer, it's almost always a stale WSD port. Delete every WSD port in the registry under the Ports key that doesn't correspond to an active printer, then let Windows rediscover them.

Last Resort: Nuke and Rebuild the Print Subsystem

If none of the above works, and you've spent more than 30 minutes on this, stop. Rebuild it. This is what I do on client machines when the print subsystem is genuinely hosed.

  1. Stop the spooler: net stop spooler
  2. Uninstall every printer from Printers & scanners.
  3. Remove the Print Spooler feature entirely via Turn Windows features on or off → uncheck Print and Document Services. Reboot.
  4. Re-enable the feature. Reboot again.
  5. Reinstall printers from scratch, drivers included.

It's slow, but it's deterministic. OR_INVALID_OID can't survive a fresh subsystem because there's nothing stale left to reference. I've done this on four machines in the past year and it stuck every time.

One more thing: if you're on Windows 10 build 19044 or older and the error appeared right after an update, check for a pending reboot. Half-installed driver packages are a classic trigger, and a clean reboot makes the error disappear without you touching a thing.

Related Errors in Windows Errors
0X8009480E Fix GUID error 0X8009480E in Windows AD prep 0X00000A39 0X00000A39: workstation record not found in NetLogon 0XC0000070 Fix 0XC0000070: User Restricted from This Workstation 0XC00D1031 Fix 0XC00D1031: WMP BMP Compression Not Supported

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.