| 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.
