| Предыдущий | Следующий |
| RPC_E_SERVERFAULT | RPC_E_INVALIDMETHOD |
RPC_E_CHANGED_MODE
Что означает RPC_E_CHANGED_MODE
RPC_E_CHANGED_MODE означает, что текущий поток уже инициализирован COM с моделью конкурентности, несовместимой с новым запросом. Поток нельзя на ходу переключить между STA и MTA, пока предыдущая COM-инициализация остаётся активной.
Что проверить
Найдите первый успешный CoInitializeEx или OleInitialize на этом потоке и сравните его модель с последующим вызовом. Учтите, что OleInitialize выбирает STA. Также проверьте библиотеки, которые могут инициализировать COM внутри себя до вашего кода.
Не исправляйте ошибку повторным вызовом с другим флагом наугад. Определите apartment-модель потока архитектурно и соблюдайте баланс каждого успешного CoInitializeEx/CoUninitialize. Если компонент требует другую модель, перенесите его работу на подходящий поток.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
