Что означает код HRESULT 0x8000400C (CO_E_INIT_TLS_CHANNEL_CONTROL)?

 
Предыдущий Следующий
CO_E_INIT_TLS_SET_CHANNEL_CONTROL CO_E_INIT_UNACCEPTED_USER_ALLOCATOR

CO_E_INIT_TLS_CHANNEL_CONTROL

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

CO_E_INIT_TLS_CHANNEL_CONTROL возникает на этапе инициализации COM runtime, когда не удаётся создать или разместить внутреннее состояние channel control в thread-local storage. Это не признак повреждения регистрации конкретного COM-класса.

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

  • Зафиксируйте поток и порядок вызовов CoInitializeEx/CoUninitialize.
  • Проверьте повторную или reentrant инициализацию COM на том же потоке.
  • Исследуйте повреждение/исчерпание TLS и более ранние ошибки памяти.
  • Не смешивайте apartment model между повторными инициализациями одного потока.

Переустановка COM-компонента редко помогает, потому что отказ происходит до обычной активации объекта. Диагностику следует сосредоточить на жизненном цикле потока, балансе COM initialization и состоянии процесса.

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


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