0XC0000016

STATUS_MORE_PROCESSING_REQUIRED (0XC0000016) – What It Means

This error pops up when a Windows kernel driver returns STATUS_MORE_PROCESSING_REQUIRED but then fails to complete its callback chain, stalling the boot or driver load.

You're booting up Windows 10 or 11, and right after the spinning dots – or during a driver installation – the machine hits a blue screen with STATUS_MORE_PROCESSING_REQUIRED (0XC0000016). Or maybe you see it in Event Viewer under a driver failure log. This isn't a random memory glitch or a corrupted system file. It's a specific kernel-level handshake failure.

What's Actually Happening Here?

The error code 0xC0000016 is defined in ntstatus.h as STATUS_MORE_PROCESSING_REQUIRED. It's a return value that tells the Windows I/O Manager: "I'm not done yet with this IRP (I/O Request Packet) – don't finalize it, give me another spin."

The typical scenario: A driver – often a storage, filter, or antivirus minifilter driver – registers a IoCompletion routine for an IRP (usually IRP_MJ_PNP for a device start or remove event). The driver's completion routine returns STATUS_MORE_PROCESSING_REQUIRED to tell the kernel to pause the IRP completion chain. Then the driver is supposed to call IoCompleteRequest again later, when it's done its extra work.

But here's where it breaks: The driver never calls IoCompleteRequest a second time, or it calls it with the wrong IRP priority. The kernel's IRP state machine gets stuck. The error surfaces as a bugcheck (blue screen) or a driver load failure with that exact code.

Common triggers include:

  • Installing a third-party antivirus or firewall that injects a minifilter driver (e.g., Symantec, McAfee, Bitdefender).
  • Updating a storage driver like storahci.sys or a vendor-specific NVMe driver.
  • Running Hyper-V or Docker Desktop that uses the bindflt.sys filter driver.
  • Enabling BitLocker or third-party encryption that hooks the boot volume filter chain.

How to Fix It

Skip the full Windows reinstall – that's a sledgehammer. Let's find the driver and disable or replace it.

  1. Boot into Safe Mode with Networking.

    This loads the bare minimum drivers. If the error doesn't appear in Safe Mode, you've confirmed it's a third-party driver. On Windows 10/11: Press Shift + Restart from the login screen, then choose Troubleshoot > Advanced Options > Startup Settings > Restart, then press 4 or 5 for Safe Mode with Networking.

  2. Open Device Manager and look for devices with a yellow exclamation mark.

    Right-click Start > Device Manager. Expand categories. Any device showing a yellow triangle usually has a driver issue – right-click it, choose Properties, and check the Device Status field. If it reads "Windows has stopped this device because it reported problems. (Code 43)" or mentions STATUS_MORE_PROCESSING_REQUIRED, that's your culprit.

  3. Disable or uninstall the offending driver.

    If you find the device: Right-click > Disable device, then reboot normally. If the error disappears, update the driver from the manufacturer's site – not from Windows Update. If no device is obvious, use driverquery from an admin Command Prompt: driverquery /v | findstr /i "more processing". That's hit-or-miss. Better bet: run verifier.exe (Driver Verifier Manager) – but be careful, it can crash your system harder. I'd skip verifier unless you're comfortable digging into crash dumps.

  4. Check filter drivers specifically.

    Minifilter drivers don't show in Device Manager. Open an admin Command Prompt and run: fltmc instances. This lists all loaded minifilter instances. Any instance with Status not equal to OK is suspect. Also run fltmc filters to see registered filters. Disable a filter by its altitude (the number at the end) using fltmc detach <InstanceName> <Volume>. For example: fltmc detach bindflt C: – but you need the exact instance name from fltmc instances.

  5. Remove the filter from the registry if it's persistent.

    Each minifilter has a registry key under HKLM\SYSTEM\CurrentControlSet\Services\<FilterName>. Set Start value to 4 (disabled) to prevent it from loading on next boot. Reboot and test. Common filter names: bindflt, wcifs, luafv, FileInfo, and third-party ones like SymEvent, BHDrvx86, ccSet_*.

What to Check If It Still Fails

If none of the above work, the problem might be a corrupt Windows image or a driver that's baked into the system firmware (like a UEFI driver). Run sfc /scannow from an admin Command Prompt. Then run dism /online /cleanup-image /restorehealth. But honestly, if a filter driver isn't completing its IRP, DISM won't fix it – you need to identify the driver binary.

Next step: Check the memory dump. Boot into WinRE by interrupting boot three times (hard power-off at the Windows logo). Go to Advanced Options > Command Prompt. Run cd C:\Windows\Minidump and dir to see if any .dmp files exist. If you see one from the crash, copy it to a USB drive and analyze it on another machine with WinDbg – but that's advanced territory.

As a last resort, perform a repair install (in-place upgrade) using the Windows 10/11 Media Creation Tool. This keeps your files and apps but replaces all system files, including drivers. That often flushes out whatever filter driver is stuck in a bad state.

Why this happens under the hood: The kernel's I/O Manager expects that after a driver returns STATUS_MORE_PROCESSING_REQUIRED, the driver will later call IoCompleteRequest with IO_NO_INCREMENT or IO_DISK_INCREMENT. If the driver forgets or crashes before that second call, the IRP never completes. The system can't proceed with that device's PnP operation, so it halts. That's the 0xC0000016 you see.

Related Errors in Windows Errors
0XC00D106E NS_E_WMX_ATTRIBUTE_DOES_NOT_EXIST (0XC00D106E) Fix: Corrupted Windows Media Player Library 0XC00D0BC0 Fix NS_E_LICENSE_OUTOFDATE (0XC00D0BC0) – Expired Media License 0X80280004 TPM_E_AUDITFAILURE (0X80280004) Fix – Auditing Failure 0X800288C5 Fix TYPE_E_SIZETOOBIG (0X800288C5) – 64 KB Limit Hit

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.