Что означает код HRESULT 0x80010118 (RPC_E_UNSECURE_CALL)?

 
Предыдущий Следующий
RPC_E_CALL_COMPLETE RPC_E_TOO_LATE

RPC_E_UNSECURE_CALL

Интерпретация результата

RPC_E_UNSECURE_CALL (0X80010118) означает: код пытается impersonate небезопасный COM-вызов, для которого такая операция не поддерживается. Этот HRESULT описывает узкую границу, поэтому сначала фиксируйте producing method и объект, а затем уже интерпретируйте сообщение пользователя.

Английский маркер для сопоставления с исходной документацией: Impersonate on unsecure calls is not supported.. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.

Что сохранить

  • CoInitializeSecurity параметры, authentication/impersonation level и principal name.
  • выбранный SSP/security package, logon identity и DCOM policy.
  • момент первого marshaling относительно security initialization.

Код-специфическая проверка

Сопоставьте principal name, authentication service и impersonation level с реально установленным COM security blanket.

Проверка должна подтвердить именно условие «код пытается impersonate небезопасный COM-вызов, для которого такая операция не поддерживается» в текущем RTC object generation. Не используйте успешный retry после широкого reset как доказательство причины.

Восстановление

Измените только состояние или вход, непосредственно связанный с этой границей, и сравните первый HRESULT до и после исправления.

После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «код пытается impersonate небезопасный COM-вызов, для которого такая операция не поддерживается» больше не возникает на сопоставимом входе.

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


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