Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Maps a system error code to an HRESULT value.
Syntax
void HRESULT_FROM_WIN32(
  x
);
Parameters
x
The system error code.
Return value
None
Remarks
This macro is defined as follows:
//
// HRESULT_FROM_WIN32(x) used to be a macro, however we now run it as an inline function
// to prevent double evaluation of 'x'. If you still need the macro, you can use __HRESULT_FROM_WIN32(x)
//
#define __HRESULT_FROM_WIN32(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000)))
#ifndef __midl
FORCEINLINE HRESULT HRESULT_FROM_WIN32(unsigned long x) { 
   return (HRESULT)(x) <= 0 ? (HRESULT)(x) : (HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000);
}
#else
#define HRESULT_FROM_WIN32(x) __HRESULT_FROM_WIN32(x)
#endif
Requirements
| Requirement | Value | 
|---|---|
| Minimum supported client | Windows 2000 Professional [desktop apps only] | 
| Minimum supported server | Windows 2000 Server [desktop apps only] | 
| Target Platform | Windows | 
| Header | winerror.h |