A list of HRESULT codes

2007-02-16 10:50:44 +0000

…because every time I search for a given HRESULT, all I get is yet another frigging VB website regurgitating the contents of WinError.h

Usually means that you've forgotten to call CoInitializeSecurity or CoSetProxyBlanket with the RPC_C_IMP_LEVEL_IMPERSONATE parameter. Oddly, I've seen CoImpersonateClient succeed, but a later call to RegOpenKeyEx fail with this error. I'd have been expecting ERROR_ACCESS_DENIED myself.
E_NOINTERFACE (0x80004002)
When attempting to marshal an interface pointer, COM couldn't figure out how to create the proxy and stub. Check under HKEY_CLASSES_ROOT\Interface\{_iid_}\ProxyStubClsid32. The value given here is a CLSID, so you should chase that down as well.
When attempting to use typelib-based marshalling, COM couldn't load the .TLB file. Check in HKEY_CLASSES_ROOT\Typelib\{_typelib-id_}\x.y\0\win32 to verify that the path to the .TLB file is correct. In particular, note that relative paths in this key are a bad idea.