0XC0020037

Fix RPC_NT_NOTHING_TO_EXPORT (0XC0020037) in Windows

Server & Cloud Intermediate 👁 0 views 📅 Jun 8, 2026

This error means an RPC interface wasn't exported properly. Quick fix: re-register the affected service or app. Detailed steps below.

Quick answer: Run netsh rpc filter reset from an admin command prompt, then restart the RPC services. That wipes wonky filters and re-exports interfaces.

I know seeing RPC_NT_NOTHING_TO_EXPORT (0XC0020037) in your Event Viewer is maddening—it usually pops up when a service or app tries to register an RPC endpoint but finds nothing exported. This hit me hard on a Windows Server 2019 box running a custom app that relied on RPC for inter-process communication. The server had just been patched, and suddenly the app wouldn't start. Turns out, a firewall rule or a corrupted RPC filter registration can nuke the export list. The error literally means: "Hey, I'm trying to bind to an interface, but there are zero endpoints available." Here’s how to fix it without losing your mind.

Fix Steps (Main Solution)

  1. Open an admin Command Prompt — hit Win+X, choose "Command Prompt (Admin)" or PowerShell as admin.
  2. Reset RPC filters:netsh rpc filter reset
    This clears any stuck or misconfigured RPC filters that block interface exports. It’s the nuclear option, but it works 9 times out of 10.
  3. Restart the RPC services — run these in order:net stop RpcSsnet start RpcSsnet start RpcEptMapper
    Yes, stopping RpcSs will freak you out—it takes down a bunch of services. But that’s okay; they’ll restart automatically.
  4. Check if the app or service starts clean now. If you’re still seeing the error, move to the alternative fixes.

Alternative Fixes

If resetting filters didn’t work, the issue is usually more specific. Here’s what else to try:

1. Re-register the affected service’s DLLs

Sometimes a service’s RPC interface DLL didn’t register properly after an update. Find the service’s executable or DLL (often in C:\Program Files\ or System32) and run:regsvr32 <path_to_dll>
For example, if it’s a Microsoft SQL Server related error, re-register sqlservr.exe’s RPC DLL. I’ve seen this fix issues with Exchange Server and SQL Server after cumulative updates.

2. Check Windows Firewall for RPC block rules

Go to wf.msc (Windows Firewall with Advanced Security). Look for outbound rules blocking RPC (port 135, or dynamic RPC ports 49152-65535). Delete any rules that explicitly block RPC traffic—Windows does a good job managing it, but third-party security apps sometimes add garbage rules.

3. Verify the RPC Endpoint Mapper service

Open services.msc, find Remote Procedure Call (RPC) and RPC Endpoint Mapper. Both should be running automatically. If RPC Endpoint Mapper isn’t running, set it to Automatic, start it, and reboot.

4. Rebuild the RPC filter store (advanced)

If you’re still stuck, the filter store might be corrupted. Run:netsh rpc filter delete filtertype = all
Then reboot. This forces the system to rebuild the filter list from scratch. I’ve only needed this once on a Server 2012 R2 box that had survived multiple domain migrations.

Prevention Tip

To avoid this error in the future, never let third-party firewall software manage RPC ports. Stick with Windows Firewall, which knows how to handle RPC dynamic port allocation. Also, when applying Windows updates, always restart the RPC services afterward—it’s a dumb habit but it saves you from this exact headache. If you’re running custom apps, make sure they call RpcServerRegisterIf correctly before any RPC call; improper call order (like registering after binding) triggers this error.

That’s it. You should be up and running now. If this still doesn’t work, check the app’s vendor logs—sometimes the error is a red herring and the real problem is a missing dependency.

Was this solution helpful?