What does NTSTATUS 0xC0000016 (STATUS_MORE_PROCESSING_REQUIRED) mean?

 
Previous Next
STATUS_NONEXISTENT_SECTOR STATUS_NO_MEMORY

STATUS_MORE_PROCESSING_REQUIRED

IRP completion has been deliberately paused

In a WDM completion routine, this status tells the I/O manager to stop unwinding completion through the remaining driver stack. The driver returning it now owns the next action: wait, inspect results, reuse or free a driver-allocated IRP, or later call IoCompleteRequest for an original IRP.

It must not be treated as an ordinary error stored blindly in Irp->IoStatus.Status. It is a completion-routine control value. Returning it without a clear ownership path leaks or stalls the IRP; completing or freeing the IRP and then allowing normal completion creates a double-completion bug.

What to inspect

  • Record which completion routine stopped unwinding and who owns the IRP after it returns.
  • Preserve and propagate pending state according to Irp->PendingReturned.
  • Do not touch an IRP after IoCompleteRequest has made it inaccessible.
  • Verify that every stop-completion branch eventually frees or resumes completion exactly once.

References


Looking for a different code? Search another status or error code.