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