| Предыдущий | Следующий |
| 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.
Технические ссылки
- Microsoft: DirectShow error and success codes.
- Microsoft: IEnumPins.
- Microsoft: DirectShow filters and pins.
Нужно найти другой код? Найти другой код состояния или ошибки.
