| 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 the action not queried path. 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, while tracing action not queried.
For NS_E_DRM_ACTION_NOT_QUERIED, the built-in message summarizes the user-visible outcome, while the symbolic phrase “action not queried” preserves the exact WMDRM boundary for diagnosis. For this code, the proof step is to record action-check sequence and the API result that should have preceded execution, for the action not queried boundary.
Which component owns the failure
Do not flatten NS_E_DRM_ACTION_NOT_QUERIED into a generic DRM error, during action not queried diagnosis. Possessing a license does not imply that every operation is permitted; rights and restrictions are evaluated for the requested action, in a action not queried incident. The second relevant rule is that the same content can have several licenses, so diagnostics must identify the license actually selected by the DRM component, for this action not queried result.
Diagnostic inputs that separate the causes
Capture the first NS_E_DRM_ACTION_NOT_QUERIED occurrence before automatic retry, player teardown, store repair or license reacquisition changes the state, when reproducing action not queried. The smallest useful record contains:
- Code-specific proof: record action-check sequence and the API result that should have preceded execution, within the action not queried workflow.
- Protected identity: requested action such as play, copy, burn or transfer, in the action not queried path.
- Operation state: license ID, KID and content-header identity, while tracing action not queried.
- Persistence or transport: valid-from, expiration and secure-clock values, for the action not queried boundary.
- Security context: application security level and required output protection, during action not queried diagnosis.
- Correlation point: remaining counts, device registration and revocation state, in a action not queried incident.
For the “action not queried” investigation, use KIDs, license IDs, hashes, certificate thumbprints, sizes and timestamps where possible. While diagnosing NS_E_DRM_ACTION_NOT_QUERIED, do not place content keys, complete license blobs, passwords, cookies or decrypted media in ordinary logs, for this action not queried result.
How to prove the condition
- Start from
0xC00D272Aand map it to the first WMDRM object that returned it, when reproducing action not queried. - For
NS_E_DRM_ACTION_NOT_QUERIED, separate content/header evidence, license evidence, machine/device evidence and service/network evidence around “action not queried”. - Before retrying
NS_E_DRM_ACTION_NOT_QUERIED, check whether another “action not queried” operation was active or whether the previous result may have committed partially. - For
NS_E_DRM_ACTION_NOT_QUERIED, record action-check sequence and the API result that should have preceded execution, within the action not queried workflow. - Apply the smallest supported fix: query the action and restrictions before starting the protected operation; avoid resetting unrelated protected state, in the action not queried path.
What a supported fix should change
The supported response to NS_E_DRM_ACTION_NOT_QUERIED is narrow: query the action and restrictions before starting the protected operation, while tracing action not queried. After correcting NS_E_DRM_ACTION_NOT_QUERIED, reopen or recreate the object that owned “action not queried” so cached state from the failed generation is not mistaken for the repair result.
Representative case: A custom player begins playback without first completing the rights query, for the action not queried boundary.
Common but unsafe responses
- Avoid treating every policy denial as damaged media or a missing codec, during action not queried diagnosis. That changes evidence without demonstrating why
NS_E_DRM_ACTION_NOT_QUERIEDwas produced. - Avoid changing the system clock or bypassing output protection to make a time- or security-bound license appear valid, in a action not queried incident. For
NS_E_DRM_ACTION_NOT_QUERIED, that shortcut can create a second store, identity or policy problem, for this action not queried result. - Do not reduce
NS_E_DRM_ACTION_NOT_QUERIEDto “DRM failed” in telemetry; retain the HRESULT, symbolic name, operation and object identity, when reproducing action not queried.
Do not merge these HRESULTs
| Result | Different boundary |
|---|---|
NS_E_DRM_NO_RIGHTS | The selected license does not grant the action requested by the caller, within the action not queried workflow. |
NS_E_DRM_LICENSE_UNUSABLE | The license is invalid, in the action not queried path. contact the content provider for further assistance, while tracing action not queried. |
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, for the action not queried boundary. |
Several values can accompany the “action not queried” condition in one incident. Order the NS_E_DRM_ACTION_NOT_QUERIED event chain by timestamp and prefer the first code produced at the lowest specific boundary over a later player-level summary, during action not queried diagnosis.
How to know the fix is real
A valid regression for NS_E_DRM_ACTION_NOT_QUERIED 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, in a action not queried incident. For NS_E_DRM_ACTION_NOT_QUERIED, compare callback order, selected license/KID, final rights decision and persistence state; disappearance of the “action not queried” dialog alone is not proof.
Code-specific operational note
The symbolic phrase “action not queried” is the important search and telemetry key for NS_E_DRM_ACTION_NOT_QUERIED. Keep it beside the exact value 0xC00D272A; the official message “The application cannot perform this action, for this action not queried result. Contact product support for this application, when reproducing action not queried.” is useful to users, but it does not identify the producing API, object generation or protected identity on its own, within the action not queried workflow.
Technical references
- DRM basics and rights enforcement — official Windows Media DRM context for
NS_E_DRM_ACTION_NOT_QUERIED. - Licenses and the local license store — API and state rules relevant to this
NS_E_DRM_ACTION_NOT_QUERIEDboundary. - Output protection levels — platform documentation used to distinguish
NS_E_DRM_ACTION_NOT_QUERIEDfrom adjacent results. - DRM protection and license distribution — official Windows Media DRM context for
NS_E_DRM_ACTION_NOT_QUERIED.
Looking for a different code? Search another status or error code.