| Previous | Next |
| NS_E_DRM_ALREADY_INDIVIDUALIZED | NS_E_DRM_ACQUIRING_LICENSE |
NS_E_DRM_ACTION_NOT_QUERIED
What this HRESULT isolates
The symbolic result NS_E_DRM_ACTION_NOT_QUERIED narrows 0xC00D272A to license validity, rights and policy enforcement. In practical terms, the application attempts a protected action before querying whether the license permits it; the producing layer is the evaluation step that matches a license to protected content and decides whether the requested action is allowed under dates, counters, application security, device registration and output restrictions.
Diagnostic inputs that separate the causes
- Protected identity: requested action such as play, copy, burn or transfer.
- Operation state: license ID, KID and content-header identity.
- Persistence or transport: valid-from, expiration and secure-clock values.
- Security context: application security level and required output protection.
- Correlation point: remaining counts, device registration and revocation state.
For the “action not queried” investigation, use KIDs, license IDs, hashes, certificate thumbprints, sizes and timestamps where possible. Do not place content keys, complete license blobs, passwords, cookies or decrypted media in ordinary logs.
How to prove the condition
- Start from
0xC00D272Aand map it to the first WMDRM object that returned it. - Separate content/header evidence, license evidence, machine/device evidence and service/network evidence around “action not queried”.
- Before retrying this result, check whether another “action not queried” operation was active or whether the previous result may have committed partially.
- Record action-check sequence and the API result that should have preceded execution.
- Apply the smallest supported fix: query the action and restrictions before starting the protected operation; avoid resetting unrelated protected state.
What a supported fix should change
The supported response to this result is narrow: query the action and restrictions before starting the protected operation. After correcting it, reopen or recreate the object that owned “action not queried” so the verification does not reuse state from the failed operation.
Representative case: A custom player begins playback without first completing the rights query.
Common but unsafe responses
- Avoid treating every policy denial as damaged media or a missing codec.
- Avoid changing the system clock or bypassing output protection to make a time- or security-bound license appear valid.
Do not merge these HRESULTs
| Result | Different condition |
|---|---|
NS_E_DRM_NO_RIGHTS | The selected license does not grant the action requested by the caller. |
NS_E_DRM_LICENSE_UNUSABLE | The license is invalid. Contact the content provider for further assistance. |
NS_E_DRM_CACHED_CONTENT_ERROR | Windows media digital rights management (drm) cannot play the protected file because you do not have the appropriate rights. |
How to know the fix is real
A valid regression has two fixtures: one that deliberately produces “the application attempts a protected action before querying whether the license permits it” and one that applies the targeted correction. Compare callback order, selected license/KID, final rights decision and persistence state; disappearance of the “action not queried” dialog alone is not proof.
Technical references
- DRM basics and rights enforcement.
- Licenses and the local license store — API and state rules for the DRM operation described here.
- Output protection levels.
- DRM protection and license distribution.
Looking for a different code? Search another status or error code.
