Что означает код HRESULT 0x80040248 (VFW_E_INVALID_MEDIA_TYPE)?

 
Предыдущий Следующий
VFW_E_INVALID_CLSID VFW_E_SAMPLE_TIME_NOT_SET

VFW_E_INVALID_MEDIA_TYPE

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

VFW_E_INVALID_MEDIA_TYPE (0X80040248) относится к DirectShow. Это failure HRESULT. Исходный признак результата зафиксирован в документации как This file is corrupt: it contains an invalid media type.

Практическая проверка начинается на владельце операции: зафиксируйте exact method, object identity и состояние до любых retry, reset или re-enumeration. Для этой страницы ключевая граница формулируется так: DirectShow reconstructs a graph or connection from persisted data and finds a media-type record that is structurally invalid.

Специфичные признаки исходного описания

  • AllStat: “This file is corrupt: it contains an invalid media type”.
  • DirectShow reconstructs a graph or connection from persisted data and finds a media-type record that is structurally invalid.
  • Cause 1 for this result: the format block length does not match the serialized payload.
  • Cause 2 for this result: major type, subtype and format type are inconsistent.
  • Cause 3 for this result: pointer-sized or alignment-dependent data was persisted incorrectly.
  • Action 1 for this result: regenerate the media type from a live pin negotiation.

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

  • interface и method, на котором впервые появился HRESULT
  • CLSID и friendly name задействованных filters, pin names и negotiated media type
  • graph state/generation, renderer или capture device и первый предшествующий HRESULT
  • временные метки media sample, rate/clock state и фактические параметры вызова

Как локализовать границу

Проверяйте filter graph, negotiated media type, timing и состояние конкретного interface, а не наличие codec вообще. Сначала воспроизведите минимальный сценарий без параллельного изменения конфигурации; затем сравните сохранённые параметры с условием из исходного описания. Если состояние исчезает после re-enumeration или пересоздания объекта, отдельно проверьте lifetime/generation race.

Исправление и повторная проверка

Сравните trace до и после изменения: исправленным считается тот случай, где исчезает подтверждённая причина и сохраняется корректное последующее состояние.

Дополнительные признаки конкретного сценария

  • Evidence 2 for this result: pin pair and connection being restored.
  • Evidence 1 for this result: AM_MEDIA_TYPE fields and format-block length.
  • Action 1 for this result: regenerate the media type from a live pin negotiation.

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


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