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