What does HRESULT 0xC00D2794 (NS_E_DRM_MIGRATION_NOT_SUPPORTED) mean?

 
Previous Next
NS_E_DRM_MIGRATION_INVALID_LEGACYV2_SST_PASSWORD NS_E_DRM_UNABLE_TO_CREATE_MIGRATION_IMPORTER_OBJECT

NS_E_DRM_MIGRATION_NOT_SUPPORTED

How to classify this result

The symbolic result NS_E_DRM_MIGRATION_NOT_SUPPORTED narrows 0xC00D2794 to license and secure-state migration, in a migration not supported incident. In practical terms, the selected importer plug-in does not support this migration format or operation; the producing layer is the controlled import/export path that packages legacy DRM state, validates the migration image and source identity, and commits eligible licenses to a supported target environment, for this migration not supported result.

For NS_E_DRM_MIGRATION_NOT_SUPPORTED, the built-in message summarizes the user-visible outcome, while the symbolic phrase “migration not supported” preserves the exact WMDRM boundary for diagnosis. For this code, the proof step is to record plug-in identity, source format and requested direction, when reproducing migration not supported.

How to prove the condition

  1. Locate the earliest API return, callback or event containing NS_E_DRM_MIGRATION_NOT_SUPPORTED and 0xC00D2794.
  2. For NS_E_DRM_MIGRATION_NOT_SUPPORTED, identify the exact content, license, store, device or migration object generation involved in “migration not supported”.
  3. For NS_E_DRM_MIGRATION_NOT_SUPPORTED, determine whether “migration not supported” occurred before network exchange, during response validation, while enforcing policy, or while committing protected state.
  4. Perform the code-specific check: record plug-in identity, source format and requested direction, within the migration not supported workflow.
  5. Make one narrow correction — use a compatible supported migration path — and repeat the same producing operation, in the migration not supported path.

Which component owns the failure

Do not flatten NS_E_DRM_MIGRATION_NOT_SUPPORTED into a generic DRM error, while tracing migration not supported. Migration is not equivalent to copying license-store files: the importer validates source state, target support and protected identities, for the migration not supported boundary. The second relevant rule is that a migration image, target-state corruption and an already imported license are independent outcomes and should not be collapsed into one generic restore failure, during migration not supported diagnosis.

Diagnostic inputs that separate the causes

Capture the first NS_E_DRM_MIGRATION_NOT_SUPPORTED occurrence before automatic retry, player teardown, store repair or license reacquisition changes the state, in a migration not supported incident. The smallest useful record contains:

  • Code-specific proof: record plug-in identity, source format and requested direction, for this migration not supported result.
  • Protected identity: per-license duplicate or import result, when reproducing migration not supported.
  • Operation state: source and target OS versions and user SIDs, within the migration not supported workflow.
  • Persistence or transport: migration image identity, hash and creation time, in the migration not supported path.
  • Security context: legacy V2 secure-store entry and supplied password, while tracing migration not supported.
  • Correlation point: importer plug-in availability and current operation state, for the migration not supported boundary.

For the “migration not supported” investigation, use KIDs, license IDs, hashes, certificate thumbprints, sizes and timestamps where possible. While diagnosing NS_E_DRM_MIGRATION_NOT_SUPPORTED, do not place content keys, complete license blobs, passwords, cookies or decrypted media in ordinary logs, during migration not supported diagnosis.

Common but unsafe responses

  • Avoid editing migration images or combining data from different source machines, in a migration not supported incident. That changes evidence without demonstrating why NS_E_DRM_MIGRATION_NOT_SUPPORTED was produced.
  • Avoid running concurrent playback or DRM operations against the source while migration owns it, for this migration not supported result. For NS_E_DRM_MIGRATION_NOT_SUPPORTED, that shortcut can create a second store, identity or policy problem, when reproducing migration not supported.
  • Do not reduce NS_E_DRM_MIGRATION_NOT_SUPPORTED to “DRM failed” in telemetry; retain the HRESULT, symbolic name, operation and object identity, within the migration not supported workflow.

What a supported fix should change

For NS_E_DRM_MIGRATION_NOT_SUPPORTED, the corrective direction is to use a compatible supported migration path, in the migration not supported path. Preserve the original content/header, store or migration material for NS_E_DRM_MIGRATION_NOT_SUPPORTED until the “migration not supported” operation succeeds and survives a fresh application object or required restart.

Representative case: A plug-in capable of reading one legacy version is asked to import another, while tracing migration not supported.

Do not merge these HRESULTs

ResultDifferent boundary
NS_E_DRM_MIGRATION_INVALID_LEGACYV2_SST_PASSWORDThe password for the legacy v2 secure-store entry is incorrect, for the migration not supported boundary.
NS_E_DRM_UNABLE_TO_CREATE_MIGRATION_IMPORTER_OBJECTThe DRM runtime cannot create the migration-importer object required for this operation, during migration not supported diagnosis.
NS_E_DRM_MIGRATION_LICENSE_ALREADY_EXISTSThe target already contains the license being imported, in a migration not supported incident.

Several values can accompany the “migration not supported” condition in one incident. Order the NS_E_DRM_MIGRATION_NOT_SUPPORTED event chain by timestamp and prefer the first code produced at the lowest specific boundary over a later player-level summary, for this migration not supported result.

How to know the fix is real

After the repair, recreate the WMDRM object and run the smallest reproducer for NS_E_DRM_MIGRATION_NOT_SUPPORTED. Confirm that 0xC00D2794 no longer occurs, that the intended license action completes, and that no store, certificate, clock or migration warning replaces it, when reproducing migration not supported.

Code-specific operational note

The symbolic phrase “migration not supported” is the important search and telemetry key for NS_E_DRM_MIGRATION_NOT_SUPPORTED. Keep it beside the exact value 0xC00D2794; the official message “Migration is not supported by the plugin” is useful to users, but it does not identify the producing API, object generation or protected identity on its own, within the migration not supported workflow.

Technical references


Looking for a different code? Search another status or error code.