Что означает код HRESULT 0xC00D3E80 (MF_E_NO_EVENTS_AVAILABLE)?

 
Предыдущий Следующий
MF_E_ASF_DROPPED_PACKET MF_E_INVALID_STATE_TRANSITION

MF_E_NO_EVENTS_AVAILABLE

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

MF_E_NO_EVENTS_AVAILABLE (0xC00D3E80) — В очереди нет доступных событий.

Это штатный результат пустой очереди при IMFMediaEventGenerator::GetEvent с флагом MF_EVENT_FLAG_NO_WAIT. Такой вызов специально не ждёт новое событие и немедленно сообщает, что сейчас получать нечего.

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

Сначала проверьте флаги вызова. GetEvent с нулевыми флагами ведёт себя иначе: он может ждать, пока событие появится или генератор будет закрыт. Для асинхронной модели вместо опроса используйте BeginGetEvent/EndGetEvent.

Не считайте пустую очередь доказательством зависания источника или сессии без дополнительного контекста. Ошибка есть только тогда, когда по протоколу уже должно было прийти конкретное событие; тогда проверяйте команду, которая должна была его породить, и её исходный HRESULT.

Документация для результата 0xC00D3E80: IMFMediaEventGenerator::GetEvent · media event generators.


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