Site icon EfmSoft

Что означает код HRESULT 0x000D4A42 (MF_S_SINK_NOT_FINALIZED)?

 
Предыдущий Следующий
MF_S_ACTIVATE_REPLACED MF_S_SEQUENCER_CONTEXT_CANCELED

MF_S_SINK_NOT_FINALIZED

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

MF_S_SINK_NOT_FINALIZED (0x000D4A42) — Перед завершением работы приёмник не был финализирован.

Результат 0x000D4A42 пришёл из подсистемы «COM/WinRT» при работе с областью «контракт вызываемого interface, аргументы и state объекта». Для сообщения «перед завершением работы приёмник не был финализирован» практический предмет проверки — «mf, sink, не, finalized».

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

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

Чтобы локализовать 0x000D4A42, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IMFFinalizableMediaSink, IMFSinkWriter, IMFSinkWriter::Finalize. Затем для 0x000D4A42 сравните исправный и неуспешный запуск в части «mf, sink, не, finalized», меняя одно условие за раз.

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

После исправления повторите тот же вызов на прежних данных; у результата 0x000D4A42 должен измениться первый неуспешный этап, а не только последующее сообщение.

Документация для результата 0x000D4A42: BeginFinalize · IMFSinkWriter::Finalize · finalizable custom sink sample.


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

Exit mobile version