Annotation of mstools/h/ole.h, revision 1.1.1.2

1.1       root        1: /*****************************************************************************\
                      2: *                                                                             *
                      3: * ole.h -       Object Linking and Embedding functions, types, and definitions*
                      4: *                                                                             *
                      5: *               Version 1.0                                                   *
                      6: *                                                                             *
                      7: *               NOTE: windows.h must be #included first                       *
                      8: *                                                                             *
                      9: *               Copyright (c) 1990-1992, Microsoft Corp.  All rights reserved.*
                     10: *                                                                             *
                     11: \*****************************************************************************/
                     12: 
                     13: #ifndef _INC_OLE
                     14: #define _INC_OLE
                     15: 
1.1.1.2 ! root       16: #ifdef WIN16
        !            17: #ifndef RC_INVOKED
        !            18: #pragma pack(1)         /* Assume byte packing throughout */
        !            19: #endif /* !RC_INVOKED */
        !            20: #endif
1.1       root       21: 
                     22: #ifdef __cplusplus
                     23: extern "C" {            /* Assume C declarations for C++ */
                     24: #endif  /* __cplusplus */
                     25: 
1.1.1.2 ! root       26: #ifndef WINAPI          /* If not included with 3.1 headers... */
1.1       root       27: #define WINAPI      FAR PASCAL
1.1.1.2 ! root       28: #define CALLBACK    FAR PASCAL
        !            29: #define LPCSTR      LPSTR
        !            30: #define LRESULT     LONG
        !            31: #define HGLOBAL     HANDLE
        !            32: #endif  /* _INC_WINDOWS */
1.1       root       33: 
                     34: 
1.1.1.2 ! root       35: #ifdef STRICT
        !            36: #define OLE_LPCSTR  LPCSTR
        !            37: #define OLE_CONST   const
        !            38: #else   /* STRICT */
        !            39: #define OLE_LPCSTR  LPSTR
        !            40: #define OLE_CONST
        !            41: #endif /* !STRICT */
        !            42: 
1.1       root       43: #define LRESULT     LONG
                     44: #define HGLOBAL     HANDLE
                     45: 
                     46: 
                     47: /* Object types */
                     48: #define OT_LINK             1L
                     49: #define OT_EMBEDDED         2L
                     50: #define OT_STATIC           3L
                     51: 
                     52: /* activate verbs */
                     53: #define OLEVERB_PRIMARY     0
                     54: 
                     55: /* target device info structure */
                     56: typedef struct _OLETARGETDEVICE
                     57: {
                     58:     UINT otdDeviceNameOffset;
                     59:     UINT otdDriverNameOffset;
                     60:     UINT otdPortNameOffset;
                     61:     UINT otdExtDevmodeOffset;
                     62:     UINT otdExtDevmodeSize;
                     63:     UINT otdEnvironmentOffset;
                     64:     UINT otdEnvironmentSize;
                     65:     BYTE otdData[1];
                     66: } OLETARGETDEVICE;
                     67: typedef OLETARGETDEVICE FAR* LPOLETARGETDEVICE;
                     68: 
                     69: /* flags used in some methods */
                     70: #define OF_SET              0x0001
                     71: #define OF_GET              0x0002
                     72: #define OF_HANDLER          0x0004
                     73: 
                     74: /* return codes for OLE functions */
                     75: typedef enum
                     76: {
                     77:     OLE_OK,                     /* 0   Function operated correctly             */
                     78: 
                     79:     OLE_WAIT_FOR_RELEASE,       /* 1   Command has been initiated, client      */
                     80:                                 /*     must wait for release. keep dispatching */
                     81:                                 /*     messages till OLE_RELESE in callback    */
                     82: 
                     83:     OLE_BUSY,                   /* 2   Tried to execute a method while another */
                     84:                                 /*     method is in progress.                  */
                     85: 
                     86:     OLE_ERROR_PROTECT_ONLY,     /* 3   Ole APIs are called in real mode        */
                     87:     OLE_ERROR_MEMORY,           /* 4   Could not alloc or lock memory          */
                     88:     OLE_ERROR_STREAM,           /* 5  (OLESTREAM) stream error                 */
                     89:     OLE_ERROR_STATIC,           /* 6   Non static object expected              */
                     90:     OLE_ERROR_BLANK,            /* 7   Critical data missing                   */
                     91:     OLE_ERROR_DRAW,             /* 8   Error while drawing                     */
                     92:     OLE_ERROR_METAFILE,         /* 9   Invalid metafile                        */
                     93:     OLE_ERROR_ABORT,            /* 10  Client chose to abort metafile drawing  */
                     94:     OLE_ERROR_CLIPBOARD,        /* 11  Failed to get/set clipboard data        */
                     95:     OLE_ERROR_FORMAT,           /* 12  Requested format is not available       */
                     96:     OLE_ERROR_OBJECT,           /* 13  Not a valid object                      */
                     97:     OLE_ERROR_OPTION,           /* 14  Invalid option(link update / render)    */
                     98:     OLE_ERROR_PROTOCOL,         /* 15  Invalid protocol                        */
                     99:     OLE_ERROR_ADDRESS,          /* 16  One of the pointers is invalid          */
                    100:     OLE_ERROR_NOT_EQUAL,        /* 17  Objects are not equal                   */
                    101:     OLE_ERROR_HANDLE,           /* 18  Invalid handle encountered              */
                    102:     OLE_ERROR_GENERIC,          /* 19  Some general error                      */
                    103:     OLE_ERROR_CLASS,            /* 20  Invalid class                           */
                    104:     OLE_ERROR_SYNTAX,           /* 21  Command syntax is invalid               */
                    105:     OLE_ERROR_DATATYPE,         /* 22  Data format is not supported            */
                    106:     OLE_ERROR_PALETTE,          /* 23  Invalid color palette                   */
                    107:     OLE_ERROR_NOT_LINK,         /* 24  Not a linked object                     */
                    108:     OLE_ERROR_NOT_EMPTY,        /* 25  Client doc contains objects.            */
                    109:     OLE_ERROR_SIZE,             /* 26  Incorrect buffer size passed to the api */
                    110:                                 /*     that places some string in caller's     */
                    111:                                 /*     buffer                                  */
                    112: 
                    113:     OLE_ERROR_DRIVE,            /* 27  Drive letter in doc name is invalid     */
                    114:     OLE_ERROR_NETWORK,          /* 28  Failed to establish connection to a     */
                    115:                                 /*     network share on which the document     */
                    116:                                 /*     is located                              */
                    117: 
                    118:     OLE_ERROR_NAME,             /* 29  Invalid name(doc name, object name),    */
                    119:                                 /*     etc.. passed to the APIs                */
                    120: 
                    121:     OLE_ERROR_TEMPLATE,         /* 30  Server failed to load template          */
                    122:     OLE_ERROR_NEW,              /* 31  Server failed to create new doc         */
                    123:     OLE_ERROR_EDIT,             /* 32  Server failed to create embedded        */
                    124:                                 /*     instance                                */
                    125:     OLE_ERROR_OPEN,             /* 33  Server failed to open document,         */
                    126:                                 /*     possible invalid link                   */
                    127: 
                    128:     OLE_ERROR_NOT_OPEN,         /* 34  Object is not open for editing          */
                    129:     OLE_ERROR_LAUNCH,           /* 35  Failed to launch server                 */
                    130:     OLE_ERROR_COMM,             /* 36  Failed to communicate with server       */
                    131:     OLE_ERROR_TERMINATE,        /* 37  Error in termination                    */
                    132:     OLE_ERROR_COMMAND,          /* 38  Error in execute                        */
                    133:     OLE_ERROR_SHOW,             /* 39  Error in show                           */
                    134:     OLE_ERROR_DOVERB,           /* 40  Error in sending do verb, or invalid    */
                    135:                                 /*     verb                                    */
                    136:     OLE_ERROR_ADVISE_NATIVE,    /* 41  Item could be missing                   */
                    137:     OLE_ERROR_ADVISE_PICT,      /* 42  Item could be missing or server doesn't */
                    138:                                 /*     this format.                            */
                    139: 
                    140:     OLE_ERROR_ADVISE_RENAME,    /* 43  Server doesn't support rename           */
                    141:     OLE_ERROR_POKE_NATIVE,      /* 44  Failure of poking native data to server */
                    142:     OLE_ERROR_REQUEST_NATIVE,   /* 45  Server failed to render native data     */
                    143:     OLE_ERROR_REQUEST_PICT,     /* 46  Server failed to render presentation    */
                    144:                                 /*     data                                    */
                    145:     OLE_ERROR_SERVER_BLOCKED,   /* 47  Trying to block a blocked server or     */
                    146:                                 /*     trying to revoke a blocked server       */
                    147:                                 /*     or document                             */
                    148: 
                    149:     OLE_ERROR_REGISTRATION,     /* 48  Server is not registered in regestation */
                    150:                                 /*     data base                               */
                    151:     OLE_ERROR_ALREADY_REGISTERED,/*49  Trying to register same doc multiple    */
                    152:                                  /*    times                                   */
                    153:     OLE_ERROR_TASK,             /* 50  Server or client task is invalid        */
                    154:     OLE_ERROR_OUTOFDATE,        /* 51  Object is out of date                   */
                    155:     OLE_ERROR_CANT_UPDATE_CLIENT,/* 52 Embed doc's client doesn't accept       */
                    156:                                 /*     updates                                 */
                    157:     OLE_ERROR_UPDATE,           /* 53  erorr while trying to update            */
                    158:     OLE_ERROR_SETDATA_FORMAT,   /* 54  Server app doesn't understand the       */
                    159:                                 /*     format given to its SetData method      */
                    160:     OLE_ERROR_STATIC_FROM_OTHER_OS,/* 55 trying to load a static object created */
                    161:                                    /*    on another Operating System           */
                    162:     OLE_ERROR_FILE_VER,
                    163: 
                    164:     /*  Following are warnings */
                    165:     OLE_WARN_DELETE_DATA = 1000 /*     Caller must delete the data when he is  */
                    166:                                 /*     done with it.                           */
                    167: } OLESTATUS;
                    168: 
                    169: 
                    170: 
                    171: /* Codes for CallBack events */
                    172: typedef enum
                    173: {
                    174:     OLE_CHANGED,            /* 0                                             */
                    175:     OLE_SAVED,              /* 1                                             */
                    176:     OLE_CLOSED,             /* 2                                             */
                    177:     OLE_RENAMED,            /* 3                                             */
                    178:     OLE_QUERY_PAINT,        /* 4  Interruptible paint support                */
                    179:     OLE_RELEASE,            /* 5  Object is released(asynchronous operation  */
                    180:                             /*    is completed)                              */
                    181:     OLE_QUERY_RETRY        /* 6  Query for retry when server sends busy ACK */
                    182: } OLE_NOTIFICATION;
                    183: 
                    184: typedef enum
                    185: {
                    186:     OLE_NONE,               /* 0  no method active                           */
                    187:     OLE_DELETE,             /* 1  object delete                              */
                    188:     OLE_LNKPASTE,           /* 2  PasteLink(auto reconnect)                  */
                    189:     OLE_EMBPASTE,           /* 3  paste(and update)                          */
                    190:     OLE_SHOW,               /* 4  Show                                       */
                    191:     OLE_RUN,                /* 5  Run                                        */
                    192:     OLE_ACTIVATE,           /* 6  Activate                                   */
                    193:     OLE_UPDATE,             /* 7  Update                                     */
                    194:     OLE_CLOSE,              /* 8  Close                                      */
                    195:     OLE_RECONNECT,          /* 9  Reconnect                                  */
                    196:     OLE_SETUPDATEOPTIONS,   /* 10 setting update options                     */
                    197:     OLE_SERVERUNLAUNCH,     /* 11 server is being unlaunched                 */
                    198:     OLE_LOADFROMSTREAM,     /* 12 LoadFromStream(auto reconnect)             */
                    199:     OLE_SETDATA,            /* 13 OleSetData                                 */
                    200:     OLE_REQUESTDATA,        /* 14 OleRequestData                             */
                    201:     OLE_OTHER,              /* 15 other misc async operations                */
                    202:     OLE_CREATE,             /* 16 create                                     */
                    203:     OLE_CREATEFROMTEMPLATE, /* 17 CreatefromTemplate                         */
                    204:     OLE_CREATELINKFROMFILE, /* 18 CreateLinkFromFile                         */
                    205:     OLE_COPYFROMLNK,        /* 19 CopyFromLink(auto reconnect)               */
                    206:     OLE_CREATEFROMFILE,     /* 20 CreateFromFile                             */
                    207:     OLE_CREATEINVISIBLE     /* 21 CreateInvisible                            */
                    208: } OLE_RELEASE_METHOD;
                    209: 
                    210: /* rendering options */
                    211: typedef enum
                    212: {
                    213:     olerender_none, 
                    214:     olerender_draw, 
                    215:     olerender_format 
                    216: } OLEOPT_RENDER;
                    217: 
                    218: /* standard clipboard format type */
                    219: typedef WORD OLECLIPFORMAT;
                    220: 
                    221: /* Link update options */
                    222: typedef enum
                    223: {
                    224:     oleupdate_always,
                    225:     oleupdate_onsave,
                    226: #ifdef OLE_INTERNAL
                    227:     oleupdate_oncall,
                    228:     oleupdate_onclose
                    229: #else
                    230:     oleupdate_oncall
                    231: #endif  /* OLE_INTERNAL */
                    232: } OLEOPT_UPDATE;
                    233: 
                    234: typedef HANDLE  HOBJECT;
                    235: typedef LONG    LHSERVER;
                    236: typedef LONG    LHCLIENTDOC;
                    237: typedef LONG    LHSERVERDOC;
                    238: 
                    239: typedef struct _OLEOBJECT FAR*  LPOLEOBJECT;
                    240: typedef struct _OLESTREAM FAR*  LPOLESTREAM;
                    241: typedef struct _OLECLIENT FAR*  LPOLECLIENT;
                    242: 
                    243: 
                    244: /* object method table definitions. */
                    245: typedef struct _OLEOBJECTVTBL
                    246: {
1.1.1.2 ! root      247:     void FAR*      (CALLBACK* QueryProtocol)        (LPOLEOBJECT, OLE_LPCSTR);
1.1       root      248:     OLESTATUS      (CALLBACK* Release)              (LPOLEOBJECT);
                    249:     OLESTATUS      (CALLBACK* Show)                 (LPOLEOBJECT, BOOL);
                    250:     OLESTATUS      (CALLBACK* DoVerb)               (LPOLEOBJECT, UINT, BOOL, BOOL);
                    251:     OLESTATUS      (CALLBACK* GetData)              (LPOLEOBJECT, OLECLIPFORMAT, HANDLE FAR*);
                    252:     OLESTATUS      (CALLBACK* SetData)              (LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
                    253:     OLESTATUS      (CALLBACK* SetTargetDevice)      (LPOLEOBJECT, HGLOBAL);
                    254:     OLESTATUS      (CALLBACK* SetBounds)            (LPOLEOBJECT, OLE_CONST RECT FAR*);
                    255:     OLECLIPFORMAT  (CALLBACK* EnumFormats)          (LPOLEOBJECT, OLECLIPFORMAT);
                    256:     OLESTATUS      (CALLBACK* SetColorScheme)       (LPOLEOBJECT, OLE_CONST LOGPALETTE FAR*);
                    257:     /* Server has to implement only the above methods. */
                    258: 
                    259: #ifndef SERVERONLY
                    260:     /* Extra methods required for client. */
                    261:     OLESTATUS      (CALLBACK* Delete)               (LPOLEOBJECT);
1.1.1.2 ! root      262:     OLESTATUS      (CALLBACK* SetHostNames)         (LPOLEOBJECT, OLE_LPCSTR, OLE_LPCSTR);
1.1       root      263:     OLESTATUS      (CALLBACK* SaveToStream)         (LPOLEOBJECT, LPOLESTREAM);
1.1.1.2 ! root      264:     OLESTATUS      (CALLBACK* Clone)                (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT FAR*);
        !           265:     OLESTATUS      (CALLBACK* CopyFromLink)         (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT FAR*);
1.1       root      266:     OLESTATUS      (CALLBACK* Equal)                (LPOLEOBJECT, LPOLEOBJECT);
                    267:     OLESTATUS      (CALLBACK* CopyToClipboard)      (LPOLEOBJECT);
                    268:     OLESTATUS      (CALLBACK* Draw)                 (LPOLEOBJECT, HDC, OLE_CONST RECT FAR*, OLE_CONST RECT FAR*, HDC);
                    269:     OLESTATUS      (CALLBACK* Activate)             (LPOLEOBJECT, UINT, BOOL, BOOL, HWND, OLE_CONST RECT FAR*);
                    270:     OLESTATUS      (CALLBACK* Execute)              (LPOLEOBJECT, HGLOBAL, UINT);
                    271:     OLESTATUS      (CALLBACK* Close)                (LPOLEOBJECT);
                    272:     OLESTATUS      (CALLBACK* Update)               (LPOLEOBJECT);
                    273:     OLESTATUS      (CALLBACK* Reconnect)            (LPOLEOBJECT);
                    274: 
1.1.1.2 ! root      275:     OLESTATUS      (CALLBACK* ObjectConvert)        (LPOLEOBJECT, OLE_LPCSTR, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT FAR*);
1.1       root      276:     OLESTATUS      (CALLBACK* GetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE FAR*);
                    277:     OLESTATUS      (CALLBACK* SetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE);
                    278:     
1.1.1.2 ! root      279:     OLESTATUS      (CALLBACK* Rename)               (LPOLEOBJECT, OLE_LPCSTR);
1.1       root      280:     OLESTATUS      (CALLBACK* QueryName)            (LPOLEOBJECT, LPSTR, UINT FAR*);
                    281: 
                    282:     OLESTATUS      (CALLBACK* QueryType)            (LPOLEOBJECT, LONG FAR*);
                    283:     OLESTATUS      (CALLBACK* QueryBounds)          (LPOLEOBJECT, RECT FAR*);
                    284:     OLESTATUS      (CALLBACK* QuerySize)            (LPOLEOBJECT, DWORD FAR*);
                    285:     OLESTATUS      (CALLBACK* QueryOpen)            (LPOLEOBJECT);
                    286:     OLESTATUS      (CALLBACK* QueryOutOfDate)       (LPOLEOBJECT);
                    287: 
                    288:     OLESTATUS      (CALLBACK* QueryReleaseStatus)   (LPOLEOBJECT);
                    289:     OLESTATUS      (CALLBACK* QueryReleaseError)    (LPOLEOBJECT);
                    290:     OLE_RELEASE_METHOD (CALLBACK* QueryReleaseMethod)(LPOLEOBJECT);
                    291: 
                    292:     OLESTATUS      (CALLBACK* RequestData)          (LPOLEOBJECT, OLECLIPFORMAT);
                    293:     OLESTATUS      (CALLBACK* ObjectLong)           (LPOLEOBJECT, UINT, LONG FAR*);
                    294:     
                    295: /* This method is internal only */
                    296:     OLESTATUS      (CALLBACK* ChangeData)           (LPOLEOBJECT, HANDLE, LPOLECLIENT, BOOL);
                    297: #endif  /* !SERVERONLY */
                    298: } OLEOBJECTVTBL;
                    299: typedef  OLEOBJECTVTBL FAR* LPOLEOBJECTVTBL;
                    300: 
                    301: #ifndef OLE_INTERNAL
                    302: typedef struct _OLEOBJECT
                    303: {
                    304:     LPOLEOBJECTVTBL    lpvtbl;
                    305: } OLEOBJECT;
                    306: #endif
                    307: 
                    308: /* ole client definitions */
                    309: typedef struct _OLECLIENTVTBL
                    310: {
                    311:     int (CALLBACK* CallBack)(LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT);
                    312: } OLECLIENTVTBL;
                    313: 
                    314: typedef  OLECLIENTVTBL FAR*  LPOLECLIENTVTBL;
                    315: 
                    316: typedef struct _OLECLIENT
                    317: {
                    318:     LPOLECLIENTVTBL   lpvtbl;
                    319: } OLECLIENT;
                    320: 
                    321: /* Stream definitions */
                    322: typedef struct _OLESTREAMVTBL
                    323: {
                    324:     DWORD (CALLBACK* Get)(LPOLESTREAM, void FAR*, DWORD);
                    325:     DWORD (CALLBACK* Put)(LPOLESTREAM, OLE_CONST void FAR*, DWORD);
                    326: } OLESTREAMVTBL;
                    327: typedef  OLESTREAMVTBL FAR*  LPOLESTREAMVTBL;
                    328: 
                    329: typedef struct _OLESTREAM
                    330: {
                    331:     LPOLESTREAMVTBL      lpstbl;
                    332: } OLESTREAM;
                    333: 
                    334: /* Public Function Prototypes */
                    335: OLESTATUS   WINAPI  OleDelete(LPOLEOBJECT);
                    336: OLESTATUS   WINAPI  OleRelease(LPOLEOBJECT);
                    337: OLESTATUS   WINAPI  OleSaveToStream(LPOLEOBJECT, LPOLESTREAM);
                    338: OLESTATUS   WINAPI  OleEqual(LPOLEOBJECT, LPOLEOBJECT );
                    339: OLESTATUS   WINAPI  OleCopyToClipboard(LPOLEOBJECT);
1.1.1.2 ! root      340: OLESTATUS   WINAPI  OleSetHostNames(LPOLEOBJECT, LPCSTR, LPCSTR);
1.1       root      341: OLESTATUS   WINAPI  OleSetTargetDevice(LPOLEOBJECT, HGLOBAL);
                    342: OLESTATUS   WINAPI  OleSetBounds(LPOLEOBJECT, const RECT FAR*);
                    343: OLESTATUS   WINAPI  OleSetColorScheme(LPOLEOBJECT, const LOGPALETTE FAR*);
                    344: OLESTATUS   WINAPI  OleQueryBounds(LPOLEOBJECT, RECT FAR*);
                    345: OLESTATUS   WINAPI  OleQuerySize(LPOLEOBJECT, DWORD FAR*);
                    346: OLESTATUS   WINAPI  OleDraw(LPOLEOBJECT, HDC, const RECT FAR*, const RECT FAR*, HDC);
                    347: OLESTATUS   WINAPI  OleQueryOpen(LPOLEOBJECT);
                    348: OLESTATUS   WINAPI  OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, const RECT FAR*);
                    349: OLESTATUS   WINAPI  OleExecute(LPOLEOBJECT, HGLOBAL, UINT);
                    350: OLESTATUS   WINAPI  OleClose(LPOLEOBJECT);
                    351: OLESTATUS   WINAPI  OleUpdate(LPOLEOBJECT);
                    352: OLESTATUS   WINAPI  OleReconnect(LPOLEOBJECT);
                    353: OLESTATUS   WINAPI  OleGetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE FAR*);
                    354: OLESTATUS   WINAPI  OleSetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE);
