Site icon EfmSoft

Что означает код HRESULT 0x8001010F (RPC_E_THREAD_NOT_INIT)?

 
Предыдущий Следующий
RPC_E_WRONG_THREAD RPC_E_VERSION_MISMATCH

RPC_E_THREAD_NOT_INIT

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

RPC_E_THREAD_NOT_INIT (0x8001010F) — COM-вызов выполняется на потоке, который не прошёл собственную инициализацию COM apartment.

Что проверить

  • Зафиксируйте thread ID и первый COM call; CoInitializeEx на другом потоке процесса не помогает.
  • Для thread-pool workers обеспечьте сбалансированные CoInitializeEx/CoUninitialize на каждой ветви, использующей COM.
  • Не передавайте interface pointer между apartments без предусмотренного marshaling.

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

Тот же worker должен сначала успешно инициализировать COM и затем выполнить вызов без RPC_E_THREAD_NOT_INIT.

Технические ссылки


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

Exit mobile version