| Previous | Next |
| NS_E_DRM_LICENSE_CLOSE_ERROR | NS_E_DRM_QUERY_ERROR |
NS_E_DRM_GET_LICENSE_ERROR
Where the operation stopped
0xC00D2739 maps to NS_E_DRM_GET_LICENSE_ERROR. Read it as a result from local license store, secure store and machine binding: retrieval of a license from the local store failed after lookup began. Keeping the “get license error” boundary intact prevents a later playback message from hiding the original DRM failure.
Record license ID, KID, enumeration position and store result.
State to capture before retry
- Code-specific proof: record license ID, KID, enumeration position and store result.
- Protected identity: hardware identity and the last hardware or operating-system change.
- Operation state: checkpoint, secure-store and registry persistence sequence.
- Persistence or transport: first store API call that failed: open, enumerate, save, close or query.
- Security context: license identifier and content key identifier (KID).
- Correlation point: store path, file generation, access result and underlying system error.
Place in the DRM workflow
The workflow around this result matters: a license is stored in the protected local license store after acquisition; a store failure is therefore distinct from a server refusing to issue a license. In addition, machine-bound state cannot be diagnosed safely by copying store files between computers or by deleting the original before evidence is preserved.
A useful investigation order
- Start from
0xC00D2739and map it to the first WMDRM object that returned it. - Separate content/header evidence, license evidence, machine/device evidence and service/network evidence around “get license error”.
- Before retrying this result, check whether another “get license error” operation was active or whether the previous result may have committed partially.
- Apply the smallest supported fix: repair or reacquire the specific record rather than resetting unrelated licenses; avoid resetting unrelated protected state.
Targeted fix
The supported response to this result is narrow: repair or reacquire the specific record rather than resetting unrelated licenses. After correcting it, reopen or recreate the object that owned “get license error” so the verification does not reuse state from the failed operation.
Representative case: The content KID resolves to a store entry that cannot be returned to the caller.
What not to do first
- Avoid deleting or resetting DRM state before recording hashes, timestamps and the first store error.
- Avoid copying a protected license store from another computer as a repair.
Nearby results with different meanings
| Result | Different condition |
|---|---|
NS_E_DRM_LICENSE_CLOSE_ERROR | Closing or committing an opened license record failed. |
NS_E_DRM_LICENSE_OPEN_ERROR | Opening the local license repository or selected license record failed. |
NS_E_DRM_GET_LICENSESTRING_ERROR | The client cannot obtain the serialized license string from the selected record. |
Verification after correction
A valid regression has two fixtures: one that deliberately produces “retrieval of a license from the local store failed after lookup began” and one that applies the targeted correction. Compare callback order, selected license/KID, final rights decision and persistence state; disappearance of the “get license error” dialog alone is not proof.
Code-specific operational note
The user-facing message “License storage is not working.
Technical references
Looking for a different code? Search another status or error code.
