Что означает код HRESULT 0xC00D106C (NS_E_ASX_NOTHING_TO_WRITE)?

 
Предыдущий Следующий
NS_E_ASX_INVALID_REPEAT_BLOCK NS_E_URLLIST_INVALIDFORMAT

NS_E_ASX_NOTHING_TO_WRITE

Что означает NS_E_ASX_NOTHING_TO_WRITE в списке воспроизведения Windows Media

NS_E_ASX_NOTHING_TO_WRITE (0xC00D106C) возвращается, когда сериализатору предложено сохранить список воспроизведения ASX, не содержащий элементов, пригодных для сериализации.

Для NS_E_ASX_NOTHING_TO_WRITE различайте состояние объекта Playlist в памяти, разбор WPL или ASX, раскрытие вложенных списков, разрешение объектов Media и выполнение элементов, на которые имеются ссылки. Здесь решающая граница состоит в том, что сериализатору предложено сохранить список воспроизведения ASX, не содержащий элементов, пригодных для сериализации. NS_E_ASX_NOTHING_TO_WRITE наиболее полезна как контрольная точка Player, а не как рекомендация всё переустановить.

Граница списка воспроизведения

AllStat уже предоставляет стандартное пользовательское описание NS_E_ASX_NOTHING_TO_WRITE; этот специальный блок вместо этого выделяет дополнительную техническую границу. Успешный поиск файла, сетевое подключение, создание анализатора или построение графа на более ранней стадии не доказывает допустимость последующей операции NS_E_ASX_NOTHING_TO_WRITE.

Контрольная точка этого случая: число элементов списка, типы элементов, временные записи, неразрешённые объекты Media и выходной путь. Контролируемое сравнение для NS_E_ASX_NOTHING_TO_WRITE: добавьте один локальный элемент Media в новый объект Playlist и сохраните его в новый доступный для записи файл.

Ближайшее различие: NS_E_WMX_PLAYLIST_EMPTY может запретить действие над пустым рабочим списком, даже если сериализация не запрашивалась.

Данные модели списка

Что сохранитьПочему это важно для NS_E_ASX_NOTHING_TO_WRITE
Объект или ресурсчисло элементов списка, типы элементов, временные записи, неразрешённые объекты Media и выходной путь
Снимок состоянияЗафиксируйте openState/playState Player или фазу операции, идентификатор объекта и точную временную метку возврата NS_E_ASX_NOTHING_TO_WRITE.
Первый результат нижнего уровняСохраните самый ранний результат Win32, Winsock, COM, анализатора, кодека, DRM или устройства, появившийся до NS_E_ASX_NOTHING_TO_WRITE.
Запись для сравненияДля NS_E_ASX_NOTHING_TO_WRITE используйте один заведомо рабочий случай, проходящий тот же путь API, протокола и компонента с изменением только отклонённого предварительного условия.

Минимальный эксперимент со списком воспроизведения

  1. Зафиксируйте 0xC00D106C, NS_E_ASX_NOTHING_TO_WRITE, точный метод или команду и время первого сбоя.
  2. Сохраните число элементов списка, типы элементов, временные записи, неразрешённые объекты Media и выходной путь.
  3. Выполните одно изолированное сравнение: добавьте один локальный элемент Media в новый объект Playlist и сохраните его в новый доступный для записи файл.
  4. Повторите исходный путь Player после NS_E_ASX_NOTHING_TO_WRITE и сохраните любой новый HRESULT как последующий результат.
  5. Для NS_E_ASX_NOTHING_TO_WRITE подтвердите ожидаемый переход состояния, а не только исчезновение диалогового окна.

Что означает результат

Результат повторной проверкиТолкование
Тот же NS_E_ASX_NOTHING_TO_WRITE на том же объектеДля NS_E_ASX_NOTHING_TO_WRITE определяющее состояние или значение не изменилось либо вызывающая сторона повторно использует объект, созданный до соответствующего изменения.
Новый объект работает успешноВремя жизни, кэшированная конфигурация или устаревшее состояние списка воспроизведения или графа способствовали NS_E_ASX_NOTHING_TO_WRITE.
Появился более поздний HRESULTОтклонённое условие — сериализатору предложено сохранить список воспроизведения ASX без элементов, пригодных для сериализации, — устранено для NS_E_ASX_NOTHING_TO_WRITE; диагностируйте новый код на его собственном уровне.
Для NS_E_ASX_NOTHING_TO_WRITE не работает только один элемент или конечная точкаДля NS_E_ASX_NOTHING_TO_WRITE данные указывают на состояние конкретного ресурса, прав, маршрутизации или устройства, а не на общий сбой Player.

Действия, скрывающие причину

  • создание пустого файла назначения до вызова save.
  • Не стирайте данные о первом появлении NS_E_ASX_NOTHING_TO_WRITE многократными вызовами Play, open, save или retry; более поздние события могут заменить исходное состояние.
  • Для NS_E_ASX_NOTHING_TO_WRITE не публикуйте учётные данные, закрытые URL, лицензионные материалы или полные заголовки защищённого содержимого; сохраняйте только обезличенные идентификаторы, длины, хэши и поля протокола.

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

Закрывайте NS_E_ASX_NOTHING_TO_WRITE только после того, как исходная операция пройдёт эту границу и достигнет ожидаемого следующего состояния Player.


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