Что означает код HRESULT 0x80040240 (VFW_E_UNKNOWN_FILE_TYPE)?

 
Предыдущий Следующий
VFW_E_IN_FULLSCREEN_MODE TPC_E_INVALID_PROPERTY

VFW_E_UNKNOWN_FILE_TYPE

Практический смысл

VFW_E_UNKNOWN_FILE_TYPE (0X80040240) — результат DirectShow. Исходное описание: AllStat records its meaning as “The media type of this file is not recognized”.. Этот результат локализуйте по interface и состоянию graph непосредственно в момент первого возврата.

Конкретные признаки контракта

  • Evidence to collect Capture 3 for this result: IGraphBuilder::RenderFile result before fallback handlers.
  • Correction and retry boundary Corrective action 2 for this result: install a supported source filter or use Media Foundation where appropriate.
  • Meaning and numerical form VFW_E_UNKNOWN_FILE_TYPE is HRESULT 2147746368 ( 0x80040240 ; signed -2147220928). AllStat records its meaning as “The media type of this file is not recognized”. In practical terms, it is returned when DirectShow graph building cannot recognize the media type or select a source filter for the supplied file.
  • Likely causes Possible cause 3 for this result: the required source filter is not installed or registered.
  • Likely causes Possible cause 2 for this result: the extension is misleading and no byte-pattern match succeeds.
  • Correction and retry boundary Corrective action 1 for this result: identify the actual container format.
  • Practical scenario A proprietary container is renamed with a common extension but no registered filter recognizes its signature; installing the correct source filter resolves it. The result scenario narrows the result to a reproducible contract boundary and supplies a concrete before-and-after test.

Что проверить в trace

Сохраните exact method, filter CLSID/friendly name, connected pins, media type, graph state и generation, clock/rate либо sample timestamps, если они участвуют в этой операции. Для persisted data дополнительно фиксируйте offending field или byte range, а для renderer/device path — выбранный hardware capability.

Как отделить этот случай от соседних

Сопоставьте каждый приведённый выше признак с фактическим вызовом. Если условие из исходного контракта не выполняется, не переносите recovery от другого VFW-кода. Если после rebuild или re-enumeration результат исчезает, отдельно проверьте stale object, race и изменение topology.

Исправление и подтверждение

Меняйте только подтверждённую причину: входной параметр, media type, timing, filter connection, renderer/device capability, persisted field или текущее состояние graph. После изменения повторите тот же минимальный сценарий и сравните topology и первый HRESULT до и после исправления.

Технические ссылки


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