0XC00D138F

NS_E_NAMESPACE_TOO_MANY_CALLBACKS (0XC00D138F): Callback List Overflow Fix

You're hitting a callback limit on a Windows Media namespace node. This usually means too many apps or services registered the same extension or protocol handler. Kill the duplicates and reboot.

What's actually happening when you see 0XC00D138F

You're getting NS_E_NAMESPACE_TOO_MANY_CALLBACKS because a single namespace node in Windows Media has hit its callback limit. Every app, plugin, or service that registers to listen on that node counts toward the total. When the list is full, the next registration fails and Windows throws 0XC00D138F at you. I've seen this most often right after someone installs a third-party codec pack on top of an existing VLC, K-Lite, and a handful of browser extensions all fighting over the same media extension.

Real scenario from last month: a client's conference room PC started throwing this every time they opened Windows Media Player. Turned out three different apps had registered as the default handler for .mp4 and .mkv, and the callback list was full of dead registry entries from a trial they'd uninstalled six months earlier.

The fix follows a pattern: find the duplicates, remove them, then restart the media services. Here are the three most common causes in the order you should check them.

Cause 1: Leftover codec packs and duplicate media handlers

This is the culprit about 70% of the time. You installed K-Lite, or Shark007, or some trial version of a Blu-ray player, then uninstalled it. The uninstaller didn't clean up its namespace registrations. Now every time Windows Media tries to enumerate callbacks, it counts the dead ones and eventually runs out of room.

Open Registry Editor as admin and go here:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media\CurrentVersion\Namespace\

You'll see a list of nodes. Expand each one and look for subkeys with names that don't match anything currently installed. Things like Shark007, Haali, Gabest, or vendor names you haven't used in months. Export a backup first — right-click the Namespace key and choose Export. Then delete the dead ones.

Also check the per-user side:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Media\CurrentVersion\Namespace\

Same drill. Anything pointing at a file path that no longer exists is junk. Delete it. I usually run a quick check with a batch that tries to resolve each registered path and flags the ones that fail.

After that, restart the Windows Media Player Network Sharing Service:

net stop "WMPNetworkSvc"
net start "WMPNetworkSvc"

If the service name has spaces on your build, quote it — I've wasted ten minutes before realizing that. Reboot the machine afterwards, because the namespace cache doesn't always flush cleanly.

Cause 2: Browser extensions and shell handlers competing for the same node

Chrome and Edge both register shell handlers for media playback, and some extensions pile extra ones on top. If you've got a "download helper" extension, a "video saver" extension, and Windows Media Player all trying to hook the same .mp4 or .webm node, you can hit the limit fast.

Open Settings > Apps > Default apps and check what's set as the default for .mp4, .mkv, .avi, and .wmv. If more than two or three apps claim to handle each one, that's your problem. Set one default handler per file type and remove the rest.

Then check the shell handler registry path:

HKEY_CLASSES_ROOT\SystemFileAssociations\\.mp4\OpenWithProgids

Every entry here is a callback that Windows Media has to consider. If you've got six tools listed and only one installed, remove the stale ones. Same goes for .mkv, .avi, and anything else you actually play.

I've also seen this triggered by NVIDIA's GeForce Experience overlay and its video capture hooks. If you don't use ShadowPlay, disable it. That alone has cleared 0XC00D138F for a handful of clients.

Cause 3: Corrupted Media Foundation cache or a stuck callback registration

Less common but nastier. Windows Media Foundation keeps a cache of callback registrations under %LOCALAPPDATA%\Microsoft\Windows\Media Foundation. If it gets corrupted — power loss, bad shutdown, a buggy update — the count never decrements when an app unregisters, and the list fills up with phantom entries.

Close all media apps, then delete the cache:

rmdir /S /Q "%LOCALAPPDATA%\Microsoft\Windows\Media Foundation"

Windows recreates it on next launch. This won't hurt anything — the cache rebuilds itself. I've used this trick for years when Media Player starts behaving oddly and it's saved me from reinstalling Windows more than once.

If that doesn't do it, run a Windows Media Foundation reset:

dism /online /cleanup-image /restorehealth
sfc /scannow

Then reboot. This fixes cases where a system DLL that handles namespace enumeration got corrupted. Takes fifteen minutes but it's worth running once if the registry cleanup didn't fully resolve things.

One more thing: check Event Viewer under Applications and Services Logs > Microsoft > Windows > Media Foundation. If you see a specific third-party DLL name repeating right before each 0XC00D138F, that's your smoking gun. Uninstall whatever owns that DLL.

Quick reference

CauseWhere to lookFix
Leftover codec pack registrationsHKLM\SOFTWARE\Microsoft\Windows Media\CurrentVersion\Namespace\Delete dead subkeys, restart WMPNetworkSvc
Duplicate shell handlersHKCR\SystemFileAssociations\\.mp4\OpenWithProgids and Default AppsSet one default per file type, remove stale entries
Corrupted MF cache%LOCALAPPDATA%\Microsoft\Windows\Media FoundationDelete cache, reboot, run SFC and DISM if needed
Back up the registry before you delete anything. I keep a .reg export on the desktop for a week after this kind of cleanup, just in case a client calls back about something else that broke.

If you've done all three and 0XC00D138F is still showing up, the callback is coming from something at the driver level. Grab a Windows Performance Recorder trace, filter on the Media Foundation provider, and look for which process is registering callbacks in a loop. That's rare, but it happens with older capture cards and a few USB tuners whose drivers never got updated for Windows 11.

Related Errors in Windows Errors
0X000002BF Fix ERROR_BAD_CURRENT_DIRECTORY (0X000002BF) on Windows 0X800F0225 SPAPI_E_NO_SUCH_DEVICE_INTERFACE (0x800f0225) Fix 0X00000519 Windows 0x00000519: The revision level is unknown 0X0000053C Fix ERROR_BAD_INHERITANCE_ACL (0x0000053C) in Windows

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.