Defrag Tools #191 – HRESULT Error Codes | Defrag Tools

This post has been republished via RSS; it originally appeared at: Channel 9.

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

NameDescriptionValue
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

NameDescriptionValue
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
HRESULT Facility – By Value
HRESULT Facility – By Name

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.