Что означает код HRESULT 0xC00D1BA6 (NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED)?

 
Предыдущий Следующий
NS_E_ACTIVE_SG_DEVICE_DISCONNECTED NS_E_NO_FRAMES_SUBMITTED_TO_ANALYZER

NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED

Диагностический смысл помимо стандартного текста

Для NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED (0xC00D1BA6) значимым событием является отключение управляющего устройства активной группы источников во время захвата. Сохраните связь границы, вернувшей NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED, с исходным обратным вызовом Encoder или вызовом COM.

Почему сеанс может дойти до этой точки

Управление устройствами Windows Media Encoder координирует источник захвата с подключаемым модулем управления, транспортом ленты, отметками начала и конца и списком монтажных решений в сеансе, который возвращает NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED. В контрольной точке отключение управления активным устройством SG устройство захвата и управляющее устройство должны относиться к одному работоспособному аппаратному пути.

Видеозахват может оставаться доступным, когда отдельный подключаемый модуль управления теряет контроль над транспортом, поэтому сбой управления устройством не обязательно означает ошибку формата захвата в сеансе, который возвращает NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED. Один конкретный способ возникновения условия: интерфейс управления DV-декой исчезает, пока её видеопоток ещё некоторое время остаётся доступным. Поэтому при проверке NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED нужно сохранить поколение объекта и числовые параметры, а не только снимок итогового диалогового окна.

Поля трассировки, имеющие диагностическую ценность

ПолеЧто сохранить
Решающие значенияидентификатор управляющего устройства, состояние подключаемого модуля, событие транспорта и состояние устройства захвата
Объект, вернувший ошибкуCLSID подключаемого модуля управления, идентификатор управляемого устройства, состояние транспорта, наличие ленты, число записей EDL, значения отметок начала и конца, результат позиционирования, привязка группы источников и событие отключения
Связь с сеансомто же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменён только параметр, указанный границей отключение управления активным устройством SG

Матрица решений

НаблюдениеКак его интерпретировать
Наблюдение подтверждает этот результатРешающими данными являются идентификатор управляющего устройства, состояние подключаемого модуля, событие транспорта и состояние устройства захвата. Они подтверждают отключение управляющего устройства активной группы источников во время захвата в том же поколении объекта.
Наблюдение указывает на более ранний сбойЗафиксированные значения удовлетворяют правилу отключение управления активным устройством SG, но источник, драйвер, активация COM или файловая операция раньше возвращает другой HRESULT.
Наблюдение указывает на более поздний сбойEncoder проходит эту границу — отключение управляющего устройства активной группы источников во время захвата, — но затем на следующей стадии происходит сбой кодека, архива или приёмника трансляции.
Проверка после исправленияВнесите одно изолированное изменение: остановите захват с управлением устройством и перед возобновлением повторно подключите либо замените управляющий путь. После этого исходный вызов отключение управления активным устройством SG должен пройти ту же контрольную точку.

Практическое влияние NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED ограничено переходом управления ленточным устройством и списками монтажных решений, которому принадлежит отключение управляющего устройства активной группы источников во время захвата. Само по себе NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В показательном случае, когда интерфейс управления DV-декой исчезает, а её видеопоток ещё кратковременно доступен, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные отключение управления активным устройством SG.

Путь принятия решения

  1. Зафиксируйте 0xC00D1BA6, NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx, затем сохраните идентификатор управляющего устройства, состояние подключаемого модуля, событие транспорта и состояние устройства захвата.
  3. Для NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED проверьте предварительное условие управления ленточным устройством и списков монтажных решений, не меняя одновременно источник, профиль и выходной приёмник.
  4. Выполните одно контролируемое сравнение, изменив только это условие: остановите захват с управлением устройством и перед возобновлением повторно подключите либо замените управляющий путь.
  5. После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий граф отбросил прежнее состояние отключение управления активным устройством SG.

Коды с похожими симптомами, но другими владельцами

РезультатПочему это другая граница
NS_E_TOO_MANY_DEVICECONTROLодним и тем же устройством кодирования пытаются управлять несколько подключаемых модулей
NS_E_END_OF_TAPEтранспорт достигает записанного конца ленты либо пригодная лента отсутствует
NS_E_DEVCONTROL_FAILED_SEEKподключаемый модуль управления устройством не может установить ленту на запрошенную отметку начала EDL

Безопасное восстановление

Устраните условие, вызвавшее ошибку: остановите захват с управлением устройством и перед возобновлением повторно подключите либо замените управляющий путь. Затем перестройте только ту часть графа Encoder, которая затронута NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED, и повторите исходный вызов.

Не перематывайте, не извлекайте и не перезаписывайте ленту до фиксации сбойной записи EDL и текущего временного кода: это изменит данные, используемые для воспроизведения ошибки позиционирования или конца ленты в сеансе, возвращающем NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED.

Исходные материалы для NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED


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