Site icon EfmSoft

HRESULT

In the field of computer programming, the HRESULT is a data type used in Windows operating systems, and the earlier IBM/Microsoft OS/2 operating system, to represent error conditions, and warning conditions.

The original purpose of HRESULTs was to formally lay out ranges of error codes for both public and Microsoft internal use in order to prevent collisions between error codes in different subsystems of the OS/2 operating system.

HRESULTs are numerical error codes. Various bits within an HRESULT encode information about the nature of the error code, and where it came from.

HRESULT error codes are most commonly encountered in COM programming, where they form the basis for a standardized COM error handling convention.

The HRESULT numbering space is vendor-extensible. Vendors can supply their own values for this field, as long as the C bit (0x20000000) is set, indicating it is a customer code.

The HRESULT numbering space has the following internal structure. Any protocol that uses NTSTATUS values on the wire is responsible for stating the order in which the bytes are placed on the wire.

S (1 bit): Severity. If set, indicates a failure result. If clear, indicates a success result.

R (1 bit): Reserved. If the N bit is clear, this bit MUST be set to 0. If the N bit is set, this bit is defined by the NTSTATUS numbering space.

C (1 bit): Customer. This bit specifies if the value is customer-defined or Microsoft-defined. The bit is set for customer-defined values and clear for Microsoft-defined values.

N (1 bit): If set, indicates that the error code is an NTSTATUS value (as specified in section 2.3), except that this bit is set.

X (1 bit):  Reserved.  SHOULD be set to 0.

Facility (11 bits): An indicator of the source of the error. New facilities are occasionally added by Microsoft.

The following table lists the currently defined facility
codes:

Value Meaning
FACILITY_NULL

0

The default facility code.
FACILITY_RPC

1

The source of the error code is an RPC subsystem.
FACILITY_DISPATCH

2

The source of the error code is a COM Dispatch.
FACILITY_STORAGE

3

The source of the error code is OLE Storage.
FACILITY_ITF

4

The source of the error code is COM/OLE Interface management.
FACILITY_WIN32

7

This region is reserved to map undecorated error codes
into HRESULTs.
FACILITY_WINDOWS

8

The source of the error code is the Windows subsystem.
FACILITY_SECURITY

9

The source of the error code is the Security API
layer.
FACILITY_SSPI

9

The source of the error code is the Security API
layer.
FACILITY_CONTROL

10

The source of the error code is the control mechanism.
FACILITY_CERT

11

The source of the error code is a certificate client
or server?
FACILITY_INTERNET

12

The source of the error code is Wininet related.
FACILITY_MEDIASERVER

13

The source of the error code is the Windows Media
Server.
FACILITY_MSMQ

14

The source of the error code is the Microsoft Message
Queue.
FACILITY_SETUPAPI

15

The source of the error code is the Setup API.
FACILITY_SCARD

16

The source of the error code is the Smart-card
subsystem.
FACILITY_COMPLUS

17

The source of the error code is COM+.
FACILITY_AAF

18

The source of the error code is the Microsoft agent.
FACILITY_URT

19

The source of the error code is .NET CLR.
FACILITY_ACS

20

The source of the error code is the audit collection
service.
FACILITY_DPLAY

21

The source of the error code is Direct Play.
FACILITY_UMI

22

The source of the error code is the ubiquitous memoryintrospection
service.
FACILITY_SXS

23

The source of the error code is Side-by-side
servicing.
FACILITY_WINDOWS_CE

24

The error code is specific to Windows CE.
FACILITY_HTTP

25

The source of the error code is HTTP support.
FACILITY_USERMODE_COMMONLOG

26

The source of the error code is common Logging
support.
FACILITY_USERMODE_FILTER_MANAGER

31

The source of the error code is the user mode filter
manager.
FACILITY_BACKGROUNDCOPY

32

The source of the error code is background copy
control
FACILITY_CONFIGURATION

33

The source of the error code is configuration
services.
FACILITY_STATE_MANAGEMENT

34

The source of the error code is state management
services.
FACILITY_METADIRECTORY

35

The source of the error code is the Microsoft Identity
Server.
FACILITY_WINDOWSUPDATE

36

The source of the error code is a Windows update.
FACILITY_DIRECTORYSERVICE

37

The source of the error code is Active Directory.
FACILITY_GRAPHICS

38

The source of the error code is the graphics drivers.
FACILITY_SHELL

39

The source of the error code is the user Shell.
FACILITY_TPM_SERVICES

40

The source of the error code is the Trusted Platform
Module services.
FACILITY_TPM_SOFTWARE

41

The source of the error code is the Trusted Platform
Module applications.
FACILITY_PLA

48

The source of the error code is Performance Logs and
Alerts
FACILITY_FVE

49

The source of the error code is Full volume
encryption.
FACILITY_FWP

50

The source of the error code is the Firewall Platform.
FACILITY_WINRM

51

The source of the error code is the Windows Resource
Manager.
FACILITY_NDIS

52

The source of the error code is the Network Driver
Interface.
FACILITY_USERMODE_HYPERVISOR

53

The source of the error code is the Usermode
Hypervisor components.
FACILITY_CMI

54

The source of the error code is the Configuration
Management Infrastructure.
FACILITY_USERMODE_VIRTUALIZATION

55

The source of the error code is the user mode
virtualization subsystem.
FACILITY_USERMODE_VOLMGR

56

The source of the error code is the user mode volume manager
FACILITY_BCD

57

The source of the error code is the Boot Configuration
Database.
FACILITY_USERMODE_VHD

58

The source of the error code is user mode virtual hard
disk support.
FACILITY_SDIAG

60

The source of the error code is System Diagnostics.
FACILITY_WEBSERVICES

61

The source of the error code is the Web Services.
FACILITY_WINDOWS_DEFENDER

80

The source of the error code is a Windows Defender
component.
FACILITY_OPC

81

The source of the error code is the open connectivity
service.

Code (2 bytes): The remainder of the error code.

HRESULT status codes are supported by our What Is service.

Exit mobile version