Что означает код HRESULT 0xC00D1520 (NS_E_PUSH_DUPLICATE_PUBLISHING_POINT_NAME)?

 
Предыдущий Следующий
NS_E_HEADER_MISMATCH NS_E_NO_SCRIPT_ENGINE

NS_E_PUSH_DUPLICATE_PUBLISHING_POINT_NAME

Диагностика NS_E_PUSH_DUPLICATE_PUBLISHING_POINT_NAME — диагностика в Windows Media Services

Где находится граница

Этот результат (0xC00D1520) обозначает при настройке push-передачи предпринимается попытка создать точку публикации с допустимым именем, которое уже существует. Хотя внешним симптомом может быть прерванное воспроизведение, этот HRESULT возникает на административном этапе или на этапе распространения.

Серверный путь распространения соединяет источник данных, анализатор, заголовок мультимедиа и один или несколько приёмников данных. Когда возвращается этот результат, push-публикация добавляет управляющий путь от кодировщика к серверу, а доставка клиенту использует отдельный протокол и состояние соединения. В трассировке он исследуйте вход и выход независимо: выбор источника, разбор и создание заголовка, а также выбор приёмника являются отдельными контрольными точками. Решающий вопрос — соответствуют ли текущий объект и его значения этой границе; базовое описание AllStat само по себе не показывает поколение объекта, выбранный подключаемый модуль или исходный сбой нижнего уровня.

Структура сбоя для этого кода

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

Полезный отрицательный контроль — использовать существующую push-точку публикации либо выбрать уникальное имя после перечисления коллекции. Если после этого тот же вызов с этим результатом проходит дальше, результат подтверждает эту границу. Если он сохраняется, вернитесь к первому событию нижнего уровня, не расширяя восстановительные действия.

Соблазнительное, но ошибочное действие — изменить только регистр букв, не проверив правила сравнения имён сервером. Оно не проверяет существенное здесь различие: недопустимое имя точки публикации означает синтаксическую ошибку; дублирующееся имя синтаксически допустимо, но конфликтует с существующим объектом. По этой же причине система мониторинга должна сохранять символическое имя, а не только общую ошибку COM.

Данные, отделяющие этот код

ДанныеПочему это важно для него
Решающее состояниезапрошенное имя, тип и путь существующей точки, шаблон Encoder и гонку при создании
Ответственный объектЗафиксируйте сервер, точку публикации, список воспроизведения, узел пространства имён, подключаемый модуль или элемент кэша, вернувший он, включая время его создания или последнего перезапуска.
Первый нижележащий результатСохраните самое раннее событие Win32, сокета, COM, анализатора или подключаемого модуля до HRESULT; последующие оболочки могут сопоставить несколько причин с ним.
Контролируемое сравнениеИспользуйте заведомо исправный объект того же типа и изменяйте только предусловие, описанное как «настройка push-публикации пытается создать точку публикации с допустимым именем, которое уже существует».
Конфиденциальные данныеПо возможности записывайте идентификаторы, длины, хэши и обезличенные URL; не публикуйте пароли, файлы авторизации или открытые клиентские данные.

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

  1. Зафиксируйте 0xC00D1520, он, точное действие API или административную операцию и время первого сбоя.
  2. Сохраните запрошенное имя, тип и путь существующей точки, шаблон Encoder и гонку при создании.
  3. Убедитесь, что объект по-прежнему относится к текущему поколению WMServer, точки публикации или представления.
  4. Проведите один изолированный эксперимент: используйте нужную существующую push-точку публикации либо выберите уникальное имя после перечисления коллекции.
  5. Повторите исходную операцию он через тот же протокол и под той же учётной записью службы; не подменяйте её другим тестом на стороне клиента.
  6. после него проверьте ожидаемое следующее состояние и сохраните любой последующий HRESULT как отдельный результат конвейера.

После исправления сохраните событие сервера и состояние объекта, чтобы последующий HRESULT не был ошибочно принят за повтор этой же причины.

Сравнение с соседними состояниями

Основное различие: недопустимое имя точки публикации означает синтаксическую ошибку; дублирующееся имя синтаксически допустимо, но конфликтует с существующим объектом.

Близкий результатДругая контрольная точка
NS_E_DATAPATH_NO_SINKСравните его собственную символическую границу и первый сбойный вызов; он нельзя автоматически объединять с ним.
NS_E_HEADER_MISMATCHПо отношению к нему этот соседний результат относится к другому состоянию или ветви проверки, даже если видимый пользователю симптом похож.
NS_E_INVALID_PUSH_TEMPLATEИспользуйте тип объекта и последовательность операций, чтобы определить, какой результат является первичным.

Результаты проверки

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

Изменения, которые не доказывают причину

  • изменение только регистра букв без проверки правил сравнения имён сервером.
  • Не стирайте первый HRESULT многократными нажатиями «Применить»: последующие вызовы могут заменить сведения об ошибке потока и скрыть компонент, отклонивший операцию.
  • Не подавляйте он и не заменяйте его общим сообщением «ошибка медиасервера»; сохраняйте в телеметрии символический код и операцию, которая его вернула.

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

Завершайте диагностику только после того, как он перестанет возвращаться на актуальном объекте и будет подтверждено ожидаемое следующее состояние.


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