| Previous | Next |
| CO_E_CLSREG_INCONSISTENT | CO_E_NOT_SUPPORTED |
CO_E_IIDREG_INCONSISTENT
CO_E_IIDREG_INCONSISTENT concerns interface registration rather than the class-server path. COM has an IID-related registration state that is incomplete or does not fit the requested interface or marshaling arrangement.
Why an IID can need separate registration
Every COM interface has its own IID. Standard marshaling covers many interfaces, but a custom-marshaled interface needs a proxy/stub registration that lets clients locate the marshaling implementation. Microsoft’s proxy/stub guidance shows the relevant registry relationship: Interface\{IID}\ProxyStubClsid32 points to the proxy CLSID, whose InprocServer32 entry locates the proxy DLL.
How to investigate
- Record the exact IID requested by the client and determine whether the interface uses standard marshaling or a custom proxy/stub.
- For custom marshaling, verify the Interface,
ProxyStubClsid32, proxy CLSID, and proxy DLL registration as one chain. - Register or repair only the proxy/stub supplied for that interface. Re-registering the class server alone may leave an IID marshaling problem unchanged.
References
- Microsoft: COM interfaces and IIDs
- Microsoft: registering a COM proxy/stub DLL
- Microsoft: generic COM error codes
Looking for a different code? Search another status or error code.
