What does HRESULT 0xC00D36D6 (MF_E_NOT_AVAILABLE) mean?

 
Previous Next
MF_E_NOT_FOUND MF_E_NO_CLOCK

MF_E_NOT_AVAILABLE

What the code tells you

MF_E_NOT_AVAILABLE (0xC00D36D6) is a failure result from Windows Media Foundation. The generated section above already contains the platform message; the useful extra information is that this result isolates the object recognizes the requested value or operation but cannot supply it in its present configuration or moment.

The producer is the component that owns the optional value or asynchronous state, so diagnosis should begin with that object and its state rather than with a broad reinstall or an unrelated codec change. A representative occurrence is a duration query is made before a network source has completed enough opening work to publish duration.

Read the call sequence as a timeline. First, the application reaches the component that owns the optional value or asynchronous state. Next, the component evaluates the object recognizes the requested value or operation but cannot supply it in its present configuration or moment. Only after the MF_E_NOT_AVAILABLE checkpoint can a wrapper, user interface, or fallback path emit a less specific message.

Build a useful incident record

  • Exact request: method name, all identifiers, units, flags, stream number, requested action, and MF_E_NOT_AVAILABLE.
  • Object state: the current lifecycle state, selected stream, pending operation, requested attribute, and the event sequence leading to the call.
  • Correlation for MF_E_NOT_AVAILABLE: callback cookie, object generation, 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 0xC00D36D6.

Reproduce without erasing context

Use one controlled experiment: wait for the documented readiness event or enable the required stream, then repeat the identical query. A useful MF_E_NOT_AVAILABLE comparison changes exactly that variable; changing content, account, proxy, device, components, and version together makes attribution impossible.

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

Comparison with adjacent conditions

Related codeWhy it is not interchangeable
MF_E_NOT_FOUNDThe specified object or value does not exist; compare this boundary specifically with MF_E_NOT_AVAILABLE.
MF_E_THINNING_UNSUPPORTEDThis component does not support stream-thinning; compare this boundary specifically with MF_E_NOT_AVAILABLE.
MF_E_UNRECOVERABLE_ERROR_OCCURREDAn unrecoverable error has occurred; compare this boundary specifically with MF_E_NOT_AVAILABLE.

The important distinction is this: MF_E_NOT_FOUND indicates absence from a namespace, while this result commonly reflects temporary or configuration-dependent availability. For MF_E_NOT_AVAILABLE, searching only for the visible English message collapses different states; the constant and 0xC00D36D6 retain the boundary.

Resolution and proof

Apply the narrow remedy: move the request to the supported state or provide the prerequisite data; repeated blind polling can hide the event-order bug. Then discard stale media objects, pending callbacks, cached provider sessions, or installer state as appropriate and rerun the exact request that originally returned MF_E_NOT_AVAILABLE.

A confirmed MF_E_NOT_AVAILABLE repair produces the requested stream, attribute, state transition, license decision, store callback, or setup result. Suppressing MF_E_NOT_AVAILABLE, broadly enabling legacy controls, or falling back to unrelated content is not proof of repair.

References


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