Что означает код HRESULT 0x80080003 (CO_E_SCM_RPC_FAILURE)?

 
Предыдущий Следующий
CO_E_SCM_ERROR CO_E_BAD_PATH

CO_E_SCM_RPC_FAILURE

Контракт операции

CO_E_SCM_RPC_FAILURE фиксирует состояние Сбой RPC-связи со службой OLE. В COM/DCOM полезно считать его маркером стадии «инициализация COM runtime», а не общим признаком повреждения всей конфигурации.

Данные для воспроизведения

  • запишите thread ID, apartment model, CoInitializeEx history, TLS/allocator/SCM state и первый initialization HRESULT. Для условия «Сбой RPC-связи со службой OLE» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
  • снимите в трассировку технические маркеры CoGetClassObject, RPC, SCM, HRESULT, rot с теми значениями, которые были видны до очистки/rollback; они привязывают «Сбой RPC-связи со службой OLE» к реальному вызову.
  • соберите для сравнения момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии инициализация COM runtime.

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

проверьте одной переменной проверить порядок инициализации на одном потоке и отделить apartment setup от последующей активации. Изменяйте только предпосылку, связанную с «Сбой RPC-связи со службой OLE», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.

не компенсировать ошибку дополнительными CoInitialize/CoUninitialize без проверки баланса вызовов; для результата «Сбой RPC-связи со службой OLE» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.

Для соседних результатов соседний HRESULT той же подсистемы сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.

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


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