| Предыдущий | Следующий |
| MF_E_NO_CLOCK | MF_E_MULTIPLE_SUBSCRIBERS |
MF_E_MULTIPLE_BEGIN
Что означает MF_E_MULTIPLE_BEGIN
MF_E_MULTIPLE_BEGIN (0xC00D36D9) означает, что для одного event generator уже существует незавершённый асинхронный запрос BeginGetEvent, а код пытается запустить ещё один несовместимый цикл получения событий.
Что проверить
Для конкретного объекта сопоставьте каждый BeginGetEvent с callback и последующим EndGetEvent. Не запускайте второй цикл до завершения первого и не меняйте произвольно punkState между повторными регистрациями.
Частая причина — два владельца подписки на одну и ту же очередь событий или повторная регистрация callback после гонки. Исправление — оставить один последовательный цикл Begin → Invoke → End → новый Begin и явно закрывать его при shutdown.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.