What does HRESULT 0xC00D106E (NS_E_WMX_ATTRIBUTE_DOES_NOT_EXIST) mean?

 
Previous Next
NS_E_URLLIST_INVALIDFORMAT NS_E_WMX_ATTRIBUTE_ALREADY_EXISTS

NS_E_WMX_ATTRIBUTE_DOES_NOT_EXIST

Understanding NS_E_WMX_ATTRIBUTE_DOES_NOT_EXIST in a Windows Media playlist

NS_E_WMX_ATTRIBUTE_DOES_NOT_EXIST (0xC00D106E) is returned when code queried a playlist attribute name that is absent from that Playlist object.

Distinguish in-memory Playlist state, WPL or ASX parsing, nested-list expansion, Media-object resolution and execution of referenced items. The actionable checkpoint is code queried a playlist attribute name that is absent from that Playlist object. Although this result may appear as “cannot play” or “cannot save,” it belongs to a specific object state that should be diagnosed directly.

Playlist boundary

AllStat already supplies the standard user-facing description for it; this custom block instead isolates the additional technical boundary. Earlier success in file lookup, network connection, parser creation or graph construction does not prove that the later the operation is valid.

Case-specific checkpoint: the exact attribute name including case, attributeCount, getAttributeName results and playlist origin. The controlled comparison for it is: enumerate the current attribute names before calling getItemInfo for the requested name.

Closest distinction: NS_E_WMX_ATTRIBUTE_UNRETRIEVABLE means the name can be known yet its value cannot be obtained.

Evidence from the list model

CaptureWhy it matters for it
Object or resourcethe exact attribute name including case, attributeCount, getAttributeName results and playlist origin
State snapshotRecord the Player openState/playState or operation phase, object identity and exact timestamp when this result was returned.
First lower resultKeep the earliest Win32, Winsock, COM, parser, codec, DRM or device result that appears before this result.
Comparison recordUse one known-good case that follows the same API, protocol and component path while changing only the rejected precondition.

Minimal playlist experiment

  1. Capture the resource identity and the exact attribute name including case, attributeCount, getAttributeName results and playlist origin.
  2. verify that the caller uses the current Playlist, Media, Network, graph, device or DRM object generation.
  3. Run the narrow experiment: enumerate the current attribute names before calling getItemInfo for the requested name.
  4. Do not mix the result experiment with a codec pack, Player reset or broad registry cleanup.
  5. After this result, treat a new specific HRESULT as evidence that this boundary was cleared.

What the result means

Retest outcomeInterpretation
Same it on the same objectThe governing state or value is unchanged, or the caller is reusing an object created before the relevant change.
Fresh object succeedsLifetime, cached configuration or stale playlist/graph state contributed to it.
A later HRESULT appearsThe rejected condition — code queried a playlist attribute name that is absent from that Playlist object — was cleared for it; diagnose the new code at its own layer.
Only one item or endpoint fails for itThe evidence favors resource-specific data, rights, routing or device state rather than a global Player failure.

Actions that obscure the cause

  • creating a registry value with the same name.
  • Do not discard the first occurrence by repeatedly invoking Play, open, save or retry; later events can replace its original state.
  • do not publish credentials, private URLs, license material or complete protected-content headers; retain only redacted identifiers, lengths, hashes and protocol fields.

Technical references

The result fix is demonstrated by the same Player path succeeding with the same resource, not by another application opening it.


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