What does HRESULT 0xC00D36DE (MF_E_UNRECOVERABLE_ERROR_OCCURRED) mean?

 
Previous Next
MF_E_UNSUPPORTED_STATE_TRANSITION MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS

MF_E_UNRECOVERABLE_ERROR_OCCURRED

Where the result originates

MF_E_UNRECOVERABLE_ERROR_OCCURRED means the current Media Foundation object has marked its pipeline state unusable after a prior fatal failure.

The result comes from the source, session, transform, or sink that entered a terminal error state. A representative case is a hardware-backed stream loses its device, posts a fatal event, and every later request returns the terminal-state result.

Read the call sequence as a timeline. First, the application reaches the source, session, transform, or sink that entered a terminal error state. Next, the component evaluates the current Media Foundation object has marked its pipeline state unusable after a prior fatal failure. A wrapper, user interface, or fallback path can report a less specific message afterward.

Evidence that survives retries

  • Exact request: method name, all identifiers, units, flags, stream number, requested action, and this result.
  • Object state: the earlier failure event, first HRESULT, object instance, shutdown status, outstanding callbacks, and any device-removal or stream error.
  • Correlation: callback cookie, object instance, URL or file identity, device identity, and timestamps from the same attempt.
  • Underlying cause: the first Win32, COM, network, driver, policy, or component error reported before 0xC00D36DE.

A controlled verification sequence

Use one controlled experiment: create a fresh object graph and replay the minimal input while preserving the earlier event log. A useful comparison for this result changes exactly that variable; changing content, account, proxy, device, components, and version together makes attribution impossible.

OutcomeInterpretation
The same operation now succeedsThe changed precondition was relevant to the failure.
A more specific earlier HRESULT appearsPreserve it; this result was probably a wrapper or terminal state.
The operation advances and fails laterThe condition is fixed even though the complete workflow still has another defect.
No behavior changesRestore the original baseline and test another documented prerequisite instead of stacking workarounds.

Nearby results that mean something else

Related codeWhy it is not interchangeable
MF_E_BAD_STARTUP_VERSIONYou are calling MFStartup with the wrong MF_VERSION; Mismatched bits.
MF_E_UNSUPPORTED_CAPTIONThe caption of the given URL is unsupported.
MF_E_INVALID_POSITIONThe operation on the current offset is not permitted.

The important distinction is this: MF_E_UNEXPECTED may describe one unexpected call result without necessarily declaring the object unrecoverable. Use the symbolic constant and 0xC00D36DE value to distinguish states that share a similar visible message.

Repair at the owning layer

Apply the narrow remedy: repair the first fatal cause and rebuild the affected object; retrying methods on the poisoned instance is not recovery. Then discard stale media objects, pending callbacks, cached provider sessions, or installer state as appropriate and rerun the exact request that originally returned it.

References


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