| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.