| Предыдущий | Следующий |
| 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-вызов, для которого такая операция не поддерживается» больше не возникает на сопоставимом входе.
Технические ссылки
- Microsoft: COM RPC error codes.
- Microsoft: IMessageFilter.
- Microsoft: RetryRejectedCall.
- Microsoft: CoInitialize.
Нужно найти другой код? Найти другой код состояния или ошибки.