| Previous | Next |
| NS_E_CANNOT_SYNC_DRM_TO_NON_JANUS_DEVICE | NS_E_WMP_HWND_NOTFOUND |
NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING
How to investigate NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING
The code 0xC00D1247 narrows the event to starting a new generation while the device has not completed or released the previous one. Treat NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING as a checkpoint in windows media player synchronization engine and retain its first lower-level error.
What the Player is doing
At the NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING checkpoint, automatic synchronization uses a Player-to-device partnership, a snapshot of selected playlists and a queue of per-item copy, delete or retrieval operations; The sync engine owns its own running state and can reject changes while a previous generation is active. The page-specific boundary is starting a new generation while the device has not completed or released the previous one.
For NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING, a working manual file copy does not prove that the Player’s partnership, playlist snapshot and synchronization queue are valid. A realistic trigger is that the previous sync is stuck in device I/O and a second start is requested.
Capture before changing state
| Evidence | Why it matters for cannot sync previous sync running |
|---|---|
| Producing object and operation | device and partnership IDs, sync generation and state, selected playlist identity/version, queued item ID and direction, subscription account, target storage, progress callback and first item-specific HRESULT |
| Decisive observation | previous generation state, last callback, device responsiveness and outstanding operation |
| Generation identity | Record the same disc, device, job or Player operation generation that returned NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING; a reconnect or media change creates a different test. |
| Underlying result | Keep the first device, filesystem, COM, codec, DirectShow, IMAPI or BITS result seen before the Player mapped it to NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING. |
| Controlled comparison | Repeat the producing call after changing only this condition: wait, cancel cleanly or reconnect the device, then create a new generation. |
Interpretation guide
| Observation | Interpretation |
|---|---|
| The recorded values match the boundary | The result is consistent with starting a new generation while the device has not completed or released the previous one; correct that state before changing unrelated codecs, drivers or playlists. |
A lower layer failed before NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING | Preserve that earlier HRESULT or device result because NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING may be only the Player-level mapping. |
| The same call passes after one isolated change | The comparison supports the cannot sync previous sync running diagnosis rather than a broad installation failure. |
The code changes after retesting NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING | The NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING boundary was passed; diagnose the new HRESULT as the next independent stage. |
NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING scopes the failure to starting a new generation while the device has not completed or released the previous one. The presence of NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING does not establish a system-wide media failure; verify its owning operation before changing unrelated Player components.
Five-step isolation test
- Capture
0xC00D1247,NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING, the exact Player/API operation and the first timestamp at which it appears. - Save previous generation state, last callback, device responsiveness and outstanding operation; do this before ejecting media, reconnecting a device, canceling a job or rebuilding the Player object.
- For
NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING, correlate the result with device and partnership IDs, sync generation and state, selected playlist identity/version, queued item ID and direction, subscription account, target storage, progress callback and first item-specific HRESULT. - Reproduce once with the original source and destination, then apply only this change: wait, cancel cleanly or reconnect the device, then create a new generation.
- Create a fresh operation generation and verify that the original call advances beyond the cannot sync previous sync running boundary.
Different boundaries in the same family
| Related result | Different diagnostic boundary |
|---|---|
NS_E_PDA_SYNC_LOGIN_ERROR | authorizing subscription content for synchronization with the providing store |
NS_E_PDA_SYNC_RUNNING | rejecting an operation that conflicts with the currently active sync generation |
NS_E_PDA_RETRIEVED_FILE_FILENAME_TOO_LONG | mapping a device object name to a legal local destination path |
Correction criteria
The test is successful when you wait, cancel cleanly or reconnect the device, then create a new generation, recreate the owning operation, and the original call no longer returns NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING.
When verifying NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING, do not delete and recreate the partnership before exporting the selected playlists and recording the first failing item; otherwise the state needed to distinguish queue, account and device failures is lost.
Documentation
- About Device Synchronization.
- Working with Portable Devices.
- Enabling synchronization with Windows Media Player.
- Sending a file to a portable device.
Looking for a different code? Search another status or error code.