Site icon EfmSoft

What does HRESULT 0x8001012A (CO_E_ACCESSCHECKFAILED) mean?

 
Previous Next
CO_E_FAILEDTOSETDACL CO_E_NETACCESSAPIFAILED

CO_E_ACCESSCHECKFAILED

COM access check could not be completed successfully

CO_E_ACCESSCHECKFAILED is HRESULT 2147549482 (0x8001012A) from winerror.h. The documented description is “The system function, AccessCheck, returned false.” The relevant context is the COM IAccessControl, DCOM client identity, trustee translation, token inspection, security descriptor, ACL, or serialization workflow.

Where it is encountered

  • IAccessControl initialization, access checks, owner/trustee processing, and serialized ACL persistence.
  • Server-side DCOM impersonation, client blanket inspection, token and SID lookup.
  • Security descriptor construction, DACL canonicalization, file-backed policy storage, or legacy NetAccess migration.

The immediate focus is an AccessCheck-based decision where the function fails or returns an unusable evaluation instead of a trustworthy granted/denied result.

What to verify

Verify that the client token, descriptor owner/group, DACL, generic mapping, desired mask, privilege buffer, and API return are all captured.

Difference from nearby HRESULTs

It means authorization evaluation itself failed; RPC_E_ACCESS_DENIED is a completed denial at the COM/RPC boundary.

Correct handling and recovery

Treat the operation as denied, correct descriptor or token defects, map generic rights, and repeat only after the access-check inputs are valid.

Practical scenario

A private-object server passes an unmapped generic access mask to AccessCheck. It calls MapGenericMask and records the granted mask separately from function success.

References


Looking for a different code? Search another status or error code.

Exit mobile version