What does HRESULT 0xC00D107E (NS_E_WMPCORE_FAILEDTOGETMARSHALLEDEVENTHANDLERINTERFACE) mean?

 
Previous Next
NS_E_WMPCORE_COCREATEFAILEDFORGITOBJECT NS_E_WMPCORE_BUFFERTOOSMALL

NS_E_WMPCORE_FAILEDTOGETMARSHALLEDEVENTHANDLERINTERFACE

What failed

NS_E_WMPCORE_FAILEDTOGETMARSHALLEDEVENTHANDLERINTERFACE (0xC00D107E) means the Player core failed to obtain the marshaled graph event-handler interface. Treat this as a COM interface-lifetime and cross-apartment boundary, not as a codec or media-format error.

Evidence to capture

  • The thread and COM apartment that created the graph/event-handler object.
  • The thread/apartment requesting the event-handler interface and the first COM HRESULT returned while marshaling or retrieving it.
  • Whether the interface was marshaled through the Global Interface Table, a stream, or another supported COM mechanism; record the cookie or object generation, not a raw pointer value as proof of validity.
  • The teardown order of the graph, event sink, host window and Player control. A stale registration can survive long enough to fail only when another apartment retrieves it.

Focused test

  1. Create the Player/graph on one known apartment and register the event interface through the same supported marshaling path used by the application.
  2. Retrieve it from the consumer apartment and invoke only the smallest harmless method needed to prove the proxy is valid.
  3. Revoke the registration during teardown and verify that no callback or lookup occurs afterward.
  4. If the single-apartment control succeeds but the cross-apartment path fails, inspect marshaling and lifetime before changing codecs, playlists or network settings.

Do not mask the boundary

Passing a raw COM interface pointer to another apartment can appear to work until lifetime or proxy state changes. Likewise, recreating the entire Player may hide a stale interface generation without explaining why it became invalid. Preserve the first COM error and object generation.

Verification

Repeat creation, event delivery and teardown over multiple object generations. The fix is complete when each consumer obtains a valid marshaled interface, events arrive on the intended lifetime, and teardown revokes access without a later graph or Player wrapper error.

Technical references


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