Что означает код HRESULT 0x800403F2 (VFW_E_BAD_KEY)?

 
Предыдущий Следующий
VFW_E_DVD_CHAPTER_DOES_NOT_EXIST DB_E_BADACCESSORHANDLE

VFW_E_BAD_KEY

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

VFW_E_BAD_KEY (0X800403F2) относится к DirectShow filter graph. Конкретный признак: медиа-ключ или ключевой параметр некорректен. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.

Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте конкретный stage filter graph: pin negotiation, media type, allocator, renderer, source filter или graph lifecycle. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.

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

  • Retry and recovery Retry rule for this result: Retry after supported repair or verified registry correction; repeated reads of the same corrupt value cannot succeed.
  • How it differs from nearby results REGDB_E_INVALIDVALUE is a general COM registration database result, while it identifies corrupt registry data encountered by a DirectShow path.
  • Keep those cases separate in telemetry, UI messages and retry policy because their next actions are different.
  • Implementation notes Code that handles it should preserve the original HRESULT, the failed stage and an opaque correlation identifier.

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

  • interface/method и CLSID первого компонента, вернувшего HRESULT
  • graph state, pin names и negotiated media type
  • allocator/renderer/device state и первый preceding HRESULT

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

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

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

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

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


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