| Previous | Next |
| NS_E_DRM_UNABLE_TO_CREATE_KEYS_OBJECT | NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT |
NS_E_DRM_LICENSE_NOTACQUIRED
What this HRESULT isolates
When the client returns NS_E_DRM_LICENSE_NOTACQUIRED (0xC00D2759), the relevant condition is unable to obtain license. This result belongs to license challenge, acquisition and server response processing, specifically the asynchronous path that builds a license request from the protected content header, sends or exposes the challenge, receives a response and commits accepted licenses to the local store.
Minimum incident record
- Protected identity: silent or non-silent acquisition mode and callback/event sequence.
- Operation state: request or challenge identifier and response HTTP status.
- Persistence or transport: server certificate, response signature and returned license count.
- Security context: store commit result after a successful server response.
- Correlation point: content KID and license acquisition URL from the header.
Triage without destroying evidence
- Start from
0xC00D2759and map it to the first WMDRM object that returned it. - Separate content/header evidence, license evidence, machine/device evidence and service/network evidence around “license notacquired”.
- Before retrying this result, check whether another “license notacquired” operation was active or whether the previous result may have committed partially.
- Record the exact API, object state, input identity and first lower-level result associated with this failure.
- Apply the smallest supported fix: correct the producing DRM state or input and retry with a fresh operation object; avoid resetting unrelated protected state.
Why the producing layer matters
Two platform rules frame this result. License acquisition and license storage are separate stages: a valid server response can still fail while being validated or committed locally. Because acquisition is asynchronous, starting a second request before the completion event can produce a state error rather than a network failure.
Recovery at the right layer
The supported response to it is narrow: correct the producing DRM state or input and retry with a fresh operation object. After correcting it, reopen or recreate the object that owned “license notacquired” so the verification does not reuse state from the failed operation.
Representative case: The application reaches the license notacquired path and receives this exact HRESULT before the higher-level media action can complete.
Why the symbolic name matters
| Result | Different condition |
|---|---|
NS_E_DRM_ERROR_BAD_NET_RESP | The specified server cannot perform the requested operation. |
NS_E_DRM_POLICY_DISABLE_ONLINE | Administrative policy blocks WMDRM Internet or intranet access. |
NS_E_LICENSE_HEADER_MISSING_URL | The DRM content header lacks the license acquisition URL needed by the client. |
Shortcuts that make diagnosis worse
- Avoid blindly retrying a state-changing license request without correlating the previous challenge and completion event.
- Avoid logging complete license challenges, responses, cookies or credentials in diagnostic output.
Technical references
- Acquiring licenses.
- Handling license acquisition events — API and state rules for the DRM operation described here.
- DRM protection and license distribution.
- DRM client programming guide.
Looking for a different code? Search another status or error code.