When This Error Hits
You're setting up a Remote Desktop session on Windows 10 Pro (version 22H2) or Windows 11, and bam — the connection drops with STATUS_LPC_INVALID_CONNECTION_USAGE (0xC0000706). Or maybe you're trying to share a network printer across a domain, and the job fails with this same code. I've seen this most often when an app or service tries to reuse a Local Procedure Call (LPC) port in a way the kernel doesn't expect — like handing a server port to a client or vice versa.
This tripped me up the first time too. The LPC mechanism is Windows' internal way for processes to talk to each other, and when something tries to use it outside its intended context, you get this error. It's not a network cable issue or a DNS problem — it's purely a Windows internal communication misfire.
Root Cause in Plain English
Think of LPC ports like dedicated phone lines between processes. Each line has a specific role — one side is the caller (client), the other is the receiver (server). 0xC0000706 pops up when a process picks up a line meant for the server and tries to call someone with it, or vice versa. The kernel sees this mismatch and slams the door.
The most common triggers I've seen:
- RDP connections — especially when the Remote Desktop Services (TermService) process (termsrv.dll) has a corrupted or mismatched LPC port assignment after a Windows update or registry tweak.
- Printer sharing — the Spooler service (spoolsv.exe) sometimes passes a server-side LPC port to a client-side call, causing this error on network print jobs.
- Custom apps using named pipes — third-party software that misconfigures
CreateNamedPipeorCallNamedPipecan trigger this on Windows 10 2004 and later.
The fix? Resolve the port usage mismatch. Let's walk through it.
Fix: Step-by-Step
- Identify the culprit process. Open Event Viewer (
eventvwr.msc). Go to Windows Logs > System. Filter by Event ID 1000 or 1001 (or search for "0xC0000706"). Note theFaulting module name— I've seentermsrv.dllandspoolsv.exemost often. - Restart the associated service. Open an admin Command Prompt (
cmd.exeas Administrator). Run:
For printer issues, usenet stop TermService net start TermServicenet stop spoolerthennet start spooler. This clears stale LPC port assignments. - Check for corrupted registry keys. LPC port settings hide in
HKLM\SYSTEM\CurrentControlSet\Services\TermService\Parameters. Back up the key first (right-click > Export). Look for anyPortorLpcPortvalues. I've seen stray REG_DWORD entries with wrong data that cause this. Delete any you didn't create yourself (default is no values there). - Reset RDP or printer components. For RDP:
Reboot after. For printers: runnetsh int ip reset netsh winsock resetprintmanagement.msc, right-click each printer, select "Remove device", then re-add via Control Panel. - Repair system files. Corrupted system files can break LPC handling. Run:
If that finds issues, follow withsfc /scannowDISM /Online /Cleanup-Image /RestoreHealth. Reboot.
If It Still Fails
This one's stubborn sometimes. If you're still seeing 0xC0000706, check these:
- Third-party antivirus — I've seen Norton and McAfee intercept LPC ports. Temporarily disable it, test, then re-enable and whitelist the affected process.
- Windows update — a known bug in KB5021233 (Jan 2023) caused this on some builds. Check your update history. If you have it, uninstall it via
wusa /uninstall /kb:5021233. - Legacy app compatibility — if this happens with an old app (say, a POS system from 2010), run it in Windows 7 compatibility mode: right-click the .exe > Properties > Compatibility > check "Run this program in compatibility mode for" > Windows 7.
Still stuck? Drop me the faulting module name from Event Viewer — that narrows it down fast. You've got this.