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. The result comes from the Windows Media Player synchronization engine; preserve the first lower-level error that precedes it.

What the Player is doing

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 operation is active.

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
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
Key observationprevious generation state, last callback, device responsiveness and outstanding operation
Controlled comparisonRepeat the producing call after changing only this condition: wait, cancel cleanly or reconnect the device, then create a new generation.

Five-step isolation test

  1. Capture 0xC00D1247, 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. 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. Start a fresh operation and verify that the original call advances without returning NS_E_CANNOT_SYNC_PREVIOUS_SYNC_RUNNING.

Different conditions in the same family

Related resultDifferent condition
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 it.

Documentation


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