| Предыдущий | Следующий |
| CO_E_NOMATCHINGSIDFOUND | CO_E_NOMATCHINGNAMEFOUND |
CO_E_LOOKUPACCSIDFAILED
Как расследовать HRESULT CO_E_LOOKUPACCSIDFAILED
Windows возвращает CO_E_LOOKUPACCSIDFAILED (0x80010130), когда выполняется следующее условие: Системная функция LookupAccountSid завершилась ошибкой.
Для CO_E_LOOKUPACCSIDFAILED старший бит HRESULT делает значение ошибкой. Константа CO_E_LOOKUPACCSIDFAILED объявлена в winerror.h и относится к области «COM/DCOM: активация, регистрация и безопасность».
Техническая граница
Для CO_E_LOOKUPACCSIDFAILED код относится к инфраструктуре COM: активации класса, регистрации CLSID/IID, запуску сервера, RPC-каналу, модели апартаментов или проверке безопасности. Для CO_E_LOOKUPACCSIDFAILED диагностика должна начинаться с первого вызова CoCreateInstance/CoGetClassObject либо операции маршалинга, а не с последующей ошибки приложения.
Для CO_E_LOOKUPACCSIDFAILED практическая ценность кода появляется только вместе с контекстом: параметрами вызова, идентичностью процесса, состоянием объекта и предшествующим низкоуровневым результатом.
В имени CO_E_LOOKUPACCSIDFAILED закодированы ориентиры для расследования: LOOKUP — поиск учётной записи; ACC — учётная запись; SID — идентификатор безопасности; FAILED — неуспешное выполнение. Для CO_E_LOOKUPACCSIDFAILED эти ориентиры задают конкретный предмет проверки, но не заменяют контракт вызвавшего API.
Что сообщает Windows: признаки в имени константы
При разборе CO_E_LOOKUPACCSIDFAILED обозначение LOOKUP связывает код с темой «поиск учётной записи». До повторной проверки CO_E_LOOKUPACCSIDFAILED сохраните входные данные без нормализации.
При разборе CO_E_LOOKUPACCSIDFAILED обозначение ACC связывает код с темой «учётная запись». До повторной проверки CO_E_LOOKUPACCSIDFAILED сохраните входные данные без нормализации.
Компонент имени SID уточняет смысл CO_E_LOOKUPACCSIDFAILED: речь идёт про идентификатор безопасности. Для CO_E_LOOKUPACCSIDFAILED эту границу следует воспроизвести отдельно от последующей обработки ошибки.
Маркер FAILED в CO_E_LOOKUPACCSIDFAILED направляет проверку на неуспешное выполнение. Для CO_E_LOOKUPACCSIDFAILED сопоставьте этот признак с фактическими параметрами первого неуспешного вызова.
Для CO_E_LOOKUPACCSIDFAILED в техническом контексте особенно важны: дескриптор безопасности, олицетворение. При расследовании CO_E_LOOKUPACCSIDFAILED их следует проверять как связанные части одной операции, а не как независимые симптомы.
Данные для воспроизведения
- В первичном журнале по
CO_E_LOOKUPACCSIDFAILEDнужно зафиксировать личность клиента и сервера, уровень олицетворения и authentication blanket. - На границе сбоя по
CO_E_LOOKUPACCSIDFAILEDнужно зафиксировать модель апартамента и историю CoInitializeEx в текущем потоке.
Практическая диагностика
- Для
CO_E_LOOKUPACCSIDFAILED: Определить точный COM-вызов и сохранить исходный HRESULT до преобразования исключением; отдельно отметьте изменение состояния объекта. - Для
CO_E_LOOKUPACCSIDFAILED: Проверить регистрацию класса и интерфейса в представлении реестра нужной разрядности; все остальные условия оставьте неизменными. - Для
CO_E_LOOKUPACCSIDFAILED: Проверить запуск сервера вручную под той же учётной записью и с тем же окружением; не удаляйте исходные данные до завершения сравнения. - Для
CO_E_LOOKUPACCSIDFAILED: Сопоставить разрешения DCOM с реальными SID клиента и серверной идентичности; повторите шаг на исправном контрольном примере. - Для
CO_E_LOOKUPACCSIDFAILED: После исправления повторить активацию из исходного апартамента и проверить корректное освобождение объектов; сохраните первый hresult и точное время результата.
Восстановление рабочего пути
Корректирующее действие для CO_E_LOOKUPACCSIDFAILED должно устранять условие «Системная функция LookupAccountSid завершилась ошибкой» на уровне дескриптор безопасности. Для CO_E_LOOKUPACCSIDFAILED простое подавление HRESULT, бесконечный повтор или очистка всех настроек не доказывают восстановление контракта.
Для CO_E_LOOKUPACCSIDFAILED после изменения повторите первоначальный сценарий, затем воспроизведите ближайшее ошибочное условие. Для CO_E_LOOKUPACCSIDFAILED это подтверждает, что устранена причина, а не только изменён путь обработки ошибки.
Ссылки Microsoft
- Microsoft: Microsoft: IAccessControl — CO_E_LOOKUPACCSIDFAILED
- Microsoft: Microsoft: IAccessControl::IsAccessAllowed — CO_E_LOOKUPACCSIDFAILED
- Microsoft: Microsoft: AccessCheck — CO_E_LOOKUPACCSIDFAILED
- Microsoft: Microsoft: LookupAccountSidW — CO_E_LOOKUPACCSIDFAILED
- Microsoft: Microsoft: LookupAccountNameW — CO_E_LOOKUPACCSIDFAILED
Нужно найти другой код? Найти другой код состояния или ошибки.