Что означает код HRESULT 0xC00D36F1 (MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS)?

 
Предыдущий Следующий
MF_E_CANNOT_PARSE_BYTESTREAM MF_E_MEDIAPROC_WRONGSTATE

MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS

Что означает MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS

MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS (0xC00D36F1) — Средству разрешения источника передано взаимоисключающее сочетание флагов.

Ошибка относится к маске dwFlags средства разрешения источника (Source Resolver). Флаги описывают, какой объект должен быть получен и как разрешено повторять распознавание источника; некоторые сочетания противоречат друг другу и отвергаются до обычной работы с медиаданными.

Что проверить и как подтвердить исправление

Запишите маску флагов в шестнадцатеричном виде и разложите каждый бит по имени. Для CreateObjectFromByteStream проверьте прежде всего, не запрошены ли одновременно несовместимые типы результата и не объединены ли два взаимоисключающих режима повторного разрешения.

Исправляйте место, где собирается маска, а не удаляйте случайные флаги до исчезновения HRESULT. После правки тот же вход должен разрешаться с одним однозначным набором требований к средству разрешения источника.

Документация для результата 0xC00D36F1: Source Resolver Flags · CreateObjectFromByteStream · Source Resolver.


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