| Предыдущий | Следующий |
| RPC_E_UNSECURE_CALL | RPC_E_NO_GOOD_SECURITY_PACKAGES |
RPC_E_TOO_LATE
Интерпретация результата
RPC_E_TOO_LATE (0X80010119) означает: CoInitializeSecurity вызван после того, как процесс уже начал маршалировать интерфейсы. Не объединяйте этот результат с соседними кодами того же facility: recovery определяется фактическим состоянием протокола и объекта.
Английский маркер для сопоставления с исходной документацией: Security must be initialized before any interfaces are marshalled or unmarshalled; It cannot be changed once initialized.
. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.
Что сохранить
- CoInitializeSecurity параметры, authentication/impersonation level и principal name.
- выбранный SSP/security package, logon identity и DCOM policy.
- момент первого marshaling относительно security initialization.
Код-специфическая проверка
CoInitializeSecurity должен завершиться до первого marshaling; после фиксации process-wide COM security сменить параметры на лету уже нельзя.
Проверка должна подтвердить именно условие «CoInitializeSecurity вызван после того, как процесс уже начал маршалировать интерфейсы» в текущем RTC object generation. Не используйте успешный retry после широкого reset как доказательство причины.
Восстановление
Измените только состояние или вход, непосредственно связанный с этой границей, и сравните первый HRESULT до и после исправления.
После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «CoInitializeSecurity вызван после того, как процесс уже начал маршалировать интерфейсы» больше не возникает на сопоставимом входе.
Технические ссылки
- Microsoft: COM RPC error codes.
- Microsoft: IMessageFilter.
- Microsoft: RetryRejectedCall.
- Microsoft: CoInitialize.
Нужно найти другой код? Найти другой код состояния или ошибки.