1.1.1.2 ! root      355: void FAR*   WINAPI  OleQueryProtocol(LPOLEOBJECT, LPCSTR);
1.1       root      356: 
                    357: /* Routines related to asynchronous operations. */
                    358: OLESTATUS   WINAPI  OleQueryReleaseStatus(LPOLEOBJECT);
                    359: OLESTATUS   WINAPI  OleQueryReleaseError(LPOLEOBJECT);
                    360: OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod(LPOLEOBJECT);
                    361: 
                    362: OLESTATUS   WINAPI  OleQueryType(LPOLEOBJECT, LONG FAR*);
                    363: 
                    364: /* LOWORD is major version, HIWORD is minor version */
                    365: DWORD       WINAPI  OleQueryClientVersion(void);
                    366: DWORD       WINAPI  OleQueryServerVersion(void);
                    367: 
                    368: /* Converting to format (as in clipboard): */
                    369: OLECLIPFORMAT  WINAPI  OleEnumFormats(LPOLEOBJECT, OLECLIPFORMAT);
                    370: OLESTATUS   WINAPI  OleGetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE FAR*);
                    371: OLESTATUS   WINAPI  OleSetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
                    372: OLESTATUS   WINAPI  OleQueryOutOfDate(LPOLEOBJECT);
                    373: OLESTATUS   WINAPI  OleRequestData(LPOLEOBJECT, OLECLIPFORMAT);
                    374: 
                    375: /* Query apis for creation from clipboard */
