| Предыдущий | Следующий |
| VFW_E_BUFFERS_OUTSTANDING | TPC_E_NO_DEFAULT_TABLET |
VFW_E_NOT_COMMITTED
VFW_E_NOT_COMMITTED: смысл кода и диагностика
VFW_E_NOT_COMMITTED — HRESULT, относящийся к области DirectShow. Аллокатор DirectShow получил запрос образца до перехода в активное committed-состояние.
Для VFW_E_NOT_COMMITTED статус связан с контрактом аллокатора DirectShow, а не с содержимым медиаданных.
Практический вывод для VFW_E_NOT_COMMITTED: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для VFW_E_NOT_COMMITTED найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы DirectShow.
Как читать имя VFW_E_NOT_COMMITTED
Имя VFW_E_NOT_COMMITTED помогает сузить поиск: NOT — отрицание условия; COMMITTED — технический маркер «committed». Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Практическая диагностика
Для VFW_E_NOT_COMMITTED важно сохранить исходный контекст вызова: имя функции, параметры, состояние объекта и первый низкоуровневый статус. Для VFW_E_NOT_COMMITTED без этого одинаковый HRESULT может ошибочно связываться с разными причинами.
- При разборе VFW_E_NOT_COMMITTED запишите фильтр, pin, allocator и последовательность Commit/Decommit/GetBuffer.
- При разборе VFW_E_NOT_COMMITTED проверьте, что параметры памяти меняются только в decommitted-состоянии.
- При разборе VFW_E_NOT_COMMITTED сопоставьте запуск/остановку графа с жизненным циклом media samples.
- При разборе VFW_E_NOT_COMMITTED исключите параллельные вызовы к allocator при смене состояния графа.
Диагностический минимум
- Для VFW_E_NOT_COMMITTED воспроизведите на минимальном графе source-filter-renderer.
- Для VFW_E_NOT_COMMITTED проверьте исправление несколькими циклами Run/Stop.
- Для VFW_E_NOT_COMMITTED сохраните граф, media type и первый HRESULT аллокатора.
Граница корректного решения
Для VFW_E_NOT_COMMITTED проверка исправления VFW_E_NOT_COMMITTED должна включать успешный рабочий путь, предсказуемый отказ на некорректном входе и отсутствие новых предупреждений в журналах подсистемы DirectShow.
Ссылки по VFW_E_NOT_COMMITTED
Нужно найти другой код? Найти другой код состояния или ошибки.