Что означает код HRESULT 0xC00D36E3 (MF_E_BAD_STARTUP_VERSION)?

 
Предыдущий Следующий
MF_E_INVALID_KEY MF_E_UNSUPPORTED_CAPTION

MF_E_BAD_STARTUP_VERSION

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

MF_E_BAD_STARTUP_VERSION (0xC00D36E3) — MFStartup вызвана с неправильным значением MF_VERSION.

MFStartup инициализирует платформу Media Foundation до создания источников, сессий и кодеков. Этот код означает, что переданное значение версии требует более нового контракта Media Foundation, чем предоставляет фактически работающая в системе библиотека. Поэтому искать причину в конкретном файле, кодеке или топологии здесь рано.

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

Зафиксируйте точное значение аргумента Version, с которым вызывается MFStartup, и путь/версию загруженного mfplat.dll. В обычном коде следует передавать MF_VERSION из используемых при сборке заголовков SDK, а не скопированное числовое значение.

Если приложение собиралось одним Windows SDK, а запускается с несовместимым набором системных DLL, исправляйте именно это несоответствие. Microsoft отдельно указывает, что MF_E_BAD_STARTUP_VERSION может означать несовпадение заголовков, с которыми собрано приложение, и Media Foundation DLL в системе. После исправления тот же вызов MFStartup(MF_VERSION) должен завершаться успешно без каких-либо изменений медиаданных.

Документация для результата 0xC00D36E3: MFStartup · Initializing Media Foundation.


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