| Previous | Next |
| NS_E_DRM_POLICY_METERING_DISABLED | NS_E_DRM_SDK_VERSIONMISMATCH |
NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED
How to classify this result
When the client returns NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED (0xC00D2777), the decisive condition is the requested device transfer does not support the selected chained-license relationship. This result belongs to portable-device certificate, secure clock and transfer policy, specifically the device-facing path that authenticates a WMDRM-capable device, obtains its certificate and secure clock, evaluates transfer policy, and records metering or registration state.
The built-in message summarizes the user-visible outcome, while the symbolic phrase “transfer chained licenses unsupported” preserves the exact WMDRM boundary for diagnosis. For this code, the proof step is to record leaf and uplink license IDs and device capability.
Minimum incident record
Capture the first NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED occurrence before retry or teardown changes state. The smallest useful record contains:
- Code-specific proof: record leaf and uplink license IDs and device capability.
- Protected identity: device certificate chain and serial identity.
- Operation state: secure clock value, source and last successful update.
- Persistence or transport: requested transfer/burn action and license restriction.
- Security context: device activation, registration and metering result.
- Correlation point: device model, firmware and WMDRM capability.
Prefer IDs, hashes, sizes, and timestamps. Never log keys, passwords, licenses, or decrypted media.
Why the producing layer matters
Two platform rules frame NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED. A device can be reachable as storage while still failing WMDRM authentication, secure-clock or policy requirements. Time-bound and subscription licenses may require a trusted device clock; changing the host clock does not repair a device clock that was never obtained or set.
Triage without destroying evidence
- Locate the earliest API return, callback or event containing
NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTEDand0xC00D2777. - Identify the exact content, license, store, device or migration object generation involved in “transfer chained licenses unsupported”.
- Determine whether “transfer chained licenses unsupported” occurred before network exchange, during response validation, while enforcing policy, or while committing protected state.
- Perform the code-specific check: record leaf and uplink license IDs and device capability.
- Make one narrow correction — use a supported direct license or compatible transfer path — and repeat the same producing operation.
Why the symbolic name matters
| Result | Different boundary |
|---|---|
NS_E_DRM_POLICY_METERING_DISABLED | The content requires metering but metering is disabled for the client or device path. |
NS_E_DRM_LIC_NEEDS_DEVICE_CLOCK_SET | The selected license requires a secure device clock that has not been set. |
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK_FROM_SERVER | The client cannot obtain authoritative secure-clock data from the service. |
Order the NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED event chain by timestamp; prefer the earliest specific result.
Shortcuts that make diagnosis worse
- Avoid formatting the device before preserving its certificate, clock and firmware evidence. That changes evidence without demonstrating why
NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTEDwas produced. - Avoid treating an unsupported-device result as a generic USB or file-copy failure. That shortcut can create a second store, identity or policy problem.
- Do not reduce
NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTEDto “DRM failed” in telemetry; retain the HRESULT, symbolic name, operation and object identity.
Recovery at the right layer
The corrective direction is to use a supported direct license or compatible transfer path. Preserve the original content/header, store or migration material for NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED until the operation succeeds and survives a fresh application object or required restart.
Representative case: A dependent license references an uplink license that the portable-device transfer cannot carry.
Completion criteria
After the repair, recreate the WMDRM object and run the smallest reproducer for NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED. Confirm that 0xC00D2777 no longer occurs, that the intended license action completes, and that no store, certificate, clock or migration warning replaces it.
Code-specific operational note
The symbolic phrase “transfer chained licenses unsupported” is the important search and telemetry key for NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED. Keep it beside the exact value 0xC00D2777; the official message “Transfer of chained licenses unsupported.” is useful to users, but it does not identify the producing API, object generation or protected identity on its own.
Technical references
- IWMDRMDeviceApp interface — API and state rules relevant to this boundary.
- Device registration — platform documentation used to distinguish this result from adjacent results.
- Output protection levels — official Windows Media DRM context for
NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED. - Windows Media DRM error codes
Looking for a different code? Search another status or error code.