| Предыдущий | Следующий |
| NS_E_INVALIDPROFILE | NS_E_OFFLINE_MODE |
NS_E_INCOMPATIBLE_VERSION
Диагностика NS_E_INCOMPATIBLE_VERSION в конвейере Windows Media
Этот результат (0xC00D0BC7) возвращается в содержимому или профилю требуется более новый контракт Windows Media SDK. Код определяет контрольную точку «несовместимая версия Windows Media», поэтому диагностику следует начинать с объекта и операции, которым она принадлежит, а не с общего сброса Player.
Windows Media Format разделяет профиль сжатого потока, необработанный входной формат и декодированный выход reader для состояния «содержимому или профилю требуется более новый контракт Windows Media SDK». Writer затем пакетирует samples, применяет attributes и необязательные расширения data units, поэтому сбой на одной границе не доказывает нечитаемость ASF-контейнера при диагностике «несовместимая версия Windows Media». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Где возникает сбой
К этому моменту компонент уже принял предыдущие предварительные условия, но не может пройти границу: содержимому или профилю требуется более новый контракт Windows Media SDK. Успешное открытие файла, разрешение имени узла или создание COM-объекта не доказывает допустимость этой последующей операции.
Наиболее показательная проверка — повторить тот же вызов с версией SDK и Windows, поддерживающей требуемый контракт, не меняя профиль или содержимое. Если после изменения только этого условия тот же вызов проходит дальше, данные подтверждают рассматриваемую границу. Если нет, вернитесь к первому вложенному результату, не расширяя исправление. Этот результат. Если этого не произошло, вернитесь к первой вложенной ошибке, а не расширяйте область исправлений в диагностической записи несовместимой версии.
Данные профиля и образца
| Зафиксируйте | Как это помогает выделить этот результат |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, thread или callback и временную метку этой контрольной точки. |
| Решающие значения | объект reader или writer, номера потока и входа, идентификатор профиля, временные метки samples, длины буферов и первый callback или вызов SDK, вернувший код |
| Поколение объекта | Отметьте время создания reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может повторно вызвать он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний status codec, COM, socket, DNS, parser или provider до него; более поздние сообщения UI менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку, и изменяйте только отклонённое предварительное условие. |
Контролируемая проверка формата мультимедиа
- Запишите
0xC00D0BC7, он, точную операцию и время первого сбоя. - Сохраните объект reader или writer, номера stream и input, идентичность profile, timestamps samples, длины buffers и первый callback либо вызов SDK, вернувший код, в диагностической записи несовместимой версии.
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса для состояния «содержимому или профилю требуется более новый контракт Windows Media SDK».
- Выполните один изолированный тест: откройте то же содержимое с минимальной конфигурацией reader или writer и добавляйте спорную опцию только после успешного baseline на контрольной точке несовместимой версии.
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только как сравнение и не доказывают исправление исходной границы для состояния «содержимому или профилю требуется более новый контракт Windows Media SDK».
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT как отдельный downstream result при проверке «содержимому или профилю требуется более новый контракт Windows Media SDK».
Как интерпретировать следующий HRESULT
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, управляющие проверкой media format на несовместимую версию, не изменились либо caller всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Граница проверки media format на несовместимую версию пройдена. Диагностируйте новый код на его собственной стадии format, graph, URL, network или metadata. |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий outage для состояния «содержимому или профилю требуется более новый контракт Windows Media SDK». |
Близкие результаты не взаимозаменяемы
Основное различие: Он относится к обработке format, profile или sample, а не только к разрешению имени файла или network при трассировке несовместимой версии.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_VIDEO_CODEC_ERROR | Сравните ответственный API и первое отклонённое значение: соседний HRESULT относится к другой контрольной точке и не обязан иметь ту же причину, что он. |
NS_E_INVALIDPROFILE | Используйте состояние объекта и порядок операций, чтобы определить исходный код, если оба появляются в одной трассировке. |
NS_E_OFFLINE_MODE | Сохраните он отдельно, если он появляется только после устранения условия он. |
Действия, вводящие в заблуждение
- не меняйте одновременно несколько параметров profile и codec: это скрывает первое несовместимое поле.
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте credentials, материалы protected content или полные private URL. Записывайте только обезличенные identifiers, lengths, hashes и необходимые protocol fields.
Технические ссылки
- Обзор Windows Media Format SDK
- Входные, потоковые и выходные форматы
- Профили
- Объекты Windows Media SDK
- Реестр HRESULT Microsoft
Завершайте диагностику только после того, как исходная операция он успешно выполняется на актуальном объекте и наблюдается ожидаемое следующее состояние.
Нужно найти другой код? Найти другой код состояния или ошибки.