home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
include
/
mdcommsg.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-25
|
1KB
|
57 lines
/*++
Copyright (c) 1997 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_
#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))
#endif // _COMMSG_H_