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 >
C/C++ Source or Header  |  2000-02-01  |  2KB  |  59 lines

  1. /*++
  2.  
  3. Copyright (c) 1997-1999 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     commsg.h
  8.  
  9. Abstract:
  10.  
  11.     HRESULT <-> Win32 error mapping macros.
  12.  
  13. Author:
  14.  
  15.     Michael W. Thomas (michth)   24-Sep-1996
  16.  
  17. Revision History:
  18.  
  19.     Keith Moore (keithmo)        07-Feb-1997
  20.         Cleanup, comment, made Metadata errors "real" HRESULTs.
  21.  
  22. --*/
  23.  
  24.  
  25. #ifndef _COMMSG_H_
  26. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  27. #define _COMMSG_H_
  28.  
  29.  
  30. //
  31. // RETURNCODETOHRESULT() maps a return code to an HRESULT. If the return
  32. // code is a Win32 error (identified by a zero high word) then it is mapped
  33. // using the standard HRESULT_FROM_WIN32() macro. Otherwise, the return
  34. // code is assumed to already be an HRESULT and is returned unchanged.
  35. //
  36.  
  37. #define RETURNCODETOHRESULT(rc)                             \
  38.             (((rc) < 0x10000)                               \
  39.                 ? HRESULT_FROM_WIN32(rc)                    \
  40.                 : (rc))
  41.  
  42.  
  43. //
  44. // HRESULTTOWIN32() maps an HRESULT to a Win32 error. If the facility code
  45. // of the HRESULT is FACILITY_WIN32, then the code portion (i.e. the
  46. // original Win32 error) is returned. Otherwise, the original HRESULT is
  47. // returned unchagned.
  48. //
  49.  
  50. #define HRESULTTOWIN32(hres)                                \
  51.             ((HRESULT_FACILITY(hres) == FACILITY_WIN32)     \
  52.                 ? HRESULT_CODE(hres)                        \
  53.                 : (hres))
  54.  
  55.  
  56. #pragma option pop /*P_O_Pop*/
  57. #endif  // _COMMSG_H_
  58.  
  59.