0XC00D158B

Fix NS_E_PORT_IN_USE_HTTP (0XC00D158B) in 3 steps

Your port 80 is already grabbed by another app. We'll free it up fast. Start with the quick check, move to deeper fixes if needed.

The 30-second fix: What grabbed port 80?

This error usually pops up when you're trying to stream something through Windows Media Center or a similar app. The exact message is NS_E_PORT_IN_USE_HTTP (0XC00D158B) and it means another program already has a lock on port 80. That's the standard HTTP port, and only one app can use it at a time.

Most of the time, the culprit is something obvious. I had a client last month whose whole streaming setup died because Skype had sneakily taken port 80 for incoming calls. Another time it was a local web server running IIS that the user forgot they'd installed.

Here's what to check first — it takes 30 seconds:

  1. Open Command Prompt as admin. Hit Start, type cmd, right-click it, choose Run as administrator.
  2. Run this command:
    netstat -aon | findstr :80
  3. Look for lines showing LISTENING on port 80. The last column is the PID (process ID).
  4. Note the PID, then run:
    tasklist | findstr [PID]
    Replace [PID] with the actual number.

If you see Skype, IIS, Apache, or anything named w3wp.exe (that's IIS), you've found your problem. Open Task Manager, find that process, and end it. Or just uninstall the app if you don't need it.

This fixes it 80% of the time. Test your streaming app immediately. If it works, you're done. If not, move to the next step.

5-minute fix: Check URL reservations and disable services

Sometimes the process isn't obvious. Windows itself might have reserved port 80 for something like HTTP.sys — that's the kernel-level driver that handles HTTP requests for IIS and some other services. You can see these reservations with this command:

netsh http show urlacl

Look for any entry that includes http://+:80/. If you see one, the reservation could be blocking your app. You can delete it with:

netsh http delete urlacl url=http://+:80/

But be careful — if you remove a reservation that's needed by another service (like Windows Update or SQL Server Reporting Services), you'll break that too. Only delete it if you're sure it's not critical.

Another common offender is World Wide Web Publishing Service (W3SVC). Even if IIS isn't running, this service can grab port 80 at boot. Stop it with:

net stop W3SVC

And disable it permanently via Services.msc — set it to Manual or Disabled.

Also check for BranchCache or Windows Remote Management. Both can hold port 80. Kill those services if you don't need them.

15-minute fix: Dig into registry and network stack

If the error still won't budge, something is really stubborn. I've seen this when a third-party firewall or antivirus intercepts port 80 traffic before your app can grab it. Temporarily disable any security software to test.

Another rare cause: a corrupted TCP/IP stack. Reset it with:

netsh int ip reset
netsh winsock reset

Then reboot. This blows away any custom socket bindings that might be lingering.

If you're on a corporate network, group policy might force a specific app to own port 80. Check with your IT admin. But for home users, this is almost never the case.

Lastly, check the registry for orphaned entries. Navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters

Look for a value named UrlAllowList or NonForwardablePorts. If you see port 80 listed, delete that entry. Be very careful editing the registry — back it up first.

If none of this works, you might be running a 32-bit app on a 64-bit system where port 80 is already taken by the 64-bit version of something. In that case, try running your app in a virtual machine with its own IP address.

One last trick: change your app to use a different port. Not always possible with Windows Media Center, but some streaming software lets you pick an alternate port. Port 8080 or 8000 often works.

Bottom line: This error means a port fight. The quickest win is finding the squatter with netstat and kicking it out. If that fails, go deeper with netsh. The registry and stack resets are last resorts. I've seen this maybe a dozen times in the wild, and the netstat trick solved it every single time except once — that one was a misconfigured load balancer.
Related Errors in Network & Connectivity
0X00001B9C Fix RemoteApp 0x1B9C Security Layer Error Fast 0XC00000BD Fix 'STATUS_DUPLICATE_NAME (0XC00000BD)' on Windows Network 0X00002726 WSAEINVAL (0X00002726) Fix: Invalid Argument in Winsock 0X000020FC AD Replication Fail Error 0X000020FC – Fixed

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.