[1166] | 1 | /**
|
---|
| 2 | * This file is part of the mingw-w64 runtime package.
|
---|
| 3 | * No warranty is given; refer to the file DISCLAIMER within this package.
|
---|
| 4 | */
|
---|
| 5 | #include <winapifamily.h>
|
---|
| 6 |
|
---|
| 7 | #ifndef _INC_OLE
|
---|
| 8 | #define _INC_OLE
|
---|
| 9 |
|
---|
| 10 | #ifdef __cplusplus
|
---|
| 11 | extern "C" {
|
---|
| 12 | #endif
|
---|
| 13 |
|
---|
| 14 | #ifndef WINAPI
|
---|
| 15 | #define WINAPI PASCAL
|
---|
| 16 | #define CALLBACK PASCAL
|
---|
| 17 | #define LPCSTR LPSTR
|
---|
| 18 | #define LRESULT LONG_PTR
|
---|
| 19 | #define HGLOBAL HANDLE
|
---|
| 20 | #endif
|
---|
| 21 |
|
---|
| 22 | #ifdef STRICT
|
---|
| 23 | #define OLE_LPCSTR LPCSTR
|
---|
| 24 | #define OLE_CONST const
|
---|
| 25 | #else
|
---|
| 26 | #define OLE_LPCSTR LPSTR
|
---|
| 27 | #define OLE_CONST
|
---|
| 28 | #endif
|
---|
| 29 |
|
---|
| 30 | #define LRESULT LONG_PTR
|
---|
| 31 | #define HGLOBAL HANDLE
|
---|
| 32 |
|
---|
| 33 | #define OT_LINK __MSABI_LONG(1)
|
---|
| 34 | #define OT_EMBEDDED __MSABI_LONG(2)
|
---|
| 35 | #define OT_STATIC __MSABI_LONG(3)
|
---|
| 36 |
|
---|
| 37 | #define OLEVERB_PRIMARY 0
|
---|
| 38 |
|
---|
| 39 | typedef struct _OLETARGETDEVICE {
|
---|
| 40 | USHORT otdDeviceNameOffset;
|
---|
| 41 | USHORT otdDriverNameOffset;
|
---|
| 42 | USHORT otdPortNameOffset;
|
---|
| 43 | USHORT otdExtDevmodeOffset;
|
---|
| 44 | USHORT otdExtDevmodeSize;
|
---|
| 45 | USHORT otdEnvironmentOffset;
|
---|
| 46 | USHORT otdEnvironmentSize;
|
---|
| 47 | BYTE otdData[1];
|
---|
| 48 | } OLETARGETDEVICE;
|
---|
| 49 | typedef OLETARGETDEVICE *LPOLETARGETDEVICE;
|
---|
| 50 |
|
---|
| 51 | #define OF_SET 0x1
|
---|
| 52 | #define OF_GET 0x2
|
---|
| 53 | #define OF_HANDLER 0x4
|
---|
| 54 |
|
---|
| 55 | typedef enum {
|
---|
| 56 | OLE_OK,
|
---|
| 57 | OLE_WAIT_FOR_RELEASE,
|
---|
| 58 | OLE_BUSY,
|
---|
| 59 | OLE_ERROR_PROTECT_ONLY,
|
---|
| 60 | OLE_ERROR_MEMORY,
|
---|
| 61 | OLE_ERROR_STREAM,
|
---|
| 62 | OLE_ERROR_STATIC,
|
---|
| 63 | OLE_ERROR_BLANK,
|
---|
| 64 | OLE_ERROR_DRAW,
|
---|
| 65 | OLE_ERROR_METAFILE,
|
---|
| 66 | OLE_ERROR_ABORT,
|
---|
| 67 | OLE_ERROR_CLIPBOARD,
|
---|
| 68 | OLE_ERROR_FORMAT,
|
---|
| 69 | OLE_ERROR_OBJECT,
|
---|
| 70 | OLE_ERROR_OPTION,
|
---|
| 71 | OLE_ERROR_PROTOCOL,
|
---|
| 72 | OLE_ERROR_ADDRESS,
|
---|
| 73 | OLE_ERROR_NOT_EQUAL,
|
---|
| 74 | OLE_ERROR_HANDLE,
|
---|
| 75 | OLE_ERROR_GENERIC,
|
---|
| 76 | OLE_ERROR_CLASS,
|
---|
| 77 | OLE_ERROR_SYNTAX,
|
---|
| 78 | OLE_ERROR_DATATYPE,
|
---|
| 79 | OLE_ERROR_PALETTE,
|
---|
| 80 | OLE_ERROR_NOT_LINK,
|
---|
| 81 | OLE_ERROR_NOT_EMPTY,
|
---|
| 82 | OLE_ERROR_SIZE,
|
---|
| 83 | OLE_ERROR_DRIVE,
|
---|
| 84 | OLE_ERROR_NETWORK,
|
---|
| 85 | OLE_ERROR_NAME,
|
---|
| 86 | OLE_ERROR_TEMPLATE,
|
---|
| 87 | OLE_ERROR_NEW,
|
---|
| 88 | OLE_ERROR_EDIT,
|
---|
| 89 | OLE_ERROR_OPEN,
|
---|
| 90 | OLE_ERROR_NOT_OPEN,
|
---|
| 91 | OLE_ERROR_LAUNCH,
|
---|
| 92 | OLE_ERROR_COMM,
|
---|
| 93 | OLE_ERROR_TERMINATE,
|
---|
| 94 | OLE_ERROR_COMMAND,
|
---|
| 95 | OLE_ERROR_SHOW,
|
---|
| 96 | OLE_ERROR_DOVERB,
|
---|
| 97 | OLE_ERROR_ADVISE_NATIVE,
|
---|
| 98 | OLE_ERROR_ADVISE_PICT,
|
---|
| 99 | OLE_ERROR_ADVISE_RENAME,
|
---|
| 100 | OLE_ERROR_POKE_NATIVE,
|
---|
| 101 | OLE_ERROR_REQUEST_NATIVE,
|
---|
| 102 | OLE_ERROR_REQUEST_PICT,
|
---|
| 103 | OLE_ERROR_SERVER_BLOCKED,
|
---|
| 104 | OLE_ERROR_REGISTRATION,
|
---|
| 105 | OLE_ERROR_ALREADY_REGISTERED,
|
---|
| 106 | OLE_ERROR_TASK,
|
---|
| 107 | OLE_ERROR_OUTOFDATE,
|
---|
| 108 | OLE_ERROR_CANT_UPDATE_CLIENT,
|
---|
| 109 | OLE_ERROR_UPDATE,
|
---|
| 110 | OLE_ERROR_SETDATA_FORMAT,
|
---|
| 111 | OLE_ERROR_STATIC_FROM_OTHER_OS,
|
---|
| 112 | OLE_ERROR_FILE_VER,
|
---|
| 113 | OLE_WARN_DELETE_DATA = 1000
|
---|
| 114 | } OLESTATUS;
|
---|
| 115 |
|
---|
| 116 | typedef enum {
|
---|
| 117 | OLE_CHANGED,
|
---|
| 118 | OLE_SAVED,
|
---|
| 119 | OLE_CLOSED,
|
---|
| 120 | OLE_RENAMED,
|
---|
| 121 | OLE_QUERY_PAINT,
|
---|
| 122 | OLE_RELEASE,
|
---|
| 123 | OLE_QUERY_RETRY
|
---|
| 124 | } OLE_NOTIFICATION;
|
---|
| 125 |
|
---|
| 126 | typedef enum {
|
---|
| 127 | OLE_NONE,
|
---|
| 128 | OLE_DELETE,
|
---|
| 129 | OLE_LNKPASTE,
|
---|
| 130 | OLE_EMBPASTE,
|
---|
| 131 | OLE_SHOW,
|
---|
| 132 | OLE_RUN,
|
---|
| 133 | OLE_ACTIVATE,
|
---|
| 134 | OLE_UPDATE,
|
---|
| 135 | OLE_CLOSE,
|
---|
| 136 | OLE_RECONNECT,
|
---|
| 137 | OLE_SETUPDATEOPTIONS,
|
---|
| 138 | OLE_SERVERUNLAUNCH,
|
---|
| 139 | OLE_LOADFROMSTREAM,
|
---|
| 140 | OLE_SETDATA,
|
---|
| 141 | OLE_REQUESTDATA,
|
---|
| 142 | OLE_OTHER,
|
---|
| 143 | OLE_CREATE,
|
---|
| 144 | OLE_CREATEFROMTEMPLATE,
|
---|
| 145 | OLE_CREATELINKFROMFILE,
|
---|
| 146 | OLE_COPYFROMLNK,
|
---|
| 147 | OLE_CREATEFROMFILE,
|
---|
| 148 | OLE_CREATEINVISIBLE
|
---|
| 149 | } OLE_RELEASE_METHOD;
|
---|
| 150 |
|
---|
| 151 | typedef enum {
|
---|
| 152 | olerender_none,
|
---|
| 153 | olerender_draw,
|
---|
| 154 | olerender_format
|
---|
| 155 | } OLEOPT_RENDER;
|
---|
| 156 |
|
---|
| 157 | typedef WORD OLECLIPFORMAT;
|
---|
| 158 |
|
---|
| 159 | typedef enum {
|
---|
| 160 | oleupdate_always,
|
---|
| 161 | oleupdate_onsave,
|
---|
| 162 | #ifdef OLE_INTERNAL
|
---|
| 163 | oleupdate_oncall,
|
---|
| 164 | oleupdate_onclose
|
---|
| 165 | #else
|
---|
| 166 | oleupdate_oncall
|
---|
| 167 | #endif
|
---|
| 168 | } OLEOPT_UPDATE;
|
---|
| 169 |
|
---|
| 170 | typedef HANDLE HOBJECT;
|
---|
| 171 | typedef LONG_PTR LHSERVER;
|
---|
| 172 | typedef LONG_PTR LHCLIENTDOC;
|
---|
| 173 | typedef LONG_PTR LHSERVERDOC;
|
---|
| 174 | typedef struct _OLEOBJECT *LPOLEOBJECT;
|
---|
| 175 | typedef struct _OLESTREAM *LPOLESTREAM;
|
---|
| 176 | typedef struct _OLECLIENT *LPOLECLIENT;
|
---|
| 177 | typedef struct _OLEOBJECTVTBL {
|
---|
| 178 | void *(CALLBACK *QueryProtocol) (LPOLEOBJECT, OLE_LPCSTR);
|
---|
| 179 | OLESTATUS (CALLBACK *Release) (LPOLEOBJECT);
|
---|
| 180 | OLESTATUS (CALLBACK *Show) (LPOLEOBJECT, WINBOOL);
|
---|
| 181 | OLESTATUS (CALLBACK *DoVerb) (LPOLEOBJECT, UINT, WINBOOL, WINBOOL);
|
---|
| 182 | OLESTATUS (CALLBACK *GetData) (LPOLEOBJECT, OLECLIPFORMAT, HANDLE *);
|
---|
| 183 | OLESTATUS (CALLBACK *SetData) (LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
|
---|
| 184 | OLESTATUS (CALLBACK *SetTargetDevice) (LPOLEOBJECT, HGLOBAL);
|
---|
| 185 | OLESTATUS (CALLBACK *SetBounds) (LPOLEOBJECT, OLE_CONST RECT *);
|
---|
| 186 | OLECLIPFORMAT (CALLBACK *EnumFormats) (LPOLEOBJECT, OLECLIPFORMAT);
|
---|
| 187 | OLESTATUS (CALLBACK *SetColorScheme) (LPOLEOBJECT, OLE_CONST LOGPALETTE *);
|
---|
| 188 | #ifndef SERVERONLY
|
---|
| 189 | OLESTATUS (CALLBACK *Delete) (LPOLEOBJECT);
|
---|
| 190 | OLESTATUS (CALLBACK *SetHostNames) (LPOLEOBJECT, OLE_LPCSTR, OLE_LPCSTR);
|
---|
| 191 | OLESTATUS (CALLBACK *SaveToStream) (LPOLEOBJECT, LPOLESTREAM);
|
---|
| 192 | OLESTATUS (CALLBACK *Clone) (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT *);
|
---|
| 193 | OLESTATUS (CALLBACK *CopyFromLink) (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT *);
|
---|
| 194 | OLESTATUS (CALLBACK *Equal) (LPOLEOBJECT, LPOLEOBJECT);
|
---|
| 195 | OLESTATUS (CALLBACK *CopyToClipboard) (LPOLEOBJECT);
|
---|
| 196 | OLESTATUS (CALLBACK *Draw) (LPOLEOBJECT, HDC, OLE_CONST RECT *, OLE_CONST RECT *, HDC);
|
---|
| 197 | OLESTATUS (CALLBACK *Activate) (LPOLEOBJECT, UINT, WINBOOL, WINBOOL, HWND, OLE_CONST RECT *);
|
---|
| 198 | OLESTATUS (CALLBACK *Execute) (LPOLEOBJECT, HGLOBAL, UINT);
|
---|
| 199 | OLESTATUS (CALLBACK *Close) (LPOLEOBJECT);
|
---|
| 200 | OLESTATUS (CALLBACK *Update) (LPOLEOBJECT);
|
---|
| 201 | OLESTATUS (CALLBACK *Reconnect) (LPOLEOBJECT);
|
---|
| 202 | OLESTATUS (CALLBACK *ObjectConvert) (LPOLEOBJECT, OLE_LPCSTR, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, LPOLEOBJECT *);
|
---|
| 203 | OLESTATUS (CALLBACK *GetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE *);
|
---|
| 204 | OLESTATUS (CALLBACK *SetLinkUpdateOptions) (LPOLEOBJECT, OLEOPT_UPDATE);
|
---|
| 205 | OLESTATUS (CALLBACK *Rename) (LPOLEOBJECT, OLE_LPCSTR);
|
---|
| 206 | OLESTATUS (CALLBACK *QueryName) (LPOLEOBJECT, LPSTR, UINT *);
|
---|
| 207 | OLESTATUS (CALLBACK *QueryType) (LPOLEOBJECT, LONG *);
|
---|
| 208 | OLESTATUS (CALLBACK *QueryBounds) (LPOLEOBJECT, RECT *);
|
---|
| 209 | OLESTATUS (CALLBACK *QuerySize) (LPOLEOBJECT, DWORD *);
|
---|
| 210 | OLESTATUS (CALLBACK *QueryOpen) (LPOLEOBJECT);
|
---|
| 211 | OLESTATUS (CALLBACK *QueryOutOfDate) (LPOLEOBJECT);
|
---|
| 212 | OLESTATUS (CALLBACK *QueryReleaseStatus) (LPOLEOBJECT);
|
---|
| 213 | OLESTATUS (CALLBACK *QueryReleaseError) (LPOLEOBJECT);
|
---|
| 214 | OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod) (LPOLEOBJECT);
|
---|
| 215 | OLESTATUS (CALLBACK *RequestData) (LPOLEOBJECT, OLECLIPFORMAT);
|
---|
| 216 | OLESTATUS (CALLBACK *ObjectLong) (LPOLEOBJECT, UINT, LONG *);
|
---|
| 217 | OLESTATUS (CALLBACK *ChangeData) (LPOLEOBJECT, HANDLE, LPOLECLIENT, WINBOOL);
|
---|
| 218 | #endif
|
---|
| 219 | } OLEOBJECTVTBL;
|
---|
| 220 |
|
---|
| 221 | typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
|
---|
| 222 | #ifndef OLE_INTERNAL
|
---|
| 223 | typedef struct _OLEOBJECT {
|
---|
| 224 | LPOLEOBJECTVTBL lpvtbl;
|
---|
| 225 | } OLEOBJECT;
|
---|
| 226 | #endif
|
---|
| 227 |
|
---|
| 228 | typedef struct _OLECLIENTVTBL {
|
---|
| 229 | int (CALLBACK *CallBack) (LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT);
|
---|
| 230 | } OLECLIENTVTBL;
|
---|
| 231 |
|
---|
| 232 | typedef OLECLIENTVTBL *LPOLECLIENTVTBL;
|
---|
| 233 |
|
---|
| 234 | typedef struct _OLECLIENT {
|
---|
| 235 | LPOLECLIENTVTBL lpvtbl;
|
---|
| 236 | } OLECLIENT;
|
---|
| 237 |
|
---|
| 238 | typedef struct _OLESTREAMVTBL {
|
---|
| 239 | DWORD (CALLBACK *Get) (LPOLESTREAM, void *, DWORD);
|
---|
| 240 | DWORD (CALLBACK *Put) (LPOLESTREAM, OLE_CONST void *, DWORD);
|
---|
| 241 | } OLESTREAMVTBL;
|
---|
| 242 | typedef OLESTREAMVTBL *LPOLESTREAMVTBL;
|
---|
| 243 |
|
---|
| 244 | typedef struct _OLESTREAM {
|
---|
| 245 | LPOLESTREAMVTBL lpstbl;
|
---|
| 246 | } OLESTREAM;
|
---|
| 247 |
|
---|
| 248 | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
|
---|
| 249 | OLESTATUS WINAPI OleDelete (LPOLEOBJECT);
|
---|
| 250 | OLESTATUS WINAPI OleRelease (LPOLEOBJECT);
|
---|
| 251 | OLESTATUS WINAPI OleSaveToStream (LPOLEOBJECT, LPOLESTREAM);
|
---|
| 252 | OLESTATUS WINAPI OleEqual (LPOLEOBJECT, LPOLEOBJECT);
|
---|
| 253 | OLESTATUS WINAPI OleCopyToClipboard (LPOLEOBJECT);
|
---|
| 254 | OLESTATUS WINAPI OleSetHostNames (LPOLEOBJECT, LPCSTR, LPCSTR);
|
---|
| 255 | OLESTATUS WINAPI OleSetTargetDevice (LPOLEOBJECT, HGLOBAL);
|
---|
| 256 | OLESTATUS WINAPI OleSetBounds (LPOLEOBJECT, const RECT *);
|
---|
| 257 | OLESTATUS WINAPI OleSetColorScheme (LPOLEOBJECT, const LOGPALETTE *);
|
---|
| 258 | OLESTATUS WINAPI OleQueryBounds (LPOLEOBJECT, RECT *);
|
---|
| 259 | OLESTATUS WINAPI OleQuerySize (LPOLEOBJECT, DWORD *);
|
---|
| 260 | OLESTATUS WINAPI OleDraw (LPOLEOBJECT, HDC, const RECT *, const RECT *, HDC);
|
---|
| 261 | OLESTATUS WINAPI OleQueryOpen (LPOLEOBJECT);
|
---|
| 262 | OLESTATUS WINAPI OleActivate (LPOLEOBJECT, UINT, WINBOOL, WINBOOL, HWND, const RECT *);
|
---|
| 263 | OLESTATUS WINAPI OleExecute (LPOLEOBJECT, HGLOBAL, UINT);
|
---|
| 264 | OLESTATUS WINAPI OleClose (LPOLEOBJECT);
|
---|
| 265 | OLESTATUS WINAPI OleUpdate (LPOLEOBJECT);
|
---|
| 266 | OLESTATUS WINAPI OleReconnect (LPOLEOBJECT);
|
---|
| 267 | OLESTATUS WINAPI OleGetLinkUpdateOptions (LPOLEOBJECT, OLEOPT_UPDATE *);
|
---|
| 268 | OLESTATUS WINAPI OleSetLinkUpdateOptions (LPOLEOBJECT, OLEOPT_UPDATE);
|
---|
| 269 | void *WINAPI OleQueryProtocol (LPOLEOBJECT, LPCSTR);
|
---|
| 270 | OLESTATUS WINAPI OleQueryReleaseStatus (LPOLEOBJECT);
|
---|
| 271 | OLESTATUS WINAPI OleQueryReleaseError (LPOLEOBJECT);
|
---|
| 272 | OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod (LPOLEOBJECT);
|
---|
| 273 | OLESTATUS WINAPI OleQueryType (LPOLEOBJECT, LONG *);
|
---|
| 274 | DWORD WINAPI OleQueryClientVersion (void);
|
---|
| 275 | DWORD WINAPI OleQueryServerVersion (void);
|
---|
| 276 | OLECLIPFORMAT WINAPI OleEnumFormats (LPOLEOBJECT, OLECLIPFORMAT);
|
---|
| 277 | OLESTATUS WINAPI OleGetData (LPOLEOBJECT, OLECLIPFORMAT, HANDLE *);
|
---|
| 278 | OLESTATUS WINAPI OleSetData (LPOLEOBJECT, OLECLIPFORMAT, HANDLE);
|
---|
| 279 | OLESTATUS WINAPI OleQueryOutOfDate (LPOLEOBJECT);
|
---|
| 280 | OLESTATUS WINAPI OleRequestData (LPOLEOBJECT, OLECLIPFORMAT);
|
---|
| 281 | OLESTATUS WINAPI OleQueryLinkFromClip (LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 282 | OLESTATUS WINAPI OleQueryCreateFromClip (LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 283 | OLESTATUS WINAPI OleCreateFromClip (LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 284 | OLESTATUS WINAPI OleCreateLinkFromClip (LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 285 | OLESTATUS WINAPI OleCreateFromFile (LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 286 | OLESTATUS WINAPI OleCreateLinkFromFile (LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 287 | OLESTATUS WINAPI OleLoadFromStream (LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
|
---|
| 288 | OLESTATUS WINAPI OleCreate (LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 289 | OLESTATUS WINAPI OleCreateInvisible (LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT, WINBOOL);
|
---|
| 290 | OLESTATUS WINAPI OleCreateFromTemplate (LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *, OLEOPT_RENDER, OLECLIPFORMAT);
|
---|
| 291 | OLESTATUS WINAPI OleClone (LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
|
---|
| 292 | OLESTATUS WINAPI OleCopyFromLink (LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
|
---|
| 293 | OLESTATUS WINAPI OleObjectConvert (LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, LPOLEOBJECT *);
|
---|
| 294 | OLESTATUS WINAPI OleRename (LPOLEOBJECT, LPCSTR);
|
---|
| 295 | OLESTATUS WINAPI OleQueryName (LPOLEOBJECT lpobj, LPSTR lpBuf, UINT *lpcbBuf);
|
---|
| 296 | OLESTATUS WINAPI OleRevokeObject (LPOLECLIENT);
|
---|
| 297 | WINBOOL WINAPI OleIsDcMeta (HDC);
|
---|
| 298 | OLESTATUS WINAPI OleRegisterClientDoc (LPCSTR, LPCSTR, LONG, LHCLIENTDOC *);
|
---|
| 299 | OLESTATUS WINAPI OleRevokeClientDoc (LHCLIENTDOC);
|
---|
| 300 | OLESTATUS WINAPI OleRenameClientDoc (LHCLIENTDOC, LPCSTR);
|
---|
| 301 | OLESTATUS WINAPI OleRevertClientDoc (LHCLIENTDOC);
|
---|
| 302 | OLESTATUS WINAPI OleSavedClientDoc (LHCLIENTDOC);
|
---|
| 303 | OLESTATUS WINAPI OleEnumObjects (LHCLIENTDOC, LPOLEOBJECT *);
|
---|
| 304 |
|
---|
| 305 | typedef enum {
|
---|
| 306 | OLE_SERVER_MULTI,
|
---|
| 307 | OLE_SERVER_SINGLE
|
---|
| 308 | } OLE_SERVER_USE;
|
---|
| 309 | typedef struct _OLESERVER *LPOLESERVER;
|
---|
| 310 |
|
---|
| 311 | typedef struct _OLESERVERDOC *LPOLESERVERDOC;
|
---|
| 312 |
|
---|
| 313 | OLESTATUS WINAPI OleRegisterServer (LPCSTR, LPOLESERVER, LHSERVER *, HINSTANCE, OLE_SERVER_USE);
|
---|
| 314 | OLESTATUS WINAPI OleRevokeServer (LHSERVER);
|
---|
| 315 | OLESTATUS WINAPI OleBlockServer (LHSERVER);
|
---|
| 316 | OLESTATUS WINAPI OleUnblockServer (LHSERVER, WINBOOL *);
|
---|
| 317 | OLESTATUS WINAPI OleLockServer (LPOLEOBJECT, LHSERVER *);
|
---|
| 318 | OLESTATUS WINAPI OleUnlockServer (LHSERVER);
|
---|
| 319 | OLESTATUS WINAPI OleRegisterServerDoc (LHSERVER, LPCSTR, LPOLESERVERDOC, LHSERVERDOC *);
|
---|
| 320 | OLESTATUS WINAPI OleRevokeServerDoc (LHSERVERDOC);
|
---|
| 321 | OLESTATUS WINAPI OleRenameServerDoc (LHSERVERDOC, LPCSTR);
|
---|
| 322 | OLESTATUS WINAPI OleRevertServerDoc (LHSERVERDOC);
|
---|
| 323 | OLESTATUS WINAPI OleSavedServerDoc (LHSERVERDOC);
|
---|
| 324 | #endif
|
---|
| 325 |
|
---|
| 326 | typedef struct _OLESERVERVTBL {
|
---|
| 327 | OLESTATUS (CALLBACK *Open) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC *);
|
---|
| 328 | OLESTATUS (CALLBACK *Create) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC *);
|
---|
| 329 | OLESTATUS (CALLBACK *CreateFromTemplate) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC *);
|
---|
| 330 | OLESTATUS (CALLBACK *Edit) (LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, LPOLESERVERDOC *);
|
---|
| 331 | _Analysis_noreturn_ OLESTATUS (CALLBACK *Exit) (LPOLESERVER);
|
---|
| 332 | OLESTATUS (CALLBACK *Release) (LPOLESERVER);
|
---|
| 333 | OLESTATUS (CALLBACK *Execute) (LPOLESERVER, HGLOBAL);
|
---|
| 334 | } OLESERVERVTBL;
|
---|
| 335 | typedef OLESERVERVTBL *LPOLESERVERVTBL;
|
---|
| 336 |
|
---|
| 337 | typedef struct _OLESERVER {
|
---|
| 338 | LPOLESERVERVTBL lpvtbl;
|
---|
| 339 | } OLESERVER;
|
---|
| 340 |
|
---|
| 341 | typedef struct _OLESERVERDOCVTBL {
|
---|
| 342 | OLESTATUS (CALLBACK *Save) (LPOLESERVERDOC);
|
---|
| 343 | OLESTATUS (CALLBACK *Close) (LPOLESERVERDOC);
|
---|
| 344 | OLESTATUS (CALLBACK *SetHostNames) (LPOLESERVERDOC, OLE_LPCSTR, OLE_LPCSTR);
|
---|
| 345 | OLESTATUS (CALLBACK *SetDocDimensions) (LPOLESERVERDOC, OLE_CONST RECT *);
|
---|
| 346 | OLESTATUS (CALLBACK *GetObject) (LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT *, LPOLECLIENT);
|
---|
| 347 | OLESTATUS (CALLBACK *Release) (LPOLESERVERDOC);
|
---|
| 348 | OLESTATUS (CALLBACK *SetColorScheme) (LPOLESERVERDOC, OLE_CONST LOGPALETTE *);
|
---|
| 349 | OLESTATUS (CALLBACK *Execute) (LPOLESERVERDOC, HGLOBAL);
|
---|
| 350 | } OLESERVERDOCVTBL;
|
---|
| 351 | typedef OLESERVERDOCVTBL *LPOLESERVERDOCVTBL;
|
---|
| 352 |
|
---|
| 353 | typedef struct _OLESERVERDOC {
|
---|
| 354 | LPOLESERVERDOCVTBL lpvtbl;
|
---|
| 355 | } OLESERVERDOC;
|
---|
| 356 |
|
---|
| 357 | #ifdef __cplusplus
|
---|
| 358 | }
|
---|
| 359 | #endif
|
---|
| 360 |
|
---|
| 361 | #endif
|
---|