Annotation of mstools/ole20/h/scode.h, revision 1.1.1.1

1.1       root        1: //+---------------------------------------------------------------------------
                      2: //
                      3: // File:        SCode.h
                      4: //
                      5: // Contents:    Defines standard status code services.
                      6: //
                      7: //
                      8: //----------------------------------------------------------------------------
                      9: 
                     10: #ifndef __SCODE_H__
                     11: #define __SCODE_H__
                     12: 
                     13: //
                     14: // SCODE
                     15: //
                     16: 
                     17: typedef long SCODE;
                     18: typedef SCODE *PSCODE;
                     19: typedef void FAR * HRESULT;
                     20: #define NOERROR 0
                     21: 
                     22: //
                     23: //  Status values are 32 bit values layed out as follows:
                     24: //
                     25: //   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
                     26: //   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
                     27: //  +-+---------------------+-------+-------------------------------+
                     28: //  |S|       Context       | Facil |               Code            |
                     29: //  +-+---------------------+-------+-------------------------------+
                     30: //
                     31: //  where
                     32: //
                     33: //      S - is the severity code
                     34: //
                     35: //          0 - Success
                     36: //          1 - Error
                     37: //
                     38: //      Context - context info
                     39: //
                     40: //      Facility - is the facility code
                     41: //
                     42: //      Code - is the facility's status code
                     43: //
                     44: 
                     45: //
                     46: // Severity values
                     47: //
                     48: 
                     49: #define SEVERITY_SUCCESS    0
                     50: #define SEVERITY_ERROR      1
                     51: 
                     52: 
                     53: 
                     54: #define SUCCEEDED(Status) ((SCODE)(Status) >= 0)
                     55: 
                     56: #define FAILED(Status) ((SCODE)(Status)<0)
                     57: 
                     58: 
                     59: //
                     60: // Return the code
                     61: //
                     62: 
                     63: #define SCODE_CODE(sc)      ((sc) & 0xFFFF)
                     64: 
                     65: //
                     66: //  Return the facility
                     67: //
                     68: 
                     69: #define SCODE_FACILITY(sc)  (((sc) >> 16) & 0x1fff)
                     70: 
                     71: //
                     72: //  Return the severity
                     73: //
                     74: 
                     75: #define SCODE_SEVERITY(sc)  (((sc) >> 31) & 0x1)
                     76: 
                     77: //
                     78: // Create an SCODE value from component pieces
                     79: //
                     80: 
                     81: #define MAKE_SCODE(sev,fac,code) \
                     82:     ((SCODE) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
                     83: 
                     84: 
                     85: 
                     86: // --------------------- Functions ---------------------------------------
                     87: 
                     88: #define GetScode(hr)        ((SCODE)(hr) & 0x800FFFFF)
                     89: #define ResultFromScode(sc) ((HRESULT)((SCODE)(sc) & 0x800FFFFF))
                     90: 
                     91: STDAPI PropagateResult(HRESULT hrPrev, SCODE scNew);
                     92: 
                     93: 
                     94: // -------------------------- Facility definitions -------------------------
                     95: 
                     96: #define FACILITY_NULL       0x0000 // generally useful errors ([SE]_*)
                     97: #define FACILITY_RPC            0x0001 // remote procedure call errors (RPC_E_*)
                     98: #define FACILITY_DISPATCH   0x0002 // late binding dispatch errors
                     99: #define FACILITY_STORAGE   0x0003 // storage errors (STG_E_*)
                    100: #define FACILITY_ITF            0x0004 // interface-specific errors
                    101: 
                    102: 
                    103: 
                    104: #define S_OK                0L
                    105: #define S_FALSE             MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_NULL, 1)
                    106: 
                    107: 
                    108: 
                    109: // --------------------- FACILITY_NULL errors ------------------------------
                    110: 
                    111: #define E_UNEXPECTED        MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 0xffff)
                    112:                             // relatively catastrophic failure
                    113: 
                    114: #define E_NOTIMPL           MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 1)
                    115:                             // not implemented
                    116: 
                    117: #define E_OUTOFMEMORY       MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 2)
                    118:                             // ran out of memory
                    119: 
                    120: #define E_INVALIDARG        MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 3)
                    121:                             // one or more arguments are invalid
                    122: 
                    123: #define E_NOINTERFACE       MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 4)
                    124:                             // no such interface supported
                    125: 
                    126: 
                    127: #define E_POINTER           MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 5)
                    128:                             // invalid pointer
                    129: 
                    130: #define E_HANDLE            MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 6)
                    131:                             // invalid handle
                    132: 
                    133: #define E_ABORT             MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 7)
                    134:                             // operation aborted
                    135: 
                    136: #define E_FAIL              MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 8)
                    137:                             // unspecified error
                    138: 
                    139: 
                    140: #define E_ACCESSDENIED      MAKE_SCODE(SEVERITY_ERROR,   FACILITY_NULL, 9)
                    141:                             // general access denied error
                    142: 
                    143: 
                    144: // ----------------- FACILITY_ITF errors used by OLE ---------------------
                    145: //
                    146: // By convention, OLE interfaces divide the FACILITY_ITF range of errors
                    147: // into nonoverlapping subranges.  If an OLE interface returns a FACILITY_ITF
                    148: // scode, it must be from the range associated with that interface or from
                    149: // the shared range: OLE_E_FIRST...OLE_E_LAST.
                    150: //
                    151: // The ranges, their associated interfaces, and the header file that defines
                    152: // the actual scodes are given below.
                    153: // 
                    154: 
                    155: // Generic OLE errors that may be returned by many interfaces
                    156: #define OLE_E_FIRST MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0000)
                    157: #define OLE_E_LAST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x00FF)
                    158: #define OLE_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0000)
                    159: #define OLE_S_LAST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x00FF)
                    160: // interfaces: all
                    161: // file: ole2.h
                    162: 
                    163: 
                    164: #define DRAGDROP_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0100)
                    165: #define DRAGDROP_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x010F)
                    166: #define DRAGDROP_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0100)
                    167: #define DRAGDROP_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x010F)
                    168: // interfaces: IDropSource, IDropTarget
                    169: // file: ole2.h
                    170: 
                    171: #define CLASSFACTORY_E_FIRST MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0110)
                    172: #define CLASSFACTORY_E_LAST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x011F)
                    173: #define CLASSFACTORY_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0110)
                    174: #define CLASSFACTORY_S_LAST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x011F)
                    175: // interfaces: IClassFactory
                    176: // file:
                    177: 
                    178: #define MARSHAL_E_FIRST MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0120)
                    179: #define MARSHAL_E_LAST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x012F)
                    180: #define MARSHAL_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0120)
                    181: #define MARSHAL_S_LAST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x012F)
                    182: // interfaces: IMarshal, IStdMarshalInfo, marshal APIs
                    183: // file:
                    184: 
                    185: #define DATA_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0130)
                    186: #define DATA_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x013F)
                    187: #define DATA_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0130)
                    188: #define DATA_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x013F)
                    189: // interfaces: IDataObject
                    190: // file: dvobj.h
                    191: 
                    192: #define VIEW_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0140)
                    193: #define VIEW_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x014F)
                    194: #define VIEW_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0140)
                    195: #define VIEW_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x014F)
                    196: // interfaces: IViewObject
                    197: // file: dvobj.h
                    198: 
                    199: #define REGDB_E_FIRST   MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0150)
                    200: #define REGDB_E_LAST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x015F)
                    201: #define REGDB_S_FIRST   MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0150)
                    202: #define REGDB_S_LAST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x015F)
                    203: // API: reg.dat manipulation
                    204: 
                    205: // range 160 - 16F reserved
                    206: 
                    207: #define CACHE_E_FIRST   MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0170) 
                    208: #define CACHE_E_LAST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x017F)
                    209: #define CACHE_S_FIRST   MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0170)
                    210: #define CACHE_S_LAST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x017F)
                    211: // interfaces: IOleCache
                    212: // file:
                    213: 
                    214: #define OLEOBJ_E_FIRST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0180)
                    215: #define OLEOBJ_E_LAST   MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x018F)
                    216: #define OLEOBJ_S_FIRST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0180)
                    217: #define OLEOBJ_S_LAST   MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x018F)
                    218: // interfaces: IOleObject
                    219: // file:
                    220: 
                    221: #define CLIENTSITE_E_FIRST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0190) 
                    222: #define CLIENTSITE_E_LAST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x019F)
                    223: #define CLIENTSITE_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0190)
                    224: #define CLIENTSITE_S_LAST   MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x019F)
                    225: // interfaces: IOleClientSite
                    226: // file:
                    227: 
                    228: #define INPLACE_E_FIRST MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01A0)
                    229: #define INPLACE_E_LAST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01AF)
                    230: #define INPLACE_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01A0)
                    231: #define INPLACE_S_LAST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01AF)
                    232: // interfaces: IOleWindow, IOleInPlaceObject, IOleInPlaceActiveObject,
                    233: //                 IOleInPlaceUIWindow, IOleInPlaceFrame, IOleInPlaceSite
                    234: // file:
                    235: 
                    236: #define ENUM_E_FIRST        MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01B0)
                    237: #define ENUM_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01BF)
                    238: #define ENUM_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01B0)
                    239: #define ENUM_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01BF)
                    240: // interfaces: IEnum*
                    241: // file:
                    242: 
                    243: #define CONVERT10_E_FIRST   MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01C0)
                    244: #define CONVERT10_E_LAST   MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01CF)
                    245: #define CONVERT10_S_FIRST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01C0)
                    246: #define CONVERT10_S_LAST   MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01CF)
                    247: // API: OleConvertOLESTREAMToIStorage, OleConvertIStorageToOLESTREAM
                    248: // file:
                    249: 
                    250: 
                    251: #define CLIPBRD_E_FIRST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01D0)
                    252: #define CLIPBRD_E_LAST      MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01DF)
                    253: #define CLIPBRD_S_FIRST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01D0)
                    254: #define CLIPBRD_S_LAST      MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01DF)
                    255: // interfaces: OleSetClipboard, OleGetClipboard, OleFlushClipboard
                    256: // file: ole2.h
                    257: 
                    258: #define MK_E_FIRST      MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01E0)
                    259: #define MK_E_LAST           MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01EF)
                    260: #define MK_S_FIRST          MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01E0)
                    261: #define MK_S_LAST           MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01EF)
                    262: // interfaces: IMoniker, IBindCtx, IRunningObjectTable, IParseDisplayName,
                    263: //             IOleContainer, IOleItemContainer, IOleLink
                    264: // file: moniker.h
                    265: 
                    266: 
                    267: #define CO_E_FIRST      MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01F0)
                    268: #define CO_E_LAST           MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x01FF)
                    269: #define CO_S_FIRST          MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01F0)
                    270: #define CO_S_LAST           MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x01FF)
                    271: // all Co* API
                    272: // file: compobj.h
                    273: 
                    274: 
                    275: // range 200 - ffff for new error codes
                    276: 
                    277: 
                    278: #ifndef OLE2SHIP
                    279: #define E_UNSPEC E_FAIL
                    280: #define ADVSINK_E_FIRST MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0150)
                    281: #define ADVSINK_E_LAST  MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x015F)
                    282: #define ADVSINK_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0150)
                    283: #define ADVSINK_S_LAST  MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x015F)
                    284: #define ADVHOLDER_E_FIRST   MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0160)
                    285: #define ADVHOLDER_E_LAST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x016F)
                    286: #define ADVHOLDER_S_FIRST   MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0160)
                    287: #define ADVHOLDER_S_LAST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x016F)
                    288: #endif
                    289: 
                    290: #endif      // ifndef __SCODE_H__

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.