| Предыдущий | Следующий |
| NS_E_NO_VALID_OUTPUT_STREAM | NS_E_NO_ACTIVE_SOURCEGROUP |
NS_E_NO_VALID_SOURCE_PLUGIN
Где Encoder формирует этот результат
0xC00D1B71 (NS_E_NO_VALID_SOURCE_PLUGIN) указывает на выбор или активация source plug-in, способного открыть настроенный input. Важной диагностической границей является объект Encoder, проверяющий это состояние; более поздний диалог «не удаётся начать кодирование» может скрыть более точный источник.
Расширения source, transform и device-control являются COM plug-ins в сеансе, который возвращает этот результат. На контрольной точке no valid source plugin Encoder должен разобрать CLSID, создать зарегистрированный component, получить ожидаемый interface и убедиться, что plug-in поддерживает выбранный source или transformation.
Что уже успешно выполнено
Даже зарегистрированный class может иметь неподходящую bitness, предоставлять неправильный interface или отклонять запрошенный media type в сеансе, который возвращает этот результат. В показательном случае no valid source plugin после удаления plug-in в.wme остаётся проприетарная URL scheme. Он наблюдение следует проверять на объекте-источнике, а не считать общей ошибкой кодека или операционной системы.
Какое состояние зафиксировать
| Поле | Что сохранить |
|---|---|
| Решающие значения | scheme/extension input, candidate CLSIDs, HRESULTs активации и результаты interface query |
| Объект, вернувший ошибку | текстовое и binary значение CLSID, path и bitness COM registration, DLL path/version/signature, IID запрошенного interface, source scheme или transform name, activation HRESULT и результат access-control |
| Связь с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к этому результату |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с этим результатом |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT |
Как интерпретировать следующее наблюдение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: scheme/extension input, candidate CLSIDs, HRESULTs активации и результаты interface query. Они подтверждают, что выбор или активация source plug-in, способного открыть настроенный input в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют условию этого HRESULT, однако source, драйвер, COM activation или file operation раньше возвращает другой HRESULT. |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу (выбор или активация source plug-in, способного открыть настроенный input), но затем на следующем этапе происходит сбой codec, archive или broadcast sink. |
| Проверка после исправления | Примените одно изолированное изменение: установить или выбрать доверенный source plug-in, которому принадлежат scheme и media type. После этого исходный вызов должен пройти ту же контрольную точку для состояния «выбор или активация source plug-in, способного открыть настроенный input». |
Практическое влияние он ограничен переходом «encoder plug-in discovery and activation», которому принадлежит условие «выбор или активация source plug-in, способного открыть настроенный input». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда после удаления plug-in в.wme остаётся проприетарная URL scheme, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе no valid source plugin.
Контролируемая диагностическая последовательность
- Зафиксируйте
0xC00D1B71, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте scheme/extension input, candidate CLSIDs, HRESULTs активации и результаты interface query. - проверяйте предварительное условие «encoder plug-in discovery and activation», не меняя одновременно source, profile и output sink.
- Проведите одно контролируемое сравнение, изменяя только это условие: установить или выбрать доверенный source plug-in, которому принадлежат scheme и media type.
- После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее недопустимое состояние.
Соседние HRESULT с другим диагностическим смыслом
| Результат | Почему это другая граница |
|---|---|
NS_E_PLUGIN_CLSID_INVALID | разбор и активация class identifier COM plug-in |
NS_E_CODEC_UNAVAILABLE | активация profile, когда один или несколько указанных codecs нельзя создать |
NS_E_TRANSFORM_PLUGIN_NOT_FOUND | lookup или activation не может найти transform plug-in, указанный сеансом |
Исправление на правильном уровне
Целевое исправление — установить или выбрать доверенный source plug-in, которому принадлежат scheme и media type. Повтор имеет смысл только после изменения зафиксированного предварительного условия no valid source plugin.
Не регистрируйте загруженные DLL вслепую; сохраните исходное сопоставление CLSID и проверьте provenance, bitness и поддержку interface в сеансе, который возвращает он.
Технические ссылки
- Получение настроенного входа кодировщика.
- Подготовка source group к кодированию.
- Сохранение конфигурации Windows Media Encoder.
- проверка формата видеокомпрессора ICCompressQuery.
Нужно найти другой код? Найти другой код состояния или ошибки.