| Предыдущий | Следующий |
| NS_S_DRM_ACQUIRE_CANCELLED | NS_S_DRM_BURNABLE_TRACK_WITH_PLAYLIST_RESTRICTION |
NS_S_DRM_BURNABLE_TRACK
DRM-дорожку можно записать без ограничения на число записей списка воспроизведения
NS_S_DRM_BURNABLE_TRACK — это HRESULT 862062 (0x000D276E) Windows Media. В AllStat он описан как «дорожку можно записать, и для неё не установлено ограничение на число записей списка воспроизведения». В автомате состояний Windows Media Player, Windows Media Format, DRM или Media Foundation это значение обозначает успешное, но содержательно значимое состояние, которое нельзя сводить к обычному S_OK.
Состояние Этот статус нужно сохранять до тех пор, пока не обработаны относящиеся именно к этому коду выходные данные и следующее действие.
Где встречается этот статус
- Этот статус может появляться в callbacks библиотеки, playlist, store или UI plug-in Windows Media Player; фиксируйте точный API, объект и фазу, поскольку одинаковая числовая severity успеха не определяет состояние сама по себе.
- Этот статус может появляться при операциях source, writer, DRM, publishing point или установки Windows Media Format; фиксируйте точный API, объект и фазу, поскольку одинаковая числовая severity успеха не определяет состояние сама по себе.
- Этот статус может появляться при активации topology Media Foundation и настройке удалённых компонентов; фиксируйте точный API, объект и фазу, поскольку одинаковая числовая severity успеха не определяет состояние сама по себе.
Сохраняйте этот статус привязанным к операции, которая его вернула. Интерпретация этого статуса вне контракта этого API может превратить нормальное продолжение или частичный результат в ошибочный повтор либо ложное завершение.
Что должно быть истинно перед принятием результата
Даже при отсутствии ограничения по числу списков воспроизведения проверьте остальные права на запись, ограничения носителя и требования к целевому устройству. Вызывающая сторона должна отклонить NS_S_DRM_BURNABLE_TRACK , если выходные данные и состояние не соответствуют зафиксированному условию.
Для этого статуса также убедитесь, что возвращённые данные относятся к текущему поколению операции, а не унаследованы от предыдущей попытки.
Данные и телеметрия
- Для этого состояния сохраните идентификатор содержимого.
- Сохраните результат проверки права на запись.
- Сохраните результат проверки ограничения списка воспроизведения.
- Сохраните целевое устройство и носитель.
- Сохраните идентификатор элемента плана записи.
Для этого статуса также зафиксируйте время UTC, идентификаторы процесса и потока, версию компонента, поколение операции и correlation ID. Не помещайте чувствительное содержимое в журналы; используйте длины, хэши, GUID и разрешённые политикой метаданные.
Последовательность диагностики
- Зафиксируйте исходные
0x000D276EиNS_S_DRM_BURNABLE_TRACKдо того, как исключения, знаковое форматирование или общая оболочка успеха удалят символическое значение. - Определите интерфейс, метод, callback, службу, драйвер или broker, вернувший этот статусвключая версию компонента, процесс, поток и correlation ID.
- Докажите решающее условие для этого статуса : остальные права на запись, ограничения носителя и проверки целевого устройства должны успешно выполняться, даже если ограничение по числу списков воспроизведения отсутствует.
- Для этого статуса проверьте каждый выходной параметр, счётчик, дескриптор объекта, callback, элемент очереди, media item, отчёт, транзакцию, элемент topology или signaling response, созданные вызовом.
- Сравните состояние непосредственно до и после этого статуса и убедитесь, что владение, время жизни, сохранение и видимые пользователю эффекты соответствуют статусу.
- Воспроизведите этот статус на минимальном входе, затем измените только предполагаемую причину и убедитесь, что возвращаемое значение или постусловие изменилось ожидаемым образом.
Правильная обработка и восстановление
Разрешите включить дорожку в план записи, сохраните подтверждение проверки прав и продолжайте применять ограничения ёмкости, формата и устройства. Отсутствие ограничения на список воспроизведения не означает разрешения на неограниченное распространение.
Не запускайте для этого статуса неизменяемый плотный цикл повторных попыток: он может дублировать побочные эффекты или скрыть конечное состояние.
Отличие от соседних результатов
Связанный ограниченный вариант тоже разрешает запись, но устанавливает предел для списка воспроизведения; данное состояние означает, что такого ограничения нет.
Различие для этого статуса должен быть явно представлен в потоке управления, классификации телеметрии и пользовательских сообщениях.
Практический сценарий
Планировщик записи проверяет защищённую дорожку и включает её в план после проверки совместимости устройства и свободной ёмкости диска.
Регрессионный тест должен воспроизвести этот статус, проверить все соответствующие выходные данные и состояние, затем измените только решающее условие и убедитесь в обычном завершении или ожидаемом соседнем результате.
Рекомендации разработчикам и администраторам
Обрабатывайте этот статус отдельной ветвью до обычного SUCCEEDED(hr) , если допустимость результата или следующий метод отличаются. В телеметрии сохраняйте 0x000D276E, метод NS_S_DRM_BURNABLE_TRACK , сборку компонента и идентификатор корреляции.
При обработке этого статуса администратор должен менять только тот компонент или политику, на которые указывают собранные данные. Явно определите, кто отвечает за продолжение, отмену, очистку, резервный путь и сообщение пользователю для этого статуса.
Ссылки
- Microsoft: коды ошибок и успешных результатов Windows Media Format SDK — официальный материал Microsoft, относящийся к этому статусу.
- Microsoft: Windows Media Player SDK — официальный материал Microsoft, относящийся к этому статусу.
- Microsoft: Media Foundation SDK — официальный материал Microsoft, относящийся к этому статусу.
- Microsoft: значения HRESULT — официальный материал Microsoft, относящийся к этому статусу.
Нужно найти другой код? Найти другой код состояния или ошибки.
