| Предыдущий | Следующий |
| CO_E_OLE1DDE_DISABLED | CO_E_CREATEPROCESS_FAILURE |
CO_E_RUNAS_SYNTAX
Контекст этого HRESULT
CO_E_RUNAS_SYNTAX фиксирует состояние Значение RunAs должно иметь вид <имя домена>\<имя пользователя> или просто <имя пользователя>. В COM/DCOM полезно считать его маркером стадии «COM/DCOM security», а не общим признаком повреждения всей конфигурации.
Данные для воспроизведения
- зафиксируйте CLSID, caller/server SID, access token, RunAs, launch/access ACL и authentication context. Для условия «Значение RunAs должно иметь вид <имя домена>\
или просто » это позволяет восстановить исходный объект и не спутать его с последующим состоянием. - запишите технические маркеры
RunAs,HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID,UserName,Domain\UserName,Interactive Userс теми значениями, которые были видны до очистки/rollback; они привязывают «Значение RunAs должно иметь вид <имя домена>\или просто » к реальному вызову. - снимите в трассировку момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии COM/DCOM security.
Проверка гипотезы
проверьте отдельно сравнить effective token и security descriptor на точной границе access check или impersonation. Изменяйте только предпосылку, связанную с «Значение RunAs должно иметь вид <имя домена>\
не ослаблять LaunchPermission/AccessPermission глобально: сначала подтвердить конкретный SID и denied right; для результата «Значение RunAs должно иметь вид <имя домена>\
Для соседних результатов HKEY_LOCAL_MACHINE, CO_E_RUNAS_LOGON_FAILURE сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: RunAs
- Microsoft: AppID key
- Microsoft: generic COM error codes
- Портал COM для Windows
- Microsoft: CoCreateInstance
Нужно найти другой код? Найти другой код состояния или ошибки.