| Предыдущий | Следующий |
| RPC_E_WRONG_THREAD | RPC_E_VERSION_MISMATCH |
RPC_E_THREAD_NOT_INIT
Интерпретация результата
RPC_E_THREAD_NOT_INIT (0X8001010F) означает: текущий поток использует COM до успешного CoInitialize/CoInitializeEx. Значение полезно только вместе с фазой RTC/COM state machine; последующий общий network error не должен заменять первичный результат.
Английский маркер для сопоставления с исходной документацией: CoInitialize has not been called on the current thread.
. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.
Что сохранить
- interface/method, client/server process generation и correlation ID.
- thread/apartment, call context и marshaling path.
- первый remote HRESULT, timeout/cancellation state и side-effect marker.
Код-специфическая проверка
Подтвердите успешный CoInitializeEx именно на текущем потоке и совместимость выбранной apartment model с вызываемым компонентом.
Проверка должна подтвердить именно условие «текущий поток использует COM до успешного CoInitialize/CoInitializeEx» в текущем RTC object generation. Не используйте успешный retry после широкого reset как доказательство причины.
Восстановление
Измените только состояние или вход, непосредственно связанный с этой границей, и сравните первый HRESULT до и после исправления.
После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «текущий поток использует COM до успешного CoInitialize/CoInitializeEx» больше не возникает на сопоставимом входе.
Технические ссылки
- Microsoft: COM RPC error codes.
- Microsoft: IMessageFilter.
- Microsoft: RetryRejectedCall.
- Microsoft: CoInitialize.
Нужно найти другой код? Найти другой код состояния или ошибки.