What does HRESULT 0xC00D1247 (NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING) mean?

 
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

EvidenceWhy it matters for cannot sync previous sync running
Producing object and operationdevice 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 observationprevious generation state, last callback, device responsiveness and outstanding operation
Generation identityRecord 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 resultKeep 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 comparisonRepeat the producing call after changing only this condition: wait, cancel cleanly or reconnect the device, then create a new generation.

Interpretation guide

ObservationInterpretation
The recorded values match the boundaryThe 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_RUNNINGPreserve 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 changeThe 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_RUNNINGThe 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

  1. Capture 0xC00D1247, NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING, the exact Player/API operation and the first timestamp at which it appears.
  2. 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.
  3. 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.
  4. 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.
  5. 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 resultDifferent diagnostic boundary
NS_E_PDA_SYNC_LOGIN_ERRORauthorizing subscription content for synchronization with the providing store
NS_E_PDA_SYNC_RUNNINGrejecting an operation that conflicts with the currently active sync generation
NS_E_PDA_RETRIEVED_FILE_FILENAME_TOO_LONGmapping 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


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