Что означает код HRESULT 0x80040230 (VFW_E_ENUM_OUT_OF_RANGE)?

 
Предыдущий Следующий
VFW_E_INVALID_FILE_FORMAT VFW_E_CIRCULAR_GRAPH

VFW_E_ENUM_OUT_OF_RANGE

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

VFW_E_ENUM_OUT_OF_RANGE (0X80040230) относится к DirectShow. Это failure HRESULT. Исходный признак результата зафиксирован в документации как исходное описание результата VFW_E_ENUM_OUT_OF_RANGE.

Одинаковый facility объединяет коды по подсистеме, но не по причине. Воспроизводите минимальный вызов и фиксируйте состояние непосредственно перед ним. Для этой страницы ключевая граница формулируется так: исходное описание результата VFW_E_ENUM_OUT_OF_RANGE

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

  • VFW_E_ENUM_OUT_OF_RANGE is HRESULT 2147746352 ( 0x80040230 ; signed -2147220944). AllStat records its meaning as “The list has already been exhausted”. In practical terms, it is returned when a DirectShow enumerator has already reached the end of its available list.
  • The severity bit in 0x80040230 is set, so this result is a failure result rather than a success or informational status.
  • Possible cause 1 for this result: caller requests another item after S_FALSE or end-of-sequence.
  • Possible cause 2 for this result: index-based wrapper advances beyond the snapshot count.
  • Possible cause 3 for this result: graph mutation invalidates assumptions about enumeration length.
  • Graph state, pin transport, negotiated media types, allocators, clocks, samples, renderers and source filters contribute separate contracts to the operation.

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

  • 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.

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

После исправления повторите тот же минимальный сценарий и убедитесь, что изменился именно подтверждённый prerequisite, а не только порядок событий.

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

  • Capture 1 for this result: enumerator method results and fetched count.
  • Capture 2 for this result: requested index and collection snapshot generation.
  • Corrective action 2 for this result: reset or create a new enumerator when another pass is intended.

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


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