What does HRESULT 0xC00D109F (NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_NONE) mean?

 
Previous Next
NS_E_WMPCORE_FAILED_TO_BUILD_PLAYLIST NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_EXHAUSTED

NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_NONE

Meaning at the producing boundary

Windows Media Player reports NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_NONE (0xC00D109F) when the playlist item defines no alternate reference to use after its primary source fails. The playback core playlist item alternate none condition is owned by the layer that turns ASX/WAX/WVX/WMX or library playlists into Media objects, resolves REF and ENTRYREF URLs, expands nesting, handles EVENT and REPEAT blocks and advances to alternates.

An additional test is to record the item XML/object and confirm that no alternate REF was configured; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.

Inputs that distinguish the causes

Preserve the first occurrence before retry or fallback changes the playback core playlist item alternate none evidence. Capture one consistent object generation:

FieldWhat to record
Decisive checkRecord the item XML/object and confirm that no alternate REF was configured
Artifact identityResolved base URL for REF or ENTRYREF targets for this reproduction
Runtime stateCurrent item index, alternate index and nested-playlist depth for this reproduction
Owning objectRepeat/event boundary and the media object expected at its start or end for this reproduction
Lower-level resultPlaylist URL, format, response content type and exact downloaded bytes for this reproduction
CorrelationASX version and element stack at the failure for this reproduction

Log paths, hashes, IDs, offsets, and HRESULTs. Exclude secrets and unrelated content from logs.

The surrounding WMP state

Windows Media metafiles are XML documents, but a well-formed document can still violate required ASX element and attribute rules. A second relevant constraint is that relative references are resolved against the containing metafile URL, and nested playlists introduce a stack and a new base URL rather than a simple flat list.

Representative case: The primary URL fails and the ENTRY contains no rollover reference at all. The example isolates only the producing component.

Do not confuse it with nearby results

ResultDifferent boundary
NS_E_WMPCORE_FAILED_TO_BUILD_PLAYLISTThe core cannot turn the downloaded/loaded playlist representation into a usable Playlist object
NS_E_WMPCORE_PLAYLIST_ITEM_ALTERNATE_EXHAUSTEDAll configured alternate references have already been attempted without success
NS_E_WMPCORE_ERROR_DOWNLOADING_PLAYLISTThe playlist resource could not be downloaded completely or with an acceptable response

If this result is followed by a broader “cannot play,” “cannot load,” or “operation failed” result, preserve the earlier event. A later wrapper error may be secondary.

Investigation order

  1. Find the first component that returned this result and label that event as this boundary.
  2. Freeze the input and object identity associated with the failing operation before WMP fallback or cleanup changes it.
  3. Reconstruct the immediately preceding successful state, then identify the call or event that crossed into failure.
  4. Perform the code-specific test: record the item XML/object and confirm that no alternate REF was configured.
  5. Make the narrow correction—add an intentional alternate or treat primary-source failure as terminal—and repeat the same producing operation.

Verification after correction

Repeat the action that returned this result and verify that the same object crosses the former this checkpoint. Success means reaching the next expected load, parse, playlist, control or playback state—not merely suppressing a dialog.

What a real fix must change

Resolve this result where the relevant state is produced: add an intentional alternate or treat primary-source failure as terminal. After correction, reload or recreate the owning object so cached failure state is not mistaken for a successful repair.

  • Avoid flattening or rewriting a playlist before preserving the failing nesting and base-URL rules; it can destroy the artifact or state needed to explain it.
  • Avoid assuming every unplayable item means the playlist parser itself failed; that can replace the original HRESULT with a secondary failure from another layer.

Code-specific operational note

Use it, 0xC00D109F and the symbolic phrase in traces. Correlate search keys with API and object.

Technical references


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