Fix EPT_NT_NOT_REGISTERED (0XC0020036) Endpoint Mapper Error
This error means Windows can't find an RPC endpoint. Usually a DCOM or firewall issue. Start with the quick fixes below.
What's Actually Happening Here
The error EPT_NT_NOT_REGISTERED (0XC0020036) translates to "No more endpoints are available from the endpoint mapper." You'll see this when a program (often a legacy one, or something using DCOM/COM+) tries to call a remote procedure over RPC, but the endpoint mapper — the service that tells clients which port a particular RPC interface is listening on — has nothing to offer.
Think of the endpoint mapper as a switchboard operator. When your app dials in and asks "who handles the FooBar service?", the mapper says "that's port 1234 on this machine." If the mapper doesn't have that number, or the firewall blocks the reply, you get 0XC0020036.
Common triggers: after a Windows update that tightens DCOM permissions, after disabling certain Windows features, or when running software that installs its own RPC interfaces (like some backup agents or management tools).
Fix 1: The 30-Second Check — Restart the RPC Services (and the Endpoint Mapper)
Sounds too simple, but I've seen this fix it more times than I'd like to admit. The RPC Endpoint Mapper service can get into a wedged state. Here's what to do:
- Hit
Win + R, typeservices.msc, press Enter. - Find Remote Procedure Call (RPC). Its status should be Running, startup type Automatic. If it's not, right-click → Start.
- Find RPC Endpoint Mapper (sometimes called DCOM Server Process Launcher on older systems — actually, on Windows 10/11 it's named Remote Procedure Call (RPC) Locator). Set it to Automatic and start it if it's not running.
- Reboot. Yes, really. Then test your app.
Why this works: The endpoint mapper caches registered endpoints in memory. If it crashes or gets confused, restarting it clears the cache. A reboot forces all dependent services to re-register their endpoints.
Fix 2: The 5-Minute Fix — Check DCOM Permissions and Firewall Rules
If the services are running but the error persists, it's likely a permissions or firewall issue. Here's the order I'd check.
Step 2A: Verify DCOM is Enabled System-Wide
Open Component Services (dcomcnfg from Win+R). Navigate to Component Services → Computers → My Computer. Right-click My Computer → Properties. On the Default Properties tab, make sure Enable Distributed COM on this computer is checked. If it's not, enable it, click OK, reboot.
I've seen system administrators disable DCOM for security reasons, then wonder why their internal tools break. If you're in a hardened environment, you might need to re-enable this selectively.
Step 2B: Check Windows Firewall — Port 135 and Dynamic RPC Ports
The endpoint mapper itself listens on TCP port 135. Your firewall must allow inbound connections to port 135 from the client machine. But here's the catch: once the mapper hands off the actual RPC port, that port is dynamically allocated (default range: 49152–65535 on modern Windows). If your firewall only opens port 135, the actual RPC call will fail with this error.
To rule this out, temporarily disable Windows Firewall (all profiles) for 30 seconds and test:
- Open
wf.msc(Windows Defender Firewall with Advanced Security). - Click Windows Defender Firewall Properties.
- For each profile (Domain, Private, Public), set Firewall state to Off. Click Apply.
- Test your application. If it works, you've found the culprit. Re-enable the firewall and create specific inbound rules for port 135 and the dynamic RPC range.
Don't leave the firewall off — that's asking for trouble. Instead, add a rule for TCP port 135, and if you know which program uses RPC, add a program-based rule that allows all inbound for that .exe. That avoids opening the whole dynamic port range.
Step 2C: DCOM Launch and Access Permissions
Back in Component Services → My Computer → Properties → COM Security tab. Click Edit Limits under both Access Permissions and Launch and Activation Permissions. Ensure that ANONYMOUS LOGON is present in the list with Remote Access / Remote Launch allowed (if your scenario involves anonymous calls). Many apps expect this. If you're in a domain environment, also check that Everyone and Authenticated Users have at least remote access.
This is a common cause after Windows updates that tighten default DCOM permissions (looking at you, KB5004442 and later). Microsoft changed the default DCOM hardening — see KB5004442. If your error started after a patch, this is likely your fix.
Fix 3: The 15+ Minute Advanced Fix — Registry and RPC Port Range
This one involves registry edits. Back up your registry first. I'm serious — one wrong key and you'll have bigger problems than an RPC error.
Step 3A: Force a Fixed RPC Port Range (or Expand It)
If the dynamic port range is exhausted or fragmented, the endpoint mapper can't assign a new port. You can check the current range with PowerShell:
netsh int ipv4 show dynamicport tcp
Default should be 49152 – 65535. If the start port is lower (like 1025 on older systems), that's fine too. What matters is that the range has free ports. You can reset it with:
netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport tcp start=49152 num=16384
Then reboot. This clears the port allocation history.
Step 3B: Re-register the Endpoint Mapper in the Registry
Sometimes the mapper's registry entries get corrupted. Here's the nuclear option:
- Open Regedit as Administrator.
- Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc. - Look for the
ServerProtocolskey. It should have values likencacn_ip_tcp(REG_SZ) set torpcrt4.dll. If missing, add it. - Navigate to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs. - Ensure
Startis2(Automatic) andImagePathis%systemroot%\system32\svchost.exe -k rpcss. - If you've got a corrupted
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Endpointskey, you might need to delete and recreate it. But only do this if you know what you're doing — it stores all registered RPC endpoints. Deleting it will force everything to re-register on next boot.
Step 3C: Repair DCOM Using the System File Checker
Corrupted system files can break the endpoint mapper. Run:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Then reboot. This fixes the underlying plumbing without registry surgery.
When to Give Up and Rebuild
If after all three fixes you still see 0XC0020036, the problem might be in your application's configuration — specifically, the client is trying to connect to a server that simply doesn't host the requested RPC interface. Double-check the server name, the CLSID or IID being requested, and whether the server-side service is actually running. Sometimes the fix isn't on the machine giving the error, but on the machine that's supposed to host the endpoint.
I've wasted hours chasing this error on a client machine only to find the server's RPC service was stopped. Start with the server — it's almost always the server.
Was this solution helpful?