When dealing with software on Windows we are often confronted with HRESULT error codes, presented either as hexadecimal (e.g. 0x80070057) or as a negative decimal number (-2147024809). To understand what the error code means we look it up, usually in the ‘Error Lookup’ utility that comes with Visual Studio, but this has significant limitations.
Presenting the ‘Error Lookup’ with a a hex HRESULT code will show us the error message, but it does not show us the symbol as it is defined in the Platform SDK (usually winerror.h). So for 0x80070057, it will tell us that the message is ‘The parameter is incorrect’, but it will not tell us the original symbol (E_INVALIDARG).
Another limitation is that we cannot look up a HRESULT symbol to obtain the error code value (and message).
This is where my new utility will help.
hrlookup has been written to provide more information about HRESULT error codes and symbols so that we will no longer need to search online for well-known values just to find the symbol name.
Only a command-line version is available just now, but I’m planning to create a user interface soon.