| Предыдущий | Следующий |
| CO_E_BAD_SERVER_NAME | CO_E_OLE1DDE_DISABLED |
CO_E_WRONG_SERVER_IDENTITY
Точная граница результата
CO_E_WRONG_SERVER_IDENTITY фиксирует состояние Класс настроен для запуска с идентификатором безопасности, отличным от идентификатора вызывающей стороны. В COM/DCOM полезно считать его маркером стадии «активация COM-сервера», а не общим признаком повреждения всей конфигурации.
Свидетельства до исправления
- снимите в трассировку CLSID/IID, CLSCTX, server name, PID, LocalServer32/AppID и события SCM/server startup. Для условия «Класс настроен для запуска с идентификатором безопасности, отличным от идентификатора вызывающей стороны» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
- приложите к инциденту технические маркеры
RunAs,LocalService,CO_E_RUNAS_LOGON_FAILURE,CLSID,AppIDс теми значениями, которые были видны до очистки/rollback; они привязывают «Класс настроен для запуска с идентификатором безопасности, отличным от идентификатора вызывающей стороны» к реальному вызову. - сохраните момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии активация COM-сервера.
Отделение соседних состояний
сопоставьте разделить registration lookup, запуск процесса, публикацию class factory и первый RPC к серверу. Изменяйте только предпосылку, связанную с «Класс настроен для запуска с идентификатором безопасности, отличным от идентификатора вызывающей стороны», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.
не повторять CoCreateInstance в цикле, если запуск сервера имеет неизвестные побочные эффекты; для результата «Класс настроен для запуска с идентификатором безопасности, отличным от идентификатора вызывающей стороны» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.
Для соседних результатов CO_E_RUNAS_LOGON_FAILURE сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: AppID key
- Microsoft: RunAs configuration for COM servers
- Microsoft: COM servers installed as services
- Портал COM для Windows
- Microsoft: COM error codes
- Microsoft: CoCreateInstance
Нужно найти другой код? Найти другой код состояния или ошибки.