Annotation of mstools/mfc/include/ole.h, revision 1.1

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