Что означает код HRESULT 0x80010139 (CO_E_EXCEEDSYSACLLIMIT)?

 
Предыдущий Следующий
CO_E_FAILEDTOCLOSEHANDLE CO_E_ACESINWRONGORDER

CO_E_EXCEEDSYSACLLIMIT

Практический смысл результата

CO_E_EXCEEDSYSACLLIMIT означает: Количество ACE в ACL превышает системное ограничение. Для области COM/DCOM это указывает на границу «COM/DCOM security», поэтому первичную проверку нужно привязать к операции, которая вернула код.

Диагностическая выборка

  • запишите CLSID, caller/server SID, access token, RunAs, launch/access ACL и authentication context. Для условия «Количество ACE в ACL превышает системное ограничение» это позволяет восстановить исходный объект и не спутать его с последующим состоянием.
  • зафиксируйте технические маркеры CO_E_ACESINWRONGORDER, HRESULT, sid, SID, Sid с теми значениями, которые были видны до очистки/rollback; они привязывают «Количество ACE в ACL превышает системное ограничение» к реальному вызову.
  • снимите в трассировку момент первого результата и один исправный запуск, сохранив одинаковыми входные данные; различие должно появиться именно на стадии COM/DCOM security.

Проверка гипотезы

локализуйте сравнить effective token и security descriptor на точной границе access check или impersonation. Изменяйте только предпосылку, связанную с «Количество ACE в ACL превышает системное ограничение», а регистрацию, identity, входной объект и окружение по возможности оставляйте прежними.

не ослаблять LaunchPermission/AccessPermission глобально: сначала подтвердить конкретный SID и denied right; для результата «Количество ACE в ACL превышает системное ограничение» широкая переустановка, очистка каталога или ослабление безопасности не считается доказательством причины.

Для соседних результатов CO_E_ACESINWRONGORDER сравнивайте первую различающуюся операцию. Исправление подтверждено только тогда, когда исходная граница проходит при прежних входах и следующий ожидаемый шаг получает корректное состояние.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.