Defrag Tools #191 - HRESULT Error Codes

Play Defrag Tools #191 - HRESULT Error Codes
Sign in to queue


In this episode of Defrag Tools, we talk about HRESULT based Error Codes. The 32bits in the HRESULT have meanings, allowing the reader to gain additional insights into the error.

Of note:

The 32nd bit (the top bit) indicates if an error occurred or not. This is why errors are 0x8xxxxxxx.
The 16-26 bits are the Facility - the originating API (Win32, CLR, XAML, etc.).
The 0-15 bits are the (Error) Code.

Common NULL Facility Error Codes

S_OKOperation successful0x00000000
S_FALSEOperation successful but returned no results0x00000001
E_ABORTOperation aborted0x80004004
E_FAILUnspecified failure0x80004005
E_NOINTERFACENo such interface supported0x80004002
E_NOTIMPLNot implemented0x80004001
E_POINTERPointer that is not valid0x80004003
E_UNEXPECTEDUnexpected failure0x8000FFFF

Common Win32 Facility Error Codes

These are built by passing a System Error Code to HRESULT_FROM_WIN32

E_ACCESSDENIEDGeneral access denied error0x80070005
E_HANDLEHandle that is not valid0x80070006
E_INVALIDARGOne or more arguments are not valid0x80070057
E_OUTOFMEMORYFailed to allocate necessary memory0x8007000E

Related Links:

HRESULT Facility – By Value
HRESULT Facility – By Name


COM, Debugging



The Discussion

Add Your 2 Cents