| Предыдущий | Следующий |
| 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 или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Технические ссылки
- Microsoft: DirectShow error and success codes.
- Microsoft: ICodecAPI.
- Microsoft: DirectShow Encoder API.
Нужно найти другой код? Найти другой код состояния или ошибки.