| Previous | Next |
| MF_E_MP3_BAD_CRC | MF_E_MEDIA_SOURCE_WRONGSTATE |
MF_E_NOT_PROTECTED
The practical meaning of this HRESULT
MF_E_NOT_PROTECTED (0xC00D3E9A) 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 an operation that expects protected content or a protected object received an unprotected resource.
The producer is the protection inspection or license-related API after the source has been identified, 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 an application asks for a license or protected-environment service for a normal unencrypted media file.
Checkpoint map
| Checkpoint | Question to answer |
|---|---|
| Input | What exact name, type, index, URL, position, media item, account, device, or setup package reached the protection inspection or license-related API after the source has been identified? |
| State | Was the object initialized, connected, started, stopped, committed, authorized, or ready when it evaluated an operation that expects protected content or a protected object received an unprotected resource? |
| Evidence | the content protection attributes, system ID, source type, file header, requested protected operation, and whether another layer removed metadata. |
| Completion | Which event, callback, output sample, provider result, or installer action should have followed MF_E_NOT_PROTECTED? |
Data to preserve
Collect MF_E_NOT_PROTECTED data before automatic retries, Player navigation, device reconnection, source shutdown, or setup rollback destroys it. For MF_E_NOT_PROTECTED, the minimum useful record contains the exact returning API, object identity, input identity, current lifecycle state, and the first lower-level failure.
A MF_E_NOT_PROTECTED trace must not store credentials, license payloads, private keys, authorization headers, or unrelated library contents. For MF_E_NOT_PROTECTED, record identifiers, hashes, lengths, status values, and redacted endpoint information sufficient to correlate the event.
A narrow diagnostic run
- Reproduce once with tracing enabled and preserve
0xC00D3E9Abefore any fallback. - Verify the decisive observation: the content protection attributes, system ID, source type, file header, requested protected operation, and whether another layer removed metadata.
- Run the controlled comparison: compare a known protected and known clear sample through the same inspection call.
- Return to the
MF_E_NOT_PROTECTEDbaseline, apply the supported correction, and create a new object generation if the old one entered a terminal state. - Repeat the
MF_E_NOT_PROTECTEDtest until the original call advances past this checkpoint and the expected output is validated.
Distinguish the neighboring failures
| HRESULT | Boundary indicated by its standard description |
|---|---|
MF_E_CANNOT_FIND_KEYFRAME_SAMPLE | No key frame sample was found; compare this boundary specifically with MF_E_NOT_PROTECTED. |
MF_E_UNSUPPORTED_CHARACTERISTICS | The characteristics of the media source are not supported; compare this boundary specifically with MF_E_NOT_PROTECTED. |
MF_E_NETWORK_RESOURCE_FAILURE | An attempt to acquire a network resource failed; compare this boundary specifically with MF_E_NOT_PROTECTED. |
The codes compared with MF_E_NOT_PROTECTED can lead to the same user-facing “cannot play,” “operation failed,” or “setup failed” dialog. They remain technically different. Here, MF_E_DRM_UNSUPPORTED means protected content was recognized but its DRM path is unavailable.
Finish with a repeatable fix
For this occurrence, skip the protection-only operation for clear content or supply the correct protected resource. For MF_E_NOT_PROTECTED, avoid generic cleanup until the original artifact is copied and the producing state is known. A destructive reset during MF_E_NOT_PROTECTED diagnosis can remove evidence while leaving the actual policy, device, network, format, or lifecycle error unchanged.
Verification of MF_E_NOT_PROTECTED must use the same input and action that failed. Confirm the expected state transition and check that the workflow does not merely substitute another error after MF_E_NOT_PROTECTED disappears.
Authoritative references
- Media Foundation architecture — reference used for the
MF_E_NOT_PROTECTEDcheckpoint. - Media Foundation error codes — reference used for the
MF_E_NOT_PROTECTEDcheckpoint. - Protected Media Path — reference used for the
MF_E_NOT_PROTECTEDcheckpoint. - Content protection — reference used for the
MF_E_NOT_PROTECTEDcheckpoint.
Looking for a different code? Search another status or error code.