Looking up error codes with Err.exe
Err.exe is a great command-line utility for looking up error codes.
It works with multiple sources, so running "err 80040005" will show where the
error code exists in windows headers and other commonly used places. I used it
frequently to look up COM error codes when working on Windows Vista (and ended up memorizing some common COM error codes as a result).
Here's an example of using Err.exe to look up the possible meanings of COM error code 0x80004005:
C:\>err 80004005
# for hex 0x80004005 / decimal -2147467259 :
DDERR_GENERIC ddraw.h
DIERR_GENERIC dinput.h
DPERR_GENERIC dplay.h
DPNERR_GENERIC dplay8.h
DSERR_GENERIC dsound.h
DVERR_GENERIC dvoice.h
ecError ec.h
MAPI_E_CALL_FAILED mapicode.h
STIERR_GENERIC stierr.h
E_FAIL winerror.h
# Unspecified error
# 10 matches found for "80004005"
Get Err.exe at https://www.microsoft.com/downloads/details.aspx?familyid=be596899-7bb8-4208-b7fc-09e02a13696c&displaylang=en
(MSDN says it's for Exchange error codes but it works for Win32 error codes and many more).