Что означает код HRESULT 0x80040311 (VFW_E_CODECAPI_ENUMERATED)?

 
Предыдущий Следующий
VFW_E_CODECAPI_LINEAR_RANGE VFW_E_CODECAPI_NO_DEFAULT

VFW_E_CODECAPI_ENUMERATED

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

VFW_E_CODECAPI_ENUMERATED (0X80040311) относится к DirectShow Codec API. Конкретный признак: параметр кодека задаётся перечислением, а не диапазоном. Для расследования важно удерживать ошибку на исходном native-вызове, не на позднем сообщении оболочки.

Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте metadata конкретного codec property: GUID, тип, поддерживаемые значения и связь с текущим media type/profile. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.

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

  • identify the exact graph stage described here: ICodecAPI reports that a property is defined by an enumerated set of discrete values and therefore has no linear range.
  • Conditions that can produce it Cause 1 for this result: the caller requests min/max data for a mode selector.
  • Example incident A quality-mode property offers Automatic, Quality and Speed identifiers; interpreting it correctly prevents an invalid slider UI.
  • Implementation notes Code that handles it should preserve the original HRESULT, the failed stage and an opaque correlation identifier.

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

  • property GUID и support flags ICodecAPI
  • текущее/default значение либо перечисление/диапазон
  • codec CLSID, media type и профиль на момент запроса

Как проверить границу

Не меняйте одновременно несколько storage/media параметров: иначе успешный повтор не покажет, какой prerequisite действительно был исправлен. Для состояния «параметр кодека задаётся перечислением, а не диапазоном» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.

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

Исправляйте только подтверждённый prerequisite на уровне DirectShow Codec API: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.

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


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