Что означает код HRESULT 0xC00D278C (NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE)?

 
Предыдущий Следующий
NS_DRM_E_MIGRATION_UPGRADE_WITH_DIFF_SID NS_DRM_E_MIGRATION_TARGET_MACHINE_LESS_THAN_LH

NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE

Что именно изолирует этот HRESULT

Символьный результат NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE сужает значение 0xC00D278C до миграции лицензий и защищённого состояния. На практике он означает, что исходная среда DRM занята другой операцией во время миграции. Код формируется контролируемым путём импорта и экспорта, который упаковывает устаревшее состояние DRM, проверяет образ миграции и идентичность источника, а затем фиксирует подходящие лицензии в поддерживаемой целевой среде.

Для NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE встроенное сообщение кратко передаёт видимый пользователю результат, а символьная формулировка «исходный компьютер миграции используется» сохраняет точную границу WMDRM для диагностики. Для этого кода необходимо определить активные процессы воспроизведения, получения лицензий, работы с хранилищем или DRM.

Какому компоненту принадлежит сбой

Не сводите NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE к общей ошибке DRM. Для занятого исходного компьютера миграция не равнозначна копированию файлов хранилища лицензий: модуль импорта отдельно проверяет активность источника, совместимость цели и защищённые идентичности. В этом инциденте наличие образа миграции, состояние целевой системы и уже импортированная лицензия остаются отдельными результатами и не объясняют занятость источника автоматически.

Диагностические данные, разделяющие причины

Зафиксируйте первое появление NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE до того, как автоматический повтор, закрытие проигрывателя, восстановление хранилища или повторное получение лицензии изменит состояние. Минимально полезная запись содержит:

  • Подтверждение именно этого кода: определите активные процессы воспроизведения, получения лицензий, работы с хранилищем или DRM.
  • Защищённая идентичность: результат обнаружения дубликата или импорта для каждой лицензии.
  • Состояние операции: версии исходной и целевой ОС и SID пользователей.
  • Сохранение или передача: идентичность образа миграции, его хеш и время создания.
  • Контекст безопасности: запись защищённого хранилища прежней версии V2 и переданный пароль.
  • Точка корреляции: доступность подключаемого модуля импорта и текущее состояние операции.

При расследовании условия «исходный компьютер миграции используется» по возможности применяйте KID, идентификаторы лицензий, хеши, отпечатки сертификатов, размеры и временные метки. При диагностике NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE не помещайте в обычные журналы ключи содержимого, полные BLOB лицензий, пароли, cookie или расшифрованные медиаданные.

Как подтвердить условие

  1. Начните с 0xC00D278C и сопоставьте его с первым объектом WMDRM, который вернул это значение.
  2. Для NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE разделите сведения о содержимом или заголовке, лицензии, компьютере или устройстве, а также службе или сети, относящиеся к условию «исходный компьютер миграции используется».
  3. До повтора NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE проверьте, была ли активна другая операция миграции или мог ли предыдущий запрос частично зафиксировать состояние.
  4. Для NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE определите активные процессы воспроизведения, получения лицензий, работы с хранилищем или DRM.
  5. Примените минимальное поддерживаемое исправление: приведите источник в состояние покоя и повторите миграцию с исключительным владением, не сбрасывая постороннее защищённое состояние.

Что должно изменить поддерживаемое исправление

Поддерживаемый ответ на NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE узко направлен: нужно остановить активность источника и повторить миграцию с исключительным владением. После исправления NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE заново откройте или создайте объект, которому принадлежало условие «исходный компьютер миграции используется», чтобы кэшированное состояние неудачного поколения не было принято за результат восстановления.

Типичный случай: защищённое воспроизведение удерживает хранилище источника открытым во время экспорта.

Не объединяйте эти HRESULT

РезультатДругая граница
NS_DRM_E_MIGRATION_TARGET_MACHINE_LESS_THAN_LHЦелевая операционная система старше минимальной версии, поддерживаемой механизмом миграции.
NS_DRM_E_MIGRATION_UPGRADE_WITH_DIFF_SIDНесовпадение SID пользователя относится к защищённой идентичности, а не к операции, которая сейчас удерживает исходную среду DRM.
NS_DRM_E_MIGRATION_IMAGE_ALREADY_EXISTSДля выбранной операции или места назначения уже существует образ миграции.

В одном инциденте условие «исходный компьютер миграции используется» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE по временным меткам и отдавайте предпочтение первому коду, сформированному на самой низкой конкретной границе, а не более позднему обобщённому сообщению проигрывателя.

Как убедиться в реальности исправления

Корректная регрессионная проверка NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE использует два сценария: первый намеренно создаёт условие «исходная среда DRM занята другой операцией во время миграции», а второй применяет целевое исправление. Для NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE сравните порядок обратных вызовов, выбранную лицензию или KID, окончательное решение по правам и состояние постоянного хранилища. Одного исчезновения диалога «исходный компьютер миграции используется» недостаточно.

Эксплуатационное примечание для этого кода

Символьная формулировка «исходный компьютер миграции используется» — важный ключ поиска и телеметрии для NS_DRM_E_MIGRATION_SOURCE_MACHINE_IN_USE. Храните её рядом с точным значением 0xC00D278C. Официальное сообщение «Компонент Digital Rights Management используется во время миграции лицензии. Обратитесь в службу поддержки продуктов Microsoft» полезно пользователю при занятом источнике, но само по себе не определяет API, поколение объекта или операцию, удерживающую среду DRM.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.