0XC0020036

Fix EPT_NT_NOT_REGISTERED (0XC0020036) Endpoint Mapper Error

Windows Errors Intermediate 👁 1 views 📅 May 28, 2026

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:

  1. Hit Win + R, type services.msc, press Enter.
  2. Find Remote Procedure Call (RPC). Its status should be Running, startup type Automatic. If it's not, right-click → Start.
  3. 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.
  4. 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 ServicesComputersMy Computer. Right-click My ComputerProperties. 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:

  1. Open wf.msc (Windows Defender Firewall with Advanced Security).
  2. Click Windows Defender Firewall Properties.
  3. For each profile (Domain, Private, Public), set Firewall state to Off. Click Apply.
  4. 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 ServicesMy ComputerPropertiesCOM 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:

  1. Open Regedit as Administrator.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc.
  3. Look for the ServerProtocols key. It should have values like ncacn_ip_tcp (REG_SZ) set to rpcrt4.dll. If missing, add it.
  4. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs.
  5. Ensure Start is 2 (Automatic) and ImagePath is %systemroot%\system32\svchost.exe -k rpcss.
  6. If you've got a corrupted HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Endpoints key, 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?