| Предыдущий | Следующий |
| EVENT_E_QUERYSYNTAX | EVENT_E_QUERYFIELD |
VFW_E_ENUM_OUT_OF_SYNC
Что означает результат
VFW_E_ENUM_OUT_OF_SYNC: Перечислитель DirectShow больше не соответствует коллекции: набор фильтров или pin изменился после начала перечисления. Полученные ранее позиции нельзя считать актуальным снимком графа.
Что проверить
- Определите, какая операция AddFilter, RemoveFilter, Connect, Disconnect или динамическая перестройка произошла во время обхода.
- После изменения коллекции создайте новый enumerator либо используйте Reset только там, где это соответствует контракту интерфейса.
- Не сохраняйте порядковый номер filter или pin как постоянный идентификатор между перестройками графа.
- Если коллекцию меняют несколько потоков, сериализуйте изменение графа и его перечисление.
Диагностика и исправление
Отбросьте результаты устаревшего перечисления и получите новый список после завершения изменений. Продолжение обхода старого enumerator не восстанавливает его согласованность.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