1.1.1.2 ! root      376: OLESTATUS   WINAPI  OleQueryLinkFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
        !           377: OLESTATUS   WINAPI  OleQueryCreateFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
1.1       root      378: 
                    379: /* Object creation functions */
1.1.1.2 ! root      380: OLESTATUS   WINAPI  OleCreateFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR,  LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
        !           381: OLESTATUS   WINAPI  OleCreateLinkFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
        !           382: OLESTATUS   WINAPI  OleCreateFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
        !           383: OLESTATUS   WINAPI  OleCreateLinkFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
        !           384: OLESTATUS   WINAPI  OleLoadFromStream(LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
        !           385: OLESTATUS   WINAPI  OleCreate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
        !           386: OLESTATUS   WINAPI  OleCreateInvisible(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT, BOOL);
        !           387: OLESTATUS   WINAPI  OleCreateFromTemplate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*, OLEOPT_RENDER, OLECLIPFORMAT);
        !           388: OLESTATUS   WINAPI  OleClone(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
        !           389: OLESTATUS   WINAPI  OleCopyFromLink(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
        !           390: OLESTATUS   WINAPI  OleObjectConvert(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT FAR*);
        !           391: OLESTATUS   WINAPI  OleRename(LPOLEOBJECT, LPCSTR);
1.1       root      392: OLESTATUS   WINAPI  OleQueryName(LPOLEOBJECT, LPSTR, UINT FAR*);
                    393: OLESTATUS   WINAPI  OleRevokeObject(LPOLECLIENT);
                    394: BOOL        WINAPI  OleIsDcMeta(HDC);
                    395: 
                    396: /* client document API */
1.1.1.2 ! root      397: OLESTATUS   WINAPI  OleRegisterClientDoc(LPCSTR, LPCSTR, LONG, LHCLIENTDOC FAR*);
1.1       root      398: OLESTATUS   WINAPI  OleRevokeClientDoc(LHCLIENTDOC);
1.1.1.2 ! root      399: OLESTATUS   WINAPI  OleRenameClientDoc(LHCLIENTDOC, LPCSTR);
1.1       root      400: OLESTATUS   WINAPI  OleRevertClientDoc(LHCLIENTDOC);
                    401: OLESTATUS   WINAPI  OleSavedClientDoc(LHCLIENTDOC);
                    402: OLESTATUS   WINAPI  OleEnumObjects(LHCLIENTDOC, LPOLEOBJECT FAR*);
                    403: 
                    404: /* server usage definitions */
                    405: typedef enum {
                    406:     OLE_SERVER_MULTI,           /* multiple instances */
                    407:     OLE_SERVER_SINGLE           /* single instance(multiple document) */
                    408: } OLE_SERVER_USE;
                    409: 
                    410: /* Server API */
                    411: typedef struct _OLESERVER FAR*  LPOLESERVER;
                    412: 
1.1.1.2 ! root      413: OLESTATUS   WINAPI  OleRegisterServer(LPCSTR, LPOLESERVER, LHSERVER FAR*, HINSTANCE, OLE_SERVER_USE);
1.1       root      414: OLESTATUS   WINAPI  OleRevokeServer(LHSERVER);
                    415: OLESTATUS   WINAPI  OleBlockServer(LHSERVER);
                    416: OLESTATUS   WINAPI  OleUnblockServer(LHSERVER, BOOL FAR*);
                    417: 
                    418: /* APIs to keep server open */
                    419: OLESTATUS   WINAPI  OleLockServer(LPOLEOBJECT, LHSERVER FAR*);
                    420: OLESTATUS   WINAPI  OleUnlockServer(LHSERVER);
                    421: 
                    422: /* Server document API */
                    423: 
                    424: typedef struct _OLESERVERDOC FAR*  LPOLESERVERDOC;
                    425: 
1.1.1.2 ! root      426: OLESTATUS   WINAPI  OleRegisterServerDoc(LHSERVER, LPCSTR, LPOLESERVERDOC, LHSERVERDOC FAR*);
1.1       root      427: OLESTATUS   WINAPI  OleRevokeServerDoc(LHSERVERDOC);
1.1.1.2 ! root      428: OLESTATUS   WINAPI  OleRenameServerDoc(LHSERVERDOC, LPCSTR);
1.1       root      429: OLESTATUS   WINAPI  OleRevertServerDoc(LHSERVERDOC);
                    430: OLESTATUS   WINAPI  OleSavedServerDoc(LHSERVERDOC);
                    431: 
                    432: typedef struct _OLESERVERVTBL
                    433: {
1.1.1.2 ! root      434:     OLESTATUS (CALLBACK* Open)  (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC FAR*);
1.1       root      435:                                     /* long handle to doc(privtate to DLL)  */
                    436:                                     /* lp to OLESERVER                      */
                    437:                                     /* document name                        */
                    438:                                     /* place holder for returning oledoc.   */
                    439: 
1.1.1.2 ! root      440:     OLESTATUS (CALLBACK* Create)(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR*);
1.1       root      441:                                     /* long handle to doc(privtate to DLL)  */
                    442:                                     /* lp to OLESERVER                      */
                    443:                                     /* lp class name                        */
                    444:                                     /* lp doc name                          */
                    445:                                     /* place holder for returning oledoc.   */
                    446: 
1.1.1.2 ! root      447:     OLESTATUS (CALLBACK* CreateFromTemplate)(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR*);
1.1       root      448:                                     /* long handle to doc(privtate to DLL)  */
                    449:                                     /* lp to OLESERVER                      */
                    450:                                     /* lp class name                        */
                    451:                                     /* lp doc name                          */
                    452:                                     /* lp template name                     */
                    453:                                     /* place holder for returning oledoc.   */
                    454: 
1.1.1.2 ! root      455:     OLESTATUS (CALLBACK* Edit)  (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC FAR*);
1.1       root      456:                                     /* long handle to doc(privtate to DLL)  */
                    457:                                     /* lp to OLESERVER                      */
                    458:                                     /* lp class name                        */
                    459:                                     /* lp doc name                          */
                    460:                                     /* place holder for returning oledoc.   */
                    461: 
                    462:     OLESTATUS (CALLBACK* Exit)  (LPOLESERVER);
                    463:                                     /* lp OLESERVER                         */
                    464: 
                    465:     OLESTATUS (CALLBACK* Release)  (LPOLESERVER);
                    466:                                     /* lp OLESERVER                         */
                    467: 
                    468:     OLESTATUS (CALLBACK* Execute)(LPOLESERVER, HGLOBAL);
                    469:                                     /* lp OLESERVER                         */
                    470:                                     /* handle to command strings            */
                    471: } OLESERVERVTBL;
                    472: typedef  OLESERVERVTBL FAR*  LPOLESERVERVTBL;
                    473: 
                    474: typedef struct _OLESERVER
                    475: {
                    476:     LPOLESERVERVTBL    lpvtbl;
                    477: } OLESERVER;
                    478: 
                    479: typedef struct _OLESERVERDOCVTBL
                    480: {
                    481:     OLESTATUS (CALLBACK* Save)      (LPOLESERVERDOC);
                    482:     OLESTATUS (CALLBACK* Close)     (LPOLESERVERDOC);
1.1.1.2 ! root      483:     OLESTATUS (CALLBACK* SetHostNames)(LPOLESERVERDOC, OLE_LPCSTR, OLE_LPCSTR);
1.1       root      484:     OLESTATUS (CALLBACK* SetDocDimensions)(LPOLESERVERDOC, OLE_CONST RECT FAR*);
1.1.1.2 ! root      485:     OLESTATUS (CALLBACK* GetObject) (LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT FAR*, LPOLECLIENT);
1.1       root      486:     OLESTATUS (CALLBACK* Release)   (LPOLESERVERDOC);
                    487:     OLESTATUS (CALLBACK* SetColorScheme)(LPOLESERVERDOC, OLE_CONST LOGPALETTE FAR*);
                    488:     OLESTATUS (CALLBACK* Execute)  (LPOLESERVERDOC, HGLOBAL);
                    489: } OLESERVERDOCVTBL;
                    490: typedef  OLESERVERDOCVTBL FAR*  LPOLESERVERDOCVTBL;
                    491: 
                    492: typedef struct _OLESERVERDOC
                    493: {
                    494:     LPOLESERVERDOCVTBL lpvtbl;
                    495: } OLESERVERDOC;
                    496: 
                    497: #ifdef __cplusplus
                    498: }
                    499: #endif  /* __cplusplus */
                    500: 
                    501: #ifndef RC_INVOKED
                    502: #pragma pack()
                    503: #endif  /* !RC_INVOKED */
                    504: 
                    505: #endif  /* !_INC_OLE */

unix.superglobalmegacorp.com

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