Annotation of mstools/ole20/h/scode.h, revision 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.