| Previous | Next |
| NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE | NS_DRM_E_MIGRATION_IMAGE_ALREADY_EXISTS |
NS_DRM_E_MIGRATION_TARGET_MACHINE_LESS_THAN_LH
Meaning beyond the player message
When the client returns NS_DRM_E_MIGRATION_TARGET_MACHINE_LESS_THAN_LH (0xC00D278D), the decisive condition is the target operating system is older than the migration mechanism supports. This result belongs to license and secure-state migration, specifically 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.
The built-in message summarizes the user-visible outcome, while the symbolic phrase “migration target machine less than lh” preserves the exact WMDRM boundary for diagnosis. For this code, the proof step is to record target OS version and migration format.
Why the producing layer matters
Two platform rules frame this result. Migration is not equivalent to copying license-store files: the importer validates source state, target support and protected identities. A migration image, target-state corruption and an already imported license are independent outcomes and should not be collapsed into one generic restore failure.
Triage without destroying evidence
- Preserve this result, the calling interface and the first lower-level status before a wrapper replaces it.
- Correlate this result with one KID/license ID, content hash, device certificate or migration operation ID for this path.
- Reconstruct the state transition immediately preceding “migration target machine less than lh” instead of starting from the final player dialog.
- Prove the boundary by ensuring you can record target OS version and migration format.
- After you migrate to a supported Windows Vista-or-later target as required by this format, verify both the requested right and the final store/device state.
Minimum incident record
Capture the first occurrence before retry or teardown changes state. The smallest useful record contains:
- Code-specific proof: record target OS version and migration format.
- Protected identity: source and target OS versions and user SIDs.
- Operation state: migration image identity, hash and creation time.
- Persistence or transport: legacy V2 secure-store entry and supplied password.
- Security context: importer plug-in availability and current operation state.
- Correlation point: per-license duplicate or import result.
Prefer IDs, hashes, sizes, and timestamps. Never log keys, passwords, licenses, or decrypted media.
Recovery at the right layer
Resolve it at its producing boundary: migrate to a supported Windows Vista-or-later target as required by this format. A player reinstall, reboot or new license request is useful only when it changes the “migration target machine less than lh” boundary and can be verified against the original evidence.
Representative case: A Vista-era migration image is directed to Windows XP.
Why the symbolic name matters
| Result | Different boundary |
|---|---|
NS_DRM_E_MIGRATION_IMAGE_ALREADY_EXISTS | A migration image already exists for the selected operation or destination. |
NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE | The source DRM environment is busy with another operation during migration. |
NS_DRM_E_MIGRATION_UPGRADE_WITH_DIFF_SID | Migration or upgrade sees a different user SID than the protected source state expects. |
Order the result event chain by timestamp; prefer the earliest specific result.
Completion criteria
Repeat the operation that originally returned it. Assert the exact HRESULT at the producing API in the failing “migration target machine less than lh” fixture; then change only the decisive precondition and confirm that the corrected run completes without substituting a neighboring DRM result. After correcting it, verify the requested action and the final license-store, secure-clock, device or migration state relevant to “migration target machine less than lh”.
Code-specific operational note
The symbolic phrase “migration target machine less than lh” is the important search and telemetry key for it. Keep it beside the exact value 0xC00D278D; the official message “Licenses are being migrated to a machine running XP or downlevel OS. This operation can only be performed on Windows Vista or a later OS. Contact Microsoft product support.” is useful to users, but it does not identify the producing API, object generation or protected identity on its own.
Technical references
- Backing up and restoring DRM licenses — platform documentation used to distinguish it from adjacent results.
- Obtaining the required DRM library — official Windows Media DRM context for it.
- DRM client programming guide — API and state rules relevant to this boundary.
- Windows Media DRM error codes
Looking for a different code? Search another status or error code.