| Previous | Next |
| NS_E_WMP_URLDOWNLOADFAILED | NS_E_WMP_INVALID_SKIN |
NS_E_WMPOCX_UNABLE_TO_LOAD_SKIN
What this HRESULT means
The symbolic result NS_E_WMPOCX_UNABLE_TO_LOAD_SKIN narrows 0xC00D0FEB to the ActiveX control unable to load skin condition: the control cannot apply the requested uiMode/skin and cannot restore the previous UI state. Keep the ActiveX control unable to load skin boundary visible when a later dialog reduces it to a general media error.
An additional test is to record prior uiMode, requested skin, load error and rollback error separately; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
What succeeds before this failure
Two rules frame this diagnosis. First, 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. In this case, 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: A broken skin switch leaves the embedded control without either requested or prior view.
State worth preserving
Capture state before Player cleanup:
- What to verify: record prior uiMode, requested skin, load error and rollback error separately.
- Artifact: IWMPRemoteMediaServices result and isRemote/docked state.
- State: GIT cookie or marshaled event-interface generation.
- Object identity: shutdown order for host window, control, playback engine and plug-ins.
- Underlying evidence: host process and control version, uiMode and remote/local service type.
- Correlation: COM apartment type and thread that created the control.
Reproduce without destroying evidence
- Use this deciding observation for this condition: record prior uiMode, requested skin, load error and rollback error separately.
- Apply the smallest supported remedy for this condition: load a validated skin from a fresh control state or restore a known-good uiMode.
Related HRESULTs with different meanings
| Result | Different condition |
|---|---|
NS_E_WMPOCX_REMOTE_PLAYER_ALREADY_RUNNING | An exclusive remote Player instance already owns the requested service role |
NS_E_WMP_EXTERNAL_NOTREADY | The WMP external automation object has not reached the state required by the call |
NS_E_WMPOCX_PLAYER_NOT_DOCKED | The requested action requires the remote Player to be in its docked embedded state |
Recovery at the right layer
The targeted correction for this condition is to load a validated skin from a fresh control state or restore a known-good uiMode. 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.
How to know the repair is real
Technical references
- Player control guide — documentation for this HRESULT.
- Remoting the Windows Media Player control — normative or platform material relevant to this HRESULT.
- Using skins with the control — API or format context.
- IGlobalInterfaceTable interface
Looking for a different code? Search another status or error code.