Что означает код HRESULT 0xC00D36D9 (MF_E_MULTIPLE_BEGIN)?

 
Предыдущий Следующий
MF_E_NO_CLOCK MF_E_MULTIPLE_SUBSCRIBERS

MF_E_MULTIPLE_BEGIN

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

MF_E_MULTIPLE_BEGIN (0xC00D36D9) — Этот обратный вызов уже был передан данному генератору событий.

При результате 0xC00D36D9 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «этот обратный вызов уже был передан данному генератору событий» связано с темой «mf, несколько объектов, begin».

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

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

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

Исправляя 0xC00D36D9, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0xC00D36D9 с описанием «этот обратный вызов уже был передан данному генератору событий» должен исчезнуть на исходных данных без обхода штатной проверки.

Подтвердите изменение повтором исходной операции: результат 0xC00D36D9 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0xC00D36D9: IMFMediaEventGenerator::BeginGetEvent · handling Media Session events · Wine mfplat source.


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