Что означает код HRESULT 0xC00D4653 (MF_E_FLUSH_NEEDED)?

 
Предыдущий Следующий
MF_E_LATE_SAMPLE MF_E_INVALID_PROFILE

MF_E_FLUSH_NEEDED

Что означает MF_E_FLUSH_NEEDED

MF_E_FLUSH_NEEDED (0xC00D4653) — Операцию нельзя выполнить, пока объект не будет сброшен, а очередь очищена.

Код 0xC00D4653 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «операцию нельзя выполнить, пока объект не будет сброшен, а очередь очищена» позволяет начать с темы «mf, flush, требуемое действие».

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

До изменения конфигурации сопоставьте первый отказ с фактическими параметрами операции. Для 0xC00D4653 с описанием «операцию нельзя выполнить, пока объект не будет сброшен, а очередь очищена» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Сопоставьте с результатом 0xC00D4653 следующие данные: IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IMFASFMultiplexer::End, IMFASFMultiplexer::Flush. До исправления 0xC00D4653 сохраните исходное состояние объекта по теме «mf, flush, требуемое действие».

Для 0xC00D4653 применяйте исправление на границе первого отказа: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Сообщение «операцию нельзя выполнить, пока объект не будет сброшен, а очередь очищена» при 0xC00D4653 не следует подавлять общей обработкой исключения.

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0xC00D4653 и без обхода штатных проверок.

Документация для результата 0xC00D4653: post packet-generation calls · ASF multiplexer lifecycle · FFmpeg ASF muxer implementation.


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