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