| Previous | Next |
| NS_E_WMPCORE_PLAYLIST_EMPTY_OR_SINGLE_MEDIA | NS_E_WMPCORE_ERRORMANAGERNOTAVAILABLE |
NS_E_WMPCORE_ERRORSINKNOTREGISTERED
The exact condition behind the dialog
0xC00D108C maps to NS_E_WMPCORE_ERRORSINKNOTREGISTERED. Its actionable interpretation is the calling object has no registered sink for asynchronous WMP errors within the Windows Media Player ActiveX control and COM object lifetime; the producing mechanism is the embedded-control layer that activates the Player, optionally remotes it to full mode, marshals event interfaces between COM apartments and exposes error state to the host.
An additional test is to record sink registration, object generation and subscription lifetime; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
How this layer works
The playback core error sink not registered workflow must be separated from a generic WMP failure: a local ActiveX control, a remoted control and the full-mode Player can share playback services while still having different window, docking and lifetime states. It also matters that cross-apartment callbacks require valid marshaled interfaces; a working playback engine does not prove that the host still owns a usable event or error interface.
Representative case for playback core error sink not registered: Playback begins on a new core object while the sink remains attached to the previous one. The example isolates only the producing component.
Evidence to capture before retry
Preserve the first occurrence before retry or fallback changes the evidence. Capture one consistent object generation:
| Field | What to record |
|---|---|
| Decisive check | Record sink registration, object generation and subscription lifetime |
| Artifact identity | Shutdown order for host window, control, playback engine and plug-ins for this reproduction |
| Runtime state | Host process and control version, uiMode and remote/local service type for this reproduction |
| Owning object | COM apartment type and thread that created the control for this reproduction |
| Lower-level result | IWMPRemoteMediaServices result and isRemote/docked state for this reproduction |
| Correlation | GIT cookie or marshaled event-interface generation for this reproduction |
Log paths, hashes, IDs, offsets, and HRESULTs. Exclude secrets and unrelated content from logs.
Why the symbolic name matters
| Result | Different boundary |
|---|---|
NS_E_WMPCORE_ERRORMANAGERNOTAVAILABLE | The playback core has no internal error-manager service available for the requesting object |
NS_E_WMPCORE_FAILEDTOGETMARSHALLEDEVENTHANDLERINTERFACE | The core could not retrieve a usable event-handler interface for the calling COM apartment |
NS_E_WMPCORE_COCREATEFAILEDFORGITOBJECT | COM could not create the process-wide Global Interface Table object used for cross-apartment access |
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.
A focused diagnostic sequence
- Start with the symbolic value this result; do not diagnose the failure from the final dialog alone.
- Record the bytes or object state that produced this condition before automatic recovery mutates it.
- Exclude a stale callback or superseded object generation as the source of this event.
- Use this deciding observation for this condition: record sink registration, object generation and subscription lifetime.
- Apply the smallest supported remedy for this condition: register the sink before starting asynchronous playback or playlist work.
Correct the producing condition
The targeted correction for this condition is to register the sink before starting asynchronous playback or playlist work. Keep the original failing input until the same operation succeeds after one controlled change.
- Avoid reusing an interface pointer directly on another COM apartment; it can destroy the artifact or state needed to explain this result.
- Avoid destroying the host window before recording control state and the first callback failure; that can replace the original HRESULT with a secondary failure from another layer.
Regression check
After correction, create a fresh Player, control, parser or playlist object and rerun the smallest reproducer for this HRESULT. Verify the resulting resource, list membership, saved file, library object or play state.
What to search for in traces
Use this result, 0xC00D108C and the symbolic phrase in traces. Correlate search keys with API and object.
Technical references
- Player control guide — documentation used to identify the producing boundary of it.
- Remoting the Windows Media Player control — normative or platform material relevant to it.
- Using skins with the control — API or format context for this HRESULT.
- IGlobalInterfaceTable interface It.
Looking for a different code? Search another status or error code.