| Previous | Next |
| NS_E_DRM_BACKUPRESTORE_BUSY | NS_E_DRM_LICENSE_UNUSABLE |
NS_E_BACKUP_RESTORE_BAD_DATA
What this HRESULT isolates
When the client returns NS_E_BACKUP_RESTORE_BAD_DATA (0xC00D2745), the relevant condition is backup/restore data fails format or integrity validation. This result belongs to license backup, restore and anti-abuse state, specifically the backup/restore workflow that enumerates eligible licenses, writes a backup set, sends restoration requests to the license-management service and reconciles restored state with the target machine.
Capture member identity, size, hash and the stage receiving the data.
Minimum incident record
The smallest useful record contains:
- Protected identity: service response, reset count and daily restore limit.
- Operation state: target machine identity and final license-store commit.
- Persistence or transport: backup or restore operation ID.
- Security context: backup directory contents and manifest consistency.
- Correlation point: per-license backup/restore eligibility.
Triage without destroying evidence
- Start from
0xC00D2745and map it to the first WMDRM object that returned it. - Separate content/header evidence, license evidence, machine/device evidence and service/network evidence around “backup restore bad data”.
- Before retrying this result, check whether another “backup restore bad data” operation was active or whether the previous result may have committed partially.
- Apply the smallest supported fix: replace the damaged backup material rather than retrying the same bytes; avoid resetting unrelated protected state.
Why the producing layer matters
Two platform rules frame this result. Only licenses carrying the backup/restore right are eligible, and licenses with secure state can be intentionally excluded by the issuer. Backup and restore are multi-stage asynchronous operations; one damaged member or a stale request identifier is not equivalent to an unavailable service.
Recovery at the right layer
The supported response to this result is narrow: replace the damaged backup material rather than retrying the same bytes. After correcting it, reopen or recreate the object that owned “backup restore bad data” so the verification does not reuse state from the failed operation.
Representative case: A backup member is truncated in transit to the restore service.
Why the symbolic name matters
| Result | Different condition |
|---|---|
NS_E_DRM_BACKUPRESTORE_BUSY | A backup or restore operation is already active in the Windows Media DRM client |
NS_E_DRM_BACKUP_CORRUPT | The backup set is incomplete or one of its protected members fails validation. |
NS_E_DRM_BACKUP_EXISTS | The selected backup location already contains a WMDRM backup set. |
Shortcuts that make diagnosis worse
- Avoid merging files from different backup sets or inventing request identifiers.
- Avoid repeatedly resetting or restoring until anti-fraud limits are reached.
Completion criteria
A valid regression has two fixtures: one that deliberately produces “backup/restore data fails format or integrity validation” and one that applies the targeted correction. Compare callback order, selected license/KID, final rights decision and persistence state; disappearance of the “backup restore bad data” dialog alone is not proof.
Code-specific operational note
The user-facing message “Bad Data sent to Backup-Restore.” describes the visible condition but does not identify the producing API, object instance, or protected identity by itself.
Technical references
- Backing up and restoring licenses — official Windows Media DRM context.
- Backup/restore model and eligibility — API and state rules relevant to this result.
- DRM client interfaces — platform documentation used to distinguish it from adjacent results.
- DRM client structures
Looking for a different code? Search another status or error code.