Fix NS_E_MIXER_INVALID_CONTROL (0xC00D0FA6) on Windows
This Windows audio error pops up when an app tries to control a mixer channel that doesn't exist. Usually happens after a driver update or hardware swap.
What's happening here
The error NS_E_MIXER_INVALID_CONTROL (0xC00D0FA6) means a program asked Windows Audio Mixer for a control — like volume or mute for a specific channel — and that control doesn't exist anymore. The mixer API returns this when the underlying audio device changed state or got removed.
I see this most often after a Windows update that swapped audio drivers, or when you plug in USB headphones, use them, then yank them out while an app is still holding a reference. The app doesn't get the memo, keeps trying to adjust the old control, and boom — 0xC00D0FA6.
Let's fix it. Start with the quick one and stop when it's gone.
30-second fix: Restart the Windows Audio service
This resets the mixer state. It's the fastest thing to try and works maybe 40% of the time.
- Open Run — press
Win + R, typeservices.msc, hit Enter. - Find Windows Audio in the list. Right-click and choose Restart.
- While you're there, also restart Windows Audio Endpoint Builder — it's the service that builds the mixer graph.
That's it. Try whatever app was crashing. If the error's gone, you're done. If not, move on.
5-minute fix: Remove and reinstall the audio device
The reason the previous step might fail is that the audio device itself is in a bad state — driver's loaded but the hardware isn't responding right. You need to force Windows to re-enumerate the device.
- Open Device Manager —
Win + Xthen Device Manager. - Expand Sound, video and game controllers.
- Right-click your active audio device — usually Realtek High Definition Audio or Speakers (Realtek) — and choose Uninstall device.
- Check the box Delete the driver software for this device if you see it. This forces a clean driver reinstall rather than reusing a potentially corrupted cached driver.
- Click Uninstall.
- Restart your PC. Windows will automatically detect the missing hardware and reinstall the driver on boot.
After the restart, test the app. If the error still shows, it's likely a driver conflict or a registry-level issue.
15-minute fix: Clean driver removal with DriverStore
This is the nuclear option. What's actually happening here is Windows keeps a stash of older drivers in %SystemRoot%\System32\DriverStore\FileRepository. When you uninstall a device without deleting the driver software, Windows just picks the same driver next boot. That's fine for most cases, but if that driver itself is buggy — say, a Realtek HD Audio driver from 2021 that has a known mixer bug — you're stuck.
We need to nuke it from the DriverStore and install a fresh one from the manufacturer.
- Step 1: Identify the problematic driver. Open Device Manager, find your audio device, right-click, Properties > Driver tab > Driver Details. Note the .sys file path — it usually starts with
C:\Windows\System32\drivers\. - Step 2: Open an elevated Command Prompt (
Win + X, Terminal (Admin)). Run:
pnputil /enum-drivers | findstr /i "audio"
This lists all audio drivers in the store. Look for the one matching your device's hardware ID.
oemXX.inf). Then delete it:pnputil /delete-driver oemXX.inf /uninstall /force
The /force flag is key — without it, pnputil refuses to delete a driver that's still in use, even if the device is gone. We're forcing removal of the driver package entirely.
This fix has never failed me. But it's overkill unless the first two didn't work.
Why this error happens in the first place
The Windows Audio Mixer API (winmm.dll and wdmaud.drv) creates a map of mixer controls when a device initializes. Each control has a unique ID. When a device is unplugged or its driver reloads, that map is rebuilt, and old control IDs become invalid. Apps that cache these IDs — looking at you, legacy audio software and some games — then call mixerSetControlDetails() with a stale handle, and the mixer returns MIXERR_INVALCONTROL (which maps to 0xC00D0FA6 in COM error handling).
The real fix isn't in the app — it's in forcing the app to re-enumerate the mixer. Restarting the service or device does that indirectly.
When none of this works
If you're still seeing the error after all three steps, check if you're using any audio enhancement software — Dolby Atmos, Nahimic, or even some built-in laptop audio suites. These hook into the mixer and can corrupt the control table. Disable them in the Sound control panel > your device > Properties > Enhancements tab > Disable all enhancements.
Also check Event Viewer (eventvwr.msc) under Windows Logs > System for any audio driver crashes at the time the error occurred. That'll tell you exactly which .sys file is failing. If it's portcls.sys for example, you've got a kernel-level audio stack bug — rare, but I've seen it on Windows 11 22H2 with certain Intel SST drivers.
Was this solution helpful?