| 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 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.
Record plug-in identity, source format and requested direction.
How to prove the condition
- Locate the earliest API return, callback or event containing this result and
0xC00D2794. - Identify the exact content, license, store, device or migration object instance involved in “migration not supported”.
- Determine whether “migration not supported” occurred before network exchange, during response validation, while enforcing policy, or while committing protected state.
- Make one targeted change — use a compatible supported migration path — and repeat the same producing operation.
Diagnostic inputs that separate the causes
- Code-specific proof: record plug-in identity, source format and requested direction.
- Protected identity: per-license duplicate or import result.
- Operation state: source and target OS versions and user SIDs.
- Persistence or transport: migration image identity, hash and creation time.
- Security context: legacy V2 secure-store entry and supplied password.
- Correlation point: importer plug-in availability and current operation state.
For the “migration not supported” 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.
Common but unsafe responses
- Avoid editing migration images or combining data from different source machines.
- Avoid running concurrent playback or DRM operations against the source while migration owns it.
What a supported fix should change
To correct this, use a compatible supported migration path. Preserve the original content/header, store or migration material 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.
Do not merge these HRESULTs
| Result | Different condition |
|---|---|
NS_E_DRM_MIGRATION_INVALID_LEGACYV2_SST_PASSWORD | The password for the legacy v2 secure-store entry is incorrect. |
NS_E_DRM_UNABLE_TO_CREATE_MIGRATION_IMPORTER_OBJECT | The DRM runtime cannot create the migration-importer object required for this operation. |
NS_E_DRM_MIGRATION_LICENSE_ALREADY_EXISTS | The target already contains the license being imported. |
How to know the fix is real
After the repair, recreate the WMDRM object and run the smallest reproducer. Confirm that 0xC00D2794 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 user-facing message “Migration is not supported by the plugin” describes the visible condition but does not identify the producing API, object instance, or protected identity by itself.
Technical references
- Backing up and restoring DRM licenses — API and state rules for the DRM operation described here.
- Obtaining the required DRM library.
- DRM client programming guide.
- Windows Media DRM error codes — API and state rules for the DRM operation described here.
Looking for a different code? Search another status or error code.
