Что означает код HRESULT 0x80040313 (VFW_E_CODECAPI_NO_DEFAULT)?

 
Предыдущий Следующий
VFW_E_CODECAPI_ENUMERATED VFW_E_CODECAPI_NO_CURRENT_VALUE

VFW_E_CODECAPI_NO_DEFAULT

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

VFW_E_CODECAPI_NO_DEFAULT (0X80040313) относится к DirectShow Codec API. Конкретный признак: для codec property нет значения по умолчанию. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.

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

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

  • Example incident A hardware encoder supports a GOP-length range but returns no default because firmware chooses it by profile; preserving the current value handles it safely.
  • How it differs from nearby results VFW_E_CODECAPI_NO_CURRENT_VALUE says no active value can be read, while it says the property has no declared default.
  • Cause 3 for this result: the implementation exposes current and range metadata without a default.
  • Retry and recovery Retry rule for this result: Retry a default query only after changing codec state that could define one; otherwise choose an explicit valid value.

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

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

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

Если состояние исчезает после повторной enumeration, отдельно проверьте race между получением объекта и вызовом метода. Для состояния «для codec property нет значения по умолчанию» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.

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

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

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


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