Что означает код HRESULT 0x000D36D8 (MF_S_MULTIPLE_BEGIN)?

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

MF_S_MULTIPLE_BEGIN

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

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

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

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

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

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

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

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x000D36D8 это надёжнее единичного успеха на других данных.

Документация для результата 0x000D36D8: IMFMediaEventGenerator::BeginGetEvent · media event generators · Wine mfplat source.


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