| Предыдущий | Следующий |
| NS_E_PLAYLIST_END_RECEDING | NS_E_INVALID_PUSH_TEMPLATE |
NS_E_DATAPATH_NO_SINK
Серверное значение NS_E_DATAPATH_NO_SINK
Что проверяет сервер
Этот результат (0xC00D1518) отмечает условие: в построенном пути данных нет объекта записи, способного принимать его пакеты. Видимым симптомом может быть прерванное воспроизведение, но этот HRESULT формируется на административной границе или границе распространения данных.
Серверный путь распространения соединяет источник данных, анализатор, заголовок мультимедиа и один или несколько приёмников данных. Когда возвращается этот результат, публикация методом push добавляет управляющий путь от кодировщика к серверу, а доставка клиенту использует отдельный протокол и состояние соединения. В трассировке он исследуйте вход и выход независимо: выбор источника, разбор и создание заголовка, а также выбор приёмника являются отдельными контрольными точками. Решающий вопрос состоит в том, соответствуют ли текущий объект и значения этой границе; базовое описание AllStat само по себе не показывает поколение объекта, выбранный подключаемый модуль или сбой нижнего уровня.
Контролируемое исправление
- Зафиксируйте
0xC00D1518, этот результат, точное действие API или администратора и время первого сбоя. - Сохраните источник данных, анализатор, объект пути данных, коллекции приёмников широковещательной и одноадресной передачи и их состояния включения.
- Убедитесь, что объект по-прежнему принадлежит текущему поколению WMServer, точки публикации или представления.
- Выполните один изолированный эксперимент: включите или подключите правильный объект записи данных и перестройте путь данных до запуска доставки.
- Повторите исходную операцию этот результат через тот же протокол и под той же учётной записью службы; не подменяйте её другим тестом на стороне клиента.
- после него подтвердите ожидаемое следующее состояние и сохраните любой последующий HRESULT как отдельный результат конвейера.
В автоматических тестах проверяйте как HRESULT, так и итоговое состояние точки публикации, списка воспроизведения, подключаемого модуля или архива.
Характер сбоя для этого кода
В типичном инциденте он сервер достигает состояния, в котором построенный путь данных не содержит объекта записи, способного принимать его пакеты, и отклоняет операцию до того, как вызывающий код может безопасно предполагать выполнение следующей стадии. Поэтому запись инцидента должна связывать источник данных, анализатор, объект пути данных, коллекции приёмников широковещательной и одноадресной передачи и их состояния включения с поколением объекта и точным административным или протокольным запросом.
Полезный отрицательный контроль — включить или подключить правильный объект записи данных и перестроить путь данных до запуска доставки. Если это изменение позволяет тому же вызову он пройти дальше, результат подтверждает эту границу. Если он сохраняется, вернитесь к первому событию нижнего уровня, а не расширяйте область исправления.
Соблазнительное, но неверное действие — изменить учётные данные источника: пакетам по-прежнему некуда поступать. Такой тест не проверяет важное здесь различие: отсутствие подключаемого модуля источника является ошибкой выбора на входной стороне. Это различие также объясняет, почему мониторинг должен сохранять символьное имя, а не только общую ошибку COM.
Данные, отделяющие этот код
| Данные | Почему они важны для него |
|---|---|
| Решающее состояние | источник данных, анализатор, объект пути данных, коллекции приёмников широковещательной и одноадресной передачи и их состояния включения. |
| Ответственный объект | Запишите сервер, точку публикации, список воспроизведения, узел пространства имён, подключаемый модуль или элемент кэша, вернувший он, включая время его создания или перезапуска. |
| Первый результат нижнего уровня | Сохраните самое раннее событие Win32, сокета, COM, анализатора или подключаемого модуля до HRESULT; последующие оболочки могут сопоставить несколько причин с ним. |
| Контролируемое сравнение | Используйте заведомо исправный объект того же типа и изменяйте только предусловие «в построенном пути данных нет объекта записи, способного принимать его пакеты». |
| Конфиденциальные данные | По возможности записывайте идентификаторы, длины, хэши и обезличенные URL; не публикуйте пароли, файлы авторизации или неограниченные клиентские данные. |
Результаты проверки
| Наблюдение при повторной проверке | Интерпретация |
|---|---|
| Тот же вызов по-прежнему возвращает он | Отклонённое предусловие не изменилось либо вызывающий код по-прежнему использует старое поколение объекта или конфигурации. |
| Операция проходит дальше и появляется более поздний код | Эта граница устранена. после него диагностируйте новый код на его собственной стадии источника, анализатора, приёмника, сети или клиента. |
| Новый объект работает, а сохранённый — нет | Частью инцидента является время жизни объекта или устаревший контекст; исправьте обработку жизненного цикла вместо изменений всей системы. |
| Сбой возникает только для одной точки публикации, списка, ключа кэша или подключаемого модуля | Данные указывают на конфигурацию или содержимое конкретного объекта, а не на отказ всего сервера. |
Изменения, не устанавливающие причину
- изменение учётных данных источника: пакетам по-прежнему некуда поступать.
- Не изменяйте в одном тесте точку публикации, протокол, содержимое и набор подключаемых модулей. При возврате он такой тест не покажет, какое предусловие устранило код.
- Не подавляйте он и не заменяйте её общей «ошибкой медиасервера»; сохраняйте символьный код и ответственную операцию в телеметрии.
Сравнение с соседними состояниями
Главное различие: отсутствие подключаемого модуля источника является ошибкой выбора на входной стороне.
| Близкий результат | Другая контрольная точка |
|---|---|
NS_E_INVALID_PUSH_TEMPLATE | Сравните его собственную символьную границу и первый сбойный вызов; его нельзя автоматически объединять с ним. |
NS_E_PUSH_DUPLICATE_PUBLISHING_POINT_NAME | По отношению к нему этот соседний результат относится к другому состоянию или ветви проверки, даже если видимый пользователю симптом похож. |
NS_E_INVALID_PUSH_PUBLISHING_POINT | Используйте тип объекта и последовательность операций, чтобы определить, какой результат является определяющим. |
Технические источники
- Пакет SDK Windows Media Services 9 Series
- Отправка данных ASF в точку публикации
- Сводка протоколов сервера потоковой передачи мультимедиа
- Реестр HRESULT Microsoft
Закрывайте инцидент только после устранения он на текущем объекте.
Нужно найти другой код? Найти другой код состояния или ошибки.