Site icon EfmSoft

¿Qué significa el código HRESULT 0x8001013A (CO_E_ACESINWRONGORDER)?

 
Anterior Siguiente
CO_E_EXCEEDSYSACLLIMIT CO_E_INCOMPATIBLESTREAMVERSION

CO_E_ACESINWRONGORDER

Qué significa CO_E_ACESINWRONGORDER

CO_E_ACESINWRONGORDER corresponde al HRESULT 0x8001013A. Windows indica: «No todas las ACE de tipo DENY_ACCESS están situadas antes que las ACE de tipo GRANT_ACCESS en el flujo.».

Este código pertenece a seguridad de COM, descriptores de acceso e impersonación durante activación o llamadas. La pista específica es: el orden de ACE viola la forma canónica esperada; registra DACL completa antes de reordenarla para no perder herencia ni máscaras.

Qué comprobar

  • La traza inicial debe incluir CLSID/AppID, SID del llamador, token efectivo, descriptor de seguridad/ACL, nivel de impersonación y operación COM que realiza la comprobación y el primer error inmediatamente anterior.
  • Confirma que el estado observado coincide con «No todas las ACE de tipo DENY_ACCESS están situadas antes que las ACE de tipo GRANT_ACCESS en el flujo.» y no con un HRESULT posterior provocado por el primer fallo.

Tratamiento recomendado

Conserva identidad y descriptor exactos, corrige la ACE, token o nivel de impersonación en el ámbito mínimo y repite con el mismo CLSID/AppID. No desactives controles de acceso globales para hacer pasar la activación.

Resultados cercanos que significan otra cosa

  • CO_E_DLLNOTFOUND significa «No se encontró la DLL de la clase.».
  • CO_E_MISSING_DISPLAYNAME marca una condición diferente: «La activación requiere que exista un nombre para mostrar bajo la clave CLSID.».

Después del cambio, repite desde un lifecycle limpio y verifica que «No todas las ACE de tipo DENY_ACCESS están situadas antes que las ACE de tipo GRANT_ACCESS en el flujo.» desaparece sin relajar controles globales ni sustituir datos por valores artificiales.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.

Exit mobile version