| Предыдущий | Следующий |
| 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 до и после исправления.
Технические ссылки
- Microsoft: DirectShow error and success codes.
- Microsoft: IGraphBuilder::RenderFile.
- Microsoft: DirectShow graph building.
Нужно найти другой код? Найти другой код состояния или ошибки.
