1 /*** Autogenerated by WIDL 6.4 from include/oleidl.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __oleidl_h__
17 #define __oleidl_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __IOleAdviseHolder_FWD_DEFINED__
22 #define __IOleAdviseHolder_FWD_DEFINED__
23 typedef interface IOleAdviseHolder IOleAdviseHolder;
24 #ifdef __cplusplus
25 interface IOleAdviseHolder;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __IOleCache_FWD_DEFINED__
30 #define __IOleCache_FWD_DEFINED__
31 typedef interface IOleCache IOleCache;
32 #ifdef __cplusplus
33 interface IOleCache;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __IOleCache2_FWD_DEFINED__
38 #define __IOleCache2_FWD_DEFINED__
39 typedef interface IOleCache2 IOleCache2;
40 #ifdef __cplusplus
41 interface IOleCache2;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __IOleCacheControl_FWD_DEFINED__
46 #define __IOleCacheControl_FWD_DEFINED__
47 typedef interface IOleCacheControl IOleCacheControl;
48 #ifdef __cplusplus
49 interface IOleCacheControl;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __IParseDisplayName_FWD_DEFINED__
54 #define __IParseDisplayName_FWD_DEFINED__
55 typedef interface IParseDisplayName IParseDisplayName;
56 #ifdef __cplusplus
57 interface IParseDisplayName;
58 #endif /* __cplusplus */
59 #endif
60 
61 #ifndef __IOleContainer_FWD_DEFINED__
62 #define __IOleContainer_FWD_DEFINED__
63 typedef interface IOleContainer IOleContainer;
64 #ifdef __cplusplus
65 interface IOleContainer;
66 #endif /* __cplusplus */
67 #endif
68 
69 #ifndef __IOleClientSite_FWD_DEFINED__
70 #define __IOleClientSite_FWD_DEFINED__
71 typedef interface IOleClientSite IOleClientSite;
72 #ifdef __cplusplus
73 interface IOleClientSite;
74 #endif /* __cplusplus */
75 #endif
76 
77 #ifndef __IOleObject_FWD_DEFINED__
78 #define __IOleObject_FWD_DEFINED__
79 typedef interface IOleObject IOleObject;
80 #ifdef __cplusplus
81 interface IOleObject;
82 #endif /* __cplusplus */
83 #endif
84 
85 #ifndef __IOleWindow_FWD_DEFINED__
86 #define __IOleWindow_FWD_DEFINED__
87 typedef interface IOleWindow IOleWindow;
88 #ifdef __cplusplus
89 interface IOleWindow;
90 #endif /* __cplusplus */
91 #endif
92 
93 #ifndef __IOleLink_FWD_DEFINED__
94 #define __IOleLink_FWD_DEFINED__
95 typedef interface IOleLink IOleLink;
96 #ifdef __cplusplus
97 interface IOleLink;
98 #endif /* __cplusplus */
99 #endif
100 
101 #ifndef __IOleItemContainer_FWD_DEFINED__
102 #define __IOleItemContainer_FWD_DEFINED__
103 typedef interface IOleItemContainer IOleItemContainer;
104 #ifdef __cplusplus
105 interface IOleItemContainer;
106 #endif /* __cplusplus */
107 #endif
108 
109 #ifndef __IOleInPlaceUIWindow_FWD_DEFINED__
110 #define __IOleInPlaceUIWindow_FWD_DEFINED__
111 typedef interface IOleInPlaceUIWindow IOleInPlaceUIWindow;
112 #ifdef __cplusplus
113 interface IOleInPlaceUIWindow;
114 #endif /* __cplusplus */
115 #endif
116 
117 #ifndef __IOleInPlaceActiveObject_FWD_DEFINED__
118 #define __IOleInPlaceActiveObject_FWD_DEFINED__
119 typedef interface IOleInPlaceActiveObject IOleInPlaceActiveObject;
120 #ifdef __cplusplus
121 interface IOleInPlaceActiveObject;
122 #endif /* __cplusplus */
123 #endif
124 
125 #ifndef __IOleInPlaceFrame_FWD_DEFINED__
126 #define __IOleInPlaceFrame_FWD_DEFINED__
127 typedef interface IOleInPlaceFrame IOleInPlaceFrame;
128 #ifdef __cplusplus
129 interface IOleInPlaceFrame;
130 #endif /* __cplusplus */
131 #endif
132 
133 #ifndef __IOleInPlaceObject_FWD_DEFINED__
134 #define __IOleInPlaceObject_FWD_DEFINED__
135 typedef interface IOleInPlaceObject IOleInPlaceObject;
136 #ifdef __cplusplus
137 interface IOleInPlaceObject;
138 #endif /* __cplusplus */
139 #endif
140 
141 #ifndef __IOleInPlaceSite_FWD_DEFINED__
142 #define __IOleInPlaceSite_FWD_DEFINED__
143 typedef interface IOleInPlaceSite IOleInPlaceSite;
144 #ifdef __cplusplus
145 interface IOleInPlaceSite;
146 #endif /* __cplusplus */
147 #endif
148 
149 #ifndef __IContinue_FWD_DEFINED__
150 #define __IContinue_FWD_DEFINED__
151 typedef interface IContinue IContinue;
152 #ifdef __cplusplus
153 interface IContinue;
154 #endif /* __cplusplus */
155 #endif
156 
157 #ifndef __IViewObject_FWD_DEFINED__
158 #define __IViewObject_FWD_DEFINED__
159 typedef interface IViewObject IViewObject;
160 #ifdef __cplusplus
161 interface IViewObject;
162 #endif /* __cplusplus */
163 #endif
164 
165 #ifndef __IViewObject2_FWD_DEFINED__
166 #define __IViewObject2_FWD_DEFINED__
167 typedef interface IViewObject2 IViewObject2;
168 #ifdef __cplusplus
169 interface IViewObject2;
170 #endif /* __cplusplus */
171 #endif
172 
173 #ifndef __IDropSource_FWD_DEFINED__
174 #define __IDropSource_FWD_DEFINED__
175 typedef interface IDropSource IDropSource;
176 #ifdef __cplusplus
177 interface IDropSource;
178 #endif /* __cplusplus */
179 #endif
180 
181 #ifndef __IDropTarget_FWD_DEFINED__
182 #define __IDropTarget_FWD_DEFINED__
183 typedef interface IDropTarget IDropTarget;
184 #ifdef __cplusplus
185 interface IDropTarget;
186 #endif /* __cplusplus */
187 #endif
188 
189 #ifndef __IDropSourceNotify_FWD_DEFINED__
190 #define __IDropSourceNotify_FWD_DEFINED__
191 typedef interface IDropSourceNotify IDropSourceNotify;
192 #ifdef __cplusplus
193 interface IDropSourceNotify;
194 #endif /* __cplusplus */
195 #endif
196 
197 #ifndef __IEnumOLEVERB_FWD_DEFINED__
198 #define __IEnumOLEVERB_FWD_DEFINED__
199 typedef interface IEnumOLEVERB IEnumOLEVERB;
200 #ifdef __cplusplus
201 interface IEnumOLEVERB;
202 #endif /* __cplusplus */
203 #endif
204 
205 /* Headers for imported files */
206 
207 #include <objidl.h>
208 
209 #ifdef __cplusplus
210 extern "C" {
211 #endif
212 
213 /**
214  * This file is part of the mingw-w64 runtime package.
215  * No warranty is given; refer to the file DISCLAIMER within this package.
216  */
217 
218 
219 #include <winapifamily.h>
220 
221 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
222 #ifndef __IOleInPlaceActiveObject_FWD_DEFINED__
223 #define __IOleInPlaceActiveObject_FWD_DEFINED__
224 typedef interface IOleInPlaceActiveObject IOleInPlaceActiveObject;
225 #ifdef __cplusplus
226 interface IOleInPlaceActiveObject;
227 #endif /* __cplusplus */
228 #endif
229 
230 #ifndef __IEnumOLEVERB_FWD_DEFINED__
231 #define __IEnumOLEVERB_FWD_DEFINED__
232 typedef interface IEnumOLEVERB IEnumOLEVERB;
233 #ifdef __cplusplus
234 interface IEnumOLEVERB;
235 #endif /* __cplusplus */
236 #endif
237 
238 
239 /*****************************************************************************
240  * IOleAdviseHolder interface
241  */
242 #ifndef __IOleAdviseHolder_INTERFACE_DEFINED__
243 #define __IOleAdviseHolder_INTERFACE_DEFINED__
244 
245 typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
246 
247 DEFINE_GUID(IID_IOleAdviseHolder, 0x00000111, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
248 #if defined(__cplusplus) && !defined(CINTERFACE)
249 MIDL_INTERFACE("00000111-0000-0000-c000-000000000046")
250 IOleAdviseHolder : public IUnknown
251 {
252     virtual HRESULT STDMETHODCALLTYPE Advise(
253         IAdviseSink *pAdvise,
254         DWORD *pdwConnection) = 0;
255 
256     virtual HRESULT STDMETHODCALLTYPE Unadvise(
257         DWORD dwConnection) = 0;
258 
259     virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
260         IEnumSTATDATA **ppenumAdvise) = 0;
261 
262     virtual HRESULT STDMETHODCALLTYPE SendOnRename(
263         IMoniker *pmk) = 0;
264 
265     virtual HRESULT STDMETHODCALLTYPE SendOnSave(
266         ) = 0;
267 
268     virtual HRESULT STDMETHODCALLTYPE SendOnClose(
269         ) = 0;
270 
271 };
272 #ifdef __CRT_UUID_DECL
273 __CRT_UUID_DECL(IOleAdviseHolder, 0x00000111, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
274 #endif
275 #else
276 typedef struct IOleAdviseHolderVtbl {
277     BEGIN_INTERFACE
278 
279     /*** IUnknown methods ***/
280     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
281         IOleAdviseHolder *This,
282         REFIID riid,
283         void **ppvObject);
284 
285     ULONG (STDMETHODCALLTYPE *AddRef)(
286         IOleAdviseHolder *This);
287 
288     ULONG (STDMETHODCALLTYPE *Release)(
289         IOleAdviseHolder *This);
290 
291     /*** IOleAdviseHolder methods ***/
292     HRESULT (STDMETHODCALLTYPE *Advise)(
293         IOleAdviseHolder *This,
294         IAdviseSink *pAdvise,
295         DWORD *pdwConnection);
296 
297     HRESULT (STDMETHODCALLTYPE *Unadvise)(
298         IOleAdviseHolder *This,
299         DWORD dwConnection);
300 
301     HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
302         IOleAdviseHolder *This,
303         IEnumSTATDATA **ppenumAdvise);
304 
305     HRESULT (STDMETHODCALLTYPE *SendOnRename)(
306         IOleAdviseHolder *This,
307         IMoniker *pmk);
308 
309     HRESULT (STDMETHODCALLTYPE *SendOnSave)(
310         IOleAdviseHolder *This);
311 
312     HRESULT (STDMETHODCALLTYPE *SendOnClose)(
313         IOleAdviseHolder *This);
314 
315     END_INTERFACE
316 } IOleAdviseHolderVtbl;
317 
318 interface IOleAdviseHolder {
319     CONST_VTBL IOleAdviseHolderVtbl* lpVtbl;
320 };
321 
322 #ifdef COBJMACROS
323 #ifndef WIDL_C_INLINE_WRAPPERS
324 /*** IUnknown methods ***/
325 #define IOleAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
326 #define IOleAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
327 #define IOleAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
328 /*** IOleAdviseHolder methods ***/
329 #define IOleAdviseHolder_Advise(This,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pAdvise,pdwConnection)
330 #define IOleAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
331 #define IOleAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
332 #define IOleAdviseHolder_SendOnRename(This,pmk) (This)->lpVtbl->SendOnRename(This,pmk)
333 #define IOleAdviseHolder_SendOnSave(This) (This)->lpVtbl->SendOnSave(This)
334 #define IOleAdviseHolder_SendOnClose(This) (This)->lpVtbl->SendOnClose(This)
335 #else
336 /*** IUnknown methods ***/
337 static FORCEINLINE HRESULT IOleAdviseHolder_QueryInterface(IOleAdviseHolder* This,REFIID riid,void **ppvObject) {
338     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
339 }
340 static FORCEINLINE ULONG IOleAdviseHolder_AddRef(IOleAdviseHolder* This) {
341     return This->lpVtbl->AddRef(This);
342 }
343 static FORCEINLINE ULONG IOleAdviseHolder_Release(IOleAdviseHolder* This) {
344     return This->lpVtbl->Release(This);
345 }
346 /*** IOleAdviseHolder methods ***/
347 static FORCEINLINE HRESULT IOleAdviseHolder_Advise(IOleAdviseHolder* This,IAdviseSink *pAdvise,DWORD *pdwConnection) {
348     return This->lpVtbl->Advise(This,pAdvise,pdwConnection);
349 }
350 static FORCEINLINE HRESULT IOleAdviseHolder_Unadvise(IOleAdviseHolder* This,DWORD dwConnection) {
351     return This->lpVtbl->Unadvise(This,dwConnection);
352 }
353 static FORCEINLINE HRESULT IOleAdviseHolder_EnumAdvise(IOleAdviseHolder* This,IEnumSTATDATA **ppenumAdvise) {
354     return This->lpVtbl->EnumAdvise(This,ppenumAdvise);
355 }
356 static FORCEINLINE HRESULT IOleAdviseHolder_SendOnRename(IOleAdviseHolder* This,IMoniker *pmk) {
357     return This->lpVtbl->SendOnRename(This,pmk);
358 }
359 static FORCEINLINE HRESULT IOleAdviseHolder_SendOnSave(IOleAdviseHolder* This) {
360     return This->lpVtbl->SendOnSave(This);
361 }
362 static FORCEINLINE HRESULT IOleAdviseHolder_SendOnClose(IOleAdviseHolder* This) {
363     return This->lpVtbl->SendOnClose(This);
364 }
365 #endif
366 #endif
367 
368 #endif
369 
370 
371 #endif  /* __IOleAdviseHolder_INTERFACE_DEFINED__ */
372 
373 #endif
374 
375 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
376 /*****************************************************************************
377  * IOleCache interface
378  */
379 #ifndef __IOleCache_INTERFACE_DEFINED__
380 #define __IOleCache_INTERFACE_DEFINED__
381 
382 typedef IOleCache *LPOLECACHE;
383 
384 DEFINE_GUID(IID_IOleCache, 0x0000011e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
385 #if defined(__cplusplus) && !defined(CINTERFACE)
386 MIDL_INTERFACE("0000011e-0000-0000-c000-000000000046")
387 IOleCache : public IUnknown
388 {
389     virtual HRESULT STDMETHODCALLTYPE Cache(
390         FORMATETC *pformatetc,
391         DWORD advf,
392         DWORD *pdwConnection) = 0;
393 
394     virtual HRESULT STDMETHODCALLTYPE Uncache(
395         DWORD dwConnection) = 0;
396 
397     virtual HRESULT STDMETHODCALLTYPE EnumCache(
398         IEnumSTATDATA **ppenumSTATDATA) = 0;
399 
400     virtual HRESULT STDMETHODCALLTYPE InitCache(
401         IDataObject *pDataObject) = 0;
402 
403     virtual HRESULT STDMETHODCALLTYPE SetData(
404         FORMATETC *pformatetc,
405         STGMEDIUM *pmedium,
406         WINBOOL fRelease) = 0;
407 
408 };
409 #ifdef __CRT_UUID_DECL
410 __CRT_UUID_DECL(IOleCache, 0x0000011e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
411 #endif
412 #else
413 typedef struct IOleCacheVtbl {
414     BEGIN_INTERFACE
415 
416     /*** IUnknown methods ***/
417     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
418         IOleCache *This,
419         REFIID riid,
420         void **ppvObject);
421 
422     ULONG (STDMETHODCALLTYPE *AddRef)(
423         IOleCache *This);
424 
425     ULONG (STDMETHODCALLTYPE *Release)(
426         IOleCache *This);
427 
428     /*** IOleCache methods ***/
429     HRESULT (STDMETHODCALLTYPE *Cache)(
430         IOleCache *This,
431         FORMATETC *pformatetc,
432         DWORD advf,
433         DWORD *pdwConnection);
434 
435     HRESULT (STDMETHODCALLTYPE *Uncache)(
436         IOleCache *This,
437         DWORD dwConnection);
438 
439     HRESULT (STDMETHODCALLTYPE *EnumCache)(
440         IOleCache *This,
441         IEnumSTATDATA **ppenumSTATDATA);
442 
443     HRESULT (STDMETHODCALLTYPE *InitCache)(
444         IOleCache *This,
445         IDataObject *pDataObject);
446 
447     HRESULT (STDMETHODCALLTYPE *SetData)(
448         IOleCache *This,
449         FORMATETC *pformatetc,
450         STGMEDIUM *pmedium,
451         WINBOOL fRelease);
452 
453     END_INTERFACE
454 } IOleCacheVtbl;
455 
456 interface IOleCache {
457     CONST_VTBL IOleCacheVtbl* lpVtbl;
458 };
459 
460 #ifdef COBJMACROS
461 #ifndef WIDL_C_INLINE_WRAPPERS
462 /*** IUnknown methods ***/
463 #define IOleCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
464 #define IOleCache_AddRef(This) (This)->lpVtbl->AddRef(This)
465 #define IOleCache_Release(This) (This)->lpVtbl->Release(This)
466 /*** IOleCache methods ***/
467 #define IOleCache_Cache(This,pformatetc,advf,pdwConnection) (This)->lpVtbl->Cache(This,pformatetc,advf,pdwConnection)
468 #define IOleCache_Uncache(This,dwConnection) (This)->lpVtbl->Uncache(This,dwConnection)
469 #define IOleCache_EnumCache(This,ppenumSTATDATA) (This)->lpVtbl->EnumCache(This,ppenumSTATDATA)
470 #define IOleCache_InitCache(This,pDataObject) (This)->lpVtbl->InitCache(This,pDataObject)
471 #define IOleCache_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
472 #else
473 /*** IUnknown methods ***/
474 static FORCEINLINE HRESULT IOleCache_QueryInterface(IOleCache* This,REFIID riid,void **ppvObject) {
475     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
476 }
477 static FORCEINLINE ULONG IOleCache_AddRef(IOleCache* This) {
478     return This->lpVtbl->AddRef(This);
479 }
480 static FORCEINLINE ULONG IOleCache_Release(IOleCache* This) {
481     return This->lpVtbl->Release(This);
482 }
483 /*** IOleCache methods ***/
484 static FORCEINLINE HRESULT IOleCache_Cache(IOleCache* This,FORMATETC *pformatetc,DWORD advf,DWORD *pdwConnection) {
485     return This->lpVtbl->Cache(This,pformatetc,advf,pdwConnection);
486 }
487 static FORCEINLINE HRESULT IOleCache_Uncache(IOleCache* This,DWORD dwConnection) {
488     return This->lpVtbl->Uncache(This,dwConnection);
489 }
490 static FORCEINLINE HRESULT IOleCache_EnumCache(IOleCache* This,IEnumSTATDATA **ppenumSTATDATA) {
491     return This->lpVtbl->EnumCache(This,ppenumSTATDATA);
492 }
493 static FORCEINLINE HRESULT IOleCache_InitCache(IOleCache* This,IDataObject *pDataObject) {
494     return This->lpVtbl->InitCache(This,pDataObject);
495 }
496 static FORCEINLINE HRESULT IOleCache_SetData(IOleCache* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) {
497     return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
498 }
499 #endif
500 #endif
501 
502 #endif
503 
504 
505 #endif  /* __IOleCache_INTERFACE_DEFINED__ */
506 
507 
508 /*****************************************************************************
509  * IOleCache2 interface
510  */
511 #ifndef __IOleCache2_INTERFACE_DEFINED__
512 #define __IOleCache2_INTERFACE_DEFINED__
513 
514 typedef IOleCache2 *LPOLECACHE2;
515 
516 #define UPDFCACHE_NODATACACHE (0x1)
517 
518 #define UPDFCACHE_ONSAVECACHE (0x2)
519 
520 #define UPDFCACHE_ONSTOPCACHE (0x4)
521 
522 #define UPDFCACHE_NORMALCACHE (0x8)
523 
524 #define UPDFCACHE_IFBLANK (0x10)
525 
526 #define UPDFCACHE_ONLYIFBLANK (0x80000000)
527 
528 #define UPDFCACHE_IFBLANKORONSAVECACHE (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE)
529 
530 #define UPDFCACHE_ALL ((DWORD)~UPDFCACHE_ONLYIFBLANK)
531 
532 #define UPDFCACHE_ALLBUTNODATACACHE (UPDFCACHE_ALL & (DWORD)~UPDFCACHE_NODATACACHE)
533 
534 
535 typedef enum tagDISCARDCACHE {
536     DISCARDCACHE_SAVEIFDIRTY = 0,
537     DISCARDCACHE_NOSAVE = 1
538 } DISCARDCACHE;
539 
540 DEFINE_GUID(IID_IOleCache2, 0x00000128, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
541 #if defined(__cplusplus) && !defined(CINTERFACE)
542 MIDL_INTERFACE("00000128-0000-0000-c000-000000000046")
543 IOleCache2 : public IOleCache
544 {
545     virtual HRESULT STDMETHODCALLTYPE UpdateCache(
546         LPDATAOBJECT pDataObject,
547         DWORD grfUpdf,
548         LPVOID pReserved) = 0;
549 
550     virtual HRESULT STDMETHODCALLTYPE DiscardCache(
551         DWORD dwDiscardOptions) = 0;
552 
553 };
554 #ifdef __CRT_UUID_DECL
555 __CRT_UUID_DECL(IOleCache2, 0x00000128, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
556 #endif
557 #else
558 typedef struct IOleCache2Vtbl {
559     BEGIN_INTERFACE
560 
561     /*** IUnknown methods ***/
562     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
563         IOleCache2 *This,
564         REFIID riid,
565         void **ppvObject);
566 
567     ULONG (STDMETHODCALLTYPE *AddRef)(
568         IOleCache2 *This);
569 
570     ULONG (STDMETHODCALLTYPE *Release)(
571         IOleCache2 *This);
572 
573     /*** IOleCache methods ***/
574     HRESULT (STDMETHODCALLTYPE *Cache)(
575         IOleCache2 *This,
576         FORMATETC *pformatetc,
577         DWORD advf,
578         DWORD *pdwConnection);
579 
580     HRESULT (STDMETHODCALLTYPE *Uncache)(
581         IOleCache2 *This,
582         DWORD dwConnection);
583 
584     HRESULT (STDMETHODCALLTYPE *EnumCache)(
585         IOleCache2 *This,
586         IEnumSTATDATA **ppenumSTATDATA);
587 
588     HRESULT (STDMETHODCALLTYPE *InitCache)(
589         IOleCache2 *This,
590         IDataObject *pDataObject);
591 
592     HRESULT (STDMETHODCALLTYPE *SetData)(
593         IOleCache2 *This,
594         FORMATETC *pformatetc,
595         STGMEDIUM *pmedium,
596         WINBOOL fRelease);
597 
598     /*** IOleCache2 methods ***/
599     HRESULT (STDMETHODCALLTYPE *UpdateCache)(
600         IOleCache2 *This,
601         LPDATAOBJECT pDataObject,
602         DWORD grfUpdf,
603         LPVOID pReserved);
604 
605     HRESULT (STDMETHODCALLTYPE *DiscardCache)(
606         IOleCache2 *This,
607         DWORD dwDiscardOptions);
608 
609     END_INTERFACE
610 } IOleCache2Vtbl;
611 
612 interface IOleCache2 {
613     CONST_VTBL IOleCache2Vtbl* lpVtbl;
614 };
615 
616 #ifdef COBJMACROS
617 #ifndef WIDL_C_INLINE_WRAPPERS
618 /*** IUnknown methods ***/
619 #define IOleCache2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
620 #define IOleCache2_AddRef(This) (This)->lpVtbl->AddRef(This)
621 #define IOleCache2_Release(This) (This)->lpVtbl->Release(This)
622 /*** IOleCache methods ***/
623 #define IOleCache2_Cache(This,pformatetc,advf,pdwConnection) (This)->lpVtbl->Cache(This,pformatetc,advf,pdwConnection)
624 #define IOleCache2_Uncache(This,dwConnection) (This)->lpVtbl->Uncache(This,dwConnection)
625 #define IOleCache2_EnumCache(This,ppenumSTATDATA) (This)->lpVtbl->EnumCache(This,ppenumSTATDATA)
626 #define IOleCache2_InitCache(This,pDataObject) (This)->lpVtbl->InitCache(This,pDataObject)
627 #define IOleCache2_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
628 /*** IOleCache2 methods ***/
629 #define IOleCache2_UpdateCache(This,pDataObject,grfUpdf,pReserved) (This)->lpVtbl->UpdateCache(This,pDataObject,grfUpdf,pReserved)
630 #define IOleCache2_DiscardCache(This,dwDiscardOptions) (This)->lpVtbl->DiscardCache(This,dwDiscardOptions)
631 #else
632 /*** IUnknown methods ***/
633 static FORCEINLINE HRESULT IOleCache2_QueryInterface(IOleCache2* This,REFIID riid,void **ppvObject) {
634     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
635 }
636 static FORCEINLINE ULONG IOleCache2_AddRef(IOleCache2* This) {
637     return This->lpVtbl->AddRef(This);
638 }
639 static FORCEINLINE ULONG IOleCache2_Release(IOleCache2* This) {
640     return This->lpVtbl->Release(This);
641 }
642 /*** IOleCache methods ***/
643 static FORCEINLINE HRESULT IOleCache2_Cache(IOleCache2* This,FORMATETC *pformatetc,DWORD advf,DWORD *pdwConnection) {
644     return This->lpVtbl->Cache(This,pformatetc,advf,pdwConnection);
645 }
646 static FORCEINLINE HRESULT IOleCache2_Uncache(IOleCache2* This,DWORD dwConnection) {
647     return This->lpVtbl->Uncache(This,dwConnection);
648 }
649 static FORCEINLINE HRESULT IOleCache2_EnumCache(IOleCache2* This,IEnumSTATDATA **ppenumSTATDATA) {
650     return This->lpVtbl->EnumCache(This,ppenumSTATDATA);
651 }
652 static FORCEINLINE HRESULT IOleCache2_InitCache(IOleCache2* This,IDataObject *pDataObject) {
653     return This->lpVtbl->InitCache(This,pDataObject);
654 }
655 static FORCEINLINE HRESULT IOleCache2_SetData(IOleCache2* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) {
656     return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
657 }
658 /*** IOleCache2 methods ***/
659 static FORCEINLINE HRESULT IOleCache2_UpdateCache(IOleCache2* This,LPDATAOBJECT pDataObject,DWORD grfUpdf,LPVOID pReserved) {
660     return This->lpVtbl->UpdateCache(This,pDataObject,grfUpdf,pReserved);
661 }
662 static FORCEINLINE HRESULT IOleCache2_DiscardCache(IOleCache2* This,DWORD dwDiscardOptions) {
663     return This->lpVtbl->DiscardCache(This,dwDiscardOptions);
664 }
665 #endif
666 #endif
667 
668 #endif
669 
670 HRESULT STDMETHODCALLTYPE IOleCache2_RemoteUpdateCache_Proxy(
671     IOleCache2* This,
672     LPDATAOBJECT pDataObject,
673     DWORD grfUpdf,
674     LONG_PTR pReserved);
675 void __RPC_STUB IOleCache2_RemoteUpdateCache_Stub(
676     IRpcStubBuffer* This,
677     IRpcChannelBuffer* pRpcChannelBuffer,
678     PRPC_MESSAGE pRpcMessage,
679     DWORD* pdwStubPhase);
680 HRESULT CALLBACK IOleCache2_UpdateCache_Proxy(
681     IOleCache2* This,
682     LPDATAOBJECT pDataObject,
683     DWORD grfUpdf,
684     LPVOID pReserved);
685 HRESULT __RPC_STUB IOleCache2_UpdateCache_Stub(
686     IOleCache2* This,
687     LPDATAOBJECT pDataObject,
688     DWORD grfUpdf,
689     LONG_PTR pReserved);
690 
691 #endif  /* __IOleCache2_INTERFACE_DEFINED__ */
692 
693 #endif
694 
695 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
696 /*****************************************************************************
697  * IOleCacheControl interface
698  */
699 #ifndef __IOleCacheControl_INTERFACE_DEFINED__
700 #define __IOleCacheControl_INTERFACE_DEFINED__
701 
702 typedef IOleCacheControl *LPOLECACHECONTROL;
703 
704 DEFINE_GUID(IID_IOleCacheControl, 0x00000129, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
705 #if defined(__cplusplus) && !defined(CINTERFACE)
706 MIDL_INTERFACE("00000129-0000-0000-c000-000000000046")
707 IOleCacheControl : public IUnknown
708 {
709     virtual HRESULT STDMETHODCALLTYPE OnRun(
710         LPDATAOBJECT pDataObject) = 0;
711 
712     virtual HRESULT STDMETHODCALLTYPE OnStop(
713         ) = 0;
714 
715 };
716 #ifdef __CRT_UUID_DECL
717 __CRT_UUID_DECL(IOleCacheControl, 0x00000129, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
718 #endif
719 #else
720 typedef struct IOleCacheControlVtbl {
721     BEGIN_INTERFACE
722 
723     /*** IUnknown methods ***/
724     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
725         IOleCacheControl *This,
726         REFIID riid,
727         void **ppvObject);
728 
729     ULONG (STDMETHODCALLTYPE *AddRef)(
730         IOleCacheControl *This);
731 
732     ULONG (STDMETHODCALLTYPE *Release)(
733         IOleCacheControl *This);
734 
735     /*** IOleCacheControl methods ***/
736     HRESULT (STDMETHODCALLTYPE *OnRun)(
737         IOleCacheControl *This,
738         LPDATAOBJECT pDataObject);
739 
740     HRESULT (STDMETHODCALLTYPE *OnStop)(
741         IOleCacheControl *This);
742 
743     END_INTERFACE
744 } IOleCacheControlVtbl;
745 
746 interface IOleCacheControl {
747     CONST_VTBL IOleCacheControlVtbl* lpVtbl;
748 };
749 
750 #ifdef COBJMACROS
751 #ifndef WIDL_C_INLINE_WRAPPERS
752 /*** IUnknown methods ***/
753 #define IOleCacheControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
754 #define IOleCacheControl_AddRef(This) (This)->lpVtbl->AddRef(This)
755 #define IOleCacheControl_Release(This) (This)->lpVtbl->Release(This)
756 /*** IOleCacheControl methods ***/
757 #define IOleCacheControl_OnRun(This,pDataObject) (This)->lpVtbl->OnRun(This,pDataObject)
758 #define IOleCacheControl_OnStop(This) (This)->lpVtbl->OnStop(This)
759 #else
760 /*** IUnknown methods ***/
761 static FORCEINLINE HRESULT IOleCacheControl_QueryInterface(IOleCacheControl* This,REFIID riid,void **ppvObject) {
762     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
763 }
764 static FORCEINLINE ULONG IOleCacheControl_AddRef(IOleCacheControl* This) {
765     return This->lpVtbl->AddRef(This);
766 }
767 static FORCEINLINE ULONG IOleCacheControl_Release(IOleCacheControl* This) {
768     return This->lpVtbl->Release(This);
769 }
770 /*** IOleCacheControl methods ***/
771 static FORCEINLINE HRESULT IOleCacheControl_OnRun(IOleCacheControl* This,LPDATAOBJECT pDataObject) {
772     return This->lpVtbl->OnRun(This,pDataObject);
773 }
774 static FORCEINLINE HRESULT IOleCacheControl_OnStop(IOleCacheControl* This) {
775     return This->lpVtbl->OnStop(This);
776 }
777 #endif
778 #endif
779 
780 #endif
781 
782 
783 #endif  /* __IOleCacheControl_INTERFACE_DEFINED__ */
784 
785 
786 /*****************************************************************************
787  * IParseDisplayName interface
788  */
789 #ifndef __IParseDisplayName_INTERFACE_DEFINED__
790 #define __IParseDisplayName_INTERFACE_DEFINED__
791 
792 typedef IParseDisplayName *LPPARSEDISPLAYNAME;
793 
794 DEFINE_GUID(IID_IParseDisplayName, 0x0000011a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
795 #if defined(__cplusplus) && !defined(CINTERFACE)
796 MIDL_INTERFACE("0000011a-0000-0000-c000-000000000046")
797 IParseDisplayName : public IUnknown
798 {
799     virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
800         IBindCtx *pbc,
801         LPOLESTR pszDisplayName,
802         ULONG *pchEaten,
803         IMoniker **ppmkOut) = 0;
804 
805 };
806 #ifdef __CRT_UUID_DECL
807 __CRT_UUID_DECL(IParseDisplayName, 0x0000011a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
808 #endif
809 #else
810 typedef struct IParseDisplayNameVtbl {
811     BEGIN_INTERFACE
812 
813     /*** IUnknown methods ***/
814     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
815         IParseDisplayName *This,
816         REFIID riid,
817         void **ppvObject);
818 
819     ULONG (STDMETHODCALLTYPE *AddRef)(
820         IParseDisplayName *This);
821 
822     ULONG (STDMETHODCALLTYPE *Release)(
823         IParseDisplayName *This);
824 
825     /*** IParseDisplayName methods ***/
826     HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
827         IParseDisplayName *This,
828         IBindCtx *pbc,
829         LPOLESTR pszDisplayName,
830         ULONG *pchEaten,
831         IMoniker **ppmkOut);
832 
833     END_INTERFACE
834 } IParseDisplayNameVtbl;
835 
836 interface IParseDisplayName {
837     CONST_VTBL IParseDisplayNameVtbl* lpVtbl;
838 };
839 
840 #ifdef COBJMACROS
841 #ifndef WIDL_C_INLINE_WRAPPERS
842 /*** IUnknown methods ***/
843 #define IParseDisplayName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
844 #define IParseDisplayName_AddRef(This) (This)->lpVtbl->AddRef(This)
845 #define IParseDisplayName_Release(This) (This)->lpVtbl->Release(This)
846 /*** IParseDisplayName methods ***/
847 #define IParseDisplayName_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
848 #else
849 /*** IUnknown methods ***/
850 static FORCEINLINE HRESULT IParseDisplayName_QueryInterface(IParseDisplayName* This,REFIID riid,void **ppvObject) {
851     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
852 }
853 static FORCEINLINE ULONG IParseDisplayName_AddRef(IParseDisplayName* This) {
854     return This->lpVtbl->AddRef(This);
855 }
856 static FORCEINLINE ULONG IParseDisplayName_Release(IParseDisplayName* This) {
857     return This->lpVtbl->Release(This);
858 }
859 /*** IParseDisplayName methods ***/
860 static FORCEINLINE HRESULT IParseDisplayName_ParseDisplayName(IParseDisplayName* This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
861     return This->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut);
862 }
863 #endif
864 #endif
865 
866 #endif
867 
868 
869 #endif  /* __IParseDisplayName_INTERFACE_DEFINED__ */
870 
871 
872 /*****************************************************************************
873  * IOleContainer interface
874  */
875 #ifndef __IOleContainer_INTERFACE_DEFINED__
876 #define __IOleContainer_INTERFACE_DEFINED__
877 
878 typedef IOleContainer *LPOLECONTAINER;
879 
880 DEFINE_GUID(IID_IOleContainer, 0x0000011b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
881 #if defined(__cplusplus) && !defined(CINTERFACE)
882 MIDL_INTERFACE("0000011b-0000-0000-c000-000000000046")
883 IOleContainer : public IParseDisplayName
884 {
885     virtual HRESULT STDMETHODCALLTYPE EnumObjects(
886         DWORD grfFlags,
887         IEnumUnknown **ppenum) = 0;
888 
889     virtual HRESULT STDMETHODCALLTYPE LockContainer(
890         WINBOOL fLock) = 0;
891 
892 };
893 #ifdef __CRT_UUID_DECL
894 __CRT_UUID_DECL(IOleContainer, 0x0000011b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
895 #endif
896 #else
897 typedef struct IOleContainerVtbl {
898     BEGIN_INTERFACE
899 
900     /*** IUnknown methods ***/
901     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
902         IOleContainer *This,
903         REFIID riid,
904         void **ppvObject);
905 
906     ULONG (STDMETHODCALLTYPE *AddRef)(
907         IOleContainer *This);
908 
909     ULONG (STDMETHODCALLTYPE *Release)(
910         IOleContainer *This);
911 
912     /*** IParseDisplayName methods ***/
913     HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
914         IOleContainer *This,
915         IBindCtx *pbc,
916         LPOLESTR pszDisplayName,
917         ULONG *pchEaten,
918         IMoniker **ppmkOut);
919 
920     /*** IOleContainer methods ***/
921     HRESULT (STDMETHODCALLTYPE *EnumObjects)(
922         IOleContainer *This,
923         DWORD grfFlags,
924         IEnumUnknown **ppenum);
925 
926     HRESULT (STDMETHODCALLTYPE *LockContainer)(
927         IOleContainer *This,
928         WINBOOL fLock);
929 
930     END_INTERFACE
931 } IOleContainerVtbl;
932 
933 interface IOleContainer {
934     CONST_VTBL IOleContainerVtbl* lpVtbl;
935 };
936 
937 #ifdef COBJMACROS
938 #ifndef WIDL_C_INLINE_WRAPPERS
939 /*** IUnknown methods ***/
940 #define IOleContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
941 #define IOleContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
942 #define IOleContainer_Release(This) (This)->lpVtbl->Release(This)
943 /*** IParseDisplayName methods ***/
944 #define IOleContainer_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
945 /*** IOleContainer methods ***/
946 #define IOleContainer_EnumObjects(This,grfFlags,ppenum) (This)->lpVtbl->EnumObjects(This,grfFlags,ppenum)
947 #define IOleContainer_LockContainer(This,fLock) (This)->lpVtbl->LockContainer(This,fLock)
948 #else
949 /*** IUnknown methods ***/
950 static FORCEINLINE HRESULT IOleContainer_QueryInterface(IOleContainer* This,REFIID riid,void **ppvObject) {
951     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
952 }
953 static FORCEINLINE ULONG IOleContainer_AddRef(IOleContainer* This) {
954     return This->lpVtbl->AddRef(This);
955 }
956 static FORCEINLINE ULONG IOleContainer_Release(IOleContainer* This) {
957     return This->lpVtbl->Release(This);
958 }
959 /*** IParseDisplayName methods ***/
960 static FORCEINLINE HRESULT IOleContainer_ParseDisplayName(IOleContainer* This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
961     return This->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut);
962 }
963 /*** IOleContainer methods ***/
964 static FORCEINLINE HRESULT IOleContainer_EnumObjects(IOleContainer* This,DWORD grfFlags,IEnumUnknown **ppenum) {
965     return This->lpVtbl->EnumObjects(This,grfFlags,ppenum);
966 }
967 static FORCEINLINE HRESULT IOleContainer_LockContainer(IOleContainer* This,WINBOOL fLock) {
968     return This->lpVtbl->LockContainer(This,fLock);
969 }
970 #endif
971 #endif
972 
973 #endif
974 
975 
976 #endif  /* __IOleContainer_INTERFACE_DEFINED__ */
977 
978 
979 /*****************************************************************************
980  * IOleClientSite interface
981  */
982 #ifndef __IOleClientSite_INTERFACE_DEFINED__
983 #define __IOleClientSite_INTERFACE_DEFINED__
984 
985 typedef IOleClientSite *LPOLECLIENTSITE;
986 
987 DEFINE_GUID(IID_IOleClientSite, 0x00000118, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
988 #if defined(__cplusplus) && !defined(CINTERFACE)
989 MIDL_INTERFACE("00000118-0000-0000-c000-000000000046")
990 IOleClientSite : public IUnknown
991 {
992     virtual HRESULT STDMETHODCALLTYPE SaveObject(
993         ) = 0;
994 
995     virtual HRESULT STDMETHODCALLTYPE GetMoniker(
996         DWORD dwAssign,
997         DWORD dwWhichMoniker,
998         IMoniker **ppmk) = 0;
999 
1000     virtual HRESULT STDMETHODCALLTYPE GetContainer(
1001         IOleContainer **ppContainer) = 0;
1002 
1003     virtual HRESULT STDMETHODCALLTYPE ShowObject(
1004         ) = 0;
1005 
1006     virtual HRESULT STDMETHODCALLTYPE OnShowWindow(
1007         WINBOOL fShow) = 0;
1008 
1009     virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(
1010         ) = 0;
1011 
1012 };
1013 #ifdef __CRT_UUID_DECL
1014 __CRT_UUID_DECL(IOleClientSite, 0x00000118, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1015 #endif
1016 #else
1017 typedef struct IOleClientSiteVtbl {
1018     BEGIN_INTERFACE
1019 
1020     /*** IUnknown methods ***/
1021     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1022         IOleClientSite *This,
1023         REFIID riid,
1024         void **ppvObject);
1025 
1026     ULONG (STDMETHODCALLTYPE *AddRef)(
1027         IOleClientSite *This);
1028 
1029     ULONG (STDMETHODCALLTYPE *Release)(
1030         IOleClientSite *This);
1031 
1032     /*** IOleClientSite methods ***/
1033     HRESULT (STDMETHODCALLTYPE *SaveObject)(
1034         IOleClientSite *This);
1035 
1036     HRESULT (STDMETHODCALLTYPE *GetMoniker)(
1037         IOleClientSite *This,
1038         DWORD dwAssign,
1039         DWORD dwWhichMoniker,
1040         IMoniker **ppmk);
1041 
1042     HRESULT (STDMETHODCALLTYPE *GetContainer)(
1043         IOleClientSite *This,
1044         IOleContainer **ppContainer);
1045 
1046     HRESULT (STDMETHODCALLTYPE *ShowObject)(
1047         IOleClientSite *This);
1048 
1049     HRESULT (STDMETHODCALLTYPE *OnShowWindow)(
1050         IOleClientSite *This,
1051         WINBOOL fShow);
1052 
1053     HRESULT (STDMETHODCALLTYPE *RequestNewObjectLayout)(
1054         IOleClientSite *This);
1055 
1056     END_INTERFACE
1057 } IOleClientSiteVtbl;
1058 
1059 interface IOleClientSite {
1060     CONST_VTBL IOleClientSiteVtbl* lpVtbl;
1061 };
1062 
1063 #ifdef COBJMACROS
1064 #ifndef WIDL_C_INLINE_WRAPPERS
1065 /*** IUnknown methods ***/
1066 #define IOleClientSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1067 #define IOleClientSite_AddRef(This) (This)->lpVtbl->AddRef(This)
1068 #define IOleClientSite_Release(This) (This)->lpVtbl->Release(This)
1069 /*** IOleClientSite methods ***/
1070 #define IOleClientSite_SaveObject(This) (This)->lpVtbl->SaveObject(This)
1071 #define IOleClientSite_GetMoniker(This,dwAssign,dwWhichMoniker,ppmk) (This)->lpVtbl->GetMoniker(This,dwAssign,dwWhichMoniker,ppmk)
1072 #define IOleClientSite_GetContainer(This,ppContainer) (This)->lpVtbl->GetContainer(This,ppContainer)
1073 #define IOleClientSite_ShowObject(This) (This)->lpVtbl->ShowObject(This)
1074 #define IOleClientSite_OnShowWindow(This,fShow) (This)->lpVtbl->OnShowWindow(This,fShow)
1075 #define IOleClientSite_RequestNewObjectLayout(This) (This)->lpVtbl->RequestNewObjectLayout(This)
1076 #else
1077 /*** IUnknown methods ***/
1078 static FORCEINLINE HRESULT IOleClientSite_QueryInterface(IOleClientSite* This,REFIID riid,void **ppvObject) {
1079     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1080 }
1081 static FORCEINLINE ULONG IOleClientSite_AddRef(IOleClientSite* This) {
1082     return This->lpVtbl->AddRef(This);
1083 }
1084 static FORCEINLINE ULONG IOleClientSite_Release(IOleClientSite* This) {
1085     return This->lpVtbl->Release(This);
1086 }
1087 /*** IOleClientSite methods ***/
1088 static FORCEINLINE HRESULT IOleClientSite_SaveObject(IOleClientSite* This) {
1089     return This->lpVtbl->SaveObject(This);
1090 }
1091 static FORCEINLINE HRESULT IOleClientSite_GetMoniker(IOleClientSite* This,DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk) {
1092     return This->lpVtbl->GetMoniker(This,dwAssign,dwWhichMoniker,ppmk);
1093 }
1094 static FORCEINLINE HRESULT IOleClientSite_GetContainer(IOleClientSite* This,IOleContainer **ppContainer) {
1095     return This->lpVtbl->GetContainer(This,ppContainer);
1096 }
1097 static FORCEINLINE HRESULT IOleClientSite_ShowObject(IOleClientSite* This) {
1098     return This->lpVtbl->ShowObject(This);
1099 }
1100 static FORCEINLINE HRESULT IOleClientSite_OnShowWindow(IOleClientSite* This,WINBOOL fShow) {
1101     return This->lpVtbl->OnShowWindow(This,fShow);
1102 }
1103 static FORCEINLINE HRESULT IOleClientSite_RequestNewObjectLayout(IOleClientSite* This) {
1104     return This->lpVtbl->RequestNewObjectLayout(This);
1105 }
1106 #endif
1107 #endif
1108 
1109 #endif
1110 
1111 
1112 #endif  /* __IOleClientSite_INTERFACE_DEFINED__ */
1113 
1114 
1115 /*****************************************************************************
1116  * IOleObject interface
1117  */
1118 #ifndef __IOleObject_INTERFACE_DEFINED__
1119 #define __IOleObject_INTERFACE_DEFINED__
1120 
1121 typedef IOleObject *LPOLEOBJECT;
1122 
1123 typedef enum tagOLEGETMONIKER {
1124     OLEGETMONIKER_ONLYIFTHERE = 1,
1125     OLEGETMONIKER_FORCEASSIGN = 2,
1126     OLEGETMONIKER_UNASSIGN = 3,
1127     OLEGETMONIKER_TEMPFORUSER = 4
1128 } OLEGETMONIKER;
1129 
1130 typedef enum tagOLEWHICHMK {
1131     OLEWHICHMK_CONTAINER = 1,
1132     OLEWHICHMK_OBJREL = 2,
1133     OLEWHICHMK_OBJFULL = 3
1134 } OLEWHICHMK;
1135 
1136 typedef enum tagUSERCLASSTYPE {
1137     USERCLASSTYPE_FULL = 1,
1138     USERCLASSTYPE_SHORT = 2,
1139     USERCLASSTYPE_APPNAME = 3
1140 } USERCLASSTYPE;
1141 
1142 typedef enum tagOLEMISC {
1143     OLEMISC_RECOMPOSEONRESIZE = 0x1,
1144     OLEMISC_ONLYICONIC = 0x2,
1145     OLEMISC_INSERTNOTREPLACE = 0x4,
1146     OLEMISC_STATIC = 0x8,
1147     OLEMISC_CANTLINKINSIDE = 0x10,
1148     OLEMISC_CANLINKBYOLE1 = 0x20,
1149     OLEMISC_ISLINKOBJECT = 0x40,
1150     OLEMISC_INSIDEOUT = 0x80,
1151     OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
1152     OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
1153     OLEMISC_INVISIBLEATRUNTIME = 0x400,
1154     OLEMISC_ALWAYSRUN = 0x800,
1155     OLEMISC_ACTSLIKEBUTTON = 0x1000,
1156     OLEMISC_ACTSLIKELABEL = 0x2000,
1157     OLEMISC_NOUIACTIVATE = 0x4000,
1158     OLEMISC_ALIGNABLE = 0x8000,
1159     OLEMISC_SIMPLEFRAME = 0x10000,
1160     OLEMISC_SETCLIENTSITEFIRST = 0x20000,
1161     OLEMISC_IMEMODE = 0x40000,
1162     OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
1163     OLEMISC_WANTSTOMENUMERGE = 0x100000,
1164     OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
1165 } OLEMISC;
1166 typedef enum tagOLECLOSE {
1167     OLECLOSE_SAVEIFDIRTY = 0,
1168     OLECLOSE_NOSAVE = 1,
1169     OLECLOSE_PROMPTSAVE = 2
1170 } OLECLOSE;
1171 
1172 DEFINE_GUID(IID_IOleObject, 0x00000112, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1173 #if defined(__cplusplus) && !defined(CINTERFACE)
1174 MIDL_INTERFACE("00000112-0000-0000-c000-000000000046")
1175 IOleObject : public IUnknown
1176 {
1177     virtual HRESULT STDMETHODCALLTYPE SetClientSite(
1178         IOleClientSite *pClientSite) = 0;
1179 
1180     virtual HRESULT STDMETHODCALLTYPE GetClientSite(
1181         IOleClientSite **ppClientSite) = 0;
1182 
1183     virtual HRESULT STDMETHODCALLTYPE SetHostNames(
1184         LPCOLESTR szContainerApp,
1185         LPCOLESTR szContainerObj) = 0;
1186 
1187     virtual HRESULT STDMETHODCALLTYPE Close(
1188         DWORD dwSaveOption) = 0;
1189 
1190     virtual HRESULT STDMETHODCALLTYPE SetMoniker(
1191         DWORD dwWhichMoniker,
1192         IMoniker *pmk) = 0;
1193 
1194     virtual HRESULT STDMETHODCALLTYPE GetMoniker(
1195         DWORD dwAssign,
1196         DWORD dwWhichMoniker,
1197         IMoniker **ppmk) = 0;
1198 
1199     virtual HRESULT STDMETHODCALLTYPE InitFromData(
1200         IDataObject *pDataObject,
1201         WINBOOL fCreation,
1202         DWORD dwReserved) = 0;
1203 
1204     virtual HRESULT STDMETHODCALLTYPE GetClipboardData(
1205         DWORD dwReserved,
1206         IDataObject **ppDataObject) = 0;
1207 
1208     virtual HRESULT STDMETHODCALLTYPE DoVerb(
1209         LONG iVerb,
1210         LPMSG lpmsg,
1211         IOleClientSite *pActiveSite,
1212         LONG lindex,
1213         HWND hwndParent,
1214         LPCRECT lprcPosRect) = 0;
1215 
1216     virtual HRESULT STDMETHODCALLTYPE EnumVerbs(
1217         IEnumOLEVERB **ppEnumOleVerb) = 0;
1218 
1219     virtual HRESULT STDMETHODCALLTYPE Update(
1220         ) = 0;
1221 
1222     virtual HRESULT STDMETHODCALLTYPE IsUpToDate(
1223         ) = 0;
1224 
1225     virtual HRESULT STDMETHODCALLTYPE GetUserClassID(
1226         CLSID *pClsid) = 0;
1227 
1228     virtual HRESULT STDMETHODCALLTYPE GetUserType(
1229         DWORD dwFormOfType,
1230         LPOLESTR *pszUserType) = 0;
1231 
1232     virtual HRESULT STDMETHODCALLTYPE SetExtent(
1233         DWORD dwDrawAspect,
1234         SIZEL *psizel) = 0;
1235 
1236     virtual HRESULT STDMETHODCALLTYPE GetExtent(
1237         DWORD dwDrawAspect,
1238         SIZEL *psizel) = 0;
1239 
1240     virtual HRESULT STDMETHODCALLTYPE Advise(
1241         IAdviseSink *pAdvSink,
1242         DWORD *pdwConnection) = 0;
1243 
1244     virtual HRESULT STDMETHODCALLTYPE Unadvise(
1245         DWORD dwConnection) = 0;
1246 
1247     virtual HRESULT STDMETHODCALLTYPE EnumAdvise(
1248         IEnumSTATDATA **ppenumAdvise) = 0;
1249 
1250     virtual HRESULT STDMETHODCALLTYPE GetMiscStatus(
1251         DWORD dwAspect,
1252         DWORD *pdwStatus) = 0;
1253 
1254     virtual HRESULT STDMETHODCALLTYPE SetColorScheme(
1255         LOGPALETTE *pLogpal) = 0;
1256 
1257 };
1258 #ifdef __CRT_UUID_DECL
1259 __CRT_UUID_DECL(IOleObject, 0x00000112, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1260 #endif
1261 #else
1262 typedef struct IOleObjectVtbl {
1263     BEGIN_INTERFACE
1264 
1265     /*** IUnknown methods ***/
1266     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1267         IOleObject *This,
1268         REFIID riid,
1269         void **ppvObject);
1270 
1271     ULONG (STDMETHODCALLTYPE *AddRef)(
1272         IOleObject *This);
1273 
1274     ULONG (STDMETHODCALLTYPE *Release)(
1275         IOleObject *This);
1276 
1277     /*** IOleObject methods ***/
1278     HRESULT (STDMETHODCALLTYPE *SetClientSite)(
1279         IOleObject *This,
1280         IOleClientSite *pClientSite);
1281 
1282     HRESULT (STDMETHODCALLTYPE *GetClientSite)(
1283         IOleObject *This,
1284         IOleClientSite **ppClientSite);
1285 
1286     HRESULT (STDMETHODCALLTYPE *SetHostNames)(
1287         IOleObject *This,
1288         LPCOLESTR szContainerApp,
1289         LPCOLESTR szContainerObj);
1290 
1291     HRESULT (STDMETHODCALLTYPE *Close)(
1292         IOleObject *This,
1293         DWORD dwSaveOption);
1294 
1295     HRESULT (STDMETHODCALLTYPE *SetMoniker)(
1296         IOleObject *This,
1297         DWORD dwWhichMoniker,
1298         IMoniker *pmk);
1299 
1300     HRESULT (STDMETHODCALLTYPE *GetMoniker)(
1301         IOleObject *This,
1302         DWORD dwAssign,
1303         DWORD dwWhichMoniker,
1304         IMoniker **ppmk);
1305 
1306     HRESULT (STDMETHODCALLTYPE *InitFromData)(
1307         IOleObject *This,
1308         IDataObject *pDataObject,
1309         WINBOOL fCreation,
1310         DWORD dwReserved);
1311 
1312     HRESULT (STDMETHODCALLTYPE *GetClipboardData)(
1313         IOleObject *This,
1314         DWORD dwReserved,
1315         IDataObject **ppDataObject);
1316 
1317     HRESULT (STDMETHODCALLTYPE *DoVerb)(
1318         IOleObject *This,
1319         LONG iVerb,
1320         LPMSG lpmsg,
1321         IOleClientSite *pActiveSite,
1322         LONG lindex,
1323         HWND hwndParent,
1324         LPCRECT lprcPosRect);
1325 
1326     HRESULT (STDMETHODCALLTYPE *EnumVerbs)(
1327         IOleObject *This,
1328         IEnumOLEVERB **ppEnumOleVerb);
1329 
1330     HRESULT (STDMETHODCALLTYPE *Update)(
1331         IOleObject *This);
1332 
1333     HRESULT (STDMETHODCALLTYPE *IsUpToDate)(
1334         IOleObject *This);
1335 
1336     HRESULT (STDMETHODCALLTYPE *GetUserClassID)(
1337         IOleObject *This,
1338         CLSID *pClsid);
1339 
1340     HRESULT (STDMETHODCALLTYPE *GetUserType)(
1341         IOleObject *This,
1342         DWORD dwFormOfType,
1343         LPOLESTR *pszUserType);
1344 
1345     HRESULT (STDMETHODCALLTYPE *SetExtent)(
1346         IOleObject *This,
1347         DWORD dwDrawAspect,
1348         SIZEL *psizel);
1349 
1350     HRESULT (STDMETHODCALLTYPE *GetExtent)(
1351         IOleObject *This,
1352         DWORD dwDrawAspect,
1353         SIZEL *psizel);
1354 
1355     HRESULT (STDMETHODCALLTYPE *Advise)(
1356         IOleObject *This,
1357         IAdviseSink *pAdvSink,
1358         DWORD *pdwConnection);
1359 
1360     HRESULT (STDMETHODCALLTYPE *Unadvise)(
1361         IOleObject *This,
1362         DWORD dwConnection);
1363 
1364     HRESULT (STDMETHODCALLTYPE *EnumAdvise)(
1365         IOleObject *This,
1366         IEnumSTATDATA **ppenumAdvise);
1367 
1368     HRESULT (STDMETHODCALLTYPE *GetMiscStatus)(
1369         IOleObject *This,
1370         DWORD dwAspect,
1371         DWORD *pdwStatus);
1372 
1373     HRESULT (STDMETHODCALLTYPE *SetColorScheme)(
1374         IOleObject *This,
1375         LOGPALETTE *pLogpal);
1376 
1377     END_INTERFACE
1378 } IOleObjectVtbl;
1379 
1380 interface IOleObject {
1381     CONST_VTBL IOleObjectVtbl* lpVtbl;
1382 };
1383 
1384 #ifdef COBJMACROS
1385 #ifndef WIDL_C_INLINE_WRAPPERS
1386 /*** IUnknown methods ***/
1387 #define IOleObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1388 #define IOleObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1389 #define IOleObject_Release(This) (This)->lpVtbl->Release(This)
1390 /*** IOleObject methods ***/
1391 #define IOleObject_SetClientSite(This,pClientSite) (This)->lpVtbl->SetClientSite(This,pClientSite)
1392 #define IOleObject_GetClientSite(This,ppClientSite) (This)->lpVtbl->GetClientSite(This,ppClientSite)
1393 #define IOleObject_SetHostNames(This,szContainerApp,szContainerObj) (This)->lpVtbl->SetHostNames(This,szContainerApp,szContainerObj)
1394 #define IOleObject_Close(This,dwSaveOption) (This)->lpVtbl->Close(This,dwSaveOption)
1395 #define IOleObject_SetMoniker(This,dwWhichMoniker,pmk) (This)->lpVtbl->SetMoniker(This,dwWhichMoniker,pmk)
1396 #define IOleObject_GetMoniker(This,dwAssign,dwWhichMoniker,ppmk) (This)->lpVtbl->GetMoniker(This,dwAssign,dwWhichMoniker,ppmk)
1397 #define IOleObject_InitFromData(This,pDataObject,fCreation,dwReserved) (This)->lpVtbl->InitFromData(This,pDataObject,fCreation,dwReserved)
1398 #define IOleObject_GetClipboardData(This,dwReserved,ppDataObject) (This)->lpVtbl->GetClipboardData(This,dwReserved,ppDataObject)
1399 #define IOleObject_DoVerb(This,iVerb,lpmsg,pActiveSite,lindex,hwndParent,lprcPosRect) (This)->lpVtbl->DoVerb(This,iVerb,lpmsg,pActiveSite,lindex,hwndParent,lprcPosRect)
1400 #define IOleObject_EnumVerbs(This,ppEnumOleVerb) (This)->lpVtbl->EnumVerbs(This,ppEnumOleVerb)
1401 #define IOleObject_Update(This) (This)->lpVtbl->Update(This)
1402 #define IOleObject_IsUpToDate(This) (This)->lpVtbl->IsUpToDate(This)
1403 #define IOleObject_GetUserClassID(This,pClsid) (This)->lpVtbl->GetUserClassID(This,pClsid)
1404 #define IOleObject_GetUserType(This,dwFormOfType,pszUserType) (This)->lpVtbl->GetUserType(This,dwFormOfType,pszUserType)
1405 #define IOleObject_SetExtent(This,dwDrawAspect,psizel) (This)->lpVtbl->SetExtent(This,dwDrawAspect,psizel)
1406 #define IOleObject_GetExtent(This,dwDrawAspect,psizel) (This)->lpVtbl->GetExtent(This,dwDrawAspect,psizel)
1407 #define IOleObject_Advise(This,pAdvSink,pdwConnection) (This)->lpVtbl->Advise(This,pAdvSink,pdwConnection)
1408 #define IOleObject_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
1409 #define IOleObject_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
1410 #define IOleObject_GetMiscStatus(This,dwAspect,pdwStatus) (This)->lpVtbl->GetMiscStatus(This,dwAspect,pdwStatus)
1411 #define IOleObject_SetColorScheme(This,pLogpal) (This)->lpVtbl->SetColorScheme(This,pLogpal)
1412 #else
1413 /*** IUnknown methods ***/
1414 static FORCEINLINE HRESULT IOleObject_QueryInterface(IOleObject* This,REFIID riid,void **ppvObject) {
1415     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1416 }
1417 static FORCEINLINE ULONG IOleObject_AddRef(IOleObject* This) {
1418     return This->lpVtbl->AddRef(This);
1419 }
1420 static FORCEINLINE ULONG IOleObject_Release(IOleObject* This) {
1421     return This->lpVtbl->Release(This);
1422 }
1423 /*** IOleObject methods ***/
1424 static FORCEINLINE HRESULT IOleObject_SetClientSite(IOleObject* This,IOleClientSite *pClientSite) {
1425     return This->lpVtbl->SetClientSite(This,pClientSite);
1426 }
1427 static FORCEINLINE HRESULT IOleObject_GetClientSite(IOleObject* This,IOleClientSite **ppClientSite) {
1428     return This->lpVtbl->GetClientSite(This,ppClientSite);
1429 }
1430 static FORCEINLINE HRESULT IOleObject_SetHostNames(IOleObject* This,LPCOLESTR szContainerApp,LPCOLESTR szContainerObj) {
1431     return This->lpVtbl->SetHostNames(This,szContainerApp,szContainerObj);
1432 }
1433 static FORCEINLINE HRESULT IOleObject_Close(IOleObject* This,DWORD dwSaveOption) {
1434     return This->lpVtbl->Close(This,dwSaveOption);
1435 }
1436 static FORCEINLINE HRESULT IOleObject_SetMoniker(IOleObject* This,DWORD dwWhichMoniker,IMoniker *pmk) {
1437     return This->lpVtbl->SetMoniker(This,dwWhichMoniker,pmk);
1438 }
1439 static FORCEINLINE HRESULT IOleObject_GetMoniker(IOleObject* This,DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk) {
1440     return This->lpVtbl->GetMoniker(This,dwAssign,dwWhichMoniker,ppmk);
1441 }
1442 static FORCEINLINE HRESULT IOleObject_InitFromData(IOleObject* This,IDataObject *pDataObject,WINBOOL fCreation,DWORD dwReserved) {
1443     return This->lpVtbl->InitFromData(This,pDataObject,fCreation,dwReserved);
1444 }
1445 static FORCEINLINE HRESULT IOleObject_GetClipboardData(IOleObject* This,DWORD dwReserved,IDataObject **ppDataObject) {
1446     return This->lpVtbl->GetClipboardData(This,dwReserved,ppDataObject);
1447 }
1448 static FORCEINLINE HRESULT IOleObject_DoVerb(IOleObject* This,LONG iVerb,LPMSG lpmsg,IOleClientSite *pActiveSite,LONG lindex,HWND hwndParent,LPCRECT lprcPosRect) {
1449     return This->lpVtbl->DoVerb(This,iVerb,lpmsg,pActiveSite,lindex,hwndParent,lprcPosRect);
1450 }
1451 static FORCEINLINE HRESULT IOleObject_EnumVerbs(IOleObject* This,IEnumOLEVERB **ppEnumOleVerb) {
1452     return This->lpVtbl->EnumVerbs(This,ppEnumOleVerb);
1453 }
1454 static FORCEINLINE HRESULT IOleObject_Update(IOleObject* This) {
1455     return This->lpVtbl->Update(This);
1456 }
1457 static FORCEINLINE HRESULT IOleObject_IsUpToDate(IOleObject* This) {
1458     return This->lpVtbl->IsUpToDate(This);
1459 }
1460 static FORCEINLINE HRESULT IOleObject_GetUserClassID(IOleObject* This,CLSID *pClsid) {
1461     return This->lpVtbl->GetUserClassID(This,pClsid);
1462 }
1463 static FORCEINLINE HRESULT IOleObject_GetUserType(IOleObject* This,DWORD dwFormOfType,LPOLESTR *pszUserType) {
1464     return This->lpVtbl->GetUserType(This,dwFormOfType,pszUserType);
1465 }
1466 static FORCEINLINE HRESULT IOleObject_SetExtent(IOleObject* This,DWORD dwDrawAspect,SIZEL *psizel) {
1467     return This->lpVtbl->SetExtent(This,dwDrawAspect,psizel);
1468 }
1469 static FORCEINLINE HRESULT IOleObject_GetExtent(IOleObject* This,DWORD dwDrawAspect,SIZEL *psizel) {
1470     return This->lpVtbl->GetExtent(This,dwDrawAspect,psizel);
1471 }
1472 static FORCEINLINE HRESULT IOleObject_Advise(IOleObject* This,IAdviseSink *pAdvSink,DWORD *pdwConnection) {
1473     return This->lpVtbl->Advise(This,pAdvSink,pdwConnection);
1474 }
1475 static FORCEINLINE HRESULT IOleObject_Unadvise(IOleObject* This,DWORD dwConnection) {
1476     return This->lpVtbl->Unadvise(This,dwConnection);
1477 }
1478 static FORCEINLINE HRESULT IOleObject_EnumAdvise(IOleObject* This,IEnumSTATDATA **ppenumAdvise) {
1479     return This->lpVtbl->EnumAdvise(This,ppenumAdvise);
1480 }
1481 static FORCEINLINE HRESULT IOleObject_GetMiscStatus(IOleObject* This,DWORD dwAspect,DWORD *pdwStatus) {
1482     return This->lpVtbl->GetMiscStatus(This,dwAspect,pdwStatus);
1483 }
1484 static FORCEINLINE HRESULT IOleObject_SetColorScheme(IOleObject* This,LOGPALETTE *pLogpal) {
1485     return This->lpVtbl->SetColorScheme(This,pLogpal);
1486 }
1487 #endif
1488 #endif
1489 
1490 #endif
1491 
1492 
1493 #endif  /* __IOleObject_INTERFACE_DEFINED__ */
1494 
1495 
1496 /*****************************************************************************
1497  * IOLETypes interface (v0.0)
1498  */
1499 #ifndef __IOLETypes_INTERFACE_DEFINED__
1500 #define __IOLETypes_INTERFACE_DEFINED__
1501 
1502 extern RPC_IF_HANDLE IOLETypes_v0_0_c_ifspec;
1503 extern RPC_IF_HANDLE IOLETypes_v0_0_s_ifspec;
1504 typedef enum tagOLERENDER {
1505     OLERENDER_NONE = 0,
1506     OLERENDER_DRAW = 1,
1507     OLERENDER_FORMAT = 2,
1508     OLERENDER_ASIS = 3
1509 } OLERENDER;
1510 
1511 typedef OLERENDER *LPOLERENDER;
1512 
1513 typedef struct tagOBJECTDESCRIPTOR {
1514     ULONG cbSize;
1515     CLSID clsid;
1516     DWORD dwDrawAspect;
1517     SIZEL sizel;
1518     POINTL pointl;
1519     DWORD dwStatus;
1520     DWORD dwFullUserTypeName;
1521     DWORD dwSrcOfCopy;
1522 } OBJECTDESCRIPTOR;
1523 typedef struct tagOBJECTDESCRIPTOR *POBJECTDESCRIPTOR;
1524 typedef struct tagOBJECTDESCRIPTOR *LPOBJECTDESCRIPTOR;
1525 typedef struct tagOBJECTDESCRIPTOR LINKSRCDESCRIPTOR;
1526 typedef struct tagOBJECTDESCRIPTOR *PLINKSRCDESCRIPTOR;
1527 typedef struct tagOBJECTDESCRIPTOR *LPLINKSRCDESCRIPTOR;
1528 
1529 #endif  /* __IOLETypes_INTERFACE_DEFINED__ */
1530 
1531 
1532 /*****************************************************************************
1533  * IOleWindow interface
1534  */
1535 #ifndef __IOleWindow_INTERFACE_DEFINED__
1536 #define __IOleWindow_INTERFACE_DEFINED__
1537 
1538 typedef IOleWindow *LPOLEWINDOW;
1539 
1540 DEFINE_GUID(IID_IOleWindow, 0x00000114, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1541 #if defined(__cplusplus) && !defined(CINTERFACE)
1542 MIDL_INTERFACE("00000114-0000-0000-c000-000000000046")
1543 IOleWindow : public IUnknown
1544 {
1545     virtual HRESULT STDMETHODCALLTYPE GetWindow(
1546         HWND *phwnd) = 0;
1547 
1548     virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(
1549         WINBOOL fEnterMode) = 0;
1550 
1551 };
1552 #ifdef __CRT_UUID_DECL
1553 __CRT_UUID_DECL(IOleWindow, 0x00000114, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1554 #endif
1555 #else
1556 typedef struct IOleWindowVtbl {
1557     BEGIN_INTERFACE
1558 
1559     /*** IUnknown methods ***/
1560     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1561         IOleWindow *This,
1562         REFIID riid,
1563         void **ppvObject);
1564 
1565     ULONG (STDMETHODCALLTYPE *AddRef)(
1566         IOleWindow *This);
1567 
1568     ULONG (STDMETHODCALLTYPE *Release)(
1569         IOleWindow *This);
1570 
1571     /*** IOleWindow methods ***/
1572     HRESULT (STDMETHODCALLTYPE *GetWindow)(
1573         IOleWindow *This,
1574         HWND *phwnd);
1575 
1576     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
1577         IOleWindow *This,
1578         WINBOOL fEnterMode);
1579 
1580     END_INTERFACE
1581 } IOleWindowVtbl;
1582 
1583 interface IOleWindow {
1584     CONST_VTBL IOleWindowVtbl* lpVtbl;
1585 };
1586 
1587 #ifdef COBJMACROS
1588 #ifndef WIDL_C_INLINE_WRAPPERS
1589 /*** IUnknown methods ***/
1590 #define IOleWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1591 #define IOleWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
1592 #define IOleWindow_Release(This) (This)->lpVtbl->Release(This)
1593 /*** IOleWindow methods ***/
1594 #define IOleWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
1595 #define IOleWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
1596 #else
1597 /*** IUnknown methods ***/
1598 static FORCEINLINE HRESULT IOleWindow_QueryInterface(IOleWindow* This,REFIID riid,void **ppvObject) {
1599     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1600 }
1601 static FORCEINLINE ULONG IOleWindow_AddRef(IOleWindow* This) {
1602     return This->lpVtbl->AddRef(This);
1603 }
1604 static FORCEINLINE ULONG IOleWindow_Release(IOleWindow* This) {
1605     return This->lpVtbl->Release(This);
1606 }
1607 /*** IOleWindow methods ***/
1608 static FORCEINLINE HRESULT IOleWindow_GetWindow(IOleWindow* This,HWND *phwnd) {
1609     return This->lpVtbl->GetWindow(This,phwnd);
1610 }
1611 static FORCEINLINE HRESULT IOleWindow_ContextSensitiveHelp(IOleWindow* This,WINBOOL fEnterMode) {
1612     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
1613 }
1614 #endif
1615 #endif
1616 
1617 #endif
1618 
1619 
1620 #endif  /* __IOleWindow_INTERFACE_DEFINED__ */
1621 
1622 
1623 /*****************************************************************************
1624  * IOleLink interface
1625  */
1626 #ifndef __IOleLink_INTERFACE_DEFINED__
1627 #define __IOleLink_INTERFACE_DEFINED__
1628 
1629 typedef IOleLink *LPOLELINK;
1630 
1631 typedef enum tagOLEUPDATE {
1632     OLEUPDATE_ALWAYS = 1,
1633     OLEUPDATE_ONCALL = 3
1634 } OLEUPDATE;
1635 
1636 typedef OLEUPDATE *LPOLEUPDATE;
1637 typedef OLEUPDATE *POLEUPDATE;
1638 
1639 typedef enum tagOLELINKBIND {
1640     OLELINKBIND_EVENIFCLASSDIFF = 1
1641 } OLELINKBIND;
1642 
1643 DEFINE_GUID(IID_IOleLink, 0x0000011d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1644 #if defined(__cplusplus) && !defined(CINTERFACE)
1645 MIDL_INTERFACE("0000011d-0000-0000-c000-000000000046")
1646 IOleLink : public IUnknown
1647 {
1648     virtual HRESULT STDMETHODCALLTYPE SetUpdateOptions(
1649         DWORD dwUpdateOpt) = 0;
1650 
1651     virtual HRESULT STDMETHODCALLTYPE GetUpdateOptions(
1652         DWORD *pdwUpdateOpt) = 0;
1653 
1654     virtual HRESULT STDMETHODCALLTYPE SetSourceMoniker(
1655         IMoniker *pmk,
1656         REFCLSID rclsid) = 0;
1657 
1658     virtual HRESULT STDMETHODCALLTYPE GetSourceMoniker(
1659         IMoniker **ppmk) = 0;
1660 
1661     virtual HRESULT STDMETHODCALLTYPE SetSourceDisplayName(
1662         LPCOLESTR pszStatusText) = 0;
1663 
1664     virtual HRESULT STDMETHODCALLTYPE GetSourceDisplayName(
1665         LPOLESTR *ppszDisplayName) = 0;
1666 
1667     virtual HRESULT STDMETHODCALLTYPE BindToSource(
1668         DWORD bindflags,
1669         IBindCtx *pbc) = 0;
1670 
1671     virtual HRESULT STDMETHODCALLTYPE BindIfRunning(
1672         ) = 0;
1673 
1674     virtual HRESULT STDMETHODCALLTYPE GetBoundSource(
1675         IUnknown **ppunk) = 0;
1676 
1677     virtual HRESULT STDMETHODCALLTYPE UnbindSource(
1678         ) = 0;
1679 
1680     virtual HRESULT STDMETHODCALLTYPE Update(
1681         IBindCtx *pbc) = 0;
1682 
1683 };
1684 #ifdef __CRT_UUID_DECL
1685 __CRT_UUID_DECL(IOleLink, 0x0000011d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1686 #endif
1687 #else
1688 typedef struct IOleLinkVtbl {
1689     BEGIN_INTERFACE
1690 
1691     /*** IUnknown methods ***/
1692     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1693         IOleLink *This,
1694         REFIID riid,
1695         void **ppvObject);
1696 
1697     ULONG (STDMETHODCALLTYPE *AddRef)(
1698         IOleLink *This);
1699 
1700     ULONG (STDMETHODCALLTYPE *Release)(
1701         IOleLink *This);
1702 
1703     /*** IOleLink methods ***/
1704     HRESULT (STDMETHODCALLTYPE *SetUpdateOptions)(
1705         IOleLink *This,
1706         DWORD dwUpdateOpt);
1707 
1708     HRESULT (STDMETHODCALLTYPE *GetUpdateOptions)(
1709         IOleLink *This,
1710         DWORD *pdwUpdateOpt);
1711 
1712     HRESULT (STDMETHODCALLTYPE *SetSourceMoniker)(
1713         IOleLink *This,
1714         IMoniker *pmk,
1715         REFCLSID rclsid);
1716 
1717     HRESULT (STDMETHODCALLTYPE *GetSourceMoniker)(
1718         IOleLink *This,
1719         IMoniker **ppmk);
1720 
1721     HRESULT (STDMETHODCALLTYPE *SetSourceDisplayName)(
1722         IOleLink *This,
1723         LPCOLESTR pszStatusText);
1724 
1725     HRESULT (STDMETHODCALLTYPE *GetSourceDisplayName)(
1726         IOleLink *This,
1727         LPOLESTR *ppszDisplayName);
1728 
1729     HRESULT (STDMETHODCALLTYPE *BindToSource)(
1730         IOleLink *This,
1731         DWORD bindflags,
1732         IBindCtx *pbc);
1733 
1734     HRESULT (STDMETHODCALLTYPE *BindIfRunning)(
1735         IOleLink *This);
1736 
1737     HRESULT (STDMETHODCALLTYPE *GetBoundSource)(
1738         IOleLink *This,
1739         IUnknown **ppunk);
1740 
1741     HRESULT (STDMETHODCALLTYPE *UnbindSource)(
1742         IOleLink *This);
1743 
1744     HRESULT (STDMETHODCALLTYPE *Update)(
1745         IOleLink *This,
1746         IBindCtx *pbc);
1747 
1748     END_INTERFACE
1749 } IOleLinkVtbl;
1750 
1751 interface IOleLink {
1752     CONST_VTBL IOleLinkVtbl* lpVtbl;
1753 };
1754 
1755 #ifdef COBJMACROS
1756 #ifndef WIDL_C_INLINE_WRAPPERS
1757 /*** IUnknown methods ***/
1758 #define IOleLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1759 #define IOleLink_AddRef(This) (This)->lpVtbl->AddRef(This)
1760 #define IOleLink_Release(This) (This)->lpVtbl->Release(This)
1761 /*** IOleLink methods ***/
1762 #define IOleLink_SetUpdateOptions(This,dwUpdateOpt) (This)->lpVtbl->SetUpdateOptions(This,dwUpdateOpt)
1763 #define IOleLink_GetUpdateOptions(This,pdwUpdateOpt) (This)->lpVtbl->GetUpdateOptions(This,pdwUpdateOpt)
1764 #define IOleLink_SetSourceMoniker(This,pmk,rclsid) (This)->lpVtbl->SetSourceMoniker(This,pmk,rclsid)
1765 #define IOleLink_GetSourceMoniker(This,ppmk) (This)->lpVtbl->GetSourceMoniker(This,ppmk)
1766 #define IOleLink_SetSourceDisplayName(This,pszStatusText) (This)->lpVtbl->SetSourceDisplayName(This,pszStatusText)
1767 #define IOleLink_GetSourceDisplayName(This,ppszDisplayName) (This)->lpVtbl->GetSourceDisplayName(This,ppszDisplayName)
1768 #define IOleLink_BindToSource(This,bindflags,pbc) (This)->lpVtbl->BindToSource(This,bindflags,pbc)
1769 #define IOleLink_BindIfRunning(This) (This)->lpVtbl->BindIfRunning(This)
1770 #define IOleLink_GetBoundSource(This,ppunk) (This)->lpVtbl->GetBoundSource(This,ppunk)
1771 #define IOleLink_UnbindSource(This) (This)->lpVtbl->UnbindSource(This)
1772 #define IOleLink_Update(This,pbc) (This)->lpVtbl->Update(This,pbc)
1773 #else
1774 /*** IUnknown methods ***/
1775 static FORCEINLINE HRESULT IOleLink_QueryInterface(IOleLink* This,REFIID riid,void **ppvObject) {
1776     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1777 }
1778 static FORCEINLINE ULONG IOleLink_AddRef(IOleLink* This) {
1779     return This->lpVtbl->AddRef(This);
1780 }
1781 static FORCEINLINE ULONG IOleLink_Release(IOleLink* This) {
1782     return This->lpVtbl->Release(This);
1783 }
1784 /*** IOleLink methods ***/
1785 static FORCEINLINE HRESULT IOleLink_SetUpdateOptions(IOleLink* This,DWORD dwUpdateOpt) {
1786     return This->lpVtbl->SetUpdateOptions(This,dwUpdateOpt);
1787 }
1788 static FORCEINLINE HRESULT IOleLink_GetUpdateOptions(IOleLink* This,DWORD *pdwUpdateOpt) {
1789     return This->lpVtbl->GetUpdateOptions(This,pdwUpdateOpt);
1790 }
1791 static FORCEINLINE HRESULT IOleLink_SetSourceMoniker(IOleLink* This,IMoniker *pmk,REFCLSID rclsid) {
1792     return This->lpVtbl->SetSourceMoniker(This,pmk,rclsid);
1793 }
1794 static FORCEINLINE HRESULT IOleLink_GetSourceMoniker(IOleLink* This,IMoniker **ppmk) {
1795     return This->lpVtbl->GetSourceMoniker(This,ppmk);
1796 }
1797 static FORCEINLINE HRESULT IOleLink_SetSourceDisplayName(IOleLink* This,LPCOLESTR pszStatusText) {
1798     return This->lpVtbl->SetSourceDisplayName(This,pszStatusText);
1799 }
1800 static FORCEINLINE HRESULT IOleLink_GetSourceDisplayName(IOleLink* This,LPOLESTR *ppszDisplayName) {
1801     return This->lpVtbl->GetSourceDisplayName(This,ppszDisplayName);
1802 }
1803 static FORCEINLINE HRESULT IOleLink_BindToSource(IOleLink* This,DWORD bindflags,IBindCtx *pbc) {
1804     return This->lpVtbl->BindToSource(This,bindflags,pbc);
1805 }
1806 static FORCEINLINE HRESULT IOleLink_BindIfRunning(IOleLink* This) {
1807     return This->lpVtbl->BindIfRunning(This);
1808 }
1809 static FORCEINLINE HRESULT IOleLink_GetBoundSource(IOleLink* This,IUnknown **ppunk) {
1810     return This->lpVtbl->GetBoundSource(This,ppunk);
1811 }
1812 static FORCEINLINE HRESULT IOleLink_UnbindSource(IOleLink* This) {
1813     return This->lpVtbl->UnbindSource(This);
1814 }
1815 static FORCEINLINE HRESULT IOleLink_Update(IOleLink* This,IBindCtx *pbc) {
1816     return This->lpVtbl->Update(This,pbc);
1817 }
1818 #endif
1819 #endif
1820 
1821 #endif
1822 
1823 
1824 #endif  /* __IOleLink_INTERFACE_DEFINED__ */
1825 
1826 
1827 /*****************************************************************************
1828  * IOleItemContainer interface
1829  */
1830 #ifndef __IOleItemContainer_INTERFACE_DEFINED__
1831 #define __IOleItemContainer_INTERFACE_DEFINED__
1832 
1833 typedef IOleItemContainer *LPOLEITEMCONTAINER;
1834 
1835 typedef enum tagBINDSPEED {
1836     BINDSPEED_INDEFINITE = 1,
1837     BINDSPEED_MODERATE = 2,
1838     BINDSPEED_IMMEDIATE = 3
1839 } BINDSPEED;
1840 
1841 typedef enum tagOLECONTF {
1842     OLECONTF_EMBEDDINGS = 1,
1843     OLECONTF_LINKS = 2,
1844     OLECONTF_OTHERS = 4,
1845     OLECONTF_ONLYUSER = 8,
1846     OLECONTF_ONLYIFRUNNING = 16
1847 } OLECONTF;
1848 
1849 DEFINE_GUID(IID_IOleItemContainer, 0x0000011c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1850 #if defined(__cplusplus) && !defined(CINTERFACE)
1851 MIDL_INTERFACE("0000011c-0000-0000-c000-000000000046")
1852 IOleItemContainer : public IOleContainer
1853 {
1854     virtual HRESULT STDMETHODCALLTYPE GetObject(
1855         LPOLESTR pszItem,
1856         DWORD dwSpeedNeeded,
1857         IBindCtx *pbc,
1858         REFIID riid,
1859         void **ppvObject) = 0;
1860 
1861     virtual HRESULT STDMETHODCALLTYPE GetObjectStorage(
1862         LPOLESTR pszItem,
1863         IBindCtx *pbc,
1864         REFIID riid,
1865         void **ppvStorage) = 0;
1866 
1867     virtual HRESULT STDMETHODCALLTYPE IsRunning(
1868         LPOLESTR pszItem) = 0;
1869 
1870 };
1871 #ifdef __CRT_UUID_DECL
1872 __CRT_UUID_DECL(IOleItemContainer, 0x0000011c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
1873 #endif
1874 #else
1875 typedef struct IOleItemContainerVtbl {
1876     BEGIN_INTERFACE
1877 
1878     /*** IUnknown methods ***/
1879     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1880         IOleItemContainer *This,
1881         REFIID riid,
1882         void **ppvObject);
1883 
1884     ULONG (STDMETHODCALLTYPE *AddRef)(
1885         IOleItemContainer *This);
1886 
1887     ULONG (STDMETHODCALLTYPE *Release)(
1888         IOleItemContainer *This);
1889 
1890     /*** IParseDisplayName methods ***/
1891     HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
1892         IOleItemContainer *This,
1893         IBindCtx *pbc,
1894         LPOLESTR pszDisplayName,
1895         ULONG *pchEaten,
1896         IMoniker **ppmkOut);
1897 
1898     /*** IOleContainer methods ***/
1899     HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1900         IOleItemContainer *This,
1901         DWORD grfFlags,
1902         IEnumUnknown **ppenum);
1903 
1904     HRESULT (STDMETHODCALLTYPE *LockContainer)(
1905         IOleItemContainer *This,
1906         WINBOOL fLock);
1907 
1908     /*** IOleItemContainer methods ***/
1909     HRESULT (STDMETHODCALLTYPE *GetObject)(
1910         IOleItemContainer *This,
1911         LPOLESTR pszItem,
1912         DWORD dwSpeedNeeded,
1913         IBindCtx *pbc,
1914         REFIID riid,
1915         void **ppvObject);
1916 
1917     HRESULT (STDMETHODCALLTYPE *GetObjectStorage)(
1918         IOleItemContainer *This,
1919         LPOLESTR pszItem,
1920         IBindCtx *pbc,
1921         REFIID riid,
1922         void **ppvStorage);
1923 
1924     HRESULT (STDMETHODCALLTYPE *IsRunning)(
1925         IOleItemContainer *This,
1926         LPOLESTR pszItem);
1927 
1928     END_INTERFACE
1929 } IOleItemContainerVtbl;
1930 
1931 interface IOleItemContainer {
1932     CONST_VTBL IOleItemContainerVtbl* lpVtbl;
1933 };
1934 
1935 #ifdef COBJMACROS
1936 #ifndef WIDL_C_INLINE_WRAPPERS
1937 /*** IUnknown methods ***/
1938 #define IOleItemContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1939 #define IOleItemContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
1940 #define IOleItemContainer_Release(This) (This)->lpVtbl->Release(This)
1941 /*** IParseDisplayName methods ***/
1942 #define IOleItemContainer_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
1943 /*** IOleContainer methods ***/
1944 #define IOleItemContainer_EnumObjects(This,grfFlags,ppenum) (This)->lpVtbl->EnumObjects(This,grfFlags,ppenum)
1945 #define IOleItemContainer_LockContainer(This,fLock) (This)->lpVtbl->LockContainer(This,fLock)
1946 /*** IOleItemContainer methods ***/
1947 #define IOleItemContainer_GetObject(This,pszItem,dwSpeedNeeded,pbc,riid,ppvObject) (This)->lpVtbl->GetObject(This,pszItem,dwSpeedNeeded,pbc,riid,ppvObject)
1948 #define IOleItemContainer_GetObjectStorage(This,pszItem,pbc,riid,ppvStorage) (This)->lpVtbl->GetObjectStorage(This,pszItem,pbc,riid,ppvStorage)
1949 #define IOleItemContainer_IsRunning(This,pszItem) (This)->lpVtbl->IsRunning(This,pszItem)
1950 #else
1951 /*** IUnknown methods ***/
1952 static FORCEINLINE HRESULT IOleItemContainer_QueryInterface(IOleItemContainer* This,REFIID riid,void **ppvObject) {
1953     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1954 }
1955 static FORCEINLINE ULONG IOleItemContainer_AddRef(IOleItemContainer* This) {
1956     return This->lpVtbl->AddRef(This);
1957 }
1958 static FORCEINLINE ULONG IOleItemContainer_Release(IOleItemContainer* This) {
1959     return This->lpVtbl->Release(This);
1960 }
1961 /*** IParseDisplayName methods ***/
1962 static FORCEINLINE HRESULT IOleItemContainer_ParseDisplayName(IOleItemContainer* This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
1963     return This->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut);
1964 }
1965 /*** IOleContainer methods ***/
1966 static FORCEINLINE HRESULT IOleItemContainer_EnumObjects(IOleItemContainer* This,DWORD grfFlags,IEnumUnknown **ppenum) {
1967     return This->lpVtbl->EnumObjects(This,grfFlags,ppenum);
1968 }
1969 static FORCEINLINE HRESULT IOleItemContainer_LockContainer(IOleItemContainer* This,WINBOOL fLock) {
1970     return This->lpVtbl->LockContainer(This,fLock);
1971 }
1972 /*** IOleItemContainer methods ***/
1973 static FORCEINLINE HRESULT IOleItemContainer_GetObject(IOleItemContainer* This,LPOLESTR pszItem,DWORD dwSpeedNeeded,IBindCtx *pbc,REFIID riid,void **ppvObject) {
1974     return This->lpVtbl->GetObject(This,pszItem,dwSpeedNeeded,pbc,riid,ppvObject);
1975 }
1976 static FORCEINLINE HRESULT IOleItemContainer_GetObjectStorage(IOleItemContainer* This,LPOLESTR pszItem,IBindCtx *pbc,REFIID riid,void **ppvStorage) {
1977     return This->lpVtbl->GetObjectStorage(This,pszItem,pbc,riid,ppvStorage);
1978 }
1979 static FORCEINLINE HRESULT IOleItemContainer_IsRunning(IOleItemContainer* This,LPOLESTR pszItem) {
1980     return This->lpVtbl->IsRunning(This,pszItem);
1981 }
1982 #endif
1983 #endif
1984 
1985 #endif
1986 
1987 
1988 #endif  /* __IOleItemContainer_INTERFACE_DEFINED__ */
1989 
1990 
1991 /*****************************************************************************
1992  * IOleInPlaceUIWindow interface
1993  */
1994 #ifndef __IOleInPlaceUIWindow_INTERFACE_DEFINED__
1995 #define __IOleInPlaceUIWindow_INTERFACE_DEFINED__
1996 
1997 typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
1998 typedef RECT BORDERWIDTHS;
1999 typedef LPRECT LPBORDERWIDTHS;
2000 typedef LPCRECT LPCBORDERWIDTHS;
2001 
2002 DEFINE_GUID(IID_IOleInPlaceUIWindow, 0x00000115, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2003 #if defined(__cplusplus) && !defined(CINTERFACE)
2004 MIDL_INTERFACE("00000115-0000-0000-c000-000000000046")
2005 IOleInPlaceUIWindow : public IOleWindow
2006 {
2007     virtual HRESULT STDMETHODCALLTYPE GetBorder(
2008         LPRECT lprectBorder) = 0;
2009 
2010     virtual HRESULT STDMETHODCALLTYPE RequestBorderSpace(
2011         LPCBORDERWIDTHS pborderwidths) = 0;
2012 
2013     virtual HRESULT STDMETHODCALLTYPE SetBorderSpace(
2014         LPCBORDERWIDTHS pborderwidths) = 0;
2015 
2016     virtual HRESULT STDMETHODCALLTYPE SetActiveObject(
2017         IOleInPlaceActiveObject *pActiveObject,
2018         LPCOLESTR pszObjName) = 0;
2019 
2020 };
2021 #ifdef __CRT_UUID_DECL
2022 __CRT_UUID_DECL(IOleInPlaceUIWindow, 0x00000115, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2023 #endif
2024 #else
2025 typedef struct IOleInPlaceUIWindowVtbl {
2026     BEGIN_INTERFACE
2027 
2028     /*** IUnknown methods ***/
2029     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2030         IOleInPlaceUIWindow *This,
2031         REFIID riid,
2032         void **ppvObject);
2033 
2034     ULONG (STDMETHODCALLTYPE *AddRef)(
2035         IOleInPlaceUIWindow *This);
2036 
2037     ULONG (STDMETHODCALLTYPE *Release)(
2038         IOleInPlaceUIWindow *This);
2039 
2040     /*** IOleWindow methods ***/
2041     HRESULT (STDMETHODCALLTYPE *GetWindow)(
2042         IOleInPlaceUIWindow *This,
2043         HWND *phwnd);
2044 
2045     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
2046         IOleInPlaceUIWindow *This,
2047         WINBOOL fEnterMode);
2048 
2049     /*** IOleInPlaceUIWindow methods ***/
2050     HRESULT (STDMETHODCALLTYPE *GetBorder)(
2051         IOleInPlaceUIWindow *This,
2052         LPRECT lprectBorder);
2053 
2054     HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
2055         IOleInPlaceUIWindow *This,
2056         LPCBORDERWIDTHS pborderwidths);
2057 
2058     HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
2059         IOleInPlaceUIWindow *This,
2060         LPCBORDERWIDTHS pborderwidths);
2061 
2062     HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
2063         IOleInPlaceUIWindow *This,
2064         IOleInPlaceActiveObject *pActiveObject,
2065         LPCOLESTR pszObjName);
2066 
2067     END_INTERFACE
2068 } IOleInPlaceUIWindowVtbl;
2069 
2070 interface IOleInPlaceUIWindow {
2071     CONST_VTBL IOleInPlaceUIWindowVtbl* lpVtbl;
2072 };
2073 
2074 #ifdef COBJMACROS
2075 #ifndef WIDL_C_INLINE_WRAPPERS
2076 /*** IUnknown methods ***/
2077 #define IOleInPlaceUIWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2078 #define IOleInPlaceUIWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
2079 #define IOleInPlaceUIWindow_Release(This) (This)->lpVtbl->Release(This)
2080 /*** IOleWindow methods ***/
2081 #define IOleInPlaceUIWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
2082 #define IOleInPlaceUIWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
2083 /*** IOleInPlaceUIWindow methods ***/
2084 #define IOleInPlaceUIWindow_GetBorder(This,lprectBorder) (This)->lpVtbl->GetBorder(This,lprectBorder)
2085 #define IOleInPlaceUIWindow_RequestBorderSpace(This,pborderwidths) (This)->lpVtbl->RequestBorderSpace(This,pborderwidths)
2086 #define IOleInPlaceUIWindow_SetBorderSpace(This,pborderwidths) (This)->lpVtbl->SetBorderSpace(This,pborderwidths)
2087 #define IOleInPlaceUIWindow_SetActiveObject(This,pActiveObject,pszObjName) (This)->lpVtbl->SetActiveObject(This,pActiveObject,pszObjName)
2088 #else
2089 /*** IUnknown methods ***/
2090 static FORCEINLINE HRESULT IOleInPlaceUIWindow_QueryInterface(IOleInPlaceUIWindow* This,REFIID riid,void **ppvObject) {
2091     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2092 }
2093 static FORCEINLINE ULONG IOleInPlaceUIWindow_AddRef(IOleInPlaceUIWindow* This) {
2094     return This->lpVtbl->AddRef(This);
2095 }
2096 static FORCEINLINE ULONG IOleInPlaceUIWindow_Release(IOleInPlaceUIWindow* This) {
2097     return This->lpVtbl->Release(This);
2098 }
2099 /*** IOleWindow methods ***/
2100 static FORCEINLINE HRESULT IOleInPlaceUIWindow_GetWindow(IOleInPlaceUIWindow* This,HWND *phwnd) {
2101     return This->lpVtbl->GetWindow(This,phwnd);
2102 }
2103 static FORCEINLINE HRESULT IOleInPlaceUIWindow_ContextSensitiveHelp(IOleInPlaceUIWindow* This,WINBOOL fEnterMode) {
2104     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
2105 }
2106 /*** IOleInPlaceUIWindow methods ***/
2107 static FORCEINLINE HRESULT IOleInPlaceUIWindow_GetBorder(IOleInPlaceUIWindow* This,LPRECT lprectBorder) {
2108     return This->lpVtbl->GetBorder(This,lprectBorder);
2109 }
2110 static FORCEINLINE HRESULT IOleInPlaceUIWindow_RequestBorderSpace(IOleInPlaceUIWindow* This,LPCBORDERWIDTHS pborderwidths) {
2111     return This->lpVtbl->RequestBorderSpace(This,pborderwidths);
2112 }
2113 static FORCEINLINE HRESULT IOleInPlaceUIWindow_SetBorderSpace(IOleInPlaceUIWindow* This,LPCBORDERWIDTHS pborderwidths) {
2114     return This->lpVtbl->SetBorderSpace(This,pborderwidths);
2115 }
2116 static FORCEINLINE HRESULT IOleInPlaceUIWindow_SetActiveObject(IOleInPlaceUIWindow* This,IOleInPlaceActiveObject *pActiveObject,LPCOLESTR pszObjName) {
2117     return This->lpVtbl->SetActiveObject(This,pActiveObject,pszObjName);
2118 }
2119 #endif
2120 #endif
2121 
2122 #endif
2123 
2124 
2125 #endif  /* __IOleInPlaceUIWindow_INTERFACE_DEFINED__ */
2126 
2127 
2128 /*****************************************************************************
2129  * IOleInPlaceActiveObject interface
2130  */
2131 #ifndef __IOleInPlaceActiveObject_INTERFACE_DEFINED__
2132 #define __IOleInPlaceActiveObject_INTERFACE_DEFINED__
2133 
2134 typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
2135 
2136 DEFINE_GUID(IID_IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2137 #if defined(__cplusplus) && !defined(CINTERFACE)
2138 MIDL_INTERFACE("00000117-0000-0000-c000-000000000046")
2139 IOleInPlaceActiveObject : public IOleWindow
2140 {
2141     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
2142         LPMSG lpmsg) = 0;
2143 
2144     virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
2145         WINBOOL fActivate) = 0;
2146 
2147     virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(
2148         WINBOOL fActivate) = 0;
2149 
2150     virtual HRESULT STDMETHODCALLTYPE ResizeBorder(
2151         LPCRECT prcBorder,
2152         IOleInPlaceUIWindow *pUIWindow,
2153         WINBOOL fFrameWindow) = 0;
2154 
2155     virtual HRESULT STDMETHODCALLTYPE EnableModeless(
2156         WINBOOL fEnable) = 0;
2157 
2158 };
2159 #ifdef __CRT_UUID_DECL
2160 __CRT_UUID_DECL(IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2161 #endif
2162 #else
2163 typedef struct IOleInPlaceActiveObjectVtbl {
2164     BEGIN_INTERFACE
2165 
2166     /*** IUnknown methods ***/
2167     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2168         IOleInPlaceActiveObject *This,
2169         REFIID riid,
2170         void **ppvObject);
2171 
2172     ULONG (STDMETHODCALLTYPE *AddRef)(
2173         IOleInPlaceActiveObject *This);
2174 
2175     ULONG (STDMETHODCALLTYPE *Release)(
2176         IOleInPlaceActiveObject *This);
2177 
2178     /*** IOleWindow methods ***/
2179     HRESULT (STDMETHODCALLTYPE *GetWindow)(
2180         IOleInPlaceActiveObject *This,
2181         HWND *phwnd);
2182 
2183     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
2184         IOleInPlaceActiveObject *This,
2185         WINBOOL fEnterMode);
2186 
2187     /*** IOleInPlaceActiveObject methods ***/
2188     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2189         IOleInPlaceActiveObject *This,
2190         LPMSG lpmsg);
2191 
2192     HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
2193         IOleInPlaceActiveObject *This,
2194         WINBOOL fActivate);
2195 
2196     HRESULT (STDMETHODCALLTYPE *OnDocWindowActivate)(
2197         IOleInPlaceActiveObject *This,
2198         WINBOOL fActivate);
2199 
2200     HRESULT (STDMETHODCALLTYPE *ResizeBorder)(
2201         IOleInPlaceActiveObject *This,
2202         LPCRECT prcBorder,
2203         IOleInPlaceUIWindow *pUIWindow,
2204         WINBOOL fFrameWindow);
2205 
2206     HRESULT (STDMETHODCALLTYPE *EnableModeless)(
2207         IOleInPlaceActiveObject *This,
2208         WINBOOL fEnable);
2209 
2210     END_INTERFACE
2211 } IOleInPlaceActiveObjectVtbl;
2212 
2213 interface IOleInPlaceActiveObject {
2214     CONST_VTBL IOleInPlaceActiveObjectVtbl* lpVtbl;
2215 };
2216 
2217 #ifdef COBJMACROS
2218 #ifndef WIDL_C_INLINE_WRAPPERS
2219 /*** IUnknown methods ***/
2220 #define IOleInPlaceActiveObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2221 #define IOleInPlaceActiveObject_AddRef(This) (This)->lpVtbl->AddRef(This)
2222 #define IOleInPlaceActiveObject_Release(This) (This)->lpVtbl->Release(This)
2223 /*** IOleWindow methods ***/
2224 #define IOleInPlaceActiveObject_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
2225 #define IOleInPlaceActiveObject_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
2226 /*** IOleInPlaceActiveObject methods ***/
2227 #define IOleInPlaceActiveObject_TranslateAccelerator(This,lpmsg) (This)->lpVtbl->TranslateAccelerator(This,lpmsg)
2228 #define IOleInPlaceActiveObject_OnFrameWindowActivate(This,fActivate) (This)->lpVtbl->OnFrameWindowActivate(This,fActivate)
2229 #define IOleInPlaceActiveObject_OnDocWindowActivate(This,fActivate) (This)->lpVtbl->OnDocWindowActivate(This,fActivate)
2230 #define IOleInPlaceActiveObject_ResizeBorder(This,prcBorder,pUIWindow,fFrameWindow) (This)->lpVtbl->ResizeBorder(This,prcBorder,pUIWindow,fFrameWindow)
2231 #define IOleInPlaceActiveObject_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
2232 #else
2233 /*** IUnknown methods ***/
2234 static FORCEINLINE HRESULT IOleInPlaceActiveObject_QueryInterface(IOleInPlaceActiveObject* This,REFIID riid,void **ppvObject) {
2235     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2236 }
2237 static FORCEINLINE ULONG IOleInPlaceActiveObject_AddRef(IOleInPlaceActiveObject* This) {
2238     return This->lpVtbl->AddRef(This);
2239 }
2240 static FORCEINLINE ULONG IOleInPlaceActiveObject_Release(IOleInPlaceActiveObject* This) {
2241     return This->lpVtbl->Release(This);
2242 }
2243 /*** IOleWindow methods ***/
2244 static FORCEINLINE HRESULT IOleInPlaceActiveObject_GetWindow(IOleInPlaceActiveObject* This,HWND *phwnd) {
2245     return This->lpVtbl->GetWindow(This,phwnd);
2246 }
2247 static FORCEINLINE HRESULT IOleInPlaceActiveObject_ContextSensitiveHelp(IOleInPlaceActiveObject* This,WINBOOL fEnterMode) {
2248     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
2249 }
2250 /*** IOleInPlaceActiveObject methods ***/
2251 static FORCEINLINE HRESULT IOleInPlaceActiveObject_TranslateAccelerator(IOleInPlaceActiveObject* This,LPMSG lpmsg) {
2252     return This->lpVtbl->TranslateAccelerator(This,lpmsg);
2253 }
2254 static FORCEINLINE HRESULT IOleInPlaceActiveObject_OnFrameWindowActivate(IOleInPlaceActiveObject* This,WINBOOL fActivate) {
2255     return This->lpVtbl->OnFrameWindowActivate(This,fActivate);
2256 }
2257 static FORCEINLINE HRESULT IOleInPlaceActiveObject_OnDocWindowActivate(IOleInPlaceActiveObject* This,WINBOOL fActivate) {
2258     return This->lpVtbl->OnDocWindowActivate(This,fActivate);
2259 }
2260 static FORCEINLINE HRESULT IOleInPlaceActiveObject_ResizeBorder(IOleInPlaceActiveObject* This,LPCRECT prcBorder,IOleInPlaceUIWindow *pUIWindow,WINBOOL fFrameWindow) {
2261     return This->lpVtbl->ResizeBorder(This,prcBorder,pUIWindow,fFrameWindow);
2262 }
2263 static FORCEINLINE HRESULT IOleInPlaceActiveObject_EnableModeless(IOleInPlaceActiveObject* This,WINBOOL fEnable) {
2264     return This->lpVtbl->EnableModeless(This,fEnable);
2265 }
2266 #endif
2267 #endif
2268 
2269 #endif
2270 
2271 HRESULT STDMETHODCALLTYPE IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(
2272     IOleInPlaceActiveObject* This);
2273 void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
2274     IRpcStubBuffer* This,
2275     IRpcChannelBuffer* pRpcChannelBuffer,
2276     PRPC_MESSAGE pRpcMessage,
2277     DWORD* pdwStubPhase);
2278 HRESULT STDMETHODCALLTYPE IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(
2279     IOleInPlaceActiveObject* This,
2280     LPCRECT prcBorder,
2281     REFIID riid,
2282     IOleInPlaceUIWindow *pUIWindow,
2283     WINBOOL fFrameWindow);
2284 void __RPC_STUB IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
2285     IRpcStubBuffer* This,
2286     IRpcChannelBuffer* pRpcChannelBuffer,
2287     PRPC_MESSAGE pRpcMessage,
2288     DWORD* pdwStubPhase);
2289 HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
2290     IOleInPlaceActiveObject* This,
2291     LPMSG lpmsg);
2292 HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub(
2293     IOleInPlaceActiveObject* This);
2294 HRESULT CALLBACK IOleInPlaceActiveObject_ResizeBorder_Proxy(
2295     IOleInPlaceActiveObject* This,
2296     LPCRECT prcBorder,
2297     IOleInPlaceUIWindow *pUIWindow,
2298     WINBOOL fFrameWindow);
2299 HRESULT __RPC_STUB IOleInPlaceActiveObject_ResizeBorder_Stub(
2300     IOleInPlaceActiveObject* This,
2301     LPCRECT prcBorder,
2302     REFIID riid,
2303     IOleInPlaceUIWindow *pUIWindow,
2304     WINBOOL fFrameWindow);
2305 
2306 #endif  /* __IOleInPlaceActiveObject_INTERFACE_DEFINED__ */
2307 
2308 
2309 /*****************************************************************************
2310  * IOleInPlaceFrame interface
2311  */
2312 #ifndef __IOleInPlaceFrame_INTERFACE_DEFINED__
2313 #define __IOleInPlaceFrame_INTERFACE_DEFINED__
2314 
2315 typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;
2316 
2317 typedef struct tagOIFI {
2318     UINT cb;
2319     WINBOOL fMDIApp;
2320     HWND hwndFrame;
2321     HACCEL haccel;
2322     UINT cAccelEntries;
2323 } OLEINPLACEFRAMEINFO;
2324 typedef struct tagOIFI *LPOLEINPLACEFRAMEINFO;
2325 
2326 typedef struct tagOleMenuGroupWidths {
2327     LONG width[6];
2328 } OLEMENUGROUPWIDTHS;
2329 typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS;
2330 
2331 typedef HGLOBAL HOLEMENU;
2332 
2333 DEFINE_GUID(IID_IOleInPlaceFrame, 0x00000116, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2334 #if defined(__cplusplus) && !defined(CINTERFACE)
2335 MIDL_INTERFACE("00000116-0000-0000-c000-000000000046")
2336 IOleInPlaceFrame : public IOleInPlaceUIWindow
2337 {
2338     virtual HRESULT STDMETHODCALLTYPE InsertMenus(
2339         HMENU hmenuShared,
2340         LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
2341 
2342     virtual HRESULT STDMETHODCALLTYPE SetMenu(
2343         HMENU hmenuShared,
2344         HOLEMENU holemenu,
2345         HWND hwndActiveObject) = 0;
2346 
2347     virtual HRESULT STDMETHODCALLTYPE RemoveMenus(
2348         HMENU hmenuShared) = 0;
2349 
2350     virtual HRESULT STDMETHODCALLTYPE SetStatusText(
2351         LPCOLESTR pszStatusText) = 0;
2352 
2353     virtual HRESULT STDMETHODCALLTYPE EnableModeless(
2354         WINBOOL fEnable) = 0;
2355 
2356     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
2357         LPMSG lpmsg,
2358         WORD wID) = 0;
2359 
2360 };
2361 #ifdef __CRT_UUID_DECL
2362 __CRT_UUID_DECL(IOleInPlaceFrame, 0x00000116, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2363 #endif
2364 #else
2365 typedef struct IOleInPlaceFrameVtbl {
2366     BEGIN_INTERFACE
2367 
2368     /*** IUnknown methods ***/
2369     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2370         IOleInPlaceFrame *This,
2371         REFIID riid,
2372         void **ppvObject);
2373 
2374     ULONG (STDMETHODCALLTYPE *AddRef)(
2375         IOleInPlaceFrame *This);
2376 
2377     ULONG (STDMETHODCALLTYPE *Release)(
2378         IOleInPlaceFrame *This);
2379 
2380     /*** IOleWindow methods ***/
2381     HRESULT (STDMETHODCALLTYPE *GetWindow)(
2382         IOleInPlaceFrame *This,
2383         HWND *phwnd);
2384 
2385     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
2386         IOleInPlaceFrame *This,
2387         WINBOOL fEnterMode);
2388 
2389     /*** IOleInPlaceUIWindow methods ***/
2390     HRESULT (STDMETHODCALLTYPE *GetBorder)(
2391         IOleInPlaceFrame *This,
2392         LPRECT lprectBorder);
2393 
2394     HRESULT (STDMETHODCALLTYPE *RequestBorderSpace)(
2395         IOleInPlaceFrame *This,
2396         LPCBORDERWIDTHS pborderwidths);
2397 
2398     HRESULT (STDMETHODCALLTYPE *SetBorderSpace)(
2399         IOleInPlaceFrame *This,
2400         LPCBORDERWIDTHS pborderwidths);
2401 
2402     HRESULT (STDMETHODCALLTYPE *SetActiveObject)(
2403         IOleInPlaceFrame *This,
2404         IOleInPlaceActiveObject *pActiveObject,
2405         LPCOLESTR pszObjName);
2406 
2407     /*** IOleInPlaceFrame methods ***/
2408     HRESULT (STDMETHODCALLTYPE *InsertMenus)(
2409         IOleInPlaceFrame *This,
2410         HMENU hmenuShared,
2411         LPOLEMENUGROUPWIDTHS lpMenuWidths);
2412 
2413     HRESULT (STDMETHODCALLTYPE *SetMenu)(
2414         IOleInPlaceFrame *This,
2415         HMENU hmenuShared,
2416         HOLEMENU holemenu,
2417         HWND hwndActiveObject);
2418 
2419     HRESULT (STDMETHODCALLTYPE *RemoveMenus)(
2420         IOleInPlaceFrame *This,
2421         HMENU hmenuShared);
2422 
2423     HRESULT (STDMETHODCALLTYPE *SetStatusText)(
2424         IOleInPlaceFrame *This,
2425         LPCOLESTR pszStatusText);
2426 
2427     HRESULT (STDMETHODCALLTYPE *EnableModeless)(
2428         IOleInPlaceFrame *This,
2429         WINBOOL fEnable);
2430 
2431     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2432         IOleInPlaceFrame *This,
2433         LPMSG lpmsg,
2434         WORD wID);
2435 
2436     END_INTERFACE
2437 } IOleInPlaceFrameVtbl;
2438 
2439 interface IOleInPlaceFrame {
2440     CONST_VTBL IOleInPlaceFrameVtbl* lpVtbl;
2441 };
2442 
2443 #ifdef COBJMACROS
2444 #ifndef WIDL_C_INLINE_WRAPPERS
2445 /*** IUnknown methods ***/
2446 #define IOleInPlaceFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2447 #define IOleInPlaceFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
2448 #define IOleInPlaceFrame_Release(This) (This)->lpVtbl->Release(This)
2449 /*** IOleWindow methods ***/
2450 #define IOleInPlaceFrame_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
2451 #define IOleInPlaceFrame_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
2452 /*** IOleInPlaceUIWindow methods ***/
2453 #define IOleInPlaceFrame_GetBorder(This,lprectBorder) (This)->lpVtbl->GetBorder(This,lprectBorder)
2454 #define IOleInPlaceFrame_RequestBorderSpace(This,pborderwidths) (This)->lpVtbl->RequestBorderSpace(This,pborderwidths)
2455 #define IOleInPlaceFrame_SetBorderSpace(This,pborderwidths) (This)->lpVtbl->SetBorderSpace(This,pborderwidths)
2456 #define IOleInPlaceFrame_SetActiveObject(This,pActiveObject,pszObjName) (This)->lpVtbl->SetActiveObject(This,pActiveObject,pszObjName)
2457 /*** IOleInPlaceFrame methods ***/
2458 #define IOleInPlaceFrame_InsertMenus(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenus(This,hmenuShared,lpMenuWidths)
2459 #define IOleInPlaceFrame_SetMenu(This,hmenuShared,holemenu,hwndActiveObject) (This)->lpVtbl->SetMenu(This,hmenuShared,holemenu,hwndActiveObject)
2460 #define IOleInPlaceFrame_RemoveMenus(This,hmenuShared) (This)->lpVtbl->RemoveMenus(This,hmenuShared)
2461 #define IOleInPlaceFrame_SetStatusText(This,pszStatusText) (This)->lpVtbl->SetStatusText(This,pszStatusText)
2462 #define IOleInPlaceFrame_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
2463 #define IOleInPlaceFrame_TranslateAccelerator(This,lpmsg,wID) (This)->lpVtbl->TranslateAccelerator(This,lpmsg,wID)
2464 #else
2465 /*** IUnknown methods ***/
2466 static FORCEINLINE HRESULT IOleInPlaceFrame_QueryInterface(IOleInPlaceFrame* This,REFIID riid,void **ppvObject) {
2467     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2468 }
2469 static FORCEINLINE ULONG IOleInPlaceFrame_AddRef(IOleInPlaceFrame* This) {
2470     return This->lpVtbl->AddRef(This);
2471 }
2472 static FORCEINLINE ULONG IOleInPlaceFrame_Release(IOleInPlaceFrame* This) {
2473     return This->lpVtbl->Release(This);
2474 }
2475 /*** IOleWindow methods ***/
2476 static FORCEINLINE HRESULT IOleInPlaceFrame_GetWindow(IOleInPlaceFrame* This,HWND *phwnd) {
2477     return This->lpVtbl->GetWindow(This,phwnd);
2478 }
2479 static FORCEINLINE HRESULT IOleInPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame* This,WINBOOL fEnterMode) {
2480     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
2481 }
2482 /*** IOleInPlaceUIWindow methods ***/
2483 static FORCEINLINE HRESULT IOleInPlaceFrame_GetBorder(IOleInPlaceFrame* This,LPRECT lprectBorder) {
2484     return This->lpVtbl->GetBorder(This,lprectBorder);
2485 }
2486 static FORCEINLINE HRESULT IOleInPlaceFrame_RequestBorderSpace(IOleInPlaceFrame* This,LPCBORDERWIDTHS pborderwidths) {
2487     return This->lpVtbl->RequestBorderSpace(This,pborderwidths);
2488 }
2489 static FORCEINLINE HRESULT IOleInPlaceFrame_SetBorderSpace(IOleInPlaceFrame* This,LPCBORDERWIDTHS pborderwidths) {
2490     return This->lpVtbl->SetBorderSpace(This,pborderwidths);
2491 }
2492 static FORCEINLINE HRESULT IOleInPlaceFrame_SetActiveObject(IOleInPlaceFrame* This,IOleInPlaceActiveObject *pActiveObject,LPCOLESTR pszObjName) {
2493     return This->lpVtbl->SetActiveObject(This,pActiveObject,pszObjName);
2494 }
2495 /*** IOleInPlaceFrame methods ***/
2496 static FORCEINLINE HRESULT IOleInPlaceFrame_InsertMenus(IOleInPlaceFrame* This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) {
2497     return This->lpVtbl->InsertMenus(This,hmenuShared,lpMenuWidths);
2498 }
2499 static FORCEINLINE HRESULT IOleInPlaceFrame_SetMenu(IOleInPlaceFrame* This,HMENU hmenuShared,HOLEMENU holemenu,HWND hwndActiveObject) {
2500     return This->lpVtbl->SetMenu(This,hmenuShared,holemenu,hwndActiveObject);
2501 }
2502 static FORCEINLINE HRESULT IOleInPlaceFrame_RemoveMenus(IOleInPlaceFrame* This,HMENU hmenuShared) {
2503     return This->lpVtbl->RemoveMenus(This,hmenuShared);
2504 }
2505 static FORCEINLINE HRESULT IOleInPlaceFrame_SetStatusText(IOleInPlaceFrame* This,LPCOLESTR pszStatusText) {
2506     return This->lpVtbl->SetStatusText(This,pszStatusText);
2507 }
2508 static FORCEINLINE HRESULT IOleInPlaceFrame_EnableModeless(IOleInPlaceFrame* This,WINBOOL fEnable) {
2509     return This->lpVtbl->EnableModeless(This,fEnable);
2510 }
2511 static FORCEINLINE HRESULT IOleInPlaceFrame_TranslateAccelerator(IOleInPlaceFrame* This,LPMSG lpmsg,WORD wID) {
2512     return This->lpVtbl->TranslateAccelerator(This,lpmsg,wID);
2513 }
2514 #endif
2515 #endif
2516 
2517 #endif
2518 
2519 
2520 #endif  /* __IOleInPlaceFrame_INTERFACE_DEFINED__ */
2521 
2522 
2523 /*****************************************************************************
2524  * IOleInPlaceObject interface
2525  */
2526 #ifndef __IOleInPlaceObject_INTERFACE_DEFINED__
2527 #define __IOleInPlaceObject_INTERFACE_DEFINED__
2528 
2529 typedef IOleInPlaceObject *LPOLEINPLACEOBJECT;
2530 
2531 DEFINE_GUID(IID_IOleInPlaceObject, 0x00000113, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2532 #if defined(__cplusplus) && !defined(CINTERFACE)
2533 MIDL_INTERFACE("00000113-0000-0000-c000-000000000046")
2534 IOleInPlaceObject : public IOleWindow
2535 {
2536     virtual HRESULT STDMETHODCALLTYPE InPlaceDeactivate(
2537         ) = 0;
2538 
2539     virtual HRESULT STDMETHODCALLTYPE UIDeactivate(
2540         ) = 0;
2541 
2542     virtual HRESULT STDMETHODCALLTYPE SetObjectRects(
2543         LPCRECT lprcPosRect,
2544         LPCRECT lprcClipRect) = 0;
2545 
2546     virtual HRESULT STDMETHODCALLTYPE ReactivateAndUndo(
2547         ) = 0;
2548 
2549 };
2550 #ifdef __CRT_UUID_DECL
2551 __CRT_UUID_DECL(IOleInPlaceObject, 0x00000113, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2552 #endif
2553 #else
2554 typedef struct IOleInPlaceObjectVtbl {
2555     BEGIN_INTERFACE
2556 
2557     /*** IUnknown methods ***/
2558     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2559         IOleInPlaceObject *This,
2560         REFIID riid,
2561         void **ppvObject);
2562 
2563     ULONG (STDMETHODCALLTYPE *AddRef)(
2564         IOleInPlaceObject *This);
2565 
2566     ULONG (STDMETHODCALLTYPE *Release)(
2567         IOleInPlaceObject *This);
2568 
2569     /*** IOleWindow methods ***/
2570     HRESULT (STDMETHODCALLTYPE *GetWindow)(
2571         IOleInPlaceObject *This,
2572         HWND *phwnd);
2573 
2574     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
2575         IOleInPlaceObject *This,
2576         WINBOOL fEnterMode);
2577 
2578     /*** IOleInPlaceObject methods ***/
2579     HRESULT (STDMETHODCALLTYPE *InPlaceDeactivate)(
2580         IOleInPlaceObject *This);
2581 
2582     HRESULT (STDMETHODCALLTYPE *UIDeactivate)(
2583         IOleInPlaceObject *This);
2584 
2585     HRESULT (STDMETHODCALLTYPE *SetObjectRects)(
2586         IOleInPlaceObject *This,
2587         LPCRECT lprcPosRect,
2588         LPCRECT lprcClipRect);
2589 
2590     HRESULT (STDMETHODCALLTYPE *ReactivateAndUndo)(
2591         IOleInPlaceObject *This);
2592 
2593     END_INTERFACE
2594 } IOleInPlaceObjectVtbl;
2595 
2596 interface IOleInPlaceObject {
2597     CONST_VTBL IOleInPlaceObjectVtbl* lpVtbl;
2598 };
2599 
2600 #ifdef COBJMACROS
2601 #ifndef WIDL_C_INLINE_WRAPPERS
2602 /*** IUnknown methods ***/
2603 #define IOleInPlaceObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2604 #define IOleInPlaceObject_AddRef(This) (This)->lpVtbl->AddRef(This)
2605 #define IOleInPlaceObject_Release(This) (This)->lpVtbl->Release(This)
2606 /*** IOleWindow methods ***/
2607 #define IOleInPlaceObject_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
2608 #define IOleInPlaceObject_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
2609 /*** IOleInPlaceObject methods ***/
2610 #define IOleInPlaceObject_InPlaceDeactivate(This) (This)->lpVtbl->InPlaceDeactivate(This)
2611 #define IOleInPlaceObject_UIDeactivate(This) (This)->lpVtbl->UIDeactivate(This)
2612 #define IOleInPlaceObject_SetObjectRects(This,lprcPosRect,lprcClipRect) (This)->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect)
2613 #define IOleInPlaceObject_ReactivateAndUndo(This) (This)->lpVtbl->ReactivateAndUndo(This)
2614 #else
2615 /*** IUnknown methods ***/
2616 static FORCEINLINE HRESULT IOleInPlaceObject_QueryInterface(IOleInPlaceObject* This,REFIID riid,void **ppvObject) {
2617     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2618 }
2619 static FORCEINLINE ULONG IOleInPlaceObject_AddRef(IOleInPlaceObject* This) {
2620     return This->lpVtbl->AddRef(This);
2621 }
2622 static FORCEINLINE ULONG IOleInPlaceObject_Release(IOleInPlaceObject* This) {
2623     return This->lpVtbl->Release(This);
2624 }
2625 /*** IOleWindow methods ***/
2626 static FORCEINLINE HRESULT IOleInPlaceObject_GetWindow(IOleInPlaceObject* This,HWND *phwnd) {
2627     return This->lpVtbl->GetWindow(This,phwnd);
2628 }
2629 static FORCEINLINE HRESULT IOleInPlaceObject_ContextSensitiveHelp(IOleInPlaceObject* This,WINBOOL fEnterMode) {
2630     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
2631 }
2632 /*** IOleInPlaceObject methods ***/
2633 static FORCEINLINE HRESULT IOleInPlaceObject_InPlaceDeactivate(IOleInPlaceObject* This) {
2634     return This->lpVtbl->InPlaceDeactivate(This);
2635 }
2636 static FORCEINLINE HRESULT IOleInPlaceObject_UIDeactivate(IOleInPlaceObject* This) {
2637     return This->lpVtbl->UIDeactivate(This);
2638 }
2639 static FORCEINLINE HRESULT IOleInPlaceObject_SetObjectRects(IOleInPlaceObject* This,LPCRECT lprcPosRect,LPCRECT lprcClipRect) {
2640     return This->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect);
2641 }
2642 static FORCEINLINE HRESULT IOleInPlaceObject_ReactivateAndUndo(IOleInPlaceObject* This) {
2643     return This->lpVtbl->ReactivateAndUndo(This);
2644 }
2645 #endif
2646 #endif
2647 
2648 #endif
2649 
2650 
2651 #endif  /* __IOleInPlaceObject_INTERFACE_DEFINED__ */
2652 
2653 
2654 /*****************************************************************************
2655  * IOleInPlaceSite interface
2656  */
2657 #ifndef __IOleInPlaceSite_INTERFACE_DEFINED__
2658 #define __IOleInPlaceSite_INTERFACE_DEFINED__
2659 
2660 typedef IOleInPlaceSite *LPOLEINPLACESITE;
2661 
2662 DEFINE_GUID(IID_IOleInPlaceSite, 0x00000119, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2663 #if defined(__cplusplus) && !defined(CINTERFACE)
2664 MIDL_INTERFACE("00000119-0000-0000-c000-000000000046")
2665 IOleInPlaceSite : public IOleWindow
2666 {
2667     virtual HRESULT STDMETHODCALLTYPE CanInPlaceActivate(
2668         ) = 0;
2669 
2670     virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivate(
2671         ) = 0;
2672 
2673     virtual HRESULT STDMETHODCALLTYPE OnUIActivate(
2674         ) = 0;
2675 
2676     virtual HRESULT STDMETHODCALLTYPE GetWindowContext(
2677         IOleInPlaceFrame **ppFrame,
2678         IOleInPlaceUIWindow **ppDoc,
2679         LPRECT lprcPosRect,
2680         LPRECT lprcClipRect,
2681         LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
2682 
2683     virtual HRESULT STDMETHODCALLTYPE Scroll(
2684         SIZE scrollExtant) = 0;
2685 
2686     virtual HRESULT STDMETHODCALLTYPE OnUIDeactivate(
2687         WINBOOL fUndoable) = 0;
2688 
2689     virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate(
2690         ) = 0;
2691 
2692     virtual HRESULT STDMETHODCALLTYPE DiscardUndoState(
2693         ) = 0;
2694 
2695     virtual HRESULT STDMETHODCALLTYPE DeactivateAndUndo(
2696         ) = 0;
2697 
2698     virtual HRESULT STDMETHODCALLTYPE OnPosRectChange(
2699         LPCRECT lprcPosRect) = 0;
2700 
2701 };
2702 #ifdef __CRT_UUID_DECL
2703 __CRT_UUID_DECL(IOleInPlaceSite, 0x00000119, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2704 #endif
2705 #else
2706 typedef struct IOleInPlaceSiteVtbl {
2707     BEGIN_INTERFACE
2708 
2709     /*** IUnknown methods ***/
2710     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2711         IOleInPlaceSite *This,
2712         REFIID riid,
2713         void **ppvObject);
2714 
2715     ULONG (STDMETHODCALLTYPE *AddRef)(
2716         IOleInPlaceSite *This);
2717 
2718     ULONG (STDMETHODCALLTYPE *Release)(
2719         IOleInPlaceSite *This);
2720 
2721     /*** IOleWindow methods ***/
2722     HRESULT (STDMETHODCALLTYPE *GetWindow)(
2723         IOleInPlaceSite *This,
2724         HWND *phwnd);
2725 
2726     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
2727         IOleInPlaceSite *This,
2728         WINBOOL fEnterMode);
2729 
2730     /*** IOleInPlaceSite methods ***/
2731     HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
2732         IOleInPlaceSite *This);
2733 
2734     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
2735         IOleInPlaceSite *This);
2736 
2737     HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
2738         IOleInPlaceSite *This);
2739 
2740     HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
2741         IOleInPlaceSite *This,
2742         IOleInPlaceFrame **ppFrame,
2743         IOleInPlaceUIWindow **ppDoc,
2744         LPRECT lprcPosRect,
2745         LPRECT lprcClipRect,
2746         LPOLEINPLACEFRAMEINFO lpFrameInfo);
2747 
2748     HRESULT (STDMETHODCALLTYPE *Scroll)(
2749         IOleInPlaceSite *This,
2750         SIZE scrollExtant);
2751 
2752     HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
2753         IOleInPlaceSite *This,
2754         WINBOOL fUndoable);
2755 
2756     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
2757         IOleInPlaceSite *This);
2758 
2759     HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
2760         IOleInPlaceSite *This);
2761 
2762     HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
2763         IOleInPlaceSite *This);
2764 
2765     HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
2766         IOleInPlaceSite *This,
2767         LPCRECT lprcPosRect);
2768 
2769     END_INTERFACE
2770 } IOleInPlaceSiteVtbl;
2771 
2772 interface IOleInPlaceSite {
2773     CONST_VTBL IOleInPlaceSiteVtbl* lpVtbl;
2774 };
2775 
2776 #ifdef COBJMACROS
2777 #ifndef WIDL_C_INLINE_WRAPPERS
2778 /*** IUnknown methods ***/
2779 #define IOleInPlaceSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2780 #define IOleInPlaceSite_AddRef(This) (This)->lpVtbl->AddRef(This)
2781 #define IOleInPlaceSite_Release(This) (This)->lpVtbl->Release(This)
2782 /*** IOleWindow methods ***/
2783 #define IOleInPlaceSite_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
2784 #define IOleInPlaceSite_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
2785 /*** IOleInPlaceSite methods ***/
2786 #define IOleInPlaceSite_CanInPlaceActivate(This) (This)->lpVtbl->CanInPlaceActivate(This)
2787 #define IOleInPlaceSite_OnInPlaceActivate(This) (This)->lpVtbl->OnInPlaceActivate(This)
2788 #define IOleInPlaceSite_OnUIActivate(This) (This)->lpVtbl->OnUIActivate(This)
2789 #define IOleInPlaceSite_GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo) (This)->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo)
2790 #define IOleInPlaceSite_Scroll(This,scrollExtant) (This)->lpVtbl->Scroll(This,scrollExtant)
2791 #define IOleInPlaceSite_OnUIDeactivate(This,fUndoable) (This)->lpVtbl->OnUIDeactivate(This,fUndoable)
2792 #define IOleInPlaceSite_OnInPlaceDeactivate(This) (This)->lpVtbl->OnInPlaceDeactivate(This)
2793 #define IOleInPlaceSite_DiscardUndoState(This) (This)->lpVtbl->DiscardUndoState(This)
2794 #define IOleInPlaceSite_DeactivateAndUndo(This) (This)->lpVtbl->DeactivateAndUndo(This)
2795 #define IOleInPlaceSite_OnPosRectChange(This,lprcPosRect) (This)->lpVtbl->OnPosRectChange(This,lprcPosRect)
2796 #else
2797 /*** IUnknown methods ***/
2798 static FORCEINLINE HRESULT IOleInPlaceSite_QueryInterface(IOleInPlaceSite* This,REFIID riid,void **ppvObject) {
2799     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2800 }
2801 static FORCEINLINE ULONG IOleInPlaceSite_AddRef(IOleInPlaceSite* This) {
2802     return This->lpVtbl->AddRef(This);
2803 }
2804 static FORCEINLINE ULONG IOleInPlaceSite_Release(IOleInPlaceSite* This) {
2805     return This->lpVtbl->Release(This);
2806 }
2807 /*** IOleWindow methods ***/
2808 static FORCEINLINE HRESULT IOleInPlaceSite_GetWindow(IOleInPlaceSite* This,HWND *phwnd) {
2809     return This->lpVtbl->GetWindow(This,phwnd);
2810 }
2811 static FORCEINLINE HRESULT IOleInPlaceSite_ContextSensitiveHelp(IOleInPlaceSite* This,WINBOOL fEnterMode) {
2812     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
2813 }
2814 /*** IOleInPlaceSite methods ***/
2815 static FORCEINLINE HRESULT IOleInPlaceSite_CanInPlaceActivate(IOleInPlaceSite* This) {
2816     return This->lpVtbl->CanInPlaceActivate(This);
2817 }
2818 static FORCEINLINE HRESULT IOleInPlaceSite_OnInPlaceActivate(IOleInPlaceSite* This) {
2819     return This->lpVtbl->OnInPlaceActivate(This);
2820 }
2821 static FORCEINLINE HRESULT IOleInPlaceSite_OnUIActivate(IOleInPlaceSite* This) {
2822     return This->lpVtbl->OnUIActivate(This);
2823 }
2824 static FORCEINLINE HRESULT IOleInPlaceSite_GetWindowContext(IOleInPlaceSite* This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo) {
2825     return This->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo);
2826 }
2827 static FORCEINLINE HRESULT IOleInPlaceSite_Scroll(IOleInPlaceSite* This,SIZE scrollExtant) {
2828     return This->lpVtbl->Scroll(This,scrollExtant);
2829 }
2830 static FORCEINLINE HRESULT IOleInPlaceSite_OnUIDeactivate(IOleInPlaceSite* This,WINBOOL fUndoable) {
2831     return This->lpVtbl->OnUIDeactivate(This,fUndoable);
2832 }
2833 static FORCEINLINE HRESULT IOleInPlaceSite_OnInPlaceDeactivate(IOleInPlaceSite* This) {
2834     return This->lpVtbl->OnInPlaceDeactivate(This);
2835 }
2836 static FORCEINLINE HRESULT IOleInPlaceSite_DiscardUndoState(IOleInPlaceSite* This) {
2837     return This->lpVtbl->DiscardUndoState(This);
2838 }
2839 static FORCEINLINE HRESULT IOleInPlaceSite_DeactivateAndUndo(IOleInPlaceSite* This) {
2840     return This->lpVtbl->DeactivateAndUndo(This);
2841 }
2842 static FORCEINLINE HRESULT IOleInPlaceSite_OnPosRectChange(IOleInPlaceSite* This,LPCRECT lprcPosRect) {
2843     return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
2844 }
2845 #endif
2846 #endif
2847 
2848 #endif
2849 
2850 
2851 #endif  /* __IOleInPlaceSite_INTERFACE_DEFINED__ */
2852 
2853 
2854 /*****************************************************************************
2855  * IContinue interface
2856  */
2857 #ifndef __IContinue_INTERFACE_DEFINED__
2858 #define __IContinue_INTERFACE_DEFINED__
2859 
2860 DEFINE_GUID(IID_IContinue, 0x0000012a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2861 #if defined(__cplusplus) && !defined(CINTERFACE)
2862 MIDL_INTERFACE("0000012a-0000-0000-c000-000000000046")
2863 IContinue : public IUnknown
2864 {
2865     virtual HRESULT STDMETHODCALLTYPE FContinue(
2866         ) = 0;
2867 
2868 };
2869 #ifdef __CRT_UUID_DECL
2870 __CRT_UUID_DECL(IContinue, 0x0000012a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2871 #endif
2872 #else
2873 typedef struct IContinueVtbl {
2874     BEGIN_INTERFACE
2875 
2876     /*** IUnknown methods ***/
2877     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2878         IContinue *This,
2879         REFIID riid,
2880         void **ppvObject);
2881 
2882     ULONG (STDMETHODCALLTYPE *AddRef)(
2883         IContinue *This);
2884 
2885     ULONG (STDMETHODCALLTYPE *Release)(
2886         IContinue *This);
2887 
2888     /*** IContinue methods ***/
2889     HRESULT (STDMETHODCALLTYPE *FContinue)(
2890         IContinue *This);
2891 
2892     END_INTERFACE
2893 } IContinueVtbl;
2894 
2895 interface IContinue {
2896     CONST_VTBL IContinueVtbl* lpVtbl;
2897 };
2898 
2899 #ifdef COBJMACROS
2900 #ifndef WIDL_C_INLINE_WRAPPERS
2901 /*** IUnknown methods ***/
2902 #define IContinue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2903 #define IContinue_AddRef(This) (This)->lpVtbl->AddRef(This)
2904 #define IContinue_Release(This) (This)->lpVtbl->Release(This)
2905 /*** IContinue methods ***/
2906 #define IContinue_FContinue(This) (This)->lpVtbl->FContinue(This)
2907 #else
2908 /*** IUnknown methods ***/
2909 static FORCEINLINE HRESULT IContinue_QueryInterface(IContinue* This,REFIID riid,void **ppvObject) {
2910     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2911 }
2912 static FORCEINLINE ULONG IContinue_AddRef(IContinue* This) {
2913     return This->lpVtbl->AddRef(This);
2914 }
2915 static FORCEINLINE ULONG IContinue_Release(IContinue* This) {
2916     return This->lpVtbl->Release(This);
2917 }
2918 /*** IContinue methods ***/
2919 static FORCEINLINE HRESULT IContinue_FContinue(IContinue* This) {
2920     return This->lpVtbl->FContinue(This);
2921 }
2922 #endif
2923 #endif
2924 
2925 #endif
2926 
2927 
2928 #endif  /* __IContinue_INTERFACE_DEFINED__ */
2929 
2930 
2931 /*****************************************************************************
2932  * IViewObject interface
2933  */
2934 #ifndef __IViewObject_INTERFACE_DEFINED__
2935 #define __IViewObject_INTERFACE_DEFINED__
2936 
2937 typedef IViewObject *LPVIEWOBJECT;
2938 
2939 DEFINE_GUID(IID_IViewObject, 0x0000010d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2940 #if defined(__cplusplus) && !defined(CINTERFACE)
2941 MIDL_INTERFACE("0000010d-0000-0000-c000-000000000046")
2942 IViewObject : public IUnknown
2943 {
2944     virtual HRESULT STDMETHODCALLTYPE Draw(
2945         DWORD dwDrawAspect,
2946         LONG lindex,
2947         void *pvAspect,
2948         DVTARGETDEVICE *ptd,
2949         HDC hdcTargetDev,
2950         HDC hdcDraw,
2951         LPCRECTL lprcBounds,
2952         LPCRECTL lprcWBounds,
2953         WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
2954         ULONG_PTR dwContinue) = 0;
2955 
2956     virtual HRESULT STDMETHODCALLTYPE GetColorSet(
2957         DWORD dwDrawAspect,
2958         LONG lindex,
2959         void *pvAspect,
2960         DVTARGETDEVICE *ptd,
2961         HDC hicTargetDev,
2962         LOGPALETTE **ppColorSet) = 0;
2963 
2964     virtual HRESULT STDMETHODCALLTYPE Freeze(
2965         DWORD dwDrawAspect,
2966         LONG lindex,
2967         void *pvAspect,
2968         DWORD *pdwFreeze) = 0;
2969 
2970     virtual HRESULT STDMETHODCALLTYPE Unfreeze(
2971         DWORD dwFreeze) = 0;
2972 
2973     virtual HRESULT STDMETHODCALLTYPE SetAdvise(
2974         DWORD aspects,
2975         DWORD advf,
2976         IAdviseSink *pAdvSink) = 0;
2977 
2978     virtual HRESULT STDMETHODCALLTYPE GetAdvise(
2979         DWORD *pAspects,
2980         DWORD *pAdvf,
2981         IAdviseSink **ppAdvSink) = 0;
2982 
2983 };
2984 #ifdef __CRT_UUID_DECL
2985 __CRT_UUID_DECL(IViewObject, 0x0000010d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2986 #endif
2987 #else
2988 typedef struct IViewObjectVtbl {
2989     BEGIN_INTERFACE
2990 
2991     /*** IUnknown methods ***/
2992     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2993         IViewObject *This,
2994         REFIID riid,
2995         void **ppvObject);
2996 
2997     ULONG (STDMETHODCALLTYPE *AddRef)(
2998         IViewObject *This);
2999 
3000     ULONG (STDMETHODCALLTYPE *Release)(
3001         IViewObject *This);
3002 
3003     /*** IViewObject methods ***/
3004     HRESULT (STDMETHODCALLTYPE *Draw)(
3005         IViewObject *This,
3006         DWORD dwDrawAspect,
3007         LONG lindex,
3008         void *pvAspect,
3009         DVTARGETDEVICE *ptd,
3010         HDC hdcTargetDev,
3011         HDC hdcDraw,
3012         LPCRECTL lprcBounds,
3013         LPCRECTL lprcWBounds,
3014         WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3015         ULONG_PTR dwContinue);
3016 
3017     HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3018         IViewObject *This,
3019         DWORD dwDrawAspect,
3020         LONG lindex,
3021         void *pvAspect,
3022         DVTARGETDEVICE *ptd,
3023         HDC hicTargetDev,
3024         LOGPALETTE **ppColorSet);
3025 
3026     HRESULT (STDMETHODCALLTYPE *Freeze)(
3027         IViewObject *This,
3028         DWORD dwDrawAspect,
3029         LONG lindex,
3030         void *pvAspect,
3031         DWORD *pdwFreeze);
3032 
3033     HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3034         IViewObject *This,
3035         DWORD dwFreeze);
3036 
3037     HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3038         IViewObject *This,
3039         DWORD aspects,
3040         DWORD advf,
3041         IAdviseSink *pAdvSink);
3042 
3043     HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3044         IViewObject *This,
3045         DWORD *pAspects,
3046         DWORD *pAdvf,
3047         IAdviseSink **ppAdvSink);
3048 
3049     END_INTERFACE
3050 } IViewObjectVtbl;
3051 
3052 interface IViewObject {
3053     CONST_VTBL IViewObjectVtbl* lpVtbl;
3054 };
3055 
3056 #ifdef COBJMACROS
3057 #ifndef WIDL_C_INLINE_WRAPPERS
3058 /*** IUnknown methods ***/
3059 #define IViewObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3060 #define IViewObject_AddRef(This) (This)->lpVtbl->AddRef(This)
3061 #define IViewObject_Release(This) (This)->lpVtbl->Release(This)
3062 /*** IViewObject methods ***/
3063 #define IViewObject_Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue) (This)->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue)
3064 #define IViewObject_GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet) (This)->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet)
3065 #define IViewObject_Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze) (This)->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze)
3066 #define IViewObject_Unfreeze(This,dwFreeze) (This)->lpVtbl->Unfreeze(This,dwFreeze)
3067 #define IViewObject_SetAdvise(This,aspects,advf,pAdvSink) (This)->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink)
3068 #define IViewObject_GetAdvise(This,pAspects,pAdvf,ppAdvSink) (This)->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink)
3069 #else
3070 /*** IUnknown methods ***/
3071 static FORCEINLINE HRESULT IViewObject_QueryInterface(IViewObject* This,REFIID riid,void **ppvObject) {
3072     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3073 }
3074 static FORCEINLINE ULONG IViewObject_AddRef(IViewObject* This) {
3075     return This->lpVtbl->AddRef(This);
3076 }
3077 static FORCEINLINE ULONG IViewObject_Release(IViewObject* This) {
3078     return This->lpVtbl->Release(This);
3079 }
3080 /*** IViewObject methods ***/
3081 static FORCEINLINE HRESULT IViewObject_Draw(IViewObject* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue) {
3082     return This->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue);
3083 }
3084 static FORCEINLINE HRESULT IViewObject_GetColorSet(IViewObject* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet) {
3085     return This->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet);
3086 }
3087 static FORCEINLINE HRESULT IViewObject_Freeze(IViewObject* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze) {
3088     return This->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze);
3089 }
3090 static FORCEINLINE HRESULT IViewObject_Unfreeze(IViewObject* This,DWORD dwFreeze) {
3091     return This->lpVtbl->Unfreeze(This,dwFreeze);
3092 }
3093 static FORCEINLINE HRESULT IViewObject_SetAdvise(IViewObject* This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink) {
3094     return This->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink);
3095 }
3096 static FORCEINLINE HRESULT IViewObject_GetAdvise(IViewObject* This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink) {
3097     return This->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink);
3098 }
3099 #endif
3100 #endif
3101 
3102 #endif
3103 
3104 HRESULT STDMETHODCALLTYPE IViewObject_RemoteDraw_Proxy(
3105     IViewObject* This,
3106     DWORD dwDrawAspect,
3107     LONG lindex,
3108     ULONG_PTR pvAspect,
3109     DVTARGETDEVICE *ptd,
3110     HDC hdcTargetDev,
3111     HDC hdcDraw,
3112     LPCRECTL lprcBounds,
3113     LPCRECTL lprcWBounds,
3114     IContinue *pContinue);
3115 void __RPC_STUB IViewObject_RemoteDraw_Stub(
3116     IRpcStubBuffer* This,
3117     IRpcChannelBuffer* pRpcChannelBuffer,
3118     PRPC_MESSAGE pRpcMessage,
3119     DWORD* pdwStubPhase);
3120 HRESULT STDMETHODCALLTYPE IViewObject_RemoteGetColorSet_Proxy(
3121     IViewObject* This,
3122     DWORD dwDrawAspect,
3123     LONG lindex,
3124     ULONG_PTR pvAspect,
3125     DVTARGETDEVICE *ptd,
3126     ULONG_PTR hicTargetDev,
3127     LOGPALETTE **ppColorSet);
3128 void __RPC_STUB IViewObject_RemoteGetColorSet_Stub(
3129     IRpcStubBuffer* This,
3130     IRpcChannelBuffer* pRpcChannelBuffer,
3131     PRPC_MESSAGE pRpcMessage,
3132     DWORD* pdwStubPhase);
3133 HRESULT STDMETHODCALLTYPE IViewObject_RemoteFreeze_Proxy(
3134     IViewObject* This,
3135     DWORD dwDrawAspect,
3136     LONG lindex,
3137     ULONG_PTR pvAspect,
3138     DWORD *pdwFreeze);
3139 void __RPC_STUB IViewObject_RemoteFreeze_Stub(
3140     IRpcStubBuffer* This,
3141     IRpcChannelBuffer* pRpcChannelBuffer,
3142     PRPC_MESSAGE pRpcMessage,
3143     DWORD* pdwStubPhase);
3144 HRESULT STDMETHODCALLTYPE IViewObject_RemoteGetAdvise_Proxy(
3145     IViewObject* This,
3146     DWORD *pAspects,
3147     DWORD *pAdvf,
3148     IAdviseSink **ppAdvSink);
3149 void __RPC_STUB IViewObject_RemoteGetAdvise_Stub(
3150     IRpcStubBuffer* This,
3151     IRpcChannelBuffer* pRpcChannelBuffer,
3152     PRPC_MESSAGE pRpcMessage,
3153     DWORD* pdwStubPhase);
3154 HRESULT CALLBACK IViewObject_Draw_Proxy(
3155     IViewObject* This,
3156     DWORD dwDrawAspect,
3157     LONG lindex,
3158     void *pvAspect,
3159     DVTARGETDEVICE *ptd,
3160     HDC hdcTargetDev,
3161     HDC hdcDraw,
3162     LPCRECTL lprcBounds,
3163     LPCRECTL lprcWBounds,
3164     WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3165     ULONG_PTR dwContinue);
3166 HRESULT __RPC_STUB IViewObject_Draw_Stub(
3167     IViewObject* This,
3168     DWORD dwDrawAspect,
3169     LONG lindex,
3170     ULONG_PTR pvAspect,
3171     DVTARGETDEVICE *ptd,
3172     HDC hdcTargetDev,
3173     HDC hdcDraw,
3174     LPCRECTL lprcBounds,
3175     LPCRECTL lprcWBounds,
3176     IContinue *pContinue);
3177 HRESULT CALLBACK IViewObject_GetColorSet_Proxy(
3178     IViewObject* This,
3179     DWORD dwDrawAspect,
3180     LONG lindex,
3181     void *pvAspect,
3182     DVTARGETDEVICE *ptd,
3183     HDC hicTargetDev,
3184     LOGPALETTE **ppColorSet);
3185 HRESULT __RPC_STUB IViewObject_GetColorSet_Stub(
3186     IViewObject* This,
3187     DWORD dwDrawAspect,
3188     LONG lindex,
3189     ULONG_PTR pvAspect,
3190     DVTARGETDEVICE *ptd,
3191     ULONG_PTR hicTargetDev,
3192     LOGPALETTE **ppColorSet);
3193 HRESULT CALLBACK IViewObject_Freeze_Proxy(
3194     IViewObject* This,
3195     DWORD dwDrawAspect,
3196     LONG lindex,
3197     void *pvAspect,
3198     DWORD *pdwFreeze);
3199 HRESULT __RPC_STUB IViewObject_Freeze_Stub(
3200     IViewObject* This,
3201     DWORD dwDrawAspect,
3202     LONG lindex,
3203     ULONG_PTR pvAspect,
3204     DWORD *pdwFreeze);
3205 HRESULT CALLBACK IViewObject_GetAdvise_Proxy(
3206     IViewObject* This,
3207     DWORD *pAspects,
3208     DWORD *pAdvf,
3209     IAdviseSink **ppAdvSink);
3210 HRESULT __RPC_STUB IViewObject_GetAdvise_Stub(
3211     IViewObject* This,
3212     DWORD *pAspects,
3213     DWORD *pAdvf,
3214     IAdviseSink **ppAdvSink);
3215 
3216 #endif  /* __IViewObject_INTERFACE_DEFINED__ */
3217 
3218 
3219 /*****************************************************************************
3220  * IViewObject2 interface
3221  */
3222 #ifndef __IViewObject2_INTERFACE_DEFINED__
3223 #define __IViewObject2_INTERFACE_DEFINED__
3224 
3225 typedef IViewObject2 *LPVIEWOBJECT2;
3226 
3227 DEFINE_GUID(IID_IViewObject2, 0x00000127, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3228 #if defined(__cplusplus) && !defined(CINTERFACE)
3229 MIDL_INTERFACE("00000127-0000-0000-c000-000000000046")
3230 IViewObject2 : public IViewObject
3231 {
3232     virtual HRESULT STDMETHODCALLTYPE GetExtent(
3233         DWORD dwDrawAspect,
3234         LONG lindex,
3235         DVTARGETDEVICE *ptd,
3236         LPSIZEL lpsizel) = 0;
3237 
3238 };
3239 #ifdef __CRT_UUID_DECL
3240 __CRT_UUID_DECL(IViewObject2, 0x00000127, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3241 #endif
3242 #else
3243 typedef struct IViewObject2Vtbl {
3244     BEGIN_INTERFACE
3245 
3246     /*** IUnknown methods ***/
3247     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3248         IViewObject2 *This,
3249         REFIID riid,
3250         void **ppvObject);
3251 
3252     ULONG (STDMETHODCALLTYPE *AddRef)(
3253         IViewObject2 *This);
3254 
3255     ULONG (STDMETHODCALLTYPE *Release)(
3256         IViewObject2 *This);
3257 
3258     /*** IViewObject methods ***/
3259     HRESULT (STDMETHODCALLTYPE *Draw)(
3260         IViewObject2 *This,
3261         DWORD dwDrawAspect,
3262         LONG lindex,
3263         void *pvAspect,
3264         DVTARGETDEVICE *ptd,
3265         HDC hdcTargetDev,
3266         HDC hdcDraw,
3267         LPCRECTL lprcBounds,
3268         LPCRECTL lprcWBounds,
3269         WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
3270         ULONG_PTR dwContinue);
3271 
3272     HRESULT (STDMETHODCALLTYPE *GetColorSet)(
3273         IViewObject2 *This,
3274         DWORD dwDrawAspect,
3275         LONG lindex,
3276         void *pvAspect,
3277         DVTARGETDEVICE *ptd,
3278         HDC hicTargetDev,
3279         LOGPALETTE **ppColorSet);
3280 
3281     HRESULT (STDMETHODCALLTYPE *Freeze)(
3282         IViewObject2 *This,
3283         DWORD dwDrawAspect,
3284         LONG lindex,
3285         void *pvAspect,
3286         DWORD *pdwFreeze);
3287 
3288     HRESULT (STDMETHODCALLTYPE *Unfreeze)(
3289         IViewObject2 *This,
3290         DWORD dwFreeze);
3291 
3292     HRESULT (STDMETHODCALLTYPE *SetAdvise)(
3293         IViewObject2 *This,
3294         DWORD aspects,
3295         DWORD advf,
3296         IAdviseSink *pAdvSink);
3297 
3298     HRESULT (STDMETHODCALLTYPE *GetAdvise)(
3299         IViewObject2 *This,
3300         DWORD *pAspects,
3301         DWORD *pAdvf,
3302         IAdviseSink **ppAdvSink);
3303 
3304     /*** IViewObject2 methods ***/
3305     HRESULT (STDMETHODCALLTYPE *GetExtent)(
3306         IViewObject2 *This,
3307         DWORD dwDrawAspect,
3308         LONG lindex,
3309         DVTARGETDEVICE *ptd,
3310         LPSIZEL lpsizel);
3311 
3312     END_INTERFACE
3313 } IViewObject2Vtbl;
3314 
3315 interface IViewObject2 {
3316     CONST_VTBL IViewObject2Vtbl* lpVtbl;
3317 };
3318 
3319 #ifdef COBJMACROS
3320 #ifndef WIDL_C_INLINE_WRAPPERS
3321 /*** IUnknown methods ***/
3322 #define IViewObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3323 #define IViewObject2_AddRef(This) (This)->lpVtbl->AddRef(This)
3324 #define IViewObject2_Release(This) (This)->lpVtbl->Release(This)
3325 /*** IViewObject methods ***/
3326 #define IViewObject2_Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue) (This)->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue)
3327 #define IViewObject2_GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet) (This)->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet)
3328 #define IViewObject2_Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze) (This)->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze)
3329 #define IViewObject2_Unfreeze(This,dwFreeze) (This)->lpVtbl->Unfreeze(This,dwFreeze)
3330 #define IViewObject2_SetAdvise(This,aspects,advf,pAdvSink) (This)->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink)
3331 #define IViewObject2_GetAdvise(This,pAspects,pAdvf,ppAdvSink) (This)->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink)
3332 /*** IViewObject2 methods ***/
3333 #define IViewObject2_GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel) (This)->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel)
3334 #else
3335 /*** IUnknown methods ***/
3336 static FORCEINLINE HRESULT IViewObject2_QueryInterface(IViewObject2* This,REFIID riid,void **ppvObject) {
3337     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3338 }
3339 static FORCEINLINE ULONG IViewObject2_AddRef(IViewObject2* This) {
3340     return This->lpVtbl->AddRef(This);
3341 }
3342 static FORCEINLINE ULONG IViewObject2_Release(IViewObject2* This) {
3343     return This->lpVtbl->Release(This);
3344 }
3345 /*** IViewObject methods ***/
3346 static FORCEINLINE HRESULT IViewObject2_Draw(IViewObject2* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue) {
3347     return This->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue);
3348 }
3349 static FORCEINLINE HRESULT IViewObject2_GetColorSet(IViewObject2* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet) {
3350     return This->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet);
3351 }
3352 static FORCEINLINE HRESULT IViewObject2_Freeze(IViewObject2* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze) {
3353     return This->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze);
3354 }
3355 static FORCEINLINE HRESULT IViewObject2_Unfreeze(IViewObject2* This,DWORD dwFreeze) {
3356     return This->lpVtbl->Unfreeze(This,dwFreeze);
3357 }
3358 static FORCEINLINE HRESULT IViewObject2_SetAdvise(IViewObject2* This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink) {
3359     return This->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink);
3360 }
3361 static FORCEINLINE HRESULT IViewObject2_GetAdvise(IViewObject2* This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink) {
3362     return This->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink);
3363 }
3364 /*** IViewObject2 methods ***/
3365 static FORCEINLINE HRESULT IViewObject2_GetExtent(IViewObject2* This,DWORD dwDrawAspect,LONG lindex,DVTARGETDEVICE *ptd,LPSIZEL lpsizel) {
3366     return This->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel);
3367 }
3368 #endif
3369 #endif
3370 
3371 #endif
3372 
3373 
3374 #endif  /* __IViewObject2_INTERFACE_DEFINED__ */
3375 
3376 
3377 /*****************************************************************************
3378  * IDropSource interface
3379  */
3380 #ifndef __IDropSource_INTERFACE_DEFINED__
3381 #define __IDropSource_INTERFACE_DEFINED__
3382 
3383 typedef IDropSource *LPDROPSOURCE;
3384 
3385 DEFINE_GUID(IID_IDropSource, 0x00000121, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3386 #if defined(__cplusplus) && !defined(CINTERFACE)
3387 MIDL_INTERFACE("00000121-0000-0000-c000-000000000046")
3388 IDropSource : public IUnknown
3389 {
3390     virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(
3391         WINBOOL fEscapePressed,
3392         DWORD grfKeyState) = 0;
3393 
3394     virtual HRESULT STDMETHODCALLTYPE GiveFeedback(
3395         DWORD dwEffect) = 0;
3396 
3397 };
3398 #ifdef __CRT_UUID_DECL
3399 __CRT_UUID_DECL(IDropSource, 0x00000121, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3400 #endif
3401 #else
3402 typedef struct IDropSourceVtbl {
3403     BEGIN_INTERFACE
3404 
3405     /*** IUnknown methods ***/
3406     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3407         IDropSource *This,
3408         REFIID riid,
3409         void **ppvObject);
3410 
3411     ULONG (STDMETHODCALLTYPE *AddRef)(
3412         IDropSource *This);
3413 
3414     ULONG (STDMETHODCALLTYPE *Release)(
3415         IDropSource *This);
3416 
3417     /*** IDropSource methods ***/
3418     HRESULT (STDMETHODCALLTYPE *QueryContinueDrag)(
3419         IDropSource *This,
3420         WINBOOL fEscapePressed,
3421         DWORD grfKeyState);
3422 
3423     HRESULT (STDMETHODCALLTYPE *GiveFeedback)(
3424         IDropSource *This,
3425         DWORD dwEffect);
3426 
3427     END_INTERFACE
3428 } IDropSourceVtbl;
3429 
3430 interface IDropSource {
3431     CONST_VTBL IDropSourceVtbl* lpVtbl;
3432 };
3433 
3434 #ifdef COBJMACROS
3435 #ifndef WIDL_C_INLINE_WRAPPERS
3436 /*** IUnknown methods ***/
3437 #define IDropSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3438 #define IDropSource_AddRef(This) (This)->lpVtbl->AddRef(This)
3439 #define IDropSource_Release(This) (This)->lpVtbl->Release(This)
3440 /*** IDropSource methods ***/
3441 #define IDropSource_QueryContinueDrag(This,fEscapePressed,grfKeyState) (This)->lpVtbl->QueryContinueDrag(This,fEscapePressed,grfKeyState)
3442 #define IDropSource_GiveFeedback(This,dwEffect) (This)->lpVtbl->GiveFeedback(This,dwEffect)
3443 #else
3444 /*** IUnknown methods ***/
3445 static FORCEINLINE HRESULT IDropSource_QueryInterface(IDropSource* This,REFIID riid,void **ppvObject) {
3446     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3447 }
3448 static FORCEINLINE ULONG IDropSource_AddRef(IDropSource* This) {
3449     return This->lpVtbl->AddRef(This);
3450 }
3451 static FORCEINLINE ULONG IDropSource_Release(IDropSource* This) {
3452     return This->lpVtbl->Release(This);
3453 }
3454 /*** IDropSource methods ***/
3455 static FORCEINLINE HRESULT IDropSource_QueryContinueDrag(IDropSource* This,WINBOOL fEscapePressed,DWORD grfKeyState) {
3456     return This->lpVtbl->QueryContinueDrag(This,fEscapePressed,grfKeyState);
3457 }
3458 static FORCEINLINE HRESULT IDropSource_GiveFeedback(IDropSource* This,DWORD dwEffect) {
3459     return This->lpVtbl->GiveFeedback(This,dwEffect);
3460 }
3461 #endif
3462 #endif
3463 
3464 #endif
3465 
3466 
3467 #endif  /* __IDropSource_INTERFACE_DEFINED__ */
3468 
3469 
3470 /*****************************************************************************
3471  * IDropTarget interface
3472  */
3473 #ifndef __IDropTarget_INTERFACE_DEFINED__
3474 #define __IDropTarget_INTERFACE_DEFINED__
3475 
3476 typedef IDropTarget *LPDROPTARGET;
3477 
3478 #define MK_ALT (0x20)
3479 
3480 #define DROPEFFECT_NONE (0)
3481 
3482 #define DROPEFFECT_COPY (1)
3483 
3484 #define DROPEFFECT_MOVE (2)
3485 
3486 #define DROPEFFECT_LINK (4)
3487 
3488 #define DROPEFFECT_SCROLL (0x80000000)
3489 
3490 
3491 #define DD_DEFSCROLLINSET (11)
3492 
3493 
3494 #define DD_DEFSCROLLDELAY (50)
3495 
3496 
3497 #define DD_DEFSCROLLINTERVAL (50)
3498 
3499 
3500 #define DD_DEFDRAGDELAY (200)
3501 
3502 
3503 #define DD_DEFDRAGMINDIST (2)
3504 
3505 
3506 DEFINE_GUID(IID_IDropTarget, 0x00000122, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3507 #if defined(__cplusplus) && !defined(CINTERFACE)
3508 MIDL_INTERFACE("00000122-0000-0000-c000-000000000046")
3509 IDropTarget : public IUnknown
3510 {
3511     virtual HRESULT STDMETHODCALLTYPE DragEnter(
3512         IDataObject *pDataObj,
3513         DWORD grfKeyState,
3514         POINTL pt,
3515         DWORD *pdwEffect) = 0;
3516 
3517     virtual HRESULT STDMETHODCALLTYPE DragOver(
3518         DWORD grfKeyState,
3519         POINTL pt,
3520         DWORD *pdwEffect) = 0;
3521 
3522     virtual HRESULT STDMETHODCALLTYPE DragLeave(
3523         ) = 0;
3524 
3525     virtual HRESULT STDMETHODCALLTYPE Drop(
3526         IDataObject *pDataObj,
3527         DWORD grfKeyState,
3528         POINTL pt,
3529         DWORD *pdwEffect) = 0;
3530 
3531 };
3532 #ifdef __CRT_UUID_DECL
3533 __CRT_UUID_DECL(IDropTarget, 0x00000122, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3534 #endif
3535 #else
3536 typedef struct IDropTargetVtbl {
3537     BEGIN_INTERFACE
3538 
3539     /*** IUnknown methods ***/
3540     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3541         IDropTarget *This,
3542         REFIID riid,
3543         void **ppvObject);
3544 
3545     ULONG (STDMETHODCALLTYPE *AddRef)(
3546         IDropTarget *This);
3547 
3548     ULONG (STDMETHODCALLTYPE *Release)(
3549         IDropTarget *This);
3550 
3551     /*** IDropTarget methods ***/
3552     HRESULT (STDMETHODCALLTYPE *DragEnter)(
3553         IDropTarget *This,
3554         IDataObject *pDataObj,
3555         DWORD grfKeyState,
3556         POINTL pt,
3557         DWORD *pdwEffect);
3558 
3559     HRESULT (STDMETHODCALLTYPE *DragOver)(
3560         IDropTarget *This,
3561         DWORD grfKeyState,
3562         POINTL pt,
3563         DWORD *pdwEffect);
3564 
3565     HRESULT (STDMETHODCALLTYPE *DragLeave)(
3566         IDropTarget *This);
3567 
3568     HRESULT (STDMETHODCALLTYPE *Drop)(
3569         IDropTarget *This,
3570         IDataObject *pDataObj,
3571         DWORD grfKeyState,
3572         POINTL pt,
3573         DWORD *pdwEffect);
3574 
3575     END_INTERFACE
3576 } IDropTargetVtbl;
3577 
3578 interface IDropTarget {
3579     CONST_VTBL IDropTargetVtbl* lpVtbl;
3580 };
3581 
3582 #ifdef COBJMACROS
3583 #ifndef WIDL_C_INLINE_WRAPPERS
3584 /*** IUnknown methods ***/
3585 #define IDropTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3586 #define IDropTarget_AddRef(This) (This)->lpVtbl->AddRef(This)
3587 #define IDropTarget_Release(This) (This)->lpVtbl->Release(This)
3588 /*** IDropTarget methods ***/
3589 #define IDropTarget_DragEnter(This,pDataObj,grfKeyState,pt,pdwEffect) (This)->lpVtbl->DragEnter(This,pDataObj,grfKeyState,pt,pdwEffect)
3590 #define IDropTarget_DragOver(This,grfKeyState,pt,pdwEffect) (This)->lpVtbl->DragOver(This,grfKeyState,pt,pdwEffect)
3591 #define IDropTarget_DragLeave(This) (This)->lpVtbl->DragLeave(This)
3592 #define IDropTarget_Drop(This,pDataObj,grfKeyState,pt,pdwEffect) (This)->lpVtbl->Drop(This,pDataObj,grfKeyState,pt,pdwEffect)
3593 #else
3594 /*** IUnknown methods ***/
3595 static FORCEINLINE HRESULT IDropTarget_QueryInterface(IDropTarget* This,REFIID riid,void **ppvObject) {
3596     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3597 }
3598 static FORCEINLINE ULONG IDropTarget_AddRef(IDropTarget* This) {
3599     return This->lpVtbl->AddRef(This);
3600 }
3601 static FORCEINLINE ULONG IDropTarget_Release(IDropTarget* This) {
3602     return This->lpVtbl->Release(This);
3603 }
3604 /*** IDropTarget methods ***/
3605 static FORCEINLINE HRESULT IDropTarget_DragEnter(IDropTarget* This,IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect) {
3606     return This->lpVtbl->DragEnter(This,pDataObj,grfKeyState,pt,pdwEffect);
3607 }
3608 static FORCEINLINE HRESULT IDropTarget_DragOver(IDropTarget* This,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect) {
3609     return This->lpVtbl->DragOver(This,grfKeyState,pt,pdwEffect);
3610 }
3611 static FORCEINLINE HRESULT IDropTarget_DragLeave(IDropTarget* This) {
3612     return This->lpVtbl->DragLeave(This);
3613 }
3614 static FORCEINLINE HRESULT IDropTarget_Drop(IDropTarget* This,IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect) {
3615     return This->lpVtbl->Drop(This,pDataObj,grfKeyState,pt,pdwEffect);
3616 }
3617 #endif
3618 #endif
3619 
3620 #endif
3621 
3622 
3623 #endif  /* __IDropTarget_INTERFACE_DEFINED__ */
3624 
3625 
3626 /*****************************************************************************
3627  * IDropSourceNotify interface
3628  */
3629 #ifndef __IDropSourceNotify_INTERFACE_DEFINED__
3630 #define __IDropSourceNotify_INTERFACE_DEFINED__
3631 
3632 DEFINE_GUID(IID_IDropSourceNotify, 0x0000012b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3633 #if defined(__cplusplus) && !defined(CINTERFACE)
3634 MIDL_INTERFACE("0000012b-0000-0000-c000-000000000046")
3635 IDropSourceNotify : public IUnknown
3636 {
3637     virtual HRESULT STDMETHODCALLTYPE DragEnterTarget(
3638         HWND hwndTarget) = 0;
3639 
3640     virtual HRESULT STDMETHODCALLTYPE DragLeaveTarget(
3641         ) = 0;
3642 
3643 };
3644 #ifdef __CRT_UUID_DECL
3645 __CRT_UUID_DECL(IDropSourceNotify, 0x0000012b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3646 #endif
3647 #else
3648 typedef struct IDropSourceNotifyVtbl {
3649     BEGIN_INTERFACE
3650 
3651     /*** IUnknown methods ***/
3652     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3653         IDropSourceNotify *This,
3654         REFIID riid,
3655         void **ppvObject);
3656 
3657     ULONG (STDMETHODCALLTYPE *AddRef)(
3658         IDropSourceNotify *This);
3659 
3660     ULONG (STDMETHODCALLTYPE *Release)(
3661         IDropSourceNotify *This);
3662 
3663     /*** IDropSourceNotify methods ***/
3664     HRESULT (STDMETHODCALLTYPE *DragEnterTarget)(
3665         IDropSourceNotify *This,
3666         HWND hwndTarget);
3667 
3668     HRESULT (STDMETHODCALLTYPE *DragLeaveTarget)(
3669         IDropSourceNotify *This);
3670 
3671     END_INTERFACE
3672 } IDropSourceNotifyVtbl;
3673 
3674 interface IDropSourceNotify {
3675     CONST_VTBL IDropSourceNotifyVtbl* lpVtbl;
3676 };
3677 
3678 #ifdef COBJMACROS
3679 #ifndef WIDL_C_INLINE_WRAPPERS
3680 /*** IUnknown methods ***/
3681 #define IDropSourceNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3682 #define IDropSourceNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
3683 #define IDropSourceNotify_Release(This) (This)->lpVtbl->Release(This)
3684 /*** IDropSourceNotify methods ***/
3685 #define IDropSourceNotify_DragEnterTarget(This,hwndTarget) (This)->lpVtbl->DragEnterTarget(This,hwndTarget)
3686 #define IDropSourceNotify_DragLeaveTarget(This) (This)->lpVtbl->DragLeaveTarget(This)
3687 #else
3688 /*** IUnknown methods ***/
3689 static FORCEINLINE HRESULT IDropSourceNotify_QueryInterface(IDropSourceNotify* This,REFIID riid,void **ppvObject) {
3690     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3691 }
3692 static FORCEINLINE ULONG IDropSourceNotify_AddRef(IDropSourceNotify* This) {
3693     return This->lpVtbl->AddRef(This);
3694 }
3695 static FORCEINLINE ULONG IDropSourceNotify_Release(IDropSourceNotify* This) {
3696     return This->lpVtbl->Release(This);
3697 }
3698 /*** IDropSourceNotify methods ***/
3699 static FORCEINLINE HRESULT IDropSourceNotify_DragEnterTarget(IDropSourceNotify* This,HWND hwndTarget) {
3700     return This->lpVtbl->DragEnterTarget(This,hwndTarget);
3701 }
3702 static FORCEINLINE HRESULT IDropSourceNotify_DragLeaveTarget(IDropSourceNotify* This) {
3703     return This->lpVtbl->DragLeaveTarget(This);
3704 }
3705 #endif
3706 #endif
3707 
3708 #endif
3709 
3710 
3711 #endif  /* __IDropSourceNotify_INTERFACE_DEFINED__ */
3712 
3713 #endif
3714 
3715 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
3716 /*****************************************************************************
3717  * IEnumOLEVERB interface
3718  */
3719 #ifndef __IEnumOLEVERB_INTERFACE_DEFINED__
3720 #define __IEnumOLEVERB_INTERFACE_DEFINED__
3721 
3722 typedef IEnumOLEVERB *LPENUMOLEVERB;
3723 
3724 typedef struct tagOLEVERB {
3725     LONG lVerb;
3726     LPOLESTR lpszVerbName;
3727     DWORD fuFlags;
3728     DWORD grfAttribs;
3729 } OLEVERB;
3730 typedef struct tagOLEVERB *LPOLEVERB;
3731 
3732 typedef enum tagOLEVERBATTRIB {
3733     OLEVERBATTRIB_NEVERDIRTIES = 1,
3734     OLEVERBATTRIB_ONCONTAINERMENU = 2
3735 } OLEVERBATTRIB;
3736 
3737 DEFINE_GUID(IID_IEnumOLEVERB, 0x00000104, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3738 #if defined(__cplusplus) && !defined(CINTERFACE)
3739 MIDL_INTERFACE("00000104-0000-0000-c000-000000000046")
3740 IEnumOLEVERB : public IUnknown
3741 {
3742     virtual HRESULT STDMETHODCALLTYPE Next(
3743         ULONG celt,
3744         LPOLEVERB rgelt,
3745         ULONG *pceltFetched) = 0;
3746 
3747     virtual HRESULT STDMETHODCALLTYPE Skip(
3748         ULONG celt) = 0;
3749 
3750     virtual HRESULT STDMETHODCALLTYPE Reset(
3751         ) = 0;
3752 
3753     virtual HRESULT STDMETHODCALLTYPE Clone(
3754         IEnumOLEVERB **ppenum) = 0;
3755 
3756 };
3757 #ifdef __CRT_UUID_DECL
3758 __CRT_UUID_DECL(IEnumOLEVERB, 0x00000104, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
3759 #endif
3760 #else
3761 typedef struct IEnumOLEVERBVtbl {
3762     BEGIN_INTERFACE
3763 
3764     /*** IUnknown methods ***/
3765     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3766         IEnumOLEVERB *This,
3767         REFIID riid,
3768         void **ppvObject);
3769 
3770     ULONG (STDMETHODCALLTYPE *AddRef)(
3771         IEnumOLEVERB *This);
3772 
3773     ULONG (STDMETHODCALLTYPE *Release)(
3774         IEnumOLEVERB *This);
3775 
3776     /*** IEnumOLEVERB methods ***/
3777     HRESULT (STDMETHODCALLTYPE *Next)(
3778         IEnumOLEVERB *This,
3779         ULONG celt,
3780         LPOLEVERB rgelt,
3781         ULONG *pceltFetched);
3782 
3783     HRESULT (STDMETHODCALLTYPE *Skip)(
3784         IEnumOLEVERB *This,
3785         ULONG celt);
3786 
3787     HRESULT (STDMETHODCALLTYPE *Reset)(
3788         IEnumOLEVERB *This);
3789 
3790     HRESULT (STDMETHODCALLTYPE *Clone)(
3791         IEnumOLEVERB *This,
3792         IEnumOLEVERB **ppenum);
3793 
3794     END_INTERFACE
3795 } IEnumOLEVERBVtbl;
3796 
3797 interface IEnumOLEVERB {
3798     CONST_VTBL IEnumOLEVERBVtbl* lpVtbl;
3799 };
3800 
3801 #ifdef COBJMACROS
3802 #ifndef WIDL_C_INLINE_WRAPPERS
3803 /*** IUnknown methods ***/
3804 #define IEnumOLEVERB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3805 #define IEnumOLEVERB_AddRef(This) (This)->lpVtbl->AddRef(This)
3806 #define IEnumOLEVERB_Release(This) (This)->lpVtbl->Release(This)
3807 /*** IEnumOLEVERB methods ***/
3808 #define IEnumOLEVERB_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
3809 #define IEnumOLEVERB_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
3810 #define IEnumOLEVERB_Reset(This) (This)->lpVtbl->Reset(This)
3811 #define IEnumOLEVERB_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
3812 #else
3813 /*** IUnknown methods ***/
3814 static FORCEINLINE HRESULT IEnumOLEVERB_QueryInterface(IEnumOLEVERB* This,REFIID riid,void **ppvObject) {
3815     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3816 }
3817 static FORCEINLINE ULONG IEnumOLEVERB_AddRef(IEnumOLEVERB* This) {
3818     return This->lpVtbl->AddRef(This);
3819 }
3820 static FORCEINLINE ULONG IEnumOLEVERB_Release(IEnumOLEVERB* This) {
3821     return This->lpVtbl->Release(This);
3822 }
3823 /*** IEnumOLEVERB methods ***/
3824 static FORCEINLINE HRESULT IEnumOLEVERB_Next(IEnumOLEVERB* This,ULONG celt,LPOLEVERB rgelt,ULONG *pceltFetched) {
3825     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
3826 }
3827 static FORCEINLINE HRESULT IEnumOLEVERB_Skip(IEnumOLEVERB* This,ULONG celt) {
3828     return This->lpVtbl->Skip(This,celt);
3829 }
3830 static FORCEINLINE HRESULT IEnumOLEVERB_Reset(IEnumOLEVERB* This) {
3831     return This->lpVtbl->Reset(This);
3832 }
3833 static FORCEINLINE HRESULT IEnumOLEVERB_Clone(IEnumOLEVERB* This,IEnumOLEVERB **ppenum) {
3834     return This->lpVtbl->Clone(This,ppenum);
3835 }
3836 #endif
3837 #endif
3838 
3839 #endif
3840 
3841 HRESULT STDMETHODCALLTYPE IEnumOLEVERB_RemoteNext_Proxy(
3842     IEnumOLEVERB* This,
3843     ULONG celt,
3844     LPOLEVERB rgelt,
3845     ULONG *pceltFetched);
3846 void __RPC_STUB IEnumOLEVERB_RemoteNext_Stub(
3847     IRpcStubBuffer* This,
3848     IRpcChannelBuffer* pRpcChannelBuffer,
3849     PRPC_MESSAGE pRpcMessage,
3850     DWORD* pdwStubPhase);
3851 HRESULT CALLBACK IEnumOLEVERB_Next_Proxy(
3852     IEnumOLEVERB* This,
3853     ULONG celt,
3854     LPOLEVERB rgelt,
3855     ULONG *pceltFetched);
3856 HRESULT __RPC_STUB IEnumOLEVERB_Next_Stub(
3857     IEnumOLEVERB* This,
3858     ULONG celt,
3859     LPOLEVERB rgelt,
3860     ULONG *pceltFetched);
3861 
3862 #endif  /* __IEnumOLEVERB_INTERFACE_DEFINED__ */
3863 
3864 #endif
3865 /* Begin additional prototypes for all interfaces */
3866 
3867 ULONG           __RPC_USER CLIPFORMAT_UserSize     (ULONG *, ULONG, CLIPFORMAT *);
3868 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (ULONG *, unsigned char *, CLIPFORMAT *);
3869 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
3870 void            __RPC_USER CLIPFORMAT_UserFree     (ULONG *, CLIPFORMAT *);
3871 ULONG           __RPC_USER STGMEDIUM_UserSize     (ULONG *, ULONG, STGMEDIUM *);
3872 unsigned char * __RPC_USER STGMEDIUM_UserMarshal  (ULONG *, unsigned char *, STGMEDIUM *);
3873 unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
3874 void            __RPC_USER STGMEDIUM_UserFree     (ULONG *, STGMEDIUM *);
3875 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
3876 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
3877 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
3878 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
3879 ULONG           __RPC_USER HMENU_UserSize     (ULONG *, ULONG, HMENU *);
3880 unsigned char * __RPC_USER HMENU_UserMarshal  (ULONG *, unsigned char *, HMENU *);
3881 unsigned char * __RPC_USER HMENU_UserUnmarshal(ULONG *, unsigned char *, HMENU *);
3882 void            __RPC_USER HMENU_UserFree     (ULONG *, HMENU *);
3883 ULONG           __RPC_USER HGLOBAL_UserSize     (ULONG *, ULONG, HGLOBAL *);
3884 unsigned char * __RPC_USER HGLOBAL_UserMarshal  (ULONG *, unsigned char *, HGLOBAL *);
3885 unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(ULONG *, unsigned char *, HGLOBAL *);
3886 void            __RPC_USER HGLOBAL_UserFree     (ULONG *, HGLOBAL *);
3887 ULONG           __RPC_USER HACCEL_UserSize     (ULONG *, ULONG, HACCEL *);
3888 unsigned char * __RPC_USER HACCEL_UserMarshal  (ULONG *, unsigned char *, HACCEL *);
3889 unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
3890 void            __RPC_USER HACCEL_UserFree     (ULONG *, HACCEL *);
3891 ULONG           __RPC_USER HDC_UserSize     (ULONG *, ULONG, HDC *);
3892 unsigned char * __RPC_USER HDC_UserMarshal  (ULONG *, unsigned char *, HDC *);
3893 unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
3894 void            __RPC_USER HDC_UserFree     (ULONG *, HDC *);
3895 
3896 /* End additional prototypes */
3897 
3898 #ifdef __cplusplus
3899 }
3900 #endif
3901 
3902 #endif /* __oleidl_h__ */
3903