| Предыдущий | Следующий |
| NS_E_ARCHIVE_ABORT_DUE_TO_BCAST | NS_E_AUTHORIZATION_FILE_NOT_FOUND |
NS_E_ARCHIVE_GAP_DETECTED
NS_E_ARCHIVE_GAP_DETECTED: ответственный объект, данные и восстановление
Что проверяет сервер
NS_E_ARCHIVE_GAP_DETECTED (0xC00D158F) отмечает ситуацию, когда архиватор обнаружил разрыв непрерывности входящего источника. Хотя видимым симптомом NS_E_ARCHIVE_GAP_DETECTED может быть прерывание воспроизведения, этот HRESULT формируется в административной точке или точке распространения.
Для NS_E_ARCHIVE_GAP_DETECTED административные и системные подключаемые модули проверяют конкретные свойства до привязки сокетов, записи журналов, загрузки удалённых данных или архивации потока. Когда возвращается NS_E_ARCHIVE_GAP_DETECTED, сбой на этом уровне следует диагностировать по конфигурации подключаемого модуля и его первому результату нижнего уровня. В трассировке NS_E_ARCHIVE_GAP_DETECTED экспортируйте точные значения свойств подключаемого модуля и зафиксируйте идентификатор службы. При диагностике NS_E_ARCHIVE_GAP_DETECTED один только текст MMC может скрыть область привязки, нормализованные URL или унаследованные значения по умолчанию. Для NS_E_ARCHIVE_GAP_DETECTED решающий вопрос состоит в том, соответствуют ли живой объект и значения этой границе; базовое описание AllStat само по себе не показывает поколение объекта, выбранный подключаемый модуль или сбой нижнего уровня.
Интерпретация повторной проверки
| Наблюдение при повторной проверке | Толкование |
|---|---|
Тот же вызов по-прежнему возвращает NS_E_ARCHIVE_GAP_DETECTED | Для NS_E_ARCHIVE_GAP_DETECTED отклонённое предварительное условие не изменилось либо вызывающая сторона всё ещё использует старое поколение объекта или конфигурации. |
| Операция продвигается дальше и появляется более поздний код | Граница NS_E_ARCHIVE_GAP_DETECTED пройдена. После NS_E_ARCHIVE_GAP_DETECTED диагностируйте новый код на его собственной стадии источника, анализатора, приёмника, сети или клиента. |
| Новый объект работает, а сохранённый — нет | Для NS_E_ARCHIVE_GAP_DETECTED время жизни объекта или устаревший контекст являются частью инцидента; исправьте управление жизненным циклом вместо восстановления всего компьютера. |
| Сбой возникает только у одной точки публикации, списка воспроизведения, ключа кэша или подключаемого модуля | Для NS_E_ARCHIVE_GAP_DETECTED данные указывают на конфигурацию или содержимое конкретного объекта, а не на общий сбой сервера. |
Структура сбоя, специфичная для кода
В типичном инциденте NS_E_ARCHIVE_GAP_DETECTED сервер достигает границы, где архиватор обнаружил разрыв непрерывности входящего источника, и отклоняет операцию до того, как вызывающая сторона может безопасно считать следующую стадию выполненной. Поэтому запись об инциденте должна связывать временные метки архива, последовательность пакетов или образцов, события повторного подключения источника, состояние кодировщика и продолжительность разрыва с поколением объекта и точным административным или протокольным запросом.
Полезная отрицательная проверка — стабилизировать источник либо намеренно разделять архивы в точках разрыва, а затем проверить непрерывность временных меток. Если это изменение позволяет тому же вызову NS_E_ARCHIVE_GAP_DETECTED продвинуться дальше, результат подтверждает эту границу. Если NS_E_ARCHIVE_GAP_DETECTED сохраняется, вернитесь к первому событию нижнего уровня, не расширяя восстановительные действия.
Привлекательная, но вводящая в заблуждение реакция — исправлять только имя выходного файла, пока источник продолжает пропадать или перезапускаться. Такое действие не проверяет важное здесь различие: прерывание из-за вещания означает несовместимость режимов, а обнаружен разрыв — потерю непрерывности во время активной архивации. Для NS_E_ARCHIVE_GAP_DETECTED это различие также объясняет, почему мониторинг должен сохранять символьное имя, а не только общий сбой COM.
Данные, отделяющие этот код
| Данные | Почему они важны для NS_E_ARCHIVE_GAP_DETECTED |
|---|---|
| Решающее состояние | временные метки архива, последовательность пакетов или образцов, события повторного подключения источника, состояние кодировщика и продолжительность разрыва. |
| Ответственный объект | Зафиксируйте сервер, точку публикации, список воспроизведения, узел пространства имён, подключаемый модуль или элемент кэша, вернувший NS_E_ARCHIVE_GAP_DETECTED, включая время его создания или перезапуска. |
| Первый результат нижнего уровня | Сохраните самое раннее событие Win32, сокета, COM, анализатора или подключаемого модуля до HRESULT; более поздние оболочки могут сопоставить несколько причин с NS_E_ARCHIVE_GAP_DETECTED. |
| Контролируемое сравнение | Используйте заведомо рабочий объект того же типа и измените только предварительное условие, описанное как «архиватор обнаружил разрыв непрерывности входящего источника». |
| Конфиденциальные данные | Для NS_E_ARCHIVE_GAP_DETECTED по возможности записывайте идентификаторы, длины, хэши и обезличенные URL; не публикуйте пароли, файлы авторизации или неограниченные клиентские данные. |
Минимальный полезный эксперимент
- Зафиксируйте
0xC00D158F,NS_E_ARCHIVE_GAP_DETECTED, точное действие API или администрирования и временную метку первого сбоя. - Сохраните временные метки архива, последовательность пакетов или образцов, события повторного подключения источника, состояние кодировщика и продолжительность разрыва.
- Для
NS_E_ARCHIVE_GAP_DETECTEDподтвердите, что объект по-прежнему относится к текущему поколению WMServer, точки публикации или презентации. - Выполните один изолированный эксперимент: стабилизируйте источник либо намеренно разделите архивы в точках разрыва, а затем проверьте непрерывность временных меток.
- Повторите исходную операцию
NS_E_ARCHIVE_GAP_DETECTEDчерез тот же протокол и от имени той же службы; не заменяйте её другим клиентским тестом. - После
NS_E_ARCHIVE_GAP_DETECTEDпроверьте ожидаемое следующее состояние и сохраните любой более поздний HRESULT как отдельный результат конвейера.
Для NS_E_ARCHIVE_GAP_DETECTED успех означает, что та же операция проходит эту контрольную точку и создаёт ожидаемое следующее состояние, а не просто исчезновение символьного кода.
Сравнение с соседними состояниями
Главное различие: прерывание из-за вещания означает несовместимость режимов, а обнаружен разрыв — потерю непрерывности во время активной архивации.
| Соседний результат | Другая контрольная точка |
|---|---|
NS_E_AUTHORIZATION_FILE_NOT_FOUND | Сравнивайте его собственную символьную границу и первый сбойный вызов; его нельзя автоматически объединять с NS_E_ARCHIVE_GAP_DETECTED. |
NS_E_ARCHIVE_ABORT_DUE_TO_BCAST | По отношению к NS_E_ARCHIVE_GAP_DETECTED этот соседний результат относится к другому состоянию или ветви проверки, даже если видимый пользователю симптом похож. |
NS_E_WIZARD_RUNNING | Для NS_E_ARCHIVE_GAP_DETECTED используйте тип объекта и последовательность операций, чтобы определить авторитетный результат. |
Изменения, не устанавливающие причину
- исправление только имени выходного файла, пока источник продолжает пропадать или перезапускаться.
- Для
NS_E_ARCHIVE_GAP_DETECTEDполная переустановка особенно слабо подтверждает причину, поскольку меняет множество не связанных компонентов и не объясняет отклонённое серверное предварительное условие. - Не подавляйте
NS_E_ARCHIVE_GAP_DETECTEDи не заменяйте его общей «ошибкой медиасервера»; сохраняйте в телеметрии символьный код и ответственную операцию.
Технические ссылки
- Программирование свойств системных подключаемых модулей
- Подключаемый модуль загрузки HTTP
- Свойства подключаемого модуля журналирования клиентов WMS
- Свойства подключаемого модуля WMS Archive Data Writer
- Реестр HRESULT Microsoft
Закрывайте инцидент только после того, как NS_E_ARCHIVE_GAP_DETECTED перестанет возникать на актуальном объекте.
Нужно найти другой код? Найти другой код состояния или ошибки.