Site icon EfmSoft

What does HRESULT 0xC00D36BB (MF_E_UNEXPECTED) mean?

 
Previous Next
MF_E_UNSUPPORTED_SERVICE MF_E_INVALIDNAME

MF_E_UNEXPECTED

What the code tells you

MF_E_UNEXPECTED means the called Media Foundation component reached an internal branch that its public state machine did not expect.

The result comes from the first Media Foundation object that returned the HRESULT. A representative case is a third-party MFT accepts configuration but fails when streaming starts and its wrapper returns this generic result.

Read the call sequence as a timeline. First, the application reaches the first Media Foundation object that returned the HRESULT. Next, the component evaluates the called Media Foundation component reached an internal branch that its public state machine did not expect. A wrapper, user interface, or fallback path can report a less specific message afterward.

Build a useful incident record

  • Exact request: method name, all identifiers, units, flags, stream number, requested action, and this result.
  • Object state: the exact method, object identity, prior asynchronous event, current media type, and the first lower-level HRESULT in the same operation.
  • 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 0xC00D36BB.

Reproduce without erasing context

Use one controlled experiment: recreate only the failing source, transform, session, or sink and replay the same minimal sequence. 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.

Comparison with adjacent conditions

Related codeWhy it is not interchangeable
MF_E_INVALIDNAMEInvalid name.
MF_E_INVALIDTYPEInvalid type.
MF_E_INVALIDINDEXInvalid index.

The important distinction is this: invalid input is normally reported by a more specific name, type, index, or state code. Use the symbolic constant and 0xC00D36BB value to distinguish states that share a similar visible message.

Resolution and proof

Apply the narrow remedy: preserve the first failure, validate call ordering, and update or replace the component that produces the unexpected branch. 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.

Exit mobile version