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
|
---|