| Предыдущий | Следующий |
| MF_E_INVALID_ASF_STREAMID | MF_E_STREAMSINKS_OUT_OF_SYNC |
MF_E_STREAMSINK_REMOVED
Что означает MF_E_STREAMSINK_REMOVED
MF_E_STREAMSINK_REMOVED (0xC00D4A38) — Запрошенный приёмник потока удалён и больше не может использоваться.
Код 0xC00D4A38 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «запрошенный приёмник потока удалён и больше не может использоваться» позволяет начать с темы «mf, streamsink, removed».
Что проверить и как подтвердить исправление
Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0xC00D4A38 система сообщает «запрошенный приёмник потока удалён и больше не может использоваться», воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Диагностика 0xC00D4A38 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IMFStreamSink, HRESULT, IMFStreamSink::ProcessSample, IMFStreamSink::Flush, IMFMediaSink::RemoveStreamSink. Для темы «mf, streamsink, removed» при 0xC00D4A38 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Коррекция для 0xC00D4A38 должна быть предметной: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0xC00D4A38 и сообщения «запрошенный приёмник потока удалён и больше не может использоваться» общий сброс допустим лишь как контроль, но не как доказательство причины.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0xC00D4A38, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0xC00D4A38: IMFStreamSink::ProcessSample · IMFStreamSink::Flush · IMFMediaSink::RemoveStreamSink.
Нужно найти другой код? Найти другой код состояния или ошибки.
