home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magazyn Internet 2000 May
/
MICD_2000_05.iso
/
CBuilder5
/
INSTALL
/
DATA1.CAB
/
Program_Built_Files
/
Include
/
mdcommsg.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-02-01
|
2KB
|
59 lines
/*++
Copyright (c) 1997-1999 Microsoft Corporation
Module Name:
commsg.h
Abstract:
HRESULT <-> Win32 error mapping macros.
Author:
Michael W. Thomas (michth) 24-Sep-1996
Revision History:
Keith Moore (keithmo) 07-Feb-1997
Cleanup, comment, made Metadata errors "real" HRESULTs.
--*/
#ifndef _COMMSG_H_
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define _COMMSG_H_
//
// RETURNCODETOHRESULT() maps a return code to an HRESULT. If the return
// code is a Win32 error (identified by a zero high word) then it is mapped
// using the standard HRESULT_FROM_WIN32() macro. Otherwise, the return
// code is assumed to already be an HRESULT and is returned unchanged.
//
#define RETURNCODETOHRESULT(rc) \
(((rc) < 0x10000) \
? HRESULT_FROM_WIN32(rc) \
: (rc))
//
// HRESULTTOWIN32() maps an HRESULT to a Win32 error. If the facility code
// of the HRESULT is FACILITY_WIN32, then the code portion (i.e. the
// original Win32 error) is returned. Otherwise, the original HRESULT is
// returned unchagned.
//
#define HRESULTTOWIN32(hres) \
((HRESULT_FACILITY(hres) == FACILITY_WIN32) \
? HRESULT_CODE(hres) \
: (hres))
#pragma option pop /*P_O_Pop*/
#endif // _COMMSG_H_