| Previous | Next |
| VIEW_E_DRAW | REGDB_E_WRITEREGDB |
REGDB_E_READREGDB
Could not read key from registry
REGDB_E_READREGDB is the failure HRESULT 2147746128 (0x80040150, signed -2147221168) from winerror.h. The documented description is “Could not read key from registry”. In practical terms, COM could not read required registration data. Interpret it in the context of resolving class, interface, proxy, server, or activation metadata from the registration database.
Relevant contract
COM registration is architecture-, scope-, and identity-sensitive. A key visible in Registry Editor is not proof that the failing process sees the same view or that the values form a coherent activation contract.
- Associate this result with one exact operation in CLSID/IID registry lookup, InprocServer32 or LocalServer32 metadata, interface proxy registration, package policy, and threading-model interpretation.
- Confirm that this result came from resolving class, interface, proxy, server, or activation metadata from the registration database, rather than from cleanup or a wrapper that ran afterward.
Likely cause branches
- It can result when the process lacks read access to a required key or value.
- It can result when the registry hive or mounted user profile is unavailable or corrupt.
- It can result when security software, deployment, or concurrent uninstall leaves a key unreadable during activation.
Evidence to preserve
- Identify the exact CLSID/IID and registry view used by the failing process.
- Compare access with RegOpenKeyEx under the same token without broad elevation.
- Inspect deployment and registry event logs around the first unreadable key.
Diagnostic sequence
- Identify the exact object, method, and lifecycle phase involved in resolving class, interface, proxy, server, or activation metadata from the registration database.
Recovery and retry
Correction. restore correct ACLs or registration through the owning installer and retry from a fresh activation path. Retry condition. Retry may be transient during profile load or deployment, but repeated access denial requires repair rather than elevation of the application. Before repeating the operation, complete or roll back the installer transaction, re-read the exact user or machine registry view, and discard class factories obtained from superseded registration.
Practical scenario
A 32-bit service reads the Wow6432Node registration whose ACL was replaced by a manual import; repairing the product registration restores normal activation.
Difference from related HRESULTs
REGDB_E_KEYMISSING means the key is absent; it means the key path was reached but required data could not be read.
Developer and administrator guidance
References
Looking for a different code? Search another status or error code.