| Предыдущий | Следующий |
| CO_E_INCOMPATIBLESTREAMVERSION | CO_E_DECODEFAILED |
CO_E_FAILEDTOOPENPROCESSTOKEN
Практический смысл результата
CO_E_FAILEDTOOPENPROCESSTOKEN означает: Не удалось открыть маркер доступа серверного процесса. Для области COM/DCOM это указывает на границу «COM/DCOM security», поэтому первичную проверку нужно привязать к операции, которая вернула код.
Свидетельства до исправления
- сохраните CLSID, caller/server SID, access token, RunAs, launch/access ACL и authentication context. Для условия «Не удалось открыть маркер доступа серверного процесса» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
- приложите к инциденту технические маркеры
CO_E_FAILEDTOOPENTHREADTOKEN,HRESULT,sid,SID,Sidс теми значениями, которые были видны до очистки/rollback; они привязывают «Не удалось открыть маркер доступа серверного процесса» к реальному вызову. - соберите для сравнения момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии COM/DCOM security.
Последовательность проверки
локализуйте сравнить effective token и security descriptor на точной границе access check или impersonation. Изменяйте только предпосылку, связанную с «Не удалось открыть маркер доступа серверного процесса», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.
не ослаблять LaunchPermission/AccessPermission глобально: сначала подтвердить конкретный SID и denied right; для результата «Не удалось открыть маркер доступа серверного процесса» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.
Для соседних результатов CO_E_FAILEDTOOPENTHREADTOKEN сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: IAccessControl
- Microsoft: IAccessControl::IsAccessAllowed
- Microsoft: AccessCheck
- Microsoft: LookupAccountSidW
- Microsoft: LookupAccountNameW
- Microsoft: access control lists
Нужно найти другой код? Найти другой код состояния или ошибки.