| Previous | Next |
| NS_E_NEED_TO_ASK_USER | NS_E_WMP_EXTERNAL_NOTREADY |
NS_E_WMPOCX_PLAYER_NOT_DOCKED
The exact condition behind the dialog
NS_E_WMPOCX_PLAYER_NOT_DOCKED is HRESULT 0xC00D0FDB. At the ActiveX control player not docked checkpoint it means the requested action requires the remote Player to be in its docked embedded state; the result belongs to the Windows Media Player ActiveX control and COM object lifetime, not to an unspecified Player failure.
An additional test is to record remote mode, openState/playState and docked/undocked transition; that evidence is more useful than reinstalling the Player or changing several unrelated settings at once.
How to prove the condition
- Find the first component that returned this result and label that event as the ActiveX control player not docked boundary.
- Freeze the input and object identity associated with the failing operation before WMP fallback or cleanup changes it.
- Reconstruct the immediately preceding successful state, then identify the call or event that crossed into failure.
- Perform the code-specific test: record remote mode, openState/playState and docked/undocked transition.
- Make the targeted change—return the Player to the required docked state before the action—and repeat the same producing operation.
Minimum useful incident record
Capture state before Player cleanup:
- What to verify: record remote mode, openState/playState and docked/undocked transition.
- Artifact: shutdown order for host window, control, playback engine and plug-ins.
- State: host process and control version, uiMode and remote/local service type.
- Object identity: COM apartment type and thread that created the control.
- Underlying evidence: IWMPRemoteMediaServices result and isRemote/docked state.
- Correlation: GIT cookie or marshaled event-interface generation.
Why the producing component matters
Before changing state, remember that 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. A second platform rule is 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: A host manipulates an embedded-only UI element after the user switches to full mode.
Targeted fix
Resolve this result where the relevant state is produced: return the Player to the required docked state before the action. After correction, reload or recreate the owning object so cached failure state is not mistaken for a successful repair.
- 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.
Neighboring codes to separate
| Result | Different condition |
|---|---|
NS_E_WMP_EXTERNAL_NOTREADY | The WMP external automation object has not reached the state required by the call |
NS_E_PLUGIN_NOTSHUTDOWN | A Windows Media Player plug-in did not finish its shutdown contract |
NS_E_WMPOCX_ERRORMANAGERNOTAVAILABLE | The embedded ActiveX control cannot expose its automation error manager to the host |
Completion criteria
Technical references
- Player control guide — normative or platform material relevant to this HRESULT.
- Remoting the Windows Media Player control — API or format context.
- Using skins with the control — documentation for this HRESULT.
- IGlobalInterfaceTable interface
Looking for a different code? Search another status or error code.
