1 /*** Autogenerated by WIDL 1.6 from include/ocidl.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 __ocidl_h__
16 #define __ocidl_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __IEnumConnections_FWD_DEFINED__
21 #define __IEnumConnections_FWD_DEFINED__
22 typedef interface IEnumConnections IEnumConnections;
23 #endif
24 
25 #ifndef __IConnectionPoint_FWD_DEFINED__
26 #define __IConnectionPoint_FWD_DEFINED__
27 typedef interface IConnectionPoint IConnectionPoint;
28 #endif
29 
30 #ifndef __IEnumConnectionPoints_FWD_DEFINED__
31 #define __IEnumConnectionPoints_FWD_DEFINED__
32 typedef interface IEnumConnectionPoints IEnumConnectionPoints;
33 #endif
34 
35 #ifndef __IConnectionPointContainer_FWD_DEFINED__
36 #define __IConnectionPointContainer_FWD_DEFINED__
37 typedef interface IConnectionPointContainer IConnectionPointContainer;
38 #endif
39 
40 #ifndef __IClassFactory2_FWD_DEFINED__
41 #define __IClassFactory2_FWD_DEFINED__
42 typedef interface IClassFactory2 IClassFactory2;
43 #endif
44 
45 #ifndef __IProvideClassInfo_FWD_DEFINED__
46 #define __IProvideClassInfo_FWD_DEFINED__
47 typedef interface IProvideClassInfo IProvideClassInfo;
48 #endif
49 
50 #ifndef __IProvideClassInfo2_FWD_DEFINED__
51 #define __IProvideClassInfo2_FWD_DEFINED__
52 typedef interface IProvideClassInfo2 IProvideClassInfo2;
53 #endif
54 
55 #ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
56 #define __IProvideMultipleClassInfo_FWD_DEFINED__
57 typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
58 #endif
59 
60 #ifndef __IOleControl_FWD_DEFINED__
61 #define __IOleControl_FWD_DEFINED__
62 typedef interface IOleControl IOleControl;
63 #endif
64 
65 #ifndef __IOleControlSite_FWD_DEFINED__
66 #define __IOleControlSite_FWD_DEFINED__
67 typedef interface IOleControlSite IOleControlSite;
68 #endif
69 
70 #ifndef __IPropertyPage_FWD_DEFINED__
71 #define __IPropertyPage_FWD_DEFINED__
72 typedef interface IPropertyPage IPropertyPage;
73 #endif
74 
75 #ifndef __IPropertyPage2_FWD_DEFINED__
76 #define __IPropertyPage2_FWD_DEFINED__
77 typedef interface IPropertyPage2 IPropertyPage2;
78 #endif
79 
80 #ifndef __IPropertyPageSite_FWD_DEFINED__
81 #define __IPropertyPageSite_FWD_DEFINED__
82 typedef interface IPropertyPageSite IPropertyPageSite;
83 #endif
84 
85 #ifndef __IPropertyNotifySink_FWD_DEFINED__
86 #define __IPropertyNotifySink_FWD_DEFINED__
87 typedef interface IPropertyNotifySink IPropertyNotifySink;
88 #endif
89 
90 #ifndef __ISpecifyPropertyPages_FWD_DEFINED__
91 #define __ISpecifyPropertyPages_FWD_DEFINED__
92 typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
93 #endif
94 
95 #ifndef __IPersistMemory_FWD_DEFINED__
96 #define __IPersistMemory_FWD_DEFINED__
97 typedef interface IPersistMemory IPersistMemory;
98 #endif
99 
100 #ifndef __IPersistStreamInit_FWD_DEFINED__
101 #define __IPersistStreamInit_FWD_DEFINED__
102 typedef interface IPersistStreamInit IPersistStreamInit;
103 #endif
104 
105 #ifndef __IPersistPropertyBag_FWD_DEFINED__
106 #define __IPersistPropertyBag_FWD_DEFINED__
107 typedef interface IPersistPropertyBag IPersistPropertyBag;
108 #endif
109 
110 #ifndef __ISimpleFrameSite_FWD_DEFINED__
111 #define __ISimpleFrameSite_FWD_DEFINED__
112 typedef interface ISimpleFrameSite ISimpleFrameSite;
113 #endif
114 
115 #ifndef __IFont_FWD_DEFINED__
116 #define __IFont_FWD_DEFINED__
117 typedef interface IFont IFont;
118 #endif
119 
120 #ifndef __IPicture_FWD_DEFINED__
121 #define __IPicture_FWD_DEFINED__
122 typedef interface IPicture IPicture;
123 #endif
124 
125 #ifndef __IPicture2_FWD_DEFINED__
126 #define __IPicture2_FWD_DEFINED__
127 typedef interface IPicture2 IPicture2;
128 #endif
129 
130 #ifndef __IFontEventsDisp_FWD_DEFINED__
131 #define __IFontEventsDisp_FWD_DEFINED__
132 typedef interface IFontEventsDisp IFontEventsDisp;
133 #endif
134 
135 #ifndef __IFontDisp_FWD_DEFINED__
136 #define __IFontDisp_FWD_DEFINED__
137 typedef interface IFontDisp IFontDisp;
138 #endif
139 
140 #ifndef __IPictureDisp_FWD_DEFINED__
141 #define __IPictureDisp_FWD_DEFINED__
142 typedef interface IPictureDisp IPictureDisp;
143 #endif
144 
145 #ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
146 #define __IOleInPlaceObjectWindowless_FWD_DEFINED__
147 typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
148 #endif
149 
150 #ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
151 #define __IOleInPlaceSiteEx_FWD_DEFINED__
152 typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
153 #endif
154 
155 #ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
156 #define __IOleInPlaceSiteWindowless_FWD_DEFINED__
157 typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
158 #endif
159 
160 #ifndef __IViewObjectEx_FWD_DEFINED__
161 #define __IViewObjectEx_FWD_DEFINED__
162 typedef interface IViewObjectEx IViewObjectEx;
163 #endif
164 
165 #ifndef __IOleUndoUnit_FWD_DEFINED__
166 #define __IOleUndoUnit_FWD_DEFINED__
167 typedef interface IOleUndoUnit IOleUndoUnit;
168 #endif
169 
170 #ifndef __IOleParentUndoUnit_FWD_DEFINED__
171 #define __IOleParentUndoUnit_FWD_DEFINED__
172 typedef interface IOleParentUndoUnit IOleParentUndoUnit;
173 #endif
174 
175 #ifndef __IEnumOleUndoUnits_FWD_DEFINED__
176 #define __IEnumOleUndoUnits_FWD_DEFINED__
177 typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
178 #endif
179 
180 #ifndef __IOleUndoManager_FWD_DEFINED__
181 #define __IOleUndoManager_FWD_DEFINED__
182 typedef interface IOleUndoManager IOleUndoManager;
183 #endif
184 
185 #ifndef __IPointerInactive_FWD_DEFINED__
186 #define __IPointerInactive_FWD_DEFINED__
187 typedef interface IPointerInactive IPointerInactive;
188 #endif
189 
190 #ifndef __IObjectWithSite_FWD_DEFINED__
191 #define __IObjectWithSite_FWD_DEFINED__
192 typedef interface IObjectWithSite IObjectWithSite;
193 #endif
194 
195 #ifndef __IPerPropertyBrowsing_FWD_DEFINED__
196 #define __IPerPropertyBrowsing_FWD_DEFINED__
197 typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
198 #endif
199 
200 #ifndef __IPropertyBag2_FWD_DEFINED__
201 #define __IPropertyBag2_FWD_DEFINED__
202 typedef interface IPropertyBag2 IPropertyBag2;
203 #endif
204 
205 #ifndef __IPersistPropertyBag2_FWD_DEFINED__
206 #define __IPersistPropertyBag2_FWD_DEFINED__
207 typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
208 #endif
209 
210 #ifndef __IAdviseSinkEx_FWD_DEFINED__
211 #define __IAdviseSinkEx_FWD_DEFINED__
212 typedef interface IAdviseSinkEx IAdviseSinkEx;
213 #endif
214 
215 #ifndef __IQuickActivate_FWD_DEFINED__
216 #define __IQuickActivate_FWD_DEFINED__
217 typedef interface IQuickActivate IQuickActivate;
218 #endif
219 
220 /* Headers for imported files */
221 
222 #include <oleidl.h>
223 #include <oaidl.h>
224 #include <oleidl.h>
225 #include <servprov.h>
226 #include <urlmon.h>
227 
228 #ifdef __cplusplus
229 extern "C" {
230 #endif
231 
232 /**
233  * This file is part of the mingw-w64 runtime package.
234  * No warranty is given; refer to the file DISCLAIMER within this package.
235  */
236 
237 #include <winapifamily.h>
238 
239 
240 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
241 #ifndef __IEnumConnections_FWD_DEFINED__
242 #define __IEnumConnections_FWD_DEFINED__
243 typedef interface IEnumConnections IEnumConnections;
244 #endif
245 
246 #ifndef __IEnumConnectionPoints_FWD_DEFINED__
247 #define __IEnumConnectionPoints_FWD_DEFINED__
248 typedef interface IEnumConnectionPoints IEnumConnectionPoints;
249 #endif
250 
251 #ifndef __IConnectionPoint_FWD_DEFINED__
252 #define __IConnectionPoint_FWD_DEFINED__
253 typedef interface IConnectionPoint IConnectionPoint;
254 #endif
255 
256 #ifndef __IConnectionPointContainer_FWD_DEFINED__
257 #define __IConnectionPointContainer_FWD_DEFINED__
258 typedef interface IConnectionPointContainer IConnectionPointContainer;
259 #endif
260 
261 #endif
262 
263 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
264 #ifndef __IBindHost_FWD_DEFINED__
265 #define __IBindHost_FWD_DEFINED__
266 typedef interface IBindHost IBindHost;
267 #endif
268 
269 #ifndef __IClassFactory2_FWD_DEFINED__
270 #define __IClassFactory2_FWD_DEFINED__
271 typedef interface IClassFactory2 IClassFactory2;
272 #endif
273 
274 #ifndef __IDropTarget_FWD_DEFINED__
275 #define __IDropTarget_FWD_DEFINED__
276 typedef interface IDropTarget IDropTarget;
277 #endif
278 
279 #ifndef __IProvideClassInfo_FWD_DEFINED__
280 #define __IProvideClassInfo_FWD_DEFINED__
281 typedef interface IProvideClassInfo IProvideClassInfo;
282 #endif
283 
284 #ifndef __IProvideClassInfo2_FWD_DEFINED__
285 #define __IProvideClassInfo2_FWD_DEFINED__
286 typedef interface IProvideClassInfo2 IProvideClassInfo2;
287 #endif
288 
289 #ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
290 #define __IProvideMultipleClassInfo_FWD_DEFINED__
291 typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
292 #endif
293 
294 #ifndef __IOleClientSite_FWD_DEFINED__
295 #define __IOleClientSite_FWD_DEFINED__
296 typedef interface IOleClientSite IOleClientSite;
297 #endif
298 
299 #ifndef __IOleControl_FWD_DEFINED__
300 #define __IOleControl_FWD_DEFINED__
301 typedef interface IOleControl IOleControl;
302 #endif
303 
304 #ifndef __IOleControlSite_FWD_DEFINED__
305 #define __IOleControlSite_FWD_DEFINED__
306 typedef interface IOleControlSite IOleControlSite;
307 #endif
308 
309 #ifndef __IPropertyPage_FWD_DEFINED__
310 #define __IPropertyPage_FWD_DEFINED__
311 typedef interface IPropertyPage IPropertyPage;
312 #endif
313 
314 #ifndef __IPropertyPage2_FWD_DEFINED__
315 #define __IPropertyPage2_FWD_DEFINED__
316 typedef interface IPropertyPage2 IPropertyPage2;
317 #endif
318 
319 #ifndef __IPropertyPageSite_FWD_DEFINED__
320 #define __IPropertyPageSite_FWD_DEFINED__
321 typedef interface IPropertyPageSite IPropertyPageSite;
322 #endif
323 
324 #ifndef __IPropertyNotifySink_FWD_DEFINED__
325 #define __IPropertyNotifySink_FWD_DEFINED__
326 typedef interface IPropertyNotifySink IPropertyNotifySink;
327 #endif
328 
329 #ifndef __ISpecifyPropertyPages_FWD_DEFINED__
330 #define __ISpecifyPropertyPages_FWD_DEFINED__
331 typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
332 #endif
333 
334 #ifndef __IPersistMemory_FWD_DEFINED__
335 #define __IPersistMemory_FWD_DEFINED__
336 typedef interface IPersistMemory IPersistMemory;
337 #endif
338 
339 #ifndef __IPersistStreamInit_FWD_DEFINED__
340 #define __IPersistStreamInit_FWD_DEFINED__
341 typedef interface IPersistStreamInit IPersistStreamInit;
342 #endif
343 
344 #ifndef __IPersistPropertyBag_FWD_DEFINED__
345 #define __IPersistPropertyBag_FWD_DEFINED__
346 typedef interface IPersistPropertyBag IPersistPropertyBag;
347 #endif
348 
349 #ifndef __ISimpleFrameSite_FWD_DEFINED__
350 #define __ISimpleFrameSite_FWD_DEFINED__
351 typedef interface ISimpleFrameSite ISimpleFrameSite;
352 #endif
353 
354 #ifndef __IFont_FWD_DEFINED__
355 #define __IFont_FWD_DEFINED__
356 typedef interface IFont IFont;
357 #endif
358 
359 #ifndef __IPicture_FWD_DEFINED__
360 #define __IPicture_FWD_DEFINED__
361 typedef interface IPicture IPicture;
362 #endif
363 
364 #ifndef __IFontEventsDisp_FWD_DEFINED__
365 #define __IFontEventsDisp_FWD_DEFINED__
366 typedef interface IFontEventsDisp IFontEventsDisp;
367 #endif
368 
369 #ifndef __IFontDisp_FWD_DEFINED__
370 #define __IFontDisp_FWD_DEFINED__
371 typedef interface IFontDisp IFontDisp;
372 #endif
373 
374 #ifndef __IPictureDisp_FWD_DEFINED__
375 #define __IPictureDisp_FWD_DEFINED__
376 typedef interface IPictureDisp IPictureDisp;
377 #endif
378 
379 #ifndef __IAdviseSinkEx_FWD_DEFINED__
380 #define __IAdviseSinkEx_FWD_DEFINED__
381 typedef interface IAdviseSinkEx IAdviseSinkEx;
382 #endif
383 
384 #ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
385 #define __IOleInPlaceObjectWindowless_FWD_DEFINED__
386 typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
387 #endif
388 
389 #ifndef __IOleInPlaceSite_FWD_DEFINED__
390 #define __IOleInPlaceSite_FWD_DEFINED__
391 typedef interface IOleInPlaceSite IOleInPlaceSite;
392 #endif
393 
394 #ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
395 #define __IOleInPlaceSiteEx_FWD_DEFINED__
396 typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
397 #endif
398 
399 #ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
400 #define __IOleInPlaceSiteWindowless_FWD_DEFINED__
401 typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
402 #endif
403 
404 #ifndef __IViewObject2_FWD_DEFINED__
405 #define __IViewObject2_FWD_DEFINED__
406 typedef interface IViewObject2 IViewObject2;
407 #endif
408 
409 #ifndef __IViewObjectEx_FWD_DEFINED__
410 #define __IViewObjectEx_FWD_DEFINED__
411 typedef interface IViewObjectEx IViewObjectEx;
412 #endif
413 
414 #ifndef __IOleUndoUnit_FWD_DEFINED__
415 #define __IOleUndoUnit_FWD_DEFINED__
416 typedef interface IOleUndoUnit IOleUndoUnit;
417 #endif
418 
419 #ifndef __IOleParentUndoUnit_FWD_DEFINED__
420 #define __IOleParentUndoUnit_FWD_DEFINED__
421 typedef interface IOleParentUndoUnit IOleParentUndoUnit;
422 #endif
423 
424 #ifndef __IEnumOleUndoUnits_FWD_DEFINED__
425 #define __IEnumOleUndoUnits_FWD_DEFINED__
426 typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
427 #endif
428 
429 #ifndef __IOleUndoManager_FWD_DEFINED__
430 #define __IOleUndoManager_FWD_DEFINED__
431 typedef interface IOleUndoManager IOleUndoManager;
432 #endif
433 
434 #ifndef __IPointerInactive_FWD_DEFINED__
435 #define __IPointerInactive_FWD_DEFINED__
436 typedef interface IPointerInactive IPointerInactive;
437 #endif
438 
439 #ifndef __IObjectWithSite_FWD_DEFINED__
440 #define __IObjectWithSite_FWD_DEFINED__
441 typedef interface IObjectWithSite IObjectWithSite;
442 #endif
443 
444 #ifndef __IErrorLog_FWD_DEFINED__
445 #define __IErrorLog_FWD_DEFINED__
446 typedef interface IErrorLog IErrorLog;
447 #endif
448 
449 #ifndef __IPropertyBag_FWD_DEFINED__
450 #define __IPropertyBag_FWD_DEFINED__
451 typedef interface IPropertyBag IPropertyBag;
452 #endif
453 
454 #ifndef __IPerPropertyBrowsing_FWD_DEFINED__
455 #define __IPerPropertyBrowsing_FWD_DEFINED__
456 typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
457 #endif
458 
459 #ifndef __IPropertyBag2_FWD_DEFINED__
460 #define __IPropertyBag2_FWD_DEFINED__
461 typedef interface IPropertyBag2 IPropertyBag2;
462 #endif
463 
464 #ifndef __IPersistPropertyBag2_FWD_DEFINED__
465 #define __IPersistPropertyBag2_FWD_DEFINED__
466 typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
467 #endif
468 
469 #ifndef __IQuickActivate_FWD_DEFINED__
470 #define __IQuickActivate_FWD_DEFINED__
471 typedef interface IQuickActivate IQuickActivate;
472 #endif
473 
474 #endif
475 
476 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
477 /*****************************************************************************
478  * IOleControlTypes interface (v1.0)
479  */
480 #ifndef __IOleControlTypes_INTERFACE_DEFINED__
481 #define __IOleControlTypes_INTERFACE_DEFINED__
482 
483 extern RPC_IF_HANDLE IOleControlTypes_v1_0_c_ifspec;
484 extern RPC_IF_HANDLE IOleControlTypes_v1_0_s_ifspec;
485 typedef enum tagUASFLAGS {
486     UAS_NORMAL = 0x0,
487     UAS_BLOCKED = 0x1,
488     UAS_NOPARENTENABLE = 0x2,
489     UAS_MASK = 0x3
490 } UASFLAGS;
491 
492 typedef enum tagREADYSTATE {
493     READYSTATE_UNINITIALIZED = 0,
494     READYSTATE_LOADING = 1,
495     READYSTATE_LOADED = 2,
496     READYSTATE_INTERACTIVE = 3,
497     READYSTATE_COMPLETE = 4
498 } READYSTATE;
499 
500 #endif  /* __IOleControlTypes_INTERFACE_DEFINED__ */
501 
502 #endif
503 
504 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
505 /*****************************************************************************
506  * IEnumConnections interface
507  */
508 #ifndef __IEnumConnections_INTERFACE_DEFINED__
509 #define __IEnumConnections_INTERFACE_DEFINED__
510 
511 typedef IEnumConnections *PENUMCONNECTIONS;
512 typedef IEnumConnections *LPENUMCONNECTIONS;
513 typedef struct tagCONNECTDATA {
514     IUnknown *pUnk;
515     DWORD dwCookie;
516 } CONNECTDATA;
517 
518 typedef struct tagCONNECTDATA *PCONNECTDATA;
519 typedef struct tagCONNECTDATA *LPCONNECTDATA;
520 
521 DEFINE_GUID(IID_IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
522 #if defined(__cplusplus) && !defined(CINTERFACE)
523 MIDL_INTERFACE("b196b287-bab4-101a-b69c-00aa00341d07")
524 IEnumConnections : public IUnknown
525 {
526     virtual HRESULT STDMETHODCALLTYPE Next(
527         ULONG cConnections,
528         LPCONNECTDATA rgcd,
529         ULONG *pcFetched) = 0;
530 
531     virtual HRESULT STDMETHODCALLTYPE Skip(
532         ULONG cConnections) = 0;
533 
534     virtual HRESULT STDMETHODCALLTYPE Reset(
535         ) = 0;
536 
537     virtual HRESULT STDMETHODCALLTYPE Clone(
538         IEnumConnections **ppEnum) = 0;
539 
540 };
541 #ifdef __CRT_UUID_DECL
542 __CRT_UUID_DECL(IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
543 #endif
544 #else
545 typedef struct IEnumConnectionsVtbl {
546     BEGIN_INTERFACE
547 
548     /*** IUnknown methods ***/
549     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
550         IEnumConnections* This,
551         REFIID riid,
552         void **ppvObject);
553 
554     ULONG (STDMETHODCALLTYPE *AddRef)(
555         IEnumConnections* This);
556 
557     ULONG (STDMETHODCALLTYPE *Release)(
558         IEnumConnections* This);
559 
560     /*** IEnumConnections methods ***/
561     HRESULT (STDMETHODCALLTYPE *Next)(
562         IEnumConnections* This,
563         ULONG cConnections,
564         LPCONNECTDATA rgcd,
565         ULONG *pcFetched);
566 
567     HRESULT (STDMETHODCALLTYPE *Skip)(
568         IEnumConnections* This,
569         ULONG cConnections);
570 
571     HRESULT (STDMETHODCALLTYPE *Reset)(
572         IEnumConnections* This);
573 
574     HRESULT (STDMETHODCALLTYPE *Clone)(
575         IEnumConnections* This,
576         IEnumConnections **ppEnum);
577 
578     END_INTERFACE
579 } IEnumConnectionsVtbl;
580 interface IEnumConnections {
581     CONST_VTBL IEnumConnectionsVtbl* lpVtbl;
582 };
583 
584 #ifdef COBJMACROS
585 #ifndef WIDL_C_INLINE_WRAPPERS
586 /*** IUnknown methods ***/
587 #define IEnumConnections_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
588 #define IEnumConnections_AddRef(This) (This)->lpVtbl->AddRef(This)
589 #define IEnumConnections_Release(This) (This)->lpVtbl->Release(This)
590 /*** IEnumConnections methods ***/
591 #define IEnumConnections_Next(This,cConnections,rgcd,pcFetched) (This)->lpVtbl->Next(This,cConnections,rgcd,pcFetched)
592 #define IEnumConnections_Skip(This,cConnections) (This)->lpVtbl->Skip(This,cConnections)
593 #define IEnumConnections_Reset(This) (This)->lpVtbl->Reset(This)
594 #define IEnumConnections_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
595 #else
596 /*** IUnknown methods ***/
597 static FORCEINLINE HRESULT IEnumConnections_QueryInterface(IEnumConnections* This,REFIID riid,void **ppvObject) {
598     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
599 }
600 static FORCEINLINE ULONG IEnumConnections_AddRef(IEnumConnections* This) {
601     return This->lpVtbl->AddRef(This);
602 }
603 static FORCEINLINE ULONG IEnumConnections_Release(IEnumConnections* This) {
604     return This->lpVtbl->Release(This);
605 }
606 /*** IEnumConnections methods ***/
607 static FORCEINLINE HRESULT IEnumConnections_Next(IEnumConnections* This,ULONG cConnections,LPCONNECTDATA rgcd,ULONG *pcFetched) {
608     return This->lpVtbl->Next(This,cConnections,rgcd,pcFetched);
609 }
610 static FORCEINLINE HRESULT IEnumConnections_Skip(IEnumConnections* This,ULONG cConnections) {
611     return This->lpVtbl->Skip(This,cConnections);
612 }
613 static FORCEINLINE HRESULT IEnumConnections_Reset(IEnumConnections* This) {
614     return This->lpVtbl->Reset(This);
615 }
616 static FORCEINLINE HRESULT IEnumConnections_Clone(IEnumConnections* This,IEnumConnections **ppEnum) {
617     return This->lpVtbl->Clone(This,ppEnum);
618 }
619 #endif
620 #endif
621 
622 #endif
623 
624 HRESULT STDMETHODCALLTYPE IEnumConnections_RemoteNext_Proxy(
625     IEnumConnections* This,
626     ULONG cConnections,
627     LPCONNECTDATA rgcd,
628     ULONG *pcFetched);
629 void __RPC_STUB IEnumConnections_RemoteNext_Stub(
630     IRpcStubBuffer* This,
631     IRpcChannelBuffer* pRpcChannelBuffer,
632     PRPC_MESSAGE pRpcMessage,
633     DWORD* pdwStubPhase);
634 HRESULT STDMETHODCALLTYPE IEnumConnections_Skip_Proxy(
635     IEnumConnections* This,
636     ULONG cConnections);
637 void __RPC_STUB IEnumConnections_Skip_Stub(
638     IRpcStubBuffer* This,
639     IRpcChannelBuffer* pRpcChannelBuffer,
640     PRPC_MESSAGE pRpcMessage,
641     DWORD* pdwStubPhase);
642 HRESULT STDMETHODCALLTYPE IEnumConnections_Reset_Proxy(
643     IEnumConnections* This);
644 void __RPC_STUB IEnumConnections_Reset_Stub(
645     IRpcStubBuffer* This,
646     IRpcChannelBuffer* pRpcChannelBuffer,
647     PRPC_MESSAGE pRpcMessage,
648     DWORD* pdwStubPhase);
649 HRESULT STDMETHODCALLTYPE IEnumConnections_Clone_Proxy(
650     IEnumConnections* This,
651     IEnumConnections **ppEnum);
652 void __RPC_STUB IEnumConnections_Clone_Stub(
653     IRpcStubBuffer* This,
654     IRpcChannelBuffer* pRpcChannelBuffer,
655     PRPC_MESSAGE pRpcMessage,
656     DWORD* pdwStubPhase);
657 HRESULT CALLBACK IEnumConnections_Next_Proxy(
658     IEnumConnections* This,
659     ULONG cConnections,
660     LPCONNECTDATA rgcd,
661     ULONG *pcFetched);
662 HRESULT __RPC_STUB IEnumConnections_Next_Stub(
663     IEnumConnections* This,
664     ULONG cConnections,
665     LPCONNECTDATA rgcd,
666     ULONG *pcFetched);
667 
668 #endif  /* __IEnumConnections_INTERFACE_DEFINED__ */
669 
670 
671 /*****************************************************************************
672  * IConnectionPoint interface
673  */
674 #ifndef __IConnectionPoint_INTERFACE_DEFINED__
675 #define __IConnectionPoint_INTERFACE_DEFINED__
676 
677 typedef IConnectionPoint *PCONNECTIONPOINT;
678 typedef IConnectionPoint *LPCONNECTIONPOINT;
679 
680 DEFINE_GUID(IID_IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
681 #if defined(__cplusplus) && !defined(CINTERFACE)
682 MIDL_INTERFACE("b196b286-bab4-101a-b69c-00aa00341d07")
683 IConnectionPoint : public IUnknown
684 {
685     virtual HRESULT STDMETHODCALLTYPE GetConnectionInterface(
686         IID *pIID) = 0;
687 
688     virtual HRESULT STDMETHODCALLTYPE GetConnectionPointContainer(
689         IConnectionPointContainer **ppCPC) = 0;
690 
691     virtual HRESULT STDMETHODCALLTYPE Advise(
692         IUnknown *pUnkSink,
693         DWORD *pdwCookie) = 0;
694 
695     virtual HRESULT STDMETHODCALLTYPE Unadvise(
696         DWORD dwCookie) = 0;
697 
698     virtual HRESULT STDMETHODCALLTYPE EnumConnections(
699         IEnumConnections **ppEnum) = 0;
700 
701 };
702 #ifdef __CRT_UUID_DECL
703 __CRT_UUID_DECL(IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
704 #endif
705 #else
706 typedef struct IConnectionPointVtbl {
707     BEGIN_INTERFACE
708 
709     /*** IUnknown methods ***/
710     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
711         IConnectionPoint* This,
712         REFIID riid,
713         void **ppvObject);
714 
715     ULONG (STDMETHODCALLTYPE *AddRef)(
716         IConnectionPoint* This);
717 
718     ULONG (STDMETHODCALLTYPE *Release)(
719         IConnectionPoint* This);
720 
721     /*** IConnectionPoint methods ***/
722     HRESULT (STDMETHODCALLTYPE *GetConnectionInterface)(
723         IConnectionPoint* This,
724         IID *pIID);
725 
726     HRESULT (STDMETHODCALLTYPE *GetConnectionPointContainer)(
727         IConnectionPoint* This,
728         IConnectionPointContainer **ppCPC);
729 
730     HRESULT (STDMETHODCALLTYPE *Advise)(
731         IConnectionPoint* This,
732         IUnknown *pUnkSink,
733         DWORD *pdwCookie);
734 
735     HRESULT (STDMETHODCALLTYPE *Unadvise)(
736         IConnectionPoint* This,
737         DWORD dwCookie);
738 
739     HRESULT (STDMETHODCALLTYPE *EnumConnections)(
740         IConnectionPoint* This,
741         IEnumConnections **ppEnum);
742 
743     END_INTERFACE
744 } IConnectionPointVtbl;
745 interface IConnectionPoint {
746     CONST_VTBL IConnectionPointVtbl* lpVtbl;
747 };
748 
749 #ifdef COBJMACROS
750 #ifndef WIDL_C_INLINE_WRAPPERS
751 /*** IUnknown methods ***/
752 #define IConnectionPoint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
753 #define IConnectionPoint_AddRef(This) (This)->lpVtbl->AddRef(This)
754 #define IConnectionPoint_Release(This) (This)->lpVtbl->Release(This)
755 /*** IConnectionPoint methods ***/
756 #define IConnectionPoint_GetConnectionInterface(This,pIID) (This)->lpVtbl->GetConnectionInterface(This,pIID)
757 #define IConnectionPoint_GetConnectionPointContainer(This,ppCPC) (This)->lpVtbl->GetConnectionPointContainer(This,ppCPC)
758 #define IConnectionPoint_Advise(This,pUnkSink,pdwCookie) (This)->lpVtbl->Advise(This,pUnkSink,pdwCookie)
759 #define IConnectionPoint_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
760 #define IConnectionPoint_EnumConnections(This,ppEnum) (This)->lpVtbl->EnumConnections(This,ppEnum)
761 #else
762 /*** IUnknown methods ***/
763 static FORCEINLINE HRESULT IConnectionPoint_QueryInterface(IConnectionPoint* This,REFIID riid,void **ppvObject) {
764     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
765 }
766 static FORCEINLINE ULONG IConnectionPoint_AddRef(IConnectionPoint* This) {
767     return This->lpVtbl->AddRef(This);
768 }
769 static FORCEINLINE ULONG IConnectionPoint_Release(IConnectionPoint* This) {
770     return This->lpVtbl->Release(This);
771 }
772 /*** IConnectionPoint methods ***/
773 static FORCEINLINE HRESULT IConnectionPoint_GetConnectionInterface(IConnectionPoint* This,IID *pIID) {
774     return This->lpVtbl->GetConnectionInterface(This,pIID);
775 }
776 static FORCEINLINE HRESULT IConnectionPoint_GetConnectionPointContainer(IConnectionPoint* This,IConnectionPointContainer **ppCPC) {
777     return This->lpVtbl->GetConnectionPointContainer(This,ppCPC);
778 }
779 static FORCEINLINE HRESULT IConnectionPoint_Advise(IConnectionPoint* This,IUnknown *pUnkSink,DWORD *pdwCookie) {
780     return This->lpVtbl->Advise(This,pUnkSink,pdwCookie);
781 }
782 static FORCEINLINE HRESULT IConnectionPoint_Unadvise(IConnectionPoint* This,DWORD dwCookie) {
783     return This->lpVtbl->Unadvise(This,dwCookie);
784 }
785 static FORCEINLINE HRESULT IConnectionPoint_EnumConnections(IConnectionPoint* This,IEnumConnections **ppEnum) {
786     return This->lpVtbl->EnumConnections(This,ppEnum);
787 }
788 #endif
789 #endif
790 
791 #endif
792 
793 HRESULT STDMETHODCALLTYPE IConnectionPoint_GetConnectionInterface_Proxy(
794     IConnectionPoint* This,
795     IID *pIID);
796 void __RPC_STUB IConnectionPoint_GetConnectionInterface_Stub(
797     IRpcStubBuffer* This,
798     IRpcChannelBuffer* pRpcChannelBuffer,
799     PRPC_MESSAGE pRpcMessage,
800     DWORD* pdwStubPhase);
801 HRESULT STDMETHODCALLTYPE IConnectionPoint_GetConnectionPointContainer_Proxy(
802     IConnectionPoint* This,
803     IConnectionPointContainer **ppCPC);
804 void __RPC_STUB IConnectionPoint_GetConnectionPointContainer_Stub(
805     IRpcStubBuffer* This,
806     IRpcChannelBuffer* pRpcChannelBuffer,
807     PRPC_MESSAGE pRpcMessage,
808     DWORD* pdwStubPhase);
809 HRESULT STDMETHODCALLTYPE IConnectionPoint_Advise_Proxy(
810     IConnectionPoint* This,
811     IUnknown *pUnkSink,
812     DWORD *pdwCookie);
813 void __RPC_STUB IConnectionPoint_Advise_Stub(
814     IRpcStubBuffer* This,
815     IRpcChannelBuffer* pRpcChannelBuffer,
816     PRPC_MESSAGE pRpcMessage,
817     DWORD* pdwStubPhase);
818 HRESULT STDMETHODCALLTYPE IConnectionPoint_Unadvise_Proxy(
819     IConnectionPoint* This,
820     DWORD dwCookie);
821 void __RPC_STUB IConnectionPoint_Unadvise_Stub(
822     IRpcStubBuffer* This,
823     IRpcChannelBuffer* pRpcChannelBuffer,
824     PRPC_MESSAGE pRpcMessage,
825     DWORD* pdwStubPhase);
826 HRESULT STDMETHODCALLTYPE IConnectionPoint_EnumConnections_Proxy(
827     IConnectionPoint* This,
828     IEnumConnections **ppEnum);
829 void __RPC_STUB IConnectionPoint_EnumConnections_Stub(
830     IRpcStubBuffer* This,
831     IRpcChannelBuffer* pRpcChannelBuffer,
832     PRPC_MESSAGE pRpcMessage,
833     DWORD* pdwStubPhase);
834 
835 #endif  /* __IConnectionPoint_INTERFACE_DEFINED__ */
836 
837 
838 /*****************************************************************************
839  * IEnumConnectionPoints interface
840  */
841 #ifndef __IEnumConnectionPoints_INTERFACE_DEFINED__
842 #define __IEnumConnectionPoints_INTERFACE_DEFINED__
843 
844 typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
845 typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
846 
847 DEFINE_GUID(IID_IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
848 #if defined(__cplusplus) && !defined(CINTERFACE)
849 MIDL_INTERFACE("b196b285-bab4-101a-b69c-00aa00341d07")
850 IEnumConnectionPoints : public IUnknown
851 {
852     virtual HRESULT STDMETHODCALLTYPE Next(
853         ULONG cConnections,
854         LPCONNECTIONPOINT *ppCP,
855         ULONG *pcFetched) = 0;
856 
857     virtual HRESULT STDMETHODCALLTYPE Skip(
858         ULONG cConnections) = 0;
859 
860     virtual HRESULT STDMETHODCALLTYPE Reset(
861         ) = 0;
862 
863     virtual HRESULT STDMETHODCALLTYPE Clone(
864         IEnumConnectionPoints **ppEnum) = 0;
865 
866 };
867 #ifdef __CRT_UUID_DECL
868 __CRT_UUID_DECL(IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
869 #endif
870 #else
871 typedef struct IEnumConnectionPointsVtbl {
872     BEGIN_INTERFACE
873 
874     /*** IUnknown methods ***/
875     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
876         IEnumConnectionPoints* This,
877         REFIID riid,
878         void **ppvObject);
879 
880     ULONG (STDMETHODCALLTYPE *AddRef)(
881         IEnumConnectionPoints* This);
882 
883     ULONG (STDMETHODCALLTYPE *Release)(
884         IEnumConnectionPoints* This);
885 
886     /*** IEnumConnectionPoints methods ***/
887     HRESULT (STDMETHODCALLTYPE *Next)(
888         IEnumConnectionPoints* This,
889         ULONG cConnections,
890         LPCONNECTIONPOINT *ppCP,
891         ULONG *pcFetched);
892 
893     HRESULT (STDMETHODCALLTYPE *Skip)(
894         IEnumConnectionPoints* This,
895         ULONG cConnections);
896 
897     HRESULT (STDMETHODCALLTYPE *Reset)(
898         IEnumConnectionPoints* This);
899 
900     HRESULT (STDMETHODCALLTYPE *Clone)(
901         IEnumConnectionPoints* This,
902         IEnumConnectionPoints **ppEnum);
903 
904     END_INTERFACE
905 } IEnumConnectionPointsVtbl;
906 interface IEnumConnectionPoints {
907     CONST_VTBL IEnumConnectionPointsVtbl* lpVtbl;
908 };
909 
910 #ifdef COBJMACROS
911 #ifndef WIDL_C_INLINE_WRAPPERS
912 /*** IUnknown methods ***/
913 #define IEnumConnectionPoints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
914 #define IEnumConnectionPoints_AddRef(This) (This)->lpVtbl->AddRef(This)
915 #define IEnumConnectionPoints_Release(This) (This)->lpVtbl->Release(This)
916 /*** IEnumConnectionPoints methods ***/
917 #define IEnumConnectionPoints_Next(This,cConnections,ppCP,pcFetched) (This)->lpVtbl->Next(This,cConnections,ppCP,pcFetched)
918 #define IEnumConnectionPoints_Skip(This,cConnections) (This)->lpVtbl->Skip(This,cConnections)
919 #define IEnumConnectionPoints_Reset(This) (This)->lpVtbl->Reset(This)
920 #define IEnumConnectionPoints_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
921 #else
922 /*** IUnknown methods ***/
923 static FORCEINLINE HRESULT IEnumConnectionPoints_QueryInterface(IEnumConnectionPoints* This,REFIID riid,void **ppvObject) {
924     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
925 }
926 static FORCEINLINE ULONG IEnumConnectionPoints_AddRef(IEnumConnectionPoints* This) {
927     return This->lpVtbl->AddRef(This);
928 }
929 static FORCEINLINE ULONG IEnumConnectionPoints_Release(IEnumConnectionPoints* This) {
930     return This->lpVtbl->Release(This);
931 }
932 /*** IEnumConnectionPoints methods ***/
933 static FORCEINLINE HRESULT IEnumConnectionPoints_Next(IEnumConnectionPoints* This,ULONG cConnections,LPCONNECTIONPOINT *ppCP,ULONG *pcFetched) {
934     return This->lpVtbl->Next(This,cConnections,ppCP,pcFetched);
935 }
936 static FORCEINLINE HRESULT IEnumConnectionPoints_Skip(IEnumConnectionPoints* This,ULONG cConnections) {
937     return This->lpVtbl->Skip(This,cConnections);
938 }
939 static FORCEINLINE HRESULT IEnumConnectionPoints_Reset(IEnumConnectionPoints* This) {
940     return This->lpVtbl->Reset(This);
941 }
942 static FORCEINLINE HRESULT IEnumConnectionPoints_Clone(IEnumConnectionPoints* This,IEnumConnectionPoints **ppEnum) {
943     return This->lpVtbl->Clone(This,ppEnum);
944 }
945 #endif
946 #endif
947 
948 #endif
949 
950 HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_RemoteNext_Proxy(
951     IEnumConnectionPoints* This,
952     ULONG cConnections,
953     LPCONNECTIONPOINT *ppCP,
954     ULONG *pcFetched);
955 void __RPC_STUB IEnumConnectionPoints_RemoteNext_Stub(
956     IRpcStubBuffer* This,
957     IRpcChannelBuffer* pRpcChannelBuffer,
958     PRPC_MESSAGE pRpcMessage,
959     DWORD* pdwStubPhase);
960 HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Skip_Proxy(
961     IEnumConnectionPoints* This,
962     ULONG cConnections);
963 void __RPC_STUB IEnumConnectionPoints_Skip_Stub(
964     IRpcStubBuffer* This,
965     IRpcChannelBuffer* pRpcChannelBuffer,
966     PRPC_MESSAGE pRpcMessage,
967     DWORD* pdwStubPhase);
968 HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Reset_Proxy(
969     IEnumConnectionPoints* This);
970 void __RPC_STUB IEnumConnectionPoints_Reset_Stub(
971     IRpcStubBuffer* This,
972     IRpcChannelBuffer* pRpcChannelBuffer,
973     PRPC_MESSAGE pRpcMessage,
974     DWORD* pdwStubPhase);
975 HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Clone_Proxy(
976     IEnumConnectionPoints* This,
977     IEnumConnectionPoints **ppEnum);
978 void __RPC_STUB IEnumConnectionPoints_Clone_Stub(
979     IRpcStubBuffer* This,
980     IRpcChannelBuffer* pRpcChannelBuffer,
981     PRPC_MESSAGE pRpcMessage,
982     DWORD* pdwStubPhase);
983 HRESULT CALLBACK IEnumConnectionPoints_Next_Proxy(
984     IEnumConnectionPoints* This,
985     ULONG cConnections,
986     LPCONNECTIONPOINT *ppCP,
987     ULONG *pcFetched);
988 HRESULT __RPC_STUB IEnumConnectionPoints_Next_Stub(
989     IEnumConnectionPoints* This,
990     ULONG cConnections,
991     LPCONNECTIONPOINT *ppCP,
992     ULONG *pcFetched);
993 
994 #endif  /* __IEnumConnectionPoints_INTERFACE_DEFINED__ */
995 
996 
997 /*****************************************************************************
998  * IConnectionPointContainer interface
999  */
1000 #ifndef __IConnectionPointContainer_INTERFACE_DEFINED__
1001 #define __IConnectionPointContainer_INTERFACE_DEFINED__
1002 
1003 typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
1004 typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
1005 
1006 DEFINE_GUID(IID_IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1007 #if defined(__cplusplus) && !defined(CINTERFACE)
1008 MIDL_INTERFACE("b196b284-bab4-101a-b69c-00aa00341d07")
1009 IConnectionPointContainer : public IUnknown
1010 {
1011     virtual HRESULT STDMETHODCALLTYPE EnumConnectionPoints(
1012         IEnumConnectionPoints **ppEnum) = 0;
1013 
1014     virtual HRESULT STDMETHODCALLTYPE FindConnectionPoint(
1015         REFIID riid,
1016         IConnectionPoint **ppCP) = 0;
1017 
1018 };
1019 #ifdef __CRT_UUID_DECL
1020 __CRT_UUID_DECL(IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1021 #endif
1022 #else
1023 typedef struct IConnectionPointContainerVtbl {
1024     BEGIN_INTERFACE
1025 
1026     /*** IUnknown methods ***/
1027     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1028         IConnectionPointContainer* This,
1029         REFIID riid,
1030         void **ppvObject);
1031 
1032     ULONG (STDMETHODCALLTYPE *AddRef)(
1033         IConnectionPointContainer* This);
1034 
1035     ULONG (STDMETHODCALLTYPE *Release)(
1036         IConnectionPointContainer* This);
1037 
1038     /*** IConnectionPointContainer methods ***/
1039     HRESULT (STDMETHODCALLTYPE *EnumConnectionPoints)(
1040         IConnectionPointContainer* This,
1041         IEnumConnectionPoints **ppEnum);
1042 
1043     HRESULT (STDMETHODCALLTYPE *FindConnectionPoint)(
1044         IConnectionPointContainer* This,
1045         REFIID riid,
1046         IConnectionPoint **ppCP);
1047 
1048     END_INTERFACE
1049 } IConnectionPointContainerVtbl;
1050 interface IConnectionPointContainer {
1051     CONST_VTBL IConnectionPointContainerVtbl* lpVtbl;
1052 };
1053 
1054 #ifdef COBJMACROS
1055 #ifndef WIDL_C_INLINE_WRAPPERS
1056 /*** IUnknown methods ***/
1057 #define IConnectionPointContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1058 #define IConnectionPointContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
1059 #define IConnectionPointContainer_Release(This) (This)->lpVtbl->Release(This)
1060 /*** IConnectionPointContainer methods ***/
1061 #define IConnectionPointContainer_EnumConnectionPoints(This,ppEnum) (This)->lpVtbl->EnumConnectionPoints(This,ppEnum)
1062 #define IConnectionPointContainer_FindConnectionPoint(This,riid,ppCP) (This)->lpVtbl->FindConnectionPoint(This,riid,ppCP)
1063 #else
1064 /*** IUnknown methods ***/
1065 static FORCEINLINE HRESULT IConnectionPointContainer_QueryInterface(IConnectionPointContainer* This,REFIID riid,void **ppvObject) {
1066     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1067 }
1068 static FORCEINLINE ULONG IConnectionPointContainer_AddRef(IConnectionPointContainer* This) {
1069     return This->lpVtbl->AddRef(This);
1070 }
1071 static FORCEINLINE ULONG IConnectionPointContainer_Release(IConnectionPointContainer* This) {
1072     return This->lpVtbl->Release(This);
1073 }
1074 /*** IConnectionPointContainer methods ***/
1075 static FORCEINLINE HRESULT IConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer* This,IEnumConnectionPoints **ppEnum) {
1076     return This->lpVtbl->EnumConnectionPoints(This,ppEnum);
1077 }
1078 static FORCEINLINE HRESULT IConnectionPointContainer_FindConnectionPoint(IConnectionPointContainer* This,REFIID riid,IConnectionPoint **ppCP) {
1079     return This->lpVtbl->FindConnectionPoint(This,riid,ppCP);
1080 }
1081 #endif
1082 #endif
1083 
1084 #endif
1085 
1086 HRESULT STDMETHODCALLTYPE IConnectionPointContainer_EnumConnectionPoints_Proxy(
1087     IConnectionPointContainer* This,
1088     IEnumConnectionPoints **ppEnum);
1089 void __RPC_STUB IConnectionPointContainer_EnumConnectionPoints_Stub(
1090     IRpcStubBuffer* This,
1091     IRpcChannelBuffer* pRpcChannelBuffer,
1092     PRPC_MESSAGE pRpcMessage,
1093     DWORD* pdwStubPhase);
1094 HRESULT STDMETHODCALLTYPE IConnectionPointContainer_FindConnectionPoint_Proxy(
1095     IConnectionPointContainer* This,
1096     REFIID riid,
1097     IConnectionPoint **ppCP);
1098 void __RPC_STUB IConnectionPointContainer_FindConnectionPoint_Stub(
1099     IRpcStubBuffer* This,
1100     IRpcChannelBuffer* pRpcChannelBuffer,
1101     PRPC_MESSAGE pRpcMessage,
1102     DWORD* pdwStubPhase);
1103 
1104 #endif  /* __IConnectionPointContainer_INTERFACE_DEFINED__ */
1105 
1106 #endif
1107 
1108 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1109 /*****************************************************************************
1110  * IClassFactory2 interface
1111  */
1112 #ifndef __IClassFactory2_INTERFACE_DEFINED__
1113 #define __IClassFactory2_INTERFACE_DEFINED__
1114 
1115 typedef IClassFactory2 *LPCLASSFACTORY2;
1116 
1117 typedef struct tagLICINFO {
1118     LONG cbLicInfo;
1119     WINBOOL fRuntimeKeyAvail;
1120     WINBOOL fLicVerified;
1121 } LICINFO;
1122 
1123 typedef struct tagLICINFO *LPLICINFO;
1124 
1125 DEFINE_GUID(IID_IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1126 #if defined(__cplusplus) && !defined(CINTERFACE)
1127 MIDL_INTERFACE("b196b28f-bab4-101a-b69c-00aa00341d07")
1128 IClassFactory2 : public IClassFactory
1129 {
1130     virtual HRESULT STDMETHODCALLTYPE GetLicInfo(
1131         LICINFO *pLicInfo) = 0;
1132 
1133     virtual HRESULT STDMETHODCALLTYPE RequestLicKey(
1134         DWORD dwReserved,
1135         BSTR *pBstrKey) = 0;
1136 
1137     virtual HRESULT STDMETHODCALLTYPE CreateInstanceLic(
1138         IUnknown *pUnkOuter,
1139         IUnknown *pUnkReserved,
1140         REFIID riid,
1141         BSTR bstrKey,
1142         PVOID *ppvObj) = 0;
1143 
1144 };
1145 #ifdef __CRT_UUID_DECL
1146 __CRT_UUID_DECL(IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1147 #endif
1148 #else
1149 typedef struct IClassFactory2Vtbl {
1150     BEGIN_INTERFACE
1151 
1152     /*** IUnknown methods ***/
1153     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1154         IClassFactory2* This,
1155         REFIID riid,
1156         void **ppvObject);
1157 
1158     ULONG (STDMETHODCALLTYPE *AddRef)(
1159         IClassFactory2* This);
1160 
1161     ULONG (STDMETHODCALLTYPE *Release)(
1162         IClassFactory2* This);
1163 
1164     /*** IClassFactory methods ***/
1165     HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1166         IClassFactory2* This,
1167         IUnknown *pUnkOuter,
1168         REFIID riid,
1169         void **ppvObject);
1170 
1171     HRESULT (STDMETHODCALLTYPE *LockServer)(
1172         IClassFactory2* This,
1173         WINBOOL fLock);
1174 
1175     /*** IClassFactory2 methods ***/
1176     HRESULT (STDMETHODCALLTYPE *GetLicInfo)(
1177         IClassFactory2* This,
1178         LICINFO *pLicInfo);
1179 
1180     HRESULT (STDMETHODCALLTYPE *RequestLicKey)(
1181         IClassFactory2* This,
1182         DWORD dwReserved,
1183         BSTR *pBstrKey);
1184 
1185     HRESULT (STDMETHODCALLTYPE *CreateInstanceLic)(
1186         IClassFactory2* This,
1187         IUnknown *pUnkOuter,
1188         IUnknown *pUnkReserved,
1189         REFIID riid,
1190         BSTR bstrKey,
1191         PVOID *ppvObj);
1192 
1193     END_INTERFACE
1194 } IClassFactory2Vtbl;
1195 interface IClassFactory2 {
1196     CONST_VTBL IClassFactory2Vtbl* lpVtbl;
1197 };
1198 
1199 #ifdef COBJMACROS
1200 #ifndef WIDL_C_INLINE_WRAPPERS
1201 /*** IUnknown methods ***/
1202 #define IClassFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1203 #define IClassFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
1204 #define IClassFactory2_Release(This) (This)->lpVtbl->Release(This)
1205 /*** IClassFactory methods ***/
1206 #define IClassFactory2_CreateInstance(This,pUnkOuter,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject)
1207 #define IClassFactory2_LockServer(This,fLock) (This)->lpVtbl->LockServer(This,fLock)
1208 /*** IClassFactory2 methods ***/
1209 #define IClassFactory2_GetLicInfo(This,pLicInfo) (This)->lpVtbl->GetLicInfo(This,pLicInfo)
1210 #define IClassFactory2_RequestLicKey(This,dwReserved,pBstrKey) (This)->lpVtbl->RequestLicKey(This,dwReserved,pBstrKey)
1211 #define IClassFactory2_CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj) (This)->lpVtbl->CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj)
1212 #else
1213 /*** IUnknown methods ***/
1214 static FORCEINLINE HRESULT IClassFactory2_QueryInterface(IClassFactory2* This,REFIID riid,void **ppvObject) {
1215     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1216 }
1217 static FORCEINLINE ULONG IClassFactory2_AddRef(IClassFactory2* This) {
1218     return This->lpVtbl->AddRef(This);
1219 }
1220 static FORCEINLINE ULONG IClassFactory2_Release(IClassFactory2* This) {
1221     return This->lpVtbl->Release(This);
1222 }
1223 /*** IClassFactory methods ***/
1224 static FORCEINLINE HRESULT IClassFactory2_CreateInstance(IClassFactory2* This,IUnknown *pUnkOuter,REFIID riid,void **ppvObject) {
1225     return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject);
1226 }
1227 static FORCEINLINE HRESULT IClassFactory2_LockServer(IClassFactory2* This,WINBOOL fLock) {
1228     return This->lpVtbl->LockServer(This,fLock);
1229 }
1230 /*** IClassFactory2 methods ***/
1231 static FORCEINLINE HRESULT IClassFactory2_GetLicInfo(IClassFactory2* This,LICINFO *pLicInfo) {
1232     return This->lpVtbl->GetLicInfo(This,pLicInfo);
1233 }
1234 static FORCEINLINE HRESULT IClassFactory2_RequestLicKey(IClassFactory2* This,DWORD dwReserved,BSTR *pBstrKey) {
1235     return This->lpVtbl->RequestLicKey(This,dwReserved,pBstrKey);
1236 }
1237 static FORCEINLINE HRESULT IClassFactory2_CreateInstanceLic(IClassFactory2* This,IUnknown *pUnkOuter,IUnknown *pUnkReserved,REFIID riid,BSTR bstrKey,PVOID *ppvObj) {
1238     return This->lpVtbl->CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj);
1239 }
1240 #endif
1241 #endif
1242 
1243 #endif
1244 
1245 HRESULT STDMETHODCALLTYPE IClassFactory2_GetLicInfo_Proxy(
1246     IClassFactory2* This,
1247     LICINFO *pLicInfo);
1248 void __RPC_STUB IClassFactory2_GetLicInfo_Stub(
1249     IRpcStubBuffer* This,
1250     IRpcChannelBuffer* pRpcChannelBuffer,
1251     PRPC_MESSAGE pRpcMessage,
1252     DWORD* pdwStubPhase);
1253 HRESULT STDMETHODCALLTYPE IClassFactory2_RequestLicKey_Proxy(
1254     IClassFactory2* This,
1255     DWORD dwReserved,
1256     BSTR *pBstrKey);
1257 void __RPC_STUB IClassFactory2_RequestLicKey_Stub(
1258     IRpcStubBuffer* This,
1259     IRpcChannelBuffer* pRpcChannelBuffer,
1260     PRPC_MESSAGE pRpcMessage,
1261     DWORD* pdwStubPhase);
1262 HRESULT STDMETHODCALLTYPE IClassFactory2_RemoteCreateInstanceLic_Proxy(
1263     IClassFactory2* This,
1264     REFIID riid,
1265     BSTR bstrKey,
1266     IUnknown **ppvObj);
1267 void __RPC_STUB IClassFactory2_RemoteCreateInstanceLic_Stub(
1268     IRpcStubBuffer* This,
1269     IRpcChannelBuffer* pRpcChannelBuffer,
1270     PRPC_MESSAGE pRpcMessage,
1271     DWORD* pdwStubPhase);
1272 HRESULT CALLBACK IClassFactory2_CreateInstanceLic_Proxy(
1273     IClassFactory2* This,
1274     IUnknown *pUnkOuter,
1275     IUnknown *pUnkReserved,
1276     REFIID riid,
1277     BSTR bstrKey,
1278     PVOID *ppvObj);
1279 HRESULT __RPC_STUB IClassFactory2_CreateInstanceLic_Stub(
1280     IClassFactory2* This,
1281     REFIID riid,
1282     BSTR bstrKey,
1283     IUnknown **ppvObj);
1284 
1285 #endif  /* __IClassFactory2_INTERFACE_DEFINED__ */
1286 
1287 
1288 /*****************************************************************************
1289  * IProvideClassInfo interface
1290  */
1291 #ifndef __IProvideClassInfo_INTERFACE_DEFINED__
1292 #define __IProvideClassInfo_INTERFACE_DEFINED__
1293 
1294 typedef IProvideClassInfo *LPPROVIDECLASSINFO;
1295 
1296 DEFINE_GUID(IID_IProvideClassInfo, 0xb196b283, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1297 #if defined(__cplusplus) && !defined(CINTERFACE)
1298 MIDL_INTERFACE("b196b283-bab4-101a-b69c-00aa00341d07")
1299 IProvideClassInfo : public IUnknown
1300 {
1301     virtual HRESULT STDMETHODCALLTYPE GetClassInfo(
1302         ITypeInfo **ppTI) = 0;
1303 
1304 };
1305 #ifdef __CRT_UUID_DECL
1306 __CRT_UUID_DECL(IProvideClassInfo, 0xb196b283, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1307 #endif
1308 #else
1309 typedef struct IProvideClassInfoVtbl {
1310     BEGIN_INTERFACE
1311 
1312     /*** IUnknown methods ***/
1313     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1314         IProvideClassInfo* This,
1315         REFIID riid,
1316         void **ppvObject);
1317 
1318     ULONG (STDMETHODCALLTYPE *AddRef)(
1319         IProvideClassInfo* This);
1320 
1321     ULONG (STDMETHODCALLTYPE *Release)(
1322         IProvideClassInfo* This);
1323 
1324     /*** IProvideClassInfo methods ***/
1325     HRESULT (STDMETHODCALLTYPE *GetClassInfo)(
1326         IProvideClassInfo* This,
1327         ITypeInfo **ppTI);
1328 
1329     END_INTERFACE
1330 } IProvideClassInfoVtbl;
1331 interface IProvideClassInfo {
1332     CONST_VTBL IProvideClassInfoVtbl* lpVtbl;
1333 };
1334 
1335 #ifdef COBJMACROS
1336 #ifndef WIDL_C_INLINE_WRAPPERS
1337 /*** IUnknown methods ***/
1338 #define IProvideClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1339 #define IProvideClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1340 #define IProvideClassInfo_Release(This) (This)->lpVtbl->Release(This)
1341 /*** IProvideClassInfo methods ***/
1342 #define IProvideClassInfo_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
1343 #else
1344 /*** IUnknown methods ***/
1345 static FORCEINLINE HRESULT IProvideClassInfo_QueryInterface(IProvideClassInfo* This,REFIID riid,void **ppvObject) {
1346     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1347 }
1348 static FORCEINLINE ULONG IProvideClassInfo_AddRef(IProvideClassInfo* This) {
1349     return This->lpVtbl->AddRef(This);
1350 }
1351 static FORCEINLINE ULONG IProvideClassInfo_Release(IProvideClassInfo* This) {
1352     return This->lpVtbl->Release(This);
1353 }
1354 /*** IProvideClassInfo methods ***/
1355 static FORCEINLINE HRESULT IProvideClassInfo_GetClassInfo(IProvideClassInfo* This,ITypeInfo **ppTI) {
1356     return This->lpVtbl->GetClassInfo(This,ppTI);
1357 }
1358 #endif
1359 #endif
1360 
1361 #endif
1362 
1363 HRESULT STDMETHODCALLTYPE IProvideClassInfo_GetClassInfo_Proxy(
1364     IProvideClassInfo* This,
1365     ITypeInfo **ppTI);
1366 void __RPC_STUB IProvideClassInfo_GetClassInfo_Stub(
1367     IRpcStubBuffer* This,
1368     IRpcChannelBuffer* pRpcChannelBuffer,
1369     PRPC_MESSAGE pRpcMessage,
1370     DWORD* pdwStubPhase);
1371 
1372 #endif  /* __IProvideClassInfo_INTERFACE_DEFINED__ */
1373 
1374 
1375 /*****************************************************************************
1376  * IProvideClassInfo2 interface
1377  */
1378 #ifndef __IProvideClassInfo2_INTERFACE_DEFINED__
1379 #define __IProvideClassInfo2_INTERFACE_DEFINED__
1380 
1381 typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
1382 
1383 typedef enum tagGUIDKIND {
1384     GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
1385 } GUIDKIND;
1386 
1387 DEFINE_GUID(IID_IProvideClassInfo2, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d,0xe3, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
1388 #if defined(__cplusplus) && !defined(CINTERFACE)
1389 MIDL_INTERFACE("a6bc3ac0-dbaa-11ce-9de3-00aa004bb851")
1390 IProvideClassInfo2 : public IProvideClassInfo
1391 {
1392     virtual HRESULT STDMETHODCALLTYPE GetGUID(
1393         DWORD dwGuidKind,
1394         GUID *pGUID) = 0;
1395 
1396 };
1397 #ifdef __CRT_UUID_DECL
1398 __CRT_UUID_DECL(IProvideClassInfo2, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d,0xe3, 0x00,0xaa,0x00,0x4b,0xb8,0x51)
1399 #endif
1400 #else
1401 typedef struct IProvideClassInfo2Vtbl {
1402     BEGIN_INTERFACE
1403 
1404     /*** IUnknown methods ***/
1405     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1406         IProvideClassInfo2* This,
1407         REFIID riid,
1408         void **ppvObject);
1409 
1410     ULONG (STDMETHODCALLTYPE *AddRef)(
1411         IProvideClassInfo2* This);
1412 
1413     ULONG (STDMETHODCALLTYPE *Release)(
1414         IProvideClassInfo2* This);
1415 
1416     /*** IProvideClassInfo methods ***/
1417     HRESULT (STDMETHODCALLTYPE *GetClassInfo)(
1418         IProvideClassInfo2* This,
1419         ITypeInfo **ppTI);
1420 
1421     /*** IProvideClassInfo2 methods ***/
1422     HRESULT (STDMETHODCALLTYPE *GetGUID)(
1423         IProvideClassInfo2* This,
1424         DWORD dwGuidKind,
1425         GUID *pGUID);
1426 
1427     END_INTERFACE
1428 } IProvideClassInfo2Vtbl;
1429 interface IProvideClassInfo2 {
1430     CONST_VTBL IProvideClassInfo2Vtbl* lpVtbl;
1431 };
1432 
1433 #ifdef COBJMACROS
1434 #ifndef WIDL_C_INLINE_WRAPPERS
1435 /*** IUnknown methods ***/
1436 #define IProvideClassInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1437 #define IProvideClassInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
1438 #define IProvideClassInfo2_Release(This) (This)->lpVtbl->Release(This)
1439 /*** IProvideClassInfo methods ***/
1440 #define IProvideClassInfo2_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
1441 /*** IProvideClassInfo2 methods ***/
1442 #define IProvideClassInfo2_GetGUID(This,dwGuidKind,pGUID) (This)->lpVtbl->GetGUID(This,dwGuidKind,pGUID)
1443 #else
1444 /*** IUnknown methods ***/
1445 static FORCEINLINE HRESULT IProvideClassInfo2_QueryInterface(IProvideClassInfo2* This,REFIID riid,void **ppvObject) {
1446     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1447 }
1448 static FORCEINLINE ULONG IProvideClassInfo2_AddRef(IProvideClassInfo2* This) {
1449     return This->lpVtbl->AddRef(This);
1450 }
1451 static FORCEINLINE ULONG IProvideClassInfo2_Release(IProvideClassInfo2* This) {
1452     return This->lpVtbl->Release(This);
1453 }
1454 /*** IProvideClassInfo methods ***/
1455 static FORCEINLINE HRESULT IProvideClassInfo2_GetClassInfo(IProvideClassInfo2* This,ITypeInfo **ppTI) {
1456     return This->lpVtbl->GetClassInfo(This,ppTI);
1457 }
1458 /*** IProvideClassInfo2 methods ***/
1459 static FORCEINLINE HRESULT IProvideClassInfo2_GetGUID(IProvideClassInfo2* This,DWORD dwGuidKind,GUID *pGUID) {
1460     return This->lpVtbl->GetGUID(This,dwGuidKind,pGUID);
1461 }
1462 #endif
1463 #endif
1464 
1465 #endif
1466 
1467 HRESULT STDMETHODCALLTYPE IProvideClassInfo2_GetGUID_Proxy(
1468     IProvideClassInfo2* This,
1469     DWORD dwGuidKind,
1470     GUID *pGUID);
1471 void __RPC_STUB IProvideClassInfo2_GetGUID_Stub(
1472     IRpcStubBuffer* This,
1473     IRpcChannelBuffer* pRpcChannelBuffer,
1474     PRPC_MESSAGE pRpcMessage,
1475     DWORD* pdwStubPhase);
1476 
1477 #endif  /* __IProvideClassInfo2_INTERFACE_DEFINED__ */
1478 
1479 
1480 /*****************************************************************************
1481  * IProvideMultipleClassInfo interface
1482  */
1483 #ifndef __IProvideMultipleClassInfo_INTERFACE_DEFINED__
1484 #define __IProvideMultipleClassInfo_INTERFACE_DEFINED__
1485 
1486 #define MULTICLASSINFO_GETTYPEINFO 0x1
1487 #define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x2
1488 #define MULTICLASSINFO_GETIIDPRIMARY 0x4
1489 #define MULTICLASSINFO_GETIIDSOURCE 0x8
1490 
1491 #define TIFLAGS_EXTENDDISPATCHONLY 0x1
1492 
1493 typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
1494 
1495 DEFINE_GUID(IID_IProvideMultipleClassInfo, 0xa7aba9c1, 0x8983, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
1496 #if defined(__cplusplus) && !defined(CINTERFACE)
1497 MIDL_INTERFACE("a7aba9c1-8983-11cf-8f20-00805f2cd064")
1498 IProvideMultipleClassInfo : public IProvideClassInfo2
1499 {
1500     virtual HRESULT STDMETHODCALLTYPE GetMultiTypeInfoCount(
1501         ULONG *pcti) = 0;
1502 
1503     virtual HRESULT STDMETHODCALLTYPE GetInfoOfIndex(
1504         ULONG iti,
1505         DWORD dwFlags,
1506         ITypeInfo **pptiCoClass,
1507         DWORD *pdwTIFlags,
1508         ULONG *pcdispidReserved,
1509         IID *piidPrimary,
1510         IID *piidSource) = 0;
1511 
1512 };
1513 #ifdef __CRT_UUID_DECL
1514 __CRT_UUID_DECL(IProvideMultipleClassInfo, 0xa7aba9c1, 0x8983, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
1515 #endif
1516 #else
1517 typedef struct IProvideMultipleClassInfoVtbl {
1518     BEGIN_INTERFACE
1519 
1520     /*** IUnknown methods ***/
1521     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1522         IProvideMultipleClassInfo* This,
1523         REFIID riid,
1524         void **ppvObject);
1525 
1526     ULONG (STDMETHODCALLTYPE *AddRef)(
1527         IProvideMultipleClassInfo* This);
1528 
1529     ULONG (STDMETHODCALLTYPE *Release)(
1530         IProvideMultipleClassInfo* This);
1531 
1532     /*** IProvideClassInfo methods ***/
1533     HRESULT (STDMETHODCALLTYPE *GetClassInfo)(
1534         IProvideMultipleClassInfo* This,
1535         ITypeInfo **ppTI);
1536 
1537     /*** IProvideClassInfo2 methods ***/
1538     HRESULT (STDMETHODCALLTYPE *GetGUID)(
1539         IProvideMultipleClassInfo* This,
1540         DWORD dwGuidKind,
1541         GUID *pGUID);
1542 
1543     /*** IProvideMultipleClassInfo methods ***/
1544     HRESULT (STDMETHODCALLTYPE *GetMultiTypeInfoCount)(
1545         IProvideMultipleClassInfo* This,
1546         ULONG *pcti);
1547 
1548     HRESULT (STDMETHODCALLTYPE *GetInfoOfIndex)(
1549         IProvideMultipleClassInfo* This,
1550         ULONG iti,
1551         DWORD dwFlags,
1552         ITypeInfo **pptiCoClass,
1553         DWORD *pdwTIFlags,
1554         ULONG *pcdispidReserved,
1555         IID *piidPrimary,
1556         IID *piidSource);
1557 
1558     END_INTERFACE
1559 } IProvideMultipleClassInfoVtbl;
1560 interface IProvideMultipleClassInfo {
1561     CONST_VTBL IProvideMultipleClassInfoVtbl* lpVtbl;
1562 };
1563 
1564 #ifdef COBJMACROS
1565 #ifndef WIDL_C_INLINE_WRAPPERS
1566 /*** IUnknown methods ***/
1567 #define IProvideMultipleClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1568 #define IProvideMultipleClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1569 #define IProvideMultipleClassInfo_Release(This) (This)->lpVtbl->Release(This)
1570 /*** IProvideClassInfo methods ***/
1571 #define IProvideMultipleClassInfo_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
1572 /*** IProvideClassInfo2 methods ***/
1573 #define IProvideMultipleClassInfo_GetGUID(This,dwGuidKind,pGUID) (This)->lpVtbl->GetGUID(This,dwGuidKind,pGUID)
1574 /*** IProvideMultipleClassInfo methods ***/
1575 #define IProvideMultipleClassInfo_GetMultiTypeInfoCount(This,pcti) (This)->lpVtbl->GetMultiTypeInfoCount(This,pcti)
1576 #define IProvideMultipleClassInfo_GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource) (This)->lpVtbl->GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource)
1577 #else
1578 /*** IUnknown methods ***/
1579 static FORCEINLINE HRESULT IProvideMultipleClassInfo_QueryInterface(IProvideMultipleClassInfo* This,REFIID riid,void **ppvObject) {
1580     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1581 }
1582 static FORCEINLINE ULONG IProvideMultipleClassInfo_AddRef(IProvideMultipleClassInfo* This) {
1583     return This->lpVtbl->AddRef(This);
1584 }
1585 static FORCEINLINE ULONG IProvideMultipleClassInfo_Release(IProvideMultipleClassInfo* This) {
1586     return This->lpVtbl->Release(This);
1587 }
1588 /*** IProvideClassInfo methods ***/
1589 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetClassInfo(IProvideMultipleClassInfo* This,ITypeInfo **ppTI) {
1590     return This->lpVtbl->GetClassInfo(This,ppTI);
1591 }
1592 /*** IProvideClassInfo2 methods ***/
1593 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetGUID(IProvideMultipleClassInfo* This,DWORD dwGuidKind,GUID *pGUID) {
1594     return This->lpVtbl->GetGUID(This,dwGuidKind,pGUID);
1595 }
1596 /*** IProvideMultipleClassInfo methods ***/
1597 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetMultiTypeInfoCount(IProvideMultipleClassInfo* This,ULONG *pcti) {
1598     return This->lpVtbl->GetMultiTypeInfoCount(This,pcti);
1599 }
1600 static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetInfoOfIndex(IProvideMultipleClassInfo* This,ULONG iti,DWORD dwFlags,ITypeInfo **pptiCoClass,DWORD *pdwTIFlags,ULONG *pcdispidReserved,IID *piidPrimary,IID *piidSource) {
1601     return This->lpVtbl->GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource);
1602 }
1603 #endif
1604 #endif
1605 
1606 #endif
1607 
1608 HRESULT STDMETHODCALLTYPE IProvideMultipleClassInfo_GetMultiTypeInfoCount_Proxy(
1609     IProvideMultipleClassInfo* This,
1610     ULONG *pcti);
1611 void __RPC_STUB IProvideMultipleClassInfo_GetMultiTypeInfoCount_Stub(
1612     IRpcStubBuffer* This,
1613     IRpcChannelBuffer* pRpcChannelBuffer,
1614     PRPC_MESSAGE pRpcMessage,
1615     DWORD* pdwStubPhase);
1616 HRESULT STDMETHODCALLTYPE IProvideMultipleClassInfo_GetInfoOfIndex_Proxy(
1617     IProvideMultipleClassInfo* This,
1618     ULONG iti,
1619     DWORD dwFlags,
1620     ITypeInfo **pptiCoClass,
1621     DWORD *pdwTIFlags,
1622     ULONG *pcdispidReserved,
1623     IID *piidPrimary,
1624     IID *piidSource);
1625 void __RPC_STUB IProvideMultipleClassInfo_GetInfoOfIndex_Stub(
1626     IRpcStubBuffer* This,
1627     IRpcChannelBuffer* pRpcChannelBuffer,
1628     PRPC_MESSAGE pRpcMessage,
1629     DWORD* pdwStubPhase);
1630 
1631 #endif  /* __IProvideMultipleClassInfo_INTERFACE_DEFINED__ */
1632 
1633 
1634 /*****************************************************************************
1635  * IOleControl interface
1636  */
1637 #ifndef __IOleControl_INTERFACE_DEFINED__
1638 #define __IOleControl_INTERFACE_DEFINED__
1639 
1640 typedef IOleControl *LPOLECONTROL;
1641 
1642 typedef struct tagCONTROLINFO {
1643     ULONG cb;
1644     HACCEL hAccel;
1645     USHORT cAccel;
1646     DWORD dwFlags;
1647 } CONTROLINFO;
1648 
1649 typedef struct tagCONTROLINFO *LPCONTROLINFO;
1650 
1651 typedef enum tagCTRLINFO {
1652     CTRLINFO_EATS_RETURN = 1,
1653     CTRLINFO_EATS_ESCAPE = 2
1654 } CTRLINFO;
1655 
1656 DEFINE_GUID(IID_IOleControl, 0xb196b288, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1657 #if defined(__cplusplus) && !defined(CINTERFACE)
1658 MIDL_INTERFACE("b196b288-bab4-101a-b69c-00aa00341d07")
1659 IOleControl : public IUnknown
1660 {
1661     virtual HRESULT STDMETHODCALLTYPE GetControlInfo(
1662         CONTROLINFO *pCI) = 0;
1663 
1664     virtual HRESULT STDMETHODCALLTYPE OnMnemonic(
1665         MSG *pMsg) = 0;
1666 
1667     virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange(
1668         DISPID dispID) = 0;
1669 
1670     virtual HRESULT STDMETHODCALLTYPE FreezeEvents(
1671         WINBOOL bFreeze) = 0;
1672 
1673 };
1674 #ifdef __CRT_UUID_DECL
1675 __CRT_UUID_DECL(IOleControl, 0xb196b288, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1676 #endif
1677 #else
1678 typedef struct IOleControlVtbl {
1679     BEGIN_INTERFACE
1680 
1681     /*** IUnknown methods ***/
1682     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1683         IOleControl* This,
1684         REFIID riid,
1685         void **ppvObject);
1686 
1687     ULONG (STDMETHODCALLTYPE *AddRef)(
1688         IOleControl* This);
1689 
1690     ULONG (STDMETHODCALLTYPE *Release)(
1691         IOleControl* This);
1692 
1693     /*** IOleControl methods ***/
1694     HRESULT (STDMETHODCALLTYPE *GetControlInfo)(
1695         IOleControl* This,
1696         CONTROLINFO *pCI);
1697 
1698     HRESULT (STDMETHODCALLTYPE *OnMnemonic)(
1699         IOleControl* This,
1700         MSG *pMsg);
1701 
1702     HRESULT (STDMETHODCALLTYPE *OnAmbientPropertyChange)(
1703         IOleControl* This,
1704         DISPID dispID);
1705 
1706     HRESULT (STDMETHODCALLTYPE *FreezeEvents)(
1707         IOleControl* This,
1708         WINBOOL bFreeze);
1709 
1710     END_INTERFACE
1711 } IOleControlVtbl;
1712 interface IOleControl {
1713     CONST_VTBL IOleControlVtbl* lpVtbl;
1714 };
1715 
1716 #ifdef COBJMACROS
1717 #ifndef WIDL_C_INLINE_WRAPPERS
1718 /*** IUnknown methods ***/
1719 #define IOleControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1720 #define IOleControl_AddRef(This) (This)->lpVtbl->AddRef(This)
1721 #define IOleControl_Release(This) (This)->lpVtbl->Release(This)
1722 /*** IOleControl methods ***/
1723 #define IOleControl_GetControlInfo(This,pCI) (This)->lpVtbl->GetControlInfo(This,pCI)
1724 #define IOleControl_OnMnemonic(This,pMsg) (This)->lpVtbl->OnMnemonic(This,pMsg)
1725 #define IOleControl_OnAmbientPropertyChange(This,dispID) (This)->lpVtbl->OnAmbientPropertyChange(This,dispID)
1726 #define IOleControl_FreezeEvents(This,bFreeze) (This)->lpVtbl->FreezeEvents(This,bFreeze)
1727 #else
1728 /*** IUnknown methods ***/
1729 static FORCEINLINE HRESULT IOleControl_QueryInterface(IOleControl* This,REFIID riid,void **ppvObject) {
1730     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1731 }
1732 static FORCEINLINE ULONG IOleControl_AddRef(IOleControl* This) {
1733     return This->lpVtbl->AddRef(This);
1734 }
1735 static FORCEINLINE ULONG IOleControl_Release(IOleControl* This) {
1736     return This->lpVtbl->Release(This);
1737 }
1738 /*** IOleControl methods ***/
1739 static FORCEINLINE HRESULT IOleControl_GetControlInfo(IOleControl* This,CONTROLINFO *pCI) {
1740     return This->lpVtbl->GetControlInfo(This,pCI);
1741 }
1742 static FORCEINLINE HRESULT IOleControl_OnMnemonic(IOleControl* This,MSG *pMsg) {
1743     return This->lpVtbl->OnMnemonic(This,pMsg);
1744 }
1745 static FORCEINLINE HRESULT IOleControl_OnAmbientPropertyChange(IOleControl* This,DISPID dispID) {
1746     return This->lpVtbl->OnAmbientPropertyChange(This,dispID);
1747 }
1748 static FORCEINLINE HRESULT IOleControl_FreezeEvents(IOleControl* This,WINBOOL bFreeze) {
1749     return This->lpVtbl->FreezeEvents(This,bFreeze);
1750 }
1751 #endif
1752 #endif
1753 
1754 #endif
1755 
1756 HRESULT STDMETHODCALLTYPE IOleControl_GetControlInfo_Proxy(
1757     IOleControl* This,
1758     CONTROLINFO *pCI);
1759 void __RPC_STUB IOleControl_GetControlInfo_Stub(
1760     IRpcStubBuffer* This,
1761     IRpcChannelBuffer* pRpcChannelBuffer,
1762     PRPC_MESSAGE pRpcMessage,
1763     DWORD* pdwStubPhase);
1764 HRESULT STDMETHODCALLTYPE IOleControl_OnMnemonic_Proxy(
1765     IOleControl* This,
1766     MSG *pMsg);
1767 void __RPC_STUB IOleControl_OnMnemonic_Stub(
1768     IRpcStubBuffer* This,
1769     IRpcChannelBuffer* pRpcChannelBuffer,
1770     PRPC_MESSAGE pRpcMessage,
1771     DWORD* pdwStubPhase);
1772 HRESULT STDMETHODCALLTYPE IOleControl_OnAmbientPropertyChange_Proxy(
1773     IOleControl* This,
1774     DISPID dispID);
1775 void __RPC_STUB IOleControl_OnAmbientPropertyChange_Stub(
1776     IRpcStubBuffer* This,
1777     IRpcChannelBuffer* pRpcChannelBuffer,
1778     PRPC_MESSAGE pRpcMessage,
1779     DWORD* pdwStubPhase);
1780 HRESULT STDMETHODCALLTYPE IOleControl_FreezeEvents_Proxy(
1781     IOleControl* This,
1782     WINBOOL bFreeze);
1783 void __RPC_STUB IOleControl_FreezeEvents_Stub(
1784     IRpcStubBuffer* This,
1785     IRpcChannelBuffer* pRpcChannelBuffer,
1786     PRPC_MESSAGE pRpcMessage,
1787     DWORD* pdwStubPhase);
1788 
1789 #endif  /* __IOleControl_INTERFACE_DEFINED__ */
1790 
1791 
1792 /*****************************************************************************
1793  * IOleControlSite interface
1794  */
1795 #ifndef __IOleControlSite_INTERFACE_DEFINED__
1796 #define __IOleControlSite_INTERFACE_DEFINED__
1797 
1798 typedef IOleControlSite *LPOLECONTROLSITE;
1799 
1800 typedef struct tagPOINTF {
1801     FLOAT x;
1802     FLOAT y;
1803 } POINTF;
1804 
1805 typedef struct tagPOINTF *LPPOINTF;
1806 
1807 typedef enum tagXFORMCOORDS {
1808     XFORMCOORDS_POSITION = 0x1,
1809     XFORMCOORDS_SIZE = 0x2,
1810     XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
1811     XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
1812     XFORMCOORDS_EVENTCOMPAT = 0x10
1813 } XFORMCOORDS;
1814 
1815 DEFINE_GUID(IID_IOleControlSite, 0xb196b289, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1816 #if defined(__cplusplus) && !defined(CINTERFACE)
1817 MIDL_INTERFACE("b196b289-bab4-101a-b69c-00aa00341d07")
1818 IOleControlSite : public IUnknown
1819 {
1820     virtual HRESULT STDMETHODCALLTYPE OnControlInfoChanged(
1821         ) = 0;
1822 
1823     virtual HRESULT STDMETHODCALLTYPE LockInPlaceActive(
1824         WINBOOL fLock) = 0;
1825 
1826     virtual HRESULT STDMETHODCALLTYPE GetExtendedControl(
1827         IDispatch **ppDisp) = 0;
1828 
1829     virtual HRESULT STDMETHODCALLTYPE TransformCoords(
1830         POINTL *pPtlHimetric,
1831         POINTF *pPtfContainer,
1832         DWORD dwFlags) = 0;
1833 
1834     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
1835         MSG *pMsg,
1836         DWORD grfModifiers) = 0;
1837 
1838     virtual HRESULT STDMETHODCALLTYPE OnFocus(
1839         WINBOOL fGotFocus) = 0;
1840 
1841     virtual HRESULT STDMETHODCALLTYPE ShowPropertyFrame(
1842         ) = 0;
1843 
1844 };
1845 #ifdef __CRT_UUID_DECL
1846 __CRT_UUID_DECL(IOleControlSite, 0xb196b289, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
1847 #endif
1848 #else
1849 typedef struct IOleControlSiteVtbl {
1850     BEGIN_INTERFACE
1851 
1852     /*** IUnknown methods ***/
1853     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1854         IOleControlSite* This,
1855         REFIID riid,
1856         void **ppvObject);
1857 
1858     ULONG (STDMETHODCALLTYPE *AddRef)(
1859         IOleControlSite* This);
1860 
1861     ULONG (STDMETHODCALLTYPE *Release)(
1862         IOleControlSite* This);
1863 
1864     /*** IOleControlSite methods ***/
1865     HRESULT (STDMETHODCALLTYPE *OnControlInfoChanged)(
1866         IOleControlSite* This);
1867 
1868     HRESULT (STDMETHODCALLTYPE *LockInPlaceActive)(
1869         IOleControlSite* This,
1870         WINBOOL fLock);
1871 
1872     HRESULT (STDMETHODCALLTYPE *GetExtendedControl)(
1873         IOleControlSite* This,
1874         IDispatch **ppDisp);
1875 
1876     HRESULT (STDMETHODCALLTYPE *TransformCoords)(
1877         IOleControlSite* This,
1878         POINTL *pPtlHimetric,
1879         POINTF *pPtfContainer,
1880         DWORD dwFlags);
1881 
1882     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
1883         IOleControlSite* This,
1884         MSG *pMsg,
1885         DWORD grfModifiers);
1886 
1887     HRESULT (STDMETHODCALLTYPE *OnFocus)(
1888         IOleControlSite* This,
1889         WINBOOL fGotFocus);
1890 
1891     HRESULT (STDMETHODCALLTYPE *ShowPropertyFrame)(
1892         IOleControlSite* This);
1893 
1894     END_INTERFACE
1895 } IOleControlSiteVtbl;
1896 interface IOleControlSite {
1897     CONST_VTBL IOleControlSiteVtbl* lpVtbl;
1898 };
1899 
1900 #ifdef COBJMACROS
1901 #ifndef WIDL_C_INLINE_WRAPPERS
1902 /*** IUnknown methods ***/
1903 #define IOleControlSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1904 #define IOleControlSite_AddRef(This) (This)->lpVtbl->AddRef(This)
1905 #define IOleControlSite_Release(This) (This)->lpVtbl->Release(This)
1906 /*** IOleControlSite methods ***/
1907 #define IOleControlSite_OnControlInfoChanged(This) (This)->lpVtbl->OnControlInfoChanged(This)
1908 #define IOleControlSite_LockInPlaceActive(This,fLock) (This)->lpVtbl->LockInPlaceActive(This,fLock)
1909 #define IOleControlSite_GetExtendedControl(This,ppDisp) (This)->lpVtbl->GetExtendedControl(This,ppDisp)
1910 #define IOleControlSite_TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags) (This)->lpVtbl->TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags)
1911 #define IOleControlSite_TranslateAccelerator(This,pMsg,grfModifiers) (This)->lpVtbl->TranslateAccelerator(This,pMsg,grfModifiers)
1912 #define IOleControlSite_OnFocus(This,fGotFocus) (This)->lpVtbl->OnFocus(This,fGotFocus)
1913 #define IOleControlSite_ShowPropertyFrame(This) (This)->lpVtbl->ShowPropertyFrame(This)
1914 #else
1915 /*** IUnknown methods ***/
1916 static FORCEINLINE HRESULT IOleControlSite_QueryInterface(IOleControlSite* This,REFIID riid,void **ppvObject) {
1917     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1918 }
1919 static FORCEINLINE ULONG IOleControlSite_AddRef(IOleControlSite* This) {
1920     return This->lpVtbl->AddRef(This);
1921 }
1922 static FORCEINLINE ULONG IOleControlSite_Release(IOleControlSite* This) {
1923     return This->lpVtbl->Release(This);
1924 }
1925 /*** IOleControlSite methods ***/
1926 static FORCEINLINE HRESULT IOleControlSite_OnControlInfoChanged(IOleControlSite* This) {
1927     return This->lpVtbl->OnControlInfoChanged(This);
1928 }
1929 static FORCEINLINE HRESULT IOleControlSite_LockInPlaceActive(IOleControlSite* This,WINBOOL fLock) {
1930     return This->lpVtbl->LockInPlaceActive(This,fLock);
1931 }
1932 static FORCEINLINE HRESULT IOleControlSite_GetExtendedControl(IOleControlSite* This,IDispatch **ppDisp) {
1933     return This->lpVtbl->GetExtendedControl(This,ppDisp);
1934 }
1935 static FORCEINLINE HRESULT IOleControlSite_TransformCoords(IOleControlSite* This,POINTL *pPtlHimetric,POINTF *pPtfContainer,DWORD dwFlags) {
1936     return This->lpVtbl->TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags);
1937 }
1938 static FORCEINLINE HRESULT IOleControlSite_TranslateAccelerator(IOleControlSite* This,MSG *pMsg,DWORD grfModifiers) {
1939     return This->lpVtbl->TranslateAccelerator(This,pMsg,grfModifiers);
1940 }
1941 static FORCEINLINE HRESULT IOleControlSite_OnFocus(IOleControlSite* This,WINBOOL fGotFocus) {
1942     return This->lpVtbl->OnFocus(This,fGotFocus);
1943 }
1944 static FORCEINLINE HRESULT IOleControlSite_ShowPropertyFrame(IOleControlSite* This) {
1945     return This->lpVtbl->ShowPropertyFrame(This);
1946 }
1947 #endif
1948 #endif
1949 
1950 #endif
1951 
1952 HRESULT STDMETHODCALLTYPE IOleControlSite_OnControlInfoChanged_Proxy(
1953     IOleControlSite* This);
1954 void __RPC_STUB IOleControlSite_OnControlInfoChanged_Stub(
1955     IRpcStubBuffer* This,
1956     IRpcChannelBuffer* pRpcChannelBuffer,
1957     PRPC_MESSAGE pRpcMessage,
1958     DWORD* pdwStubPhase);
1959 HRESULT STDMETHODCALLTYPE IOleControlSite_LockInPlaceActive_Proxy(
1960     IOleControlSite* This,
1961     WINBOOL fLock);
1962 void __RPC_STUB IOleControlSite_LockInPlaceActive_Stub(
1963     IRpcStubBuffer* This,
1964     IRpcChannelBuffer* pRpcChannelBuffer,
1965     PRPC_MESSAGE pRpcMessage,
1966     DWORD* pdwStubPhase);
1967 HRESULT STDMETHODCALLTYPE IOleControlSite_GetExtendedControl_Proxy(
1968     IOleControlSite* This,
1969     IDispatch **ppDisp);
1970 void __RPC_STUB IOleControlSite_GetExtendedControl_Stub(
1971     IRpcStubBuffer* This,
1972     IRpcChannelBuffer* pRpcChannelBuffer,
1973     PRPC_MESSAGE pRpcMessage,
1974     DWORD* pdwStubPhase);
1975 HRESULT STDMETHODCALLTYPE IOleControlSite_TransformCoords_Proxy(
1976     IOleControlSite* This,
1977     POINTL *pPtlHimetric,
1978     POINTF *pPtfContainer,
1979     DWORD dwFlags);
1980 void __RPC_STUB IOleControlSite_TransformCoords_Stub(
1981     IRpcStubBuffer* This,
1982     IRpcChannelBuffer* pRpcChannelBuffer,
1983     PRPC_MESSAGE pRpcMessage,
1984     DWORD* pdwStubPhase);
1985 HRESULT STDMETHODCALLTYPE IOleControlSite_TranslateAccelerator_Proxy(
1986     IOleControlSite* This,
1987     MSG *pMsg,
1988     DWORD grfModifiers);
1989 void __RPC_STUB IOleControlSite_TranslateAccelerator_Stub(
1990     IRpcStubBuffer* This,
1991     IRpcChannelBuffer* pRpcChannelBuffer,
1992     PRPC_MESSAGE pRpcMessage,
1993     DWORD* pdwStubPhase);
1994 HRESULT STDMETHODCALLTYPE IOleControlSite_OnFocus_Proxy(
1995     IOleControlSite* This,
1996     WINBOOL fGotFocus);
1997 void __RPC_STUB IOleControlSite_OnFocus_Stub(
1998     IRpcStubBuffer* This,
1999     IRpcChannelBuffer* pRpcChannelBuffer,
2000     PRPC_MESSAGE pRpcMessage,
2001     DWORD* pdwStubPhase);
2002 HRESULT STDMETHODCALLTYPE IOleControlSite_ShowPropertyFrame_Proxy(
2003     IOleControlSite* This);
2004 void __RPC_STUB IOleControlSite_ShowPropertyFrame_Stub(
2005     IRpcStubBuffer* This,
2006     IRpcChannelBuffer* pRpcChannelBuffer,
2007     PRPC_MESSAGE pRpcMessage,
2008     DWORD* pdwStubPhase);
2009 
2010 #endif  /* __IOleControlSite_INTERFACE_DEFINED__ */
2011 
2012 
2013 /*****************************************************************************
2014  * IPropertyPage interface
2015  */
2016 #ifndef __IPropertyPage_INTERFACE_DEFINED__
2017 #define __IPropertyPage_INTERFACE_DEFINED__
2018 
2019 typedef IPropertyPage *LPPROPERTYPAGE;
2020 
2021 typedef struct tagPROPPAGEINFO {
2022     ULONG cb;
2023     LPOLESTR pszTitle;
2024     SIZE size;
2025     LPOLESTR pszDocString;
2026     LPOLESTR pszHelpFile;
2027     DWORD dwHelpContext;
2028 } PROPPAGEINFO;
2029 
2030 typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
2031 
2032 DEFINE_GUID(IID_IPropertyPage, 0xb196b28d, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2033 #if defined(__cplusplus) && !defined(CINTERFACE)
2034 MIDL_INTERFACE("b196b28d-bab4-101a-b69c-00aa00341d07")
2035 IPropertyPage : public IUnknown
2036 {
2037     virtual HRESULT STDMETHODCALLTYPE SetPageSite(
2038         IPropertyPageSite *pPageSite) = 0;
2039 
2040     virtual HRESULT STDMETHODCALLTYPE Activate(
2041         HWND hWndParent,
2042         LPCRECT pRect,
2043         WINBOOL bModal) = 0;
2044 
2045     virtual HRESULT STDMETHODCALLTYPE Deactivate(
2046         ) = 0;
2047 
2048     virtual HRESULT STDMETHODCALLTYPE GetPageInfo(
2049         PROPPAGEINFO *pPageInfo) = 0;
2050 
2051     virtual HRESULT STDMETHODCALLTYPE SetObjects(
2052         ULONG cObjects,
2053         IUnknown **ppUnk) = 0;
2054 
2055     virtual HRESULT STDMETHODCALLTYPE Show(
2056         UINT nCmdShow) = 0;
2057 
2058     virtual HRESULT STDMETHODCALLTYPE Move(
2059         LPCRECT pRect) = 0;
2060 
2061     virtual HRESULT STDMETHODCALLTYPE IsPageDirty(
2062         ) = 0;
2063 
2064     virtual HRESULT STDMETHODCALLTYPE Apply(
2065         ) = 0;
2066 
2067     virtual HRESULT STDMETHODCALLTYPE Help(
2068         LPCOLESTR pszHelpDir) = 0;
2069 
2070     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
2071         MSG *pMsg) = 0;
2072 
2073 };
2074 #ifdef __CRT_UUID_DECL
2075 __CRT_UUID_DECL(IPropertyPage, 0xb196b28d, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2076 #endif
2077 #else
2078 typedef struct IPropertyPageVtbl {
2079     BEGIN_INTERFACE
2080 
2081     /*** IUnknown methods ***/
2082     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2083         IPropertyPage* This,
2084         REFIID riid,
2085         void **ppvObject);
2086 
2087     ULONG (STDMETHODCALLTYPE *AddRef)(
2088         IPropertyPage* This);
2089 
2090     ULONG (STDMETHODCALLTYPE *Release)(
2091         IPropertyPage* This);
2092 
2093     /*** IPropertyPage methods ***/
2094     HRESULT (STDMETHODCALLTYPE *SetPageSite)(
2095         IPropertyPage* This,
2096         IPropertyPageSite *pPageSite);
2097 
2098     HRESULT (STDMETHODCALLTYPE *Activate)(
2099         IPropertyPage* This,
2100         HWND hWndParent,
2101         LPCRECT pRect,
2102         WINBOOL bModal);
2103 
2104     HRESULT (STDMETHODCALLTYPE *Deactivate)(
2105         IPropertyPage* This);
2106 
2107     HRESULT (STDMETHODCALLTYPE *GetPageInfo)(
2108         IPropertyPage* This,
2109         PROPPAGEINFO *pPageInfo);
2110 
2111     HRESULT (STDMETHODCALLTYPE *SetObjects)(
2112         IPropertyPage* This,
2113         ULONG cObjects,
2114         IUnknown **ppUnk);
2115 
2116     HRESULT (STDMETHODCALLTYPE *Show)(
2117         IPropertyPage* This,
2118         UINT nCmdShow);
2119 
2120     HRESULT (STDMETHODCALLTYPE *Move)(
2121         IPropertyPage* This,
2122         LPCRECT pRect);
2123 
2124     HRESULT (STDMETHODCALLTYPE *IsPageDirty)(
2125         IPropertyPage* This);
2126 
2127     HRESULT (STDMETHODCALLTYPE *Apply)(
2128         IPropertyPage* This);
2129 
2130     HRESULT (STDMETHODCALLTYPE *Help)(
2131         IPropertyPage* This,
2132         LPCOLESTR pszHelpDir);
2133 
2134     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2135         IPropertyPage* This,
2136         MSG *pMsg);
2137 
2138     END_INTERFACE
2139 } IPropertyPageVtbl;
2140 interface IPropertyPage {
2141     CONST_VTBL IPropertyPageVtbl* lpVtbl;
2142 };
2143 
2144 #ifdef COBJMACROS
2145 #ifndef WIDL_C_INLINE_WRAPPERS
2146 /*** IUnknown methods ***/
2147 #define IPropertyPage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2148 #define IPropertyPage_AddRef(This) (This)->lpVtbl->AddRef(This)
2149 #define IPropertyPage_Release(This) (This)->lpVtbl->Release(This)
2150 /*** IPropertyPage methods ***/
2151 #define IPropertyPage_SetPageSite(This,pPageSite) (This)->lpVtbl->SetPageSite(This,pPageSite)
2152 #define IPropertyPage_Activate(This,hWndParent,pRect,bModal) (This)->lpVtbl->Activate(This,hWndParent,pRect,bModal)
2153 #define IPropertyPage_Deactivate(This) (This)->lpVtbl->Deactivate(This)
2154 #define IPropertyPage_GetPageInfo(This,pPageInfo) (This)->lpVtbl->GetPageInfo(This,pPageInfo)
2155 #define IPropertyPage_SetObjects(This,cObjects,ppUnk) (This)->lpVtbl->SetObjects(This,cObjects,ppUnk)
2156 #define IPropertyPage_Show(This,nCmdShow) (This)->lpVtbl->Show(This,nCmdShow)
2157 #define IPropertyPage_Move(This,pRect) (This)->lpVtbl->Move(This,pRect)
2158 #define IPropertyPage_IsPageDirty(This) (This)->lpVtbl->IsPageDirty(This)
2159 #define IPropertyPage_Apply(This) (This)->lpVtbl->Apply(This)
2160 #define IPropertyPage_Help(This,pszHelpDir) (This)->lpVtbl->Help(This,pszHelpDir)
2161 #define IPropertyPage_TranslateAccelerator(This,pMsg) (This)->lpVtbl->TranslateAccelerator(This,pMsg)
2162 #else
2163 /*** IUnknown methods ***/
2164 static FORCEINLINE HRESULT IPropertyPage_QueryInterface(IPropertyPage* This,REFIID riid,void **ppvObject) {
2165     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2166 }
2167 static FORCEINLINE ULONG IPropertyPage_AddRef(IPropertyPage* This) {
2168     return This->lpVtbl->AddRef(This);
2169 }
2170 static FORCEINLINE ULONG IPropertyPage_Release(IPropertyPage* This) {
2171     return This->lpVtbl->Release(This);
2172 }
2173 /*** IPropertyPage methods ***/
2174 static FORCEINLINE HRESULT IPropertyPage_SetPageSite(IPropertyPage* This,IPropertyPageSite *pPageSite) {
2175     return This->lpVtbl->SetPageSite(This,pPageSite);
2176 }
2177 static FORCEINLINE HRESULT IPropertyPage_Activate(IPropertyPage* This,HWND hWndParent,LPCRECT pRect,WINBOOL bModal) {
2178     return This->lpVtbl->Activate(This,hWndParent,pRect,bModal);
2179 }
2180 static FORCEINLINE HRESULT IPropertyPage_Deactivate(IPropertyPage* This) {
2181     return This->lpVtbl->Deactivate(This);
2182 }
2183 static FORCEINLINE HRESULT IPropertyPage_GetPageInfo(IPropertyPage* This,PROPPAGEINFO *pPageInfo) {
2184     return This->lpVtbl->GetPageInfo(This,pPageInfo);
2185 }
2186 static FORCEINLINE HRESULT IPropertyPage_SetObjects(IPropertyPage* This,ULONG cObjects,IUnknown **ppUnk) {
2187     return This->lpVtbl->SetObjects(This,cObjects,ppUnk);
2188 }
2189 static FORCEINLINE HRESULT IPropertyPage_Show(IPropertyPage* This,UINT nCmdShow) {
2190     return This->lpVtbl->Show(This,nCmdShow);
2191 }
2192 static FORCEINLINE HRESULT IPropertyPage_Move(IPropertyPage* This,LPCRECT pRect) {
2193     return This->lpVtbl->Move(This,pRect);
2194 }
2195 static FORCEINLINE HRESULT IPropertyPage_IsPageDirty(IPropertyPage* This) {
2196     return This->lpVtbl->IsPageDirty(This);
2197 }
2198 static FORCEINLINE HRESULT IPropertyPage_Apply(IPropertyPage* This) {
2199     return This->lpVtbl->Apply(This);
2200 }
2201 static FORCEINLINE HRESULT IPropertyPage_Help(IPropertyPage* This,LPCOLESTR pszHelpDir) {
2202     return This->lpVtbl->Help(This,pszHelpDir);
2203 }
2204 static FORCEINLINE HRESULT IPropertyPage_TranslateAccelerator(IPropertyPage* This,MSG *pMsg) {
2205     return This->lpVtbl->TranslateAccelerator(This,pMsg);
2206 }
2207 #endif
2208 #endif
2209 
2210 #endif
2211 
2212 HRESULT STDMETHODCALLTYPE IPropertyPage_SetPageSite_Proxy(
2213     IPropertyPage* This,
2214     IPropertyPageSite *pPageSite);
2215 void __RPC_STUB IPropertyPage_SetPageSite_Stub(
2216     IRpcStubBuffer* This,
2217     IRpcChannelBuffer* pRpcChannelBuffer,
2218     PRPC_MESSAGE pRpcMessage,
2219     DWORD* pdwStubPhase);
2220 HRESULT STDMETHODCALLTYPE IPropertyPage_Activate_Proxy(
2221     IPropertyPage* This,
2222     HWND hWndParent,
2223     LPCRECT pRect,
2224     WINBOOL bModal);
2225 void __RPC_STUB IPropertyPage_Activate_Stub(
2226     IRpcStubBuffer* This,
2227     IRpcChannelBuffer* pRpcChannelBuffer,
2228     PRPC_MESSAGE pRpcMessage,
2229     DWORD* pdwStubPhase);
2230 HRESULT STDMETHODCALLTYPE IPropertyPage_Deactivate_Proxy(
2231     IPropertyPage* This);
2232 void __RPC_STUB IPropertyPage_Deactivate_Stub(
2233     IRpcStubBuffer* This,
2234     IRpcChannelBuffer* pRpcChannelBuffer,
2235     PRPC_MESSAGE pRpcMessage,
2236     DWORD* pdwStubPhase);
2237 HRESULT STDMETHODCALLTYPE IPropertyPage_GetPageInfo_Proxy(
2238     IPropertyPage* This,
2239     PROPPAGEINFO *pPageInfo);
2240 void __RPC_STUB IPropertyPage_GetPageInfo_Stub(
2241     IRpcStubBuffer* This,
2242     IRpcChannelBuffer* pRpcChannelBuffer,
2243     PRPC_MESSAGE pRpcMessage,
2244     DWORD* pdwStubPhase);
2245 HRESULT STDMETHODCALLTYPE IPropertyPage_SetObjects_Proxy(
2246     IPropertyPage* This,
2247     ULONG cObjects,
2248     IUnknown **ppUnk);
2249 void __RPC_STUB IPropertyPage_SetObjects_Stub(
2250     IRpcStubBuffer* This,
2251     IRpcChannelBuffer* pRpcChannelBuffer,
2252     PRPC_MESSAGE pRpcMessage,
2253     DWORD* pdwStubPhase);
2254 HRESULT STDMETHODCALLTYPE IPropertyPage_Show_Proxy(
2255     IPropertyPage* This,
2256     UINT nCmdShow);
2257 void __RPC_STUB IPropertyPage_Show_Stub(
2258     IRpcStubBuffer* This,
2259     IRpcChannelBuffer* pRpcChannelBuffer,
2260     PRPC_MESSAGE pRpcMessage,
2261     DWORD* pdwStubPhase);
2262 HRESULT STDMETHODCALLTYPE IPropertyPage_Move_Proxy(
2263     IPropertyPage* This,
2264     LPCRECT pRect);
2265 void __RPC_STUB IPropertyPage_Move_Stub(
2266     IRpcStubBuffer* This,
2267     IRpcChannelBuffer* pRpcChannelBuffer,
2268     PRPC_MESSAGE pRpcMessage,
2269     DWORD* pdwStubPhase);
2270 HRESULT STDMETHODCALLTYPE IPropertyPage_IsPageDirty_Proxy(
2271     IPropertyPage* This);
2272 void __RPC_STUB IPropertyPage_IsPageDirty_Stub(
2273     IRpcStubBuffer* This,
2274     IRpcChannelBuffer* pRpcChannelBuffer,
2275     PRPC_MESSAGE pRpcMessage,
2276     DWORD* pdwStubPhase);
2277 HRESULT STDMETHODCALLTYPE IPropertyPage_Apply_Proxy(
2278     IPropertyPage* This);
2279 void __RPC_STUB IPropertyPage_Apply_Stub(
2280     IRpcStubBuffer* This,
2281     IRpcChannelBuffer* pRpcChannelBuffer,
2282     PRPC_MESSAGE pRpcMessage,
2283     DWORD* pdwStubPhase);
2284 HRESULT STDMETHODCALLTYPE IPropertyPage_Help_Proxy(
2285     IPropertyPage* This,
2286     LPCOLESTR pszHelpDir);
2287 void __RPC_STUB IPropertyPage_Help_Stub(
2288     IRpcStubBuffer* This,
2289     IRpcChannelBuffer* pRpcChannelBuffer,
2290     PRPC_MESSAGE pRpcMessage,
2291     DWORD* pdwStubPhase);
2292 HRESULT STDMETHODCALLTYPE IPropertyPage_TranslateAccelerator_Proxy(
2293     IPropertyPage* This,
2294     MSG *pMsg);
2295 void __RPC_STUB IPropertyPage_TranslateAccelerator_Stub(
2296     IRpcStubBuffer* This,
2297     IRpcChannelBuffer* pRpcChannelBuffer,
2298     PRPC_MESSAGE pRpcMessage,
2299     DWORD* pdwStubPhase);
2300 
2301 #endif  /* __IPropertyPage_INTERFACE_DEFINED__ */
2302 
2303 
2304 /*****************************************************************************
2305  * IPropertyPage2 interface
2306  */
2307 #ifndef __IPropertyPage2_INTERFACE_DEFINED__
2308 #define __IPropertyPage2_INTERFACE_DEFINED__
2309 
2310 typedef IPropertyPage2 *LPPROPERTYPAGE2;
2311 
2312 DEFINE_GUID(IID_IPropertyPage2, 0x01e44665, 0x24ac, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
2313 #if defined(__cplusplus) && !defined(CINTERFACE)
2314 MIDL_INTERFACE("01e44665-24ac-101b-84ed-08002b2ec713")
2315 IPropertyPage2 : public IPropertyPage
2316 {
2317     virtual HRESULT STDMETHODCALLTYPE EditProperty(
2318         DISPID dispID) = 0;
2319 
2320 };
2321 #ifdef __CRT_UUID_DECL
2322 __CRT_UUID_DECL(IPropertyPage2, 0x01e44665, 0x24ac, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13)
2323 #endif
2324 #else
2325 typedef struct IPropertyPage2Vtbl {
2326     BEGIN_INTERFACE
2327 
2328     /*** IUnknown methods ***/
2329     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2330         IPropertyPage2* This,
2331         REFIID riid,
2332         void **ppvObject);
2333 
2334     ULONG (STDMETHODCALLTYPE *AddRef)(
2335         IPropertyPage2* This);
2336 
2337     ULONG (STDMETHODCALLTYPE *Release)(
2338         IPropertyPage2* This);
2339 
2340     /*** IPropertyPage methods ***/
2341     HRESULT (STDMETHODCALLTYPE *SetPageSite)(
2342         IPropertyPage2* This,
2343         IPropertyPageSite *pPageSite);
2344 
2345     HRESULT (STDMETHODCALLTYPE *Activate)(
2346         IPropertyPage2* This,
2347         HWND hWndParent,
2348         LPCRECT pRect,
2349         WINBOOL bModal);
2350 
2351     HRESULT (STDMETHODCALLTYPE *Deactivate)(
2352         IPropertyPage2* This);
2353 
2354     HRESULT (STDMETHODCALLTYPE *GetPageInfo)(
2355         IPropertyPage2* This,
2356         PROPPAGEINFO *pPageInfo);
2357 
2358     HRESULT (STDMETHODCALLTYPE *SetObjects)(
2359         IPropertyPage2* This,
2360         ULONG cObjects,
2361         IUnknown **ppUnk);
2362 
2363     HRESULT (STDMETHODCALLTYPE *Show)(
2364         IPropertyPage2* This,
2365         UINT nCmdShow);
2366 
2367     HRESULT (STDMETHODCALLTYPE *Move)(
2368         IPropertyPage2* This,
2369         LPCRECT pRect);
2370 
2371     HRESULT (STDMETHODCALLTYPE *IsPageDirty)(
2372         IPropertyPage2* This);
2373 
2374     HRESULT (STDMETHODCALLTYPE *Apply)(
2375         IPropertyPage2* This);
2376 
2377     HRESULT (STDMETHODCALLTYPE *Help)(
2378         IPropertyPage2* This,
2379         LPCOLESTR pszHelpDir);
2380 
2381     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2382         IPropertyPage2* This,
2383         MSG *pMsg);
2384 
2385     /*** IPropertyPage2 methods ***/
2386     HRESULT (STDMETHODCALLTYPE *EditProperty)(
2387         IPropertyPage2* This,
2388         DISPID dispID);
2389 
2390     END_INTERFACE
2391 } IPropertyPage2Vtbl;
2392 interface IPropertyPage2 {
2393     CONST_VTBL IPropertyPage2Vtbl* lpVtbl;
2394 };
2395 
2396 #ifdef COBJMACROS
2397 #ifndef WIDL_C_INLINE_WRAPPERS
2398 /*** IUnknown methods ***/
2399 #define IPropertyPage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2400 #define IPropertyPage2_AddRef(This) (This)->lpVtbl->AddRef(This)
2401 #define IPropertyPage2_Release(This) (This)->lpVtbl->Release(This)
2402 /*** IPropertyPage methods ***/
2403 #define IPropertyPage2_SetPageSite(This,pPageSite) (This)->lpVtbl->SetPageSite(This,pPageSite)
2404 #define IPropertyPage2_Activate(This,hWndParent,pRect,bModal) (This)->lpVtbl->Activate(This,hWndParent,pRect,bModal)
2405 #define IPropertyPage2_Deactivate(This) (This)->lpVtbl->Deactivate(This)
2406 #define IPropertyPage2_GetPageInfo(This,pPageInfo) (This)->lpVtbl->GetPageInfo(This,pPageInfo)
2407 #define IPropertyPage2_SetObjects(This,cObjects,ppUnk) (This)->lpVtbl->SetObjects(This,cObjects,ppUnk)
2408 #define IPropertyPage2_Show(This,nCmdShow) (This)->lpVtbl->Show(This,nCmdShow)
2409 #define IPropertyPage2_Move(This,pRect) (This)->lpVtbl->Move(This,pRect)
2410 #define IPropertyPage2_IsPageDirty(This) (This)->lpVtbl->IsPageDirty(This)
2411 #define IPropertyPage2_Apply(This) (This)->lpVtbl->Apply(This)
2412 #define IPropertyPage2_Help(This,pszHelpDir) (This)->lpVtbl->Help(This,pszHelpDir)
2413 #define IPropertyPage2_TranslateAccelerator(This,pMsg) (This)->lpVtbl->TranslateAccelerator(This,pMsg)
2414 /*** IPropertyPage2 methods ***/
2415 #define IPropertyPage2_EditProperty(This,dispID) (This)->lpVtbl->EditProperty(This,dispID)
2416 #else
2417 /*** IUnknown methods ***/
2418 static FORCEINLINE HRESULT IPropertyPage2_QueryInterface(IPropertyPage2* This,REFIID riid,void **ppvObject) {
2419     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2420 }
2421 static FORCEINLINE ULONG IPropertyPage2_AddRef(IPropertyPage2* This) {
2422     return This->lpVtbl->AddRef(This);
2423 }
2424 static FORCEINLINE ULONG IPropertyPage2_Release(IPropertyPage2* This) {
2425     return This->lpVtbl->Release(This);
2426 }
2427 /*** IPropertyPage methods ***/
2428 static FORCEINLINE HRESULT IPropertyPage2_SetPageSite(IPropertyPage2* This,IPropertyPageSite *pPageSite) {
2429     return This->lpVtbl->SetPageSite(This,pPageSite);
2430 }
2431 static FORCEINLINE HRESULT IPropertyPage2_Activate(IPropertyPage2* This,HWND hWndParent,LPCRECT pRect,WINBOOL bModal) {
2432     return This->lpVtbl->Activate(This,hWndParent,pRect,bModal);
2433 }
2434 static FORCEINLINE HRESULT IPropertyPage2_Deactivate(IPropertyPage2* This) {
2435     return This->lpVtbl->Deactivate(This);
2436 }
2437 static FORCEINLINE HRESULT IPropertyPage2_GetPageInfo(IPropertyPage2* This,PROPPAGEINFO *pPageInfo) {
2438     return This->lpVtbl->GetPageInfo(This,pPageInfo);
2439 }
2440 static FORCEINLINE HRESULT IPropertyPage2_SetObjects(IPropertyPage2* This,ULONG cObjects,IUnknown **ppUnk) {
2441     return This->lpVtbl->SetObjects(This,cObjects,ppUnk);
2442 }
2443 static FORCEINLINE HRESULT IPropertyPage2_Show(IPropertyPage2* This,UINT nCmdShow) {
2444     return This->lpVtbl->Show(This,nCmdShow);
2445 }
2446 static FORCEINLINE HRESULT IPropertyPage2_Move(IPropertyPage2* This,LPCRECT pRect) {
2447     return This->lpVtbl->Move(This,pRect);
2448 }
2449 static FORCEINLINE HRESULT IPropertyPage2_IsPageDirty(IPropertyPage2* This) {
2450     return This->lpVtbl->IsPageDirty(This);
2451 }
2452 static FORCEINLINE HRESULT IPropertyPage2_Apply(IPropertyPage2* This) {
2453     return This->lpVtbl->Apply(This);
2454 }
2455 static FORCEINLINE HRESULT IPropertyPage2_Help(IPropertyPage2* This,LPCOLESTR pszHelpDir) {
2456     return This->lpVtbl->Help(This,pszHelpDir);
2457 }
2458 static FORCEINLINE HRESULT IPropertyPage2_TranslateAccelerator(IPropertyPage2* This,MSG *pMsg) {
2459     return This->lpVtbl->TranslateAccelerator(This,pMsg);
2460 }
2461 /*** IPropertyPage2 methods ***/
2462 static FORCEINLINE HRESULT IPropertyPage2_EditProperty(IPropertyPage2* This,DISPID dispID) {
2463     return This->lpVtbl->EditProperty(This,dispID);
2464 }
2465 #endif
2466 #endif
2467 
2468 #endif
2469 
2470 HRESULT STDMETHODCALLTYPE IPropertyPage2_EditProperty_Proxy(
2471     IPropertyPage2* This,
2472     DISPID dispID);
2473 void __RPC_STUB IPropertyPage2_EditProperty_Stub(
2474     IRpcStubBuffer* This,
2475     IRpcChannelBuffer* pRpcChannelBuffer,
2476     PRPC_MESSAGE pRpcMessage,
2477     DWORD* pdwStubPhase);
2478 
2479 #endif  /* __IPropertyPage2_INTERFACE_DEFINED__ */
2480 
2481 
2482 /*****************************************************************************
2483  * IPropertyPageSite interface
2484  */
2485 #ifndef __IPropertyPageSite_INTERFACE_DEFINED__
2486 #define __IPropertyPageSite_INTERFACE_DEFINED__
2487 
2488 typedef IPropertyPageSite *LPPROPERTYPAGESITE;
2489 
2490 typedef enum tagPROPPAGESTATUS {
2491     PROPPAGESTATUS_DIRTY = 0x1,
2492     PROPPAGESTATUS_VALIDATE = 0x2,
2493     PROPPAGESTATUS_CLEAN = 0x4
2494 } PROPPAGESTATUS;
2495 
2496 DEFINE_GUID(IID_IPropertyPageSite, 0xb196b28c, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2497 #if defined(__cplusplus) && !defined(CINTERFACE)
2498 MIDL_INTERFACE("b196b28c-bab4-101a-b69c-00aa00341d07")
2499 IPropertyPageSite : public IUnknown
2500 {
2501     virtual HRESULT STDMETHODCALLTYPE OnStatusChange(
2502         DWORD dwFlags) = 0;
2503 
2504     virtual HRESULT STDMETHODCALLTYPE GetLocaleID(
2505         LCID *pLocaleID) = 0;
2506 
2507     virtual HRESULT STDMETHODCALLTYPE GetPageContainer(
2508         IUnknown **ppUnk) = 0;
2509 
2510     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
2511         MSG *pMsg) = 0;
2512 
2513 };
2514 #ifdef __CRT_UUID_DECL
2515 __CRT_UUID_DECL(IPropertyPageSite, 0xb196b28c, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2516 #endif
2517 #else
2518 typedef struct IPropertyPageSiteVtbl {
2519     BEGIN_INTERFACE
2520 
2521     /*** IUnknown methods ***/
2522     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2523         IPropertyPageSite* This,
2524         REFIID riid,
2525         void **ppvObject);
2526 
2527     ULONG (STDMETHODCALLTYPE *AddRef)(
2528         IPropertyPageSite* This);
2529 
2530     ULONG (STDMETHODCALLTYPE *Release)(
2531         IPropertyPageSite* This);
2532 
2533     /*** IPropertyPageSite methods ***/
2534     HRESULT (STDMETHODCALLTYPE *OnStatusChange)(
2535         IPropertyPageSite* This,
2536         DWORD dwFlags);
2537 
2538     HRESULT (STDMETHODCALLTYPE *GetLocaleID)(
2539         IPropertyPageSite* This,
2540         LCID *pLocaleID);
2541 
2542     HRESULT (STDMETHODCALLTYPE *GetPageContainer)(
2543         IPropertyPageSite* This,
2544         IUnknown **ppUnk);
2545 
2546     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
2547         IPropertyPageSite* This,
2548         MSG *pMsg);
2549 
2550     END_INTERFACE
2551 } IPropertyPageSiteVtbl;
2552 interface IPropertyPageSite {
2553     CONST_VTBL IPropertyPageSiteVtbl* lpVtbl;
2554 };
2555 
2556 #ifdef COBJMACROS
2557 #ifndef WIDL_C_INLINE_WRAPPERS
2558 /*** IUnknown methods ***/
2559 #define IPropertyPageSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2560 #define IPropertyPageSite_AddRef(This) (This)->lpVtbl->AddRef(This)
2561 #define IPropertyPageSite_Release(This) (This)->lpVtbl->Release(This)
2562 /*** IPropertyPageSite methods ***/
2563 #define IPropertyPageSite_OnStatusChange(This,dwFlags) (This)->lpVtbl->OnStatusChange(This,dwFlags)
2564 #define IPropertyPageSite_GetLocaleID(This,pLocaleID) (This)->lpVtbl->GetLocaleID(This,pLocaleID)
2565 #define IPropertyPageSite_GetPageContainer(This,ppUnk) (This)->lpVtbl->GetPageContainer(This,ppUnk)
2566 #define IPropertyPageSite_TranslateAccelerator(This,pMsg) (This)->lpVtbl->TranslateAccelerator(This,pMsg)
2567 #else
2568 /*** IUnknown methods ***/
2569 static FORCEINLINE HRESULT IPropertyPageSite_QueryInterface(IPropertyPageSite* This,REFIID riid,void **ppvObject) {
2570     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2571 }
2572 static FORCEINLINE ULONG IPropertyPageSite_AddRef(IPropertyPageSite* This) {
2573     return This->lpVtbl->AddRef(This);
2574 }
2575 static FORCEINLINE ULONG IPropertyPageSite_Release(IPropertyPageSite* This) {
2576     return This->lpVtbl->Release(This);
2577 }
2578 /*** IPropertyPageSite methods ***/
2579 static FORCEINLINE HRESULT IPropertyPageSite_OnStatusChange(IPropertyPageSite* This,DWORD dwFlags) {
2580     return This->lpVtbl->OnStatusChange(This,dwFlags);
2581 }
2582 static FORCEINLINE HRESULT IPropertyPageSite_GetLocaleID(IPropertyPageSite* This,LCID *pLocaleID) {
2583     return This->lpVtbl->GetLocaleID(This,pLocaleID);
2584 }
2585 static FORCEINLINE HRESULT IPropertyPageSite_GetPageContainer(IPropertyPageSite* This,IUnknown **ppUnk) {
2586     return This->lpVtbl->GetPageContainer(This,ppUnk);
2587 }
2588 static FORCEINLINE HRESULT IPropertyPageSite_TranslateAccelerator(IPropertyPageSite* This,MSG *pMsg) {
2589     return This->lpVtbl->TranslateAccelerator(This,pMsg);
2590 }
2591 #endif
2592 #endif
2593 
2594 #endif
2595 
2596 HRESULT STDMETHODCALLTYPE IPropertyPageSite_OnStatusChange_Proxy(
2597     IPropertyPageSite* This,
2598     DWORD dwFlags);
2599 void __RPC_STUB IPropertyPageSite_OnStatusChange_Stub(
2600     IRpcStubBuffer* This,
2601     IRpcChannelBuffer* pRpcChannelBuffer,
2602     PRPC_MESSAGE pRpcMessage,
2603     DWORD* pdwStubPhase);
2604 HRESULT STDMETHODCALLTYPE IPropertyPageSite_GetLocaleID_Proxy(
2605     IPropertyPageSite* This,
2606     LCID *pLocaleID);
2607 void __RPC_STUB IPropertyPageSite_GetLocaleID_Stub(
2608     IRpcStubBuffer* This,
2609     IRpcChannelBuffer* pRpcChannelBuffer,
2610     PRPC_MESSAGE pRpcMessage,
2611     DWORD* pdwStubPhase);
2612 HRESULT STDMETHODCALLTYPE IPropertyPageSite_GetPageContainer_Proxy(
2613     IPropertyPageSite* This,
2614     IUnknown **ppUnk);
2615 void __RPC_STUB IPropertyPageSite_GetPageContainer_Stub(
2616     IRpcStubBuffer* This,
2617     IRpcChannelBuffer* pRpcChannelBuffer,
2618     PRPC_MESSAGE pRpcMessage,
2619     DWORD* pdwStubPhase);
2620 HRESULT STDMETHODCALLTYPE IPropertyPageSite_TranslateAccelerator_Proxy(
2621     IPropertyPageSite* This,
2622     MSG *pMsg);
2623 void __RPC_STUB IPropertyPageSite_TranslateAccelerator_Stub(
2624     IRpcStubBuffer* This,
2625     IRpcChannelBuffer* pRpcChannelBuffer,
2626     PRPC_MESSAGE pRpcMessage,
2627     DWORD* pdwStubPhase);
2628 
2629 #endif  /* __IPropertyPageSite_INTERFACE_DEFINED__ */
2630 
2631 
2632 /*****************************************************************************
2633  * IPropertyNotifySink interface
2634  */
2635 #ifndef __IPropertyNotifySink_INTERFACE_DEFINED__
2636 #define __IPropertyNotifySink_INTERFACE_DEFINED__
2637 
2638 typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
2639 
2640 DEFINE_GUID(IID_IPropertyNotifySink, 0x9bfbbc02, 0xeff1, 0x101a, 0x84,0xed, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2641 #if defined(__cplusplus) && !defined(CINTERFACE)
2642 MIDL_INTERFACE("9bfbbc02-eff1-101a-84ed-00aa00341d07")
2643 IPropertyNotifySink : public IUnknown
2644 {
2645     virtual HRESULT STDMETHODCALLTYPE OnChanged(
2646         DISPID dispID) = 0;
2647 
2648     virtual HRESULT STDMETHODCALLTYPE OnRequestEdit(
2649         DISPID dispID) = 0;
2650 
2651 };
2652 #ifdef __CRT_UUID_DECL
2653 __CRT_UUID_DECL(IPropertyNotifySink, 0x9bfbbc02, 0xeff1, 0x101a, 0x84,0xed, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2654 #endif
2655 #else
2656 typedef struct IPropertyNotifySinkVtbl {
2657     BEGIN_INTERFACE
2658 
2659     /*** IUnknown methods ***/
2660     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2661         IPropertyNotifySink* This,
2662         REFIID riid,
2663         void **ppvObject);
2664 
2665     ULONG (STDMETHODCALLTYPE *AddRef)(
2666         IPropertyNotifySink* This);
2667 
2668     ULONG (STDMETHODCALLTYPE *Release)(
2669         IPropertyNotifySink* This);
2670 
2671     /*** IPropertyNotifySink methods ***/
2672     HRESULT (STDMETHODCALLTYPE *OnChanged)(
2673         IPropertyNotifySink* This,
2674         DISPID dispID);
2675 
2676     HRESULT (STDMETHODCALLTYPE *OnRequestEdit)(
2677         IPropertyNotifySink* This,
2678         DISPID dispID);
2679 
2680     END_INTERFACE
2681 } IPropertyNotifySinkVtbl;
2682 interface IPropertyNotifySink {
2683     CONST_VTBL IPropertyNotifySinkVtbl* lpVtbl;
2684 };
2685 
2686 #ifdef COBJMACROS
2687 #ifndef WIDL_C_INLINE_WRAPPERS
2688 /*** IUnknown methods ***/
2689 #define IPropertyNotifySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2690 #define IPropertyNotifySink_AddRef(This) (This)->lpVtbl->AddRef(This)
2691 #define IPropertyNotifySink_Release(This) (This)->lpVtbl->Release(This)
2692 /*** IPropertyNotifySink methods ***/
2693 #define IPropertyNotifySink_OnChanged(This,dispID) (This)->lpVtbl->OnChanged(This,dispID)
2694 #define IPropertyNotifySink_OnRequestEdit(This,dispID) (This)->lpVtbl->OnRequestEdit(This,dispID)
2695 #else
2696 /*** IUnknown methods ***/
2697 static FORCEINLINE HRESULT IPropertyNotifySink_QueryInterface(IPropertyNotifySink* This,REFIID riid,void **ppvObject) {
2698     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2699 }
2700 static FORCEINLINE ULONG IPropertyNotifySink_AddRef(IPropertyNotifySink* This) {
2701     return This->lpVtbl->AddRef(This);
2702 }
2703 static FORCEINLINE ULONG IPropertyNotifySink_Release(IPropertyNotifySink* This) {
2704     return This->lpVtbl->Release(This);
2705 }
2706 /*** IPropertyNotifySink methods ***/
2707 static FORCEINLINE HRESULT IPropertyNotifySink_OnChanged(IPropertyNotifySink* This,DISPID dispID) {
2708     return This->lpVtbl->OnChanged(This,dispID);
2709 }
2710 static FORCEINLINE HRESULT IPropertyNotifySink_OnRequestEdit(IPropertyNotifySink* This,DISPID dispID) {
2711     return This->lpVtbl->OnRequestEdit(This,dispID);
2712 }
2713 #endif
2714 #endif
2715 
2716 #endif
2717 
2718 HRESULT STDMETHODCALLTYPE IPropertyNotifySink_OnChanged_Proxy(
2719     IPropertyNotifySink* This,
2720     DISPID dispID);
2721 void __RPC_STUB IPropertyNotifySink_OnChanged_Stub(
2722     IRpcStubBuffer* This,
2723     IRpcChannelBuffer* pRpcChannelBuffer,
2724     PRPC_MESSAGE pRpcMessage,
2725     DWORD* pdwStubPhase);
2726 HRESULT STDMETHODCALLTYPE IPropertyNotifySink_OnRequestEdit_Proxy(
2727     IPropertyNotifySink* This,
2728     DISPID dispID);
2729 void __RPC_STUB IPropertyNotifySink_OnRequestEdit_Stub(
2730     IRpcStubBuffer* This,
2731     IRpcChannelBuffer* pRpcChannelBuffer,
2732     PRPC_MESSAGE pRpcMessage,
2733     DWORD* pdwStubPhase);
2734 
2735 #endif  /* __IPropertyNotifySink_INTERFACE_DEFINED__ */
2736 
2737 
2738 /*****************************************************************************
2739  * ISpecifyPropertyPages interface
2740  */
2741 #ifndef __ISpecifyPropertyPages_INTERFACE_DEFINED__
2742 #define __ISpecifyPropertyPages_INTERFACE_DEFINED__
2743 
2744 typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
2745 
2746 typedef struct tagCAUUID {
2747     ULONG cElems;
2748     GUID *pElems;
2749 } CAUUID;
2750 
2751 typedef struct tagCAUUID *LPCAUUID;
2752 
2753 DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2754 #if defined(__cplusplus) && !defined(CINTERFACE)
2755 MIDL_INTERFACE("b196b28b-bab4-101a-b69c-00aa00341d07")
2756 ISpecifyPropertyPages : public IUnknown
2757 {
2758     virtual HRESULT STDMETHODCALLTYPE GetPages(
2759         CAUUID *pPages) = 0;
2760 
2761 };
2762 #ifdef __CRT_UUID_DECL
2763 __CRT_UUID_DECL(ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07)
2764 #endif
2765 #else
2766 typedef struct ISpecifyPropertyPagesVtbl {
2767     BEGIN_INTERFACE
2768 
2769     /*** IUnknown methods ***/
2770     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2771         ISpecifyPropertyPages* This,
2772         REFIID riid,
2773         void **ppvObject);
2774 
2775     ULONG (STDMETHODCALLTYPE *AddRef)(
2776         ISpecifyPropertyPages* This);
2777 
2778     ULONG (STDMETHODCALLTYPE *Release)(
2779         ISpecifyPropertyPages* This);
2780 
2781     /*** ISpecifyPropertyPages methods ***/
2782     HRESULT (STDMETHODCALLTYPE *GetPages)(
2783         ISpecifyPropertyPages* This,
2784         CAUUID *pPages);
2785 
2786     END_INTERFACE
2787 } ISpecifyPropertyPagesVtbl;
2788 interface ISpecifyPropertyPages {
2789     CONST_VTBL ISpecifyPropertyPagesVtbl* lpVtbl;
2790 };
2791 
2792 #ifdef COBJMACROS
2793 #ifndef WIDL_C_INLINE_WRAPPERS
2794 /*** IUnknown methods ***/
2795 #define ISpecifyPropertyPages_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2796 #define ISpecifyPropertyPages_AddRef(This) (This)->lpVtbl->AddRef(This)
2797 #define ISpecifyPropertyPages_Release(This) (This)->lpVtbl->Release(This)
2798 /*** ISpecifyPropertyPages methods ***/
2799 #define ISpecifyPropertyPages_GetPages(This,pPages) (This)->lpVtbl->GetPages(This,pPages)
2800 #else
2801 /*** IUnknown methods ***/
2802 static FORCEINLINE HRESULT ISpecifyPropertyPages_QueryInterface(ISpecifyPropertyPages* This,REFIID riid,void **ppvObject) {
2803     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2804 }
2805 static FORCEINLINE ULONG ISpecifyPropertyPages_AddRef(ISpecifyPropertyPages* This) {
2806     return This->lpVtbl->AddRef(This);
2807 }
2808 static FORCEINLINE ULONG ISpecifyPropertyPages_Release(ISpecifyPropertyPages* This) {
2809     return This->lpVtbl->Release(This);
2810 }
2811 /*** ISpecifyPropertyPages methods ***/
2812 static FORCEINLINE HRESULT ISpecifyPropertyPages_GetPages(ISpecifyPropertyPages* This,CAUUID *pPages) {
2813     return This->lpVtbl->GetPages(This,pPages);
2814 }
2815 #endif
2816 #endif
2817 
2818 #endif
2819 
2820 HRESULT STDMETHODCALLTYPE ISpecifyPropertyPages_GetPages_Proxy(
2821     ISpecifyPropertyPages* This,
2822     CAUUID *pPages);
2823 void __RPC_STUB ISpecifyPropertyPages_GetPages_Stub(
2824     IRpcStubBuffer* This,
2825     IRpcChannelBuffer* pRpcChannelBuffer,
2826     PRPC_MESSAGE pRpcMessage,
2827     DWORD* pdwStubPhase);
2828 
2829 #endif  /* __ISpecifyPropertyPages_INTERFACE_DEFINED__ */
2830 
2831 
2832 /*****************************************************************************
2833  * IPersistMemory interface
2834  */
2835 #ifndef __IPersistMemory_INTERFACE_DEFINED__
2836 #define __IPersistMemory_INTERFACE_DEFINED__
2837 
2838 typedef IPersistMemory *LPPERSISTMEMORY;
2839 
2840 DEFINE_GUID(IID_IPersistMemory, 0xbd1ae5e0, 0xa6ae, 0x11ce, 0xbd,0x37, 0x50,0x42,0x00,0xc1,0x00,0x00);
2841 #if defined(__cplusplus) && !defined(CINTERFACE)
2842 MIDL_INTERFACE("bd1ae5e0-a6ae-11ce-bd37-504200c10000")
2843 IPersistMemory : public IPersist
2844 {
2845     virtual HRESULT STDMETHODCALLTYPE IsDirty(
2846         ) = 0;
2847 
2848     virtual HRESULT STDMETHODCALLTYPE Load(
2849         LPVOID pMem,
2850         ULONG cbSize) = 0;
2851 
2852     virtual HRESULT STDMETHODCALLTYPE Save(
2853         LPVOID pMem,
2854         WINBOOL fClearDirty,
2855         ULONG cbSize) = 0;
2856 
2857     virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
2858         ULONG *pCbSize) = 0;
2859 
2860     virtual HRESULT STDMETHODCALLTYPE InitNew(
2861         ) = 0;
2862 
2863 };
2864 #ifdef __CRT_UUID_DECL
2865 __CRT_UUID_DECL(IPersistMemory, 0xbd1ae5e0, 0xa6ae, 0x11ce, 0xbd,0x37, 0x50,0x42,0x00,0xc1,0x00,0x00)
2866 #endif
2867 #else
2868 typedef struct IPersistMemoryVtbl {
2869     BEGIN_INTERFACE
2870 
2871     /*** IUnknown methods ***/
2872     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2873         IPersistMemory* This,
2874         REFIID riid,
2875         void **ppvObject);
2876 
2877     ULONG (STDMETHODCALLTYPE *AddRef)(
2878         IPersistMemory* This);
2879 
2880     ULONG (STDMETHODCALLTYPE *Release)(
2881         IPersistMemory* This);
2882 
2883     /*** IPersist methods ***/
2884     HRESULT (STDMETHODCALLTYPE *GetClassID)(
2885         IPersistMemory* This,
2886         CLSID *pClassID);
2887 
2888     /*** IPersistMemory methods ***/
2889     HRESULT (STDMETHODCALLTYPE *IsDirty)(
2890         IPersistMemory* This);
2891 
2892     HRESULT (STDMETHODCALLTYPE *Load)(
2893         IPersistMemory* This,
2894         LPVOID pMem,
2895         ULONG cbSize);
2896 
2897     HRESULT (STDMETHODCALLTYPE *Save)(
2898         IPersistMemory* This,
2899         LPVOID pMem,
2900         WINBOOL fClearDirty,
2901         ULONG cbSize);
2902 
2903     HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
2904         IPersistMemory* This,
2905         ULONG *pCbSize);
2906 
2907     HRESULT (STDMETHODCALLTYPE *InitNew)(
2908         IPersistMemory* This);
2909 
2910     END_INTERFACE
2911 } IPersistMemoryVtbl;
2912 interface IPersistMemory {
2913     CONST_VTBL IPersistMemoryVtbl* lpVtbl;
2914 };
2915 
2916 #ifdef COBJMACROS
2917 #ifndef WIDL_C_INLINE_WRAPPERS
2918 /*** IUnknown methods ***/
2919 #define IPersistMemory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2920 #define IPersistMemory_AddRef(This) (This)->lpVtbl->AddRef(This)
2921 #define IPersistMemory_Release(This) (This)->lpVtbl->Release(This)
2922 /*** IPersist methods ***/
2923 #define IPersistMemory_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
2924 /*** IPersistMemory methods ***/
2925 #define IPersistMemory_IsDirty(This) (This)->lpVtbl->IsDirty(This)
2926 #define IPersistMemory_Load(This,pMem,cbSize) (This)->lpVtbl->Load(This,pMem,cbSize)
2927 #define IPersistMemory_Save(This,pMem,fClearDirty,cbSize) (This)->lpVtbl->Save(This,pMem,fClearDirty,cbSize)
2928 #define IPersistMemory_GetSizeMax(This,pCbSize) (This)->lpVtbl->GetSizeMax(This,pCbSize)
2929 #define IPersistMemory_InitNew(This) (This)->lpVtbl->InitNew(This)
2930 #else
2931 /*** IUnknown methods ***/
2932 static FORCEINLINE HRESULT IPersistMemory_QueryInterface(IPersistMemory* This,REFIID riid,void **ppvObject) {
2933     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2934 }
2935 static FORCEINLINE ULONG IPersistMemory_AddRef(IPersistMemory* This) {
2936     return This->lpVtbl->AddRef(This);
2937 }
2938 static FORCEINLINE ULONG IPersistMemory_Release(IPersistMemory* This) {
2939     return This->lpVtbl->Release(This);
2940 }
2941 /*** IPersist methods ***/
2942 static FORCEINLINE HRESULT IPersistMemory_GetClassID(IPersistMemory* This,CLSID *pClassID) {
2943     return This->lpVtbl->GetClassID(This,pClassID);
2944 }
2945 /*** IPersistMemory methods ***/
2946 static FORCEINLINE HRESULT IPersistMemory_IsDirty(IPersistMemory* This) {
2947     return This->lpVtbl->IsDirty(This);
2948 }
2949 static FORCEINLINE HRESULT IPersistMemory_Load(IPersistMemory* This,LPVOID pMem,ULONG cbSize) {
2950     return This->lpVtbl->Load(This,pMem,cbSize);
2951 }
2952 static FORCEINLINE HRESULT IPersistMemory_Save(IPersistMemory* This,LPVOID pMem,WINBOOL fClearDirty,ULONG cbSize) {
2953     return This->lpVtbl->Save(This,pMem,fClearDirty,cbSize);
2954 }
2955 static FORCEINLINE HRESULT IPersistMemory_GetSizeMax(IPersistMemory* This,ULONG *pCbSize) {
2956     return This->lpVtbl->GetSizeMax(This,pCbSize);
2957 }
2958 static FORCEINLINE HRESULT IPersistMemory_InitNew(IPersistMemory* This) {
2959     return This->lpVtbl->InitNew(This);
2960 }
2961 #endif
2962 #endif
2963 
2964 #endif
2965 
2966 HRESULT STDMETHODCALLTYPE IPersistMemory_IsDirty_Proxy(
2967     IPersistMemory* This);
2968 void __RPC_STUB IPersistMemory_IsDirty_Stub(
2969     IRpcStubBuffer* This,
2970     IRpcChannelBuffer* pRpcChannelBuffer,
2971     PRPC_MESSAGE pRpcMessage,
2972     DWORD* pdwStubPhase);
2973 HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteLoad_Proxy(
2974     IPersistMemory* This,
2975     BYTE *pMem,
2976     ULONG cbSize);
2977 void __RPC_STUB IPersistMemory_RemoteLoad_Stub(
2978     IRpcStubBuffer* This,
2979     IRpcChannelBuffer* pRpcChannelBuffer,
2980     PRPC_MESSAGE pRpcMessage,
2981     DWORD* pdwStubPhase);
2982 HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteSave_Proxy(
2983     IPersistMemory* This,
2984     BYTE *pMem,
2985     WINBOOL fClearDirty,
2986     ULONG cbSize);
2987 void __RPC_STUB IPersistMemory_RemoteSave_Stub(
2988     IRpcStubBuffer* This,
2989     IRpcChannelBuffer* pRpcChannelBuffer,
2990     PRPC_MESSAGE pRpcMessage,
2991     DWORD* pdwStubPhase);
2992 HRESULT STDMETHODCALLTYPE IPersistMemory_GetSizeMax_Proxy(
2993     IPersistMemory* This,
2994     ULONG *pCbSize);
2995 void __RPC_STUB IPersistMemory_GetSizeMax_Stub(
2996     IRpcStubBuffer* This,
2997     IRpcChannelBuffer* pRpcChannelBuffer,
2998     PRPC_MESSAGE pRpcMessage,
2999     DWORD* pdwStubPhase);
3000 HRESULT STDMETHODCALLTYPE IPersistMemory_InitNew_Proxy(
3001     IPersistMemory* This);
3002 void __RPC_STUB IPersistMemory_InitNew_Stub(
3003     IRpcStubBuffer* This,
3004     IRpcChannelBuffer* pRpcChannelBuffer,
3005     PRPC_MESSAGE pRpcMessage,
3006     DWORD* pdwStubPhase);
3007 HRESULT CALLBACK IPersistMemory_Load_Proxy(
3008     IPersistMemory* This,
3009     LPVOID pMem,
3010     ULONG cbSize);
3011 HRESULT __RPC_STUB IPersistMemory_Load_Stub(
3012     IPersistMemory* This,
3013     BYTE *pMem,
3014     ULONG cbSize);
3015 HRESULT CALLBACK IPersistMemory_Save_Proxy(
3016     IPersistMemory* This,
3017     LPVOID pMem,
3018     WINBOOL fClearDirty,
3019     ULONG cbSize);
3020 HRESULT __RPC_STUB IPersistMemory_Save_Stub(
3021     IPersistMemory* This,
3022     BYTE *pMem,
3023     WINBOOL fClearDirty,
3024     ULONG cbSize);
3025 
3026 #endif  /* __IPersistMemory_INTERFACE_DEFINED__ */
3027 
3028 
3029 /*****************************************************************************
3030  * IPersistStreamInit interface
3031  */
3032 #ifndef __IPersistStreamInit_INTERFACE_DEFINED__
3033 #define __IPersistStreamInit_INTERFACE_DEFINED__
3034 
3035 typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
3036 
3037 DEFINE_GUID(IID_IPersistStreamInit, 0x7fd52380, 0x4e07, 0x101b, 0xae,0x2d, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
3038 #if defined(__cplusplus) && !defined(CINTERFACE)
3039 MIDL_INTERFACE("7fd52380-4e07-101b-ae2d-08002b2ec713")
3040 IPersistStreamInit : public IPersist
3041 {
3042     virtual HRESULT STDMETHODCALLTYPE IsDirty(
3043         ) = 0;
3044 
3045     virtual HRESULT STDMETHODCALLTYPE Load(
3046         LPSTREAM pStm) = 0;
3047 
3048     virtual HRESULT STDMETHODCALLTYPE Save(
3049         LPSTREAM pStm,
3050         WINBOOL fClearDirty) = 0;
3051 
3052     virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
3053         ULARGE_INTEGER *pCbSize) = 0;
3054 
3055     virtual HRESULT STDMETHODCALLTYPE InitNew(
3056         ) = 0;
3057 
3058 };
3059 #ifdef __CRT_UUID_DECL
3060 __CRT_UUID_DECL(IPersistStreamInit, 0x7fd52380, 0x4e07, 0x101b, 0xae,0x2d, 0x08,0x00,0x2b,0x2e,0xc7,0x13)
3061 #endif
3062 #else
3063 typedef struct IPersistStreamInitVtbl {
3064     BEGIN_INTERFACE
3065 
3066     /*** IUnknown methods ***/
3067     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3068         IPersistStreamInit* This,
3069         REFIID riid,
3070         void **ppvObject);
3071 
3072     ULONG (STDMETHODCALLTYPE *AddRef)(
3073         IPersistStreamInit* This);
3074 
3075     ULONG (STDMETHODCALLTYPE *Release)(
3076         IPersistStreamInit* This);
3077 
3078     /*** IPersist methods ***/
3079     HRESULT (STDMETHODCALLTYPE *GetClassID)(
3080         IPersistStreamInit* This,
3081         CLSID *pClassID);
3082 
3083     /*** IPersistStreamInit methods ***/
3084     HRESULT (STDMETHODCALLTYPE *IsDirty)(
3085         IPersistStreamInit* This);
3086 
3087     HRESULT (STDMETHODCALLTYPE *Load)(
3088         IPersistStreamInit* This,
3089         LPSTREAM pStm);
3090 
3091     HRESULT (STDMETHODCALLTYPE *Save)(
3092         IPersistStreamInit* This,
3093         LPSTREAM pStm,
3094         WINBOOL fClearDirty);
3095 
3096     HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
3097         IPersistStreamInit* This,
3098         ULARGE_INTEGER *pCbSize);
3099 
3100     HRESULT (STDMETHODCALLTYPE *InitNew)(
3101         IPersistStreamInit* This);
3102 
3103     END_INTERFACE
3104 } IPersistStreamInitVtbl;
3105 interface IPersistStreamInit {
3106     CONST_VTBL IPersistStreamInitVtbl* lpVtbl;
3107 };
3108 
3109 #ifdef COBJMACROS
3110 #ifndef WIDL_C_INLINE_WRAPPERS
3111 /*** IUnknown methods ***/
3112 #define IPersistStreamInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3113 #define IPersistStreamInit_AddRef(This) (This)->lpVtbl->AddRef(This)
3114 #define IPersistStreamInit_Release(This) (This)->lpVtbl->Release(This)
3115 /*** IPersist methods ***/
3116 #define IPersistStreamInit_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3117 /*** IPersistStreamInit methods ***/
3118 #define IPersistStreamInit_IsDirty(This) (This)->lpVtbl->IsDirty(This)
3119 #define IPersistStreamInit_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
3120 #define IPersistStreamInit_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
3121 #define IPersistStreamInit_GetSizeMax(This,pCbSize) (This)->lpVtbl->GetSizeMax(This,pCbSize)
3122 #define IPersistStreamInit_InitNew(This) (This)->lpVtbl->InitNew(This)
3123 #else
3124 /*** IUnknown methods ***/
3125 static FORCEINLINE HRESULT IPersistStreamInit_QueryInterface(IPersistStreamInit* This,REFIID riid,void **ppvObject) {
3126     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3127 }
3128 static FORCEINLINE ULONG IPersistStreamInit_AddRef(IPersistStreamInit* This) {
3129     return This->lpVtbl->AddRef(This);
3130 }
3131 static FORCEINLINE ULONG IPersistStreamInit_Release(IPersistStreamInit* This) {
3132     return This->lpVtbl->Release(This);
3133 }
3134 /*** IPersist methods ***/
3135 static FORCEINLINE HRESULT IPersistStreamInit_GetClassID(IPersistStreamInit* This,CLSID *pClassID) {
3136     return This->lpVtbl->GetClassID(This,pClassID);
3137 }
3138 /*** IPersistStreamInit methods ***/
3139 static FORCEINLINE HRESULT IPersistStreamInit_IsDirty(IPersistStreamInit* This) {
3140     return This->lpVtbl->IsDirty(This);
3141 }
3142 static FORCEINLINE HRESULT IPersistStreamInit_Load(IPersistStreamInit* This,LPSTREAM pStm) {
3143     return This->lpVtbl->Load(This,pStm);
3144 }
3145 static FORCEINLINE HRESULT IPersistStreamInit_Save(IPersistStreamInit* This,LPSTREAM pStm,WINBOOL fClearDirty) {
3146     return This->lpVtbl->Save(This,pStm,fClearDirty);
3147 }
3148 static FORCEINLINE HRESULT IPersistStreamInit_GetSizeMax(IPersistStreamInit* This,ULARGE_INTEGER *pCbSize) {
3149     return This->lpVtbl->GetSizeMax(This,pCbSize);
3150 }
3151 static FORCEINLINE HRESULT IPersistStreamInit_InitNew(IPersistStreamInit* This) {
3152     return This->lpVtbl->InitNew(This);
3153 }
3154 #endif
3155 #endif
3156 
3157 #endif
3158 
3159 HRESULT STDMETHODCALLTYPE IPersistStreamInit_IsDirty_Proxy(
3160     IPersistStreamInit* This);
3161 void __RPC_STUB IPersistStreamInit_IsDirty_Stub(
3162     IRpcStubBuffer* This,
3163     IRpcChannelBuffer* pRpcChannelBuffer,
3164     PRPC_MESSAGE pRpcMessage,
3165     DWORD* pdwStubPhase);
3166 HRESULT STDMETHODCALLTYPE IPersistStreamInit_Load_Proxy(
3167     IPersistStreamInit* This,
3168     LPSTREAM pStm);
3169 void __RPC_STUB IPersistStreamInit_Load_Stub(
3170     IRpcStubBuffer* This,
3171     IRpcChannelBuffer* pRpcChannelBuffer,
3172     PRPC_MESSAGE pRpcMessage,
3173     DWORD* pdwStubPhase);
3174 HRESULT STDMETHODCALLTYPE IPersistStreamInit_Save_Proxy(
3175     IPersistStreamInit* This,
3176     LPSTREAM pStm,
3177     WINBOOL fClearDirty);
3178 void __RPC_STUB IPersistStreamInit_Save_Stub(
3179     IRpcStubBuffer* This,
3180     IRpcChannelBuffer* pRpcChannelBuffer,
3181     PRPC_MESSAGE pRpcMessage,
3182     DWORD* pdwStubPhase);
3183 HRESULT STDMETHODCALLTYPE IPersistStreamInit_GetSizeMax_Proxy(
3184     IPersistStreamInit* This,
3185     ULARGE_INTEGER *pCbSize);
3186 void __RPC_STUB IPersistStreamInit_GetSizeMax_Stub(
3187     IRpcStubBuffer* This,
3188     IRpcChannelBuffer* pRpcChannelBuffer,
3189     PRPC_MESSAGE pRpcMessage,
3190     DWORD* pdwStubPhase);
3191 HRESULT STDMETHODCALLTYPE IPersistStreamInit_InitNew_Proxy(
3192     IPersistStreamInit* This);
3193 void __RPC_STUB IPersistStreamInit_InitNew_Stub(
3194     IRpcStubBuffer* This,
3195     IRpcChannelBuffer* pRpcChannelBuffer,
3196     PRPC_MESSAGE pRpcMessage,
3197     DWORD* pdwStubPhase);
3198 
3199 #endif  /* __IPersistStreamInit_INTERFACE_DEFINED__ */
3200 
3201 
3202 /*****************************************************************************
3203  * IPersistPropertyBag interface
3204  */
3205 #ifndef __IPersistPropertyBag_INTERFACE_DEFINED__
3206 #define __IPersistPropertyBag_INTERFACE_DEFINED__
3207 
3208 typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
3209 
3210 DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
3211 #if defined(__cplusplus) && !defined(CINTERFACE)
3212 MIDL_INTERFACE("37d84f60-42cb-11ce-8135-00aa004bb851")
3213 IPersistPropertyBag : public IPersist
3214 {
3215     virtual HRESULT STDMETHODCALLTYPE InitNew(
3216         ) = 0;
3217 
3218     virtual HRESULT STDMETHODCALLTYPE Load(
3219         IPropertyBag *pPropBag,
3220         IErrorLog *pErrorLog) = 0;
3221 
3222     virtual HRESULT STDMETHODCALLTYPE Save(
3223         IPropertyBag *pPropBag,
3224         WINBOOL fClearDirty,
3225         WINBOOL fSaveAllProperties) = 0;
3226 
3227 };
3228 #ifdef __CRT_UUID_DECL
3229 __CRT_UUID_DECL(IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51)
3230 #endif
3231 #else
3232 typedef struct IPersistPropertyBagVtbl {
3233     BEGIN_INTERFACE
3234 
3235     /*** IUnknown methods ***/
3236     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3237         IPersistPropertyBag* This,
3238         REFIID riid,
3239         void **ppvObject);
3240 
3241     ULONG (STDMETHODCALLTYPE *AddRef)(
3242         IPersistPropertyBag* This);
3243 
3244     ULONG (STDMETHODCALLTYPE *Release)(
3245         IPersistPropertyBag* This);
3246 
3247     /*** IPersist methods ***/
3248     HRESULT (STDMETHODCALLTYPE *GetClassID)(
3249         IPersistPropertyBag* This,
3250         CLSID *pClassID);
3251 
3252     /*** IPersistPropertyBag methods ***/
3253     HRESULT (STDMETHODCALLTYPE *InitNew)(
3254         IPersistPropertyBag* This);
3255 
3256     HRESULT (STDMETHODCALLTYPE *Load)(
3257         IPersistPropertyBag* This,
3258         IPropertyBag *pPropBag,
3259         IErrorLog *pErrorLog);
3260 
3261     HRESULT (STDMETHODCALLTYPE *Save)(
3262         IPersistPropertyBag* This,
3263         IPropertyBag *pPropBag,
3264         WINBOOL fClearDirty,
3265         WINBOOL fSaveAllProperties);
3266 
3267     END_INTERFACE
3268 } IPersistPropertyBagVtbl;
3269 interface IPersistPropertyBag {
3270     CONST_VTBL IPersistPropertyBagVtbl* lpVtbl;
3271 };
3272 
3273 #ifdef COBJMACROS
3274 #ifndef WIDL_C_INLINE_WRAPPERS
3275 /*** IUnknown methods ***/
3276 #define IPersistPropertyBag_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3277 #define IPersistPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
3278 #define IPersistPropertyBag_Release(This) (This)->lpVtbl->Release(This)
3279 /*** IPersist methods ***/
3280 #define IPersistPropertyBag_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
3281 /*** IPersistPropertyBag methods ***/
3282 #define IPersistPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
3283 #define IPersistPropertyBag_Load(This,pPropBag,pErrorLog) (This)->lpVtbl->Load(This,pPropBag,pErrorLog)
3284 #define IPersistPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
3285 #else
3286 /*** IUnknown methods ***/
3287 static FORCEINLINE HRESULT IPersistPropertyBag_QueryInterface(IPersistPropertyBag* This,REFIID riid,void **ppvObject) {
3288     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3289 }
3290 static FORCEINLINE ULONG IPersistPropertyBag_AddRef(IPersistPropertyBag* This) {
3291     return This->lpVtbl->AddRef(This);
3292 }
3293 static FORCEINLINE ULONG IPersistPropertyBag_Release(IPersistPropertyBag* This) {
3294     return This->lpVtbl->Release(This);
3295 }
3296 /*** IPersist methods ***/
3297 static FORCEINLINE HRESULT IPersistPropertyBag_GetClassID(IPersistPropertyBag* This,CLSID *pClassID) {
3298     return This->lpVtbl->GetClassID(This,pClassID);
3299 }
3300 /*** IPersistPropertyBag methods ***/
3301 static FORCEINLINE HRESULT IPersistPropertyBag_InitNew(IPersistPropertyBag* This) {
3302     return This->lpVtbl->InitNew(This);
3303 }
3304 static FORCEINLINE HRESULT IPersistPropertyBag_Load(IPersistPropertyBag* This,IPropertyBag *pPropBag,IErrorLog *pErrorLog) {
3305     return This->lpVtbl->Load(This,pPropBag,pErrorLog);
3306 }
3307 static FORCEINLINE HRESULT IPersistPropertyBag_Save(IPersistPropertyBag* This,IPropertyBag *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
3308     return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
3309 }
3310 #endif
3311 #endif
3312 
3313 #endif
3314 
3315 HRESULT STDMETHODCALLTYPE IPersistPropertyBag_InitNew_Proxy(
3316     IPersistPropertyBag* This);
3317 void __RPC_STUB IPersistPropertyBag_InitNew_Stub(
3318     IRpcStubBuffer* This,
3319     IRpcChannelBuffer* pRpcChannelBuffer,
3320     PRPC_MESSAGE pRpcMessage,
3321     DWORD* pdwStubPhase);
3322 HRESULT STDMETHODCALLTYPE IPersistPropertyBag_Load_Proxy(
3323     IPersistPropertyBag* This,
3324     IPropertyBag *pPropBag,
3325     IErrorLog *pErrorLog);
3326 void __RPC_STUB IPersistPropertyBag_Load_Stub(
3327     IRpcStubBuffer* This,
3328     IRpcChannelBuffer* pRpcChannelBuffer,
3329     PRPC_MESSAGE pRpcMessage,
3330     DWORD* pdwStubPhase);
3331 HRESULT STDMETHODCALLTYPE IPersistPropertyBag_Save_Proxy(
3332     IPersistPropertyBag* This,
3333     IPropertyBag *pPropBag,
3334     WINBOOL fClearDirty,
3335     WINBOOL fSaveAllProperties);
3336 void __RPC_STUB IPersistPropertyBag_Save_Stub(
3337     IRpcStubBuffer* This,
3338     IRpcChannelBuffer* pRpcChannelBuffer,
3339     PRPC_MESSAGE pRpcMessage,
3340     DWORD* pdwStubPhase);
3341 
3342 #endif  /* __IPersistPropertyBag_INTERFACE_DEFINED__ */
3343 
3344 
3345 /*****************************************************************************
3346  * ISimpleFrameSite interface
3347  */
3348 #ifndef __ISimpleFrameSite_INTERFACE_DEFINED__
3349 #define __ISimpleFrameSite_INTERFACE_DEFINED__
3350 
3351 typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
3352 
3353 DEFINE_GUID(IID_ISimpleFrameSite, 0x742b0e01, 0x14e6, 0x101b, 0x91,0x4e, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3354 #if defined(__cplusplus) && !defined(CINTERFACE)
3355 MIDL_INTERFACE("742b0e01-14e6-101b-914e-00aa00300cab")
3356 ISimpleFrameSite : public IUnknown
3357 {
3358     virtual HRESULT STDMETHODCALLTYPE PreMessageFilter(
3359         HWND hWnd,
3360         UINT msg,
3361         WPARAM wp,
3362         LPARAM lp,
3363         LRESULT *plResult,
3364         DWORD *pdwCookie) = 0;
3365 
3366     virtual HRESULT STDMETHODCALLTYPE PostMessageFilter(
3367         HWND hWnd,
3368         UINT msg,
3369         WPARAM wp,
3370         LPARAM lp,
3371         LRESULT *plResult,
3372         DWORD dwCookie) = 0;
3373 
3374 };
3375 #ifdef __CRT_UUID_DECL
3376 __CRT_UUID_DECL(ISimpleFrameSite, 0x742b0e01, 0x14e6, 0x101b, 0x91,0x4e, 0x00,0xaa,0x00,0x30,0x0c,0xab)
3377 #endif
3378 #else
3379 typedef struct ISimpleFrameSiteVtbl {
3380     BEGIN_INTERFACE
3381 
3382     /*** IUnknown methods ***/
3383     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3384         ISimpleFrameSite* This,
3385         REFIID riid,
3386         void **ppvObject);
3387 
3388     ULONG (STDMETHODCALLTYPE *AddRef)(
3389         ISimpleFrameSite* This);
3390 
3391     ULONG (STDMETHODCALLTYPE *Release)(
3392         ISimpleFrameSite* This);
3393 
3394     /*** ISimpleFrameSite methods ***/
3395     HRESULT (STDMETHODCALLTYPE *PreMessageFilter)(
3396         ISimpleFrameSite* This,
3397         HWND hWnd,
3398         UINT msg,
3399         WPARAM wp,
3400         LPARAM lp,
3401         LRESULT *plResult,
3402         DWORD *pdwCookie);
3403 
3404     HRESULT (STDMETHODCALLTYPE *PostMessageFilter)(
3405         ISimpleFrameSite* This,
3406         HWND hWnd,
3407         UINT msg,
3408         WPARAM wp,
3409         LPARAM lp,
3410         LRESULT *plResult,
3411         DWORD dwCookie);
3412 
3413     END_INTERFACE
3414 } ISimpleFrameSiteVtbl;
3415 interface ISimpleFrameSite {
3416     CONST_VTBL ISimpleFrameSiteVtbl* lpVtbl;
3417 };
3418 
3419 #ifdef COBJMACROS
3420 #ifndef WIDL_C_INLINE_WRAPPERS
3421 /*** IUnknown methods ***/
3422 #define ISimpleFrameSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3423 #define ISimpleFrameSite_AddRef(This) (This)->lpVtbl->AddRef(This)
3424 #define ISimpleFrameSite_Release(This) (This)->lpVtbl->Release(This)
3425 /*** ISimpleFrameSite methods ***/
3426 #define ISimpleFrameSite_PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie) (This)->lpVtbl->PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie)
3427 #define ISimpleFrameSite_PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie) (This)->lpVtbl->PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie)
3428 #else
3429 /*** IUnknown methods ***/
3430 static FORCEINLINE HRESULT ISimpleFrameSite_QueryInterface(ISimpleFrameSite* This,REFIID riid,void **ppvObject) {
3431     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3432 }
3433 static FORCEINLINE ULONG ISimpleFrameSite_AddRef(ISimpleFrameSite* This) {
3434     return This->lpVtbl->AddRef(This);
3435 }
3436 static FORCEINLINE ULONG ISimpleFrameSite_Release(ISimpleFrameSite* This) {
3437     return This->lpVtbl->Release(This);
3438 }
3439 /*** ISimpleFrameSite methods ***/
3440 static FORCEINLINE HRESULT ISimpleFrameSite_PreMessageFilter(ISimpleFrameSite* This,HWND hWnd,UINT msg,WPARAM wp,LPARAM lp,LRESULT *plResult,DWORD *pdwCookie) {
3441     return This->lpVtbl->PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie);
3442 }
3443 static FORCEINLINE HRESULT ISimpleFrameSite_PostMessageFilter(ISimpleFrameSite* This,HWND hWnd,UINT msg,WPARAM wp,LPARAM lp,LRESULT *plResult,DWORD dwCookie) {
3444     return This->lpVtbl->PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie);
3445 }
3446 #endif
3447 #endif
3448 
3449 #endif
3450 
3451 HRESULT STDMETHODCALLTYPE ISimpleFrameSite_PreMessageFilter_Proxy(
3452     ISimpleFrameSite* This,
3453     HWND hWnd,
3454     UINT msg,
3455     WPARAM wp,
3456     LPARAM lp,
3457     LRESULT *plResult,
3458     DWORD *pdwCookie);
3459 void __RPC_STUB ISimpleFrameSite_PreMessageFilter_Stub(
3460     IRpcStubBuffer* This,
3461     IRpcChannelBuffer* pRpcChannelBuffer,
3462     PRPC_MESSAGE pRpcMessage,
3463     DWORD* pdwStubPhase);
3464 HRESULT STDMETHODCALLTYPE ISimpleFrameSite_PostMessageFilter_Proxy(
3465     ISimpleFrameSite* This,
3466     HWND hWnd,
3467     UINT msg,
3468     WPARAM wp,
3469     LPARAM lp,
3470     LRESULT *plResult,
3471     DWORD dwCookie);
3472 void __RPC_STUB ISimpleFrameSite_PostMessageFilter_Stub(
3473     IRpcStubBuffer* This,
3474     IRpcChannelBuffer* pRpcChannelBuffer,
3475     PRPC_MESSAGE pRpcMessage,
3476     DWORD* pdwStubPhase);
3477 
3478 #endif  /* __ISimpleFrameSite_INTERFACE_DEFINED__ */
3479 
3480 
3481 /*****************************************************************************
3482  * IFont interface
3483  */
3484 #ifndef __IFont_INTERFACE_DEFINED__
3485 #define __IFont_INTERFACE_DEFINED__
3486 
3487 typedef IFont *LPFONT;
3488 
3489 #ifndef OLE2ANSI
3490 typedef TEXTMETRICW TEXTMETRICOLE;
3491 #else
3492 typedef TEXTMETRIC TEXTMETRICOLE;
3493 #endif
3494 
3495 typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
3496 
3497 DEFINE_GUID(IID_IFont, 0xbef6e002, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3498 #if defined(__cplusplus) && !defined(CINTERFACE)
3499 MIDL_INTERFACE("bef6e002-a874-101a-8bba-00aa00300cab")
3500 IFont : public IUnknown
3501 {
3502     virtual HRESULT STDMETHODCALLTYPE get_Name(
3503         BSTR *pName) = 0;
3504 
3505     virtual HRESULT STDMETHODCALLTYPE put_Name(
3506         BSTR name) = 0;
3507 
3508     virtual HRESULT STDMETHODCALLTYPE get_Size(
3509         CY *pSize) = 0;
3510 
3511     virtual HRESULT STDMETHODCALLTYPE put_Size(
3512         CY size) = 0;
3513 
3514     virtual HRESULT STDMETHODCALLTYPE get_Bold(
3515         WINBOOL *pBold) = 0;
3516 
3517     virtual HRESULT STDMETHODCALLTYPE put_Bold(
3518         WINBOOL bold) = 0;
3519 
3520     virtual HRESULT STDMETHODCALLTYPE get_Italic(
3521         WINBOOL *pItalic) = 0;
3522 
3523     virtual HRESULT STDMETHODCALLTYPE put_Italic(
3524         WINBOOL italic) = 0;
3525 
3526     virtual HRESULT STDMETHODCALLTYPE get_Underline(
3527         WINBOOL *pUnderline) = 0;
3528 
3529     virtual HRESULT STDMETHODCALLTYPE put_Underline(
3530         WINBOOL underline) = 0;
3531 
3532     virtual HRESULT STDMETHODCALLTYPE get_Strikethrough(
3533         WINBOOL *pStrikethrough) = 0;
3534 
3535     virtual HRESULT STDMETHODCALLTYPE put_Strikethrough(
3536         WINBOOL strikethrough) = 0;
3537 
3538     virtual HRESULT STDMETHODCALLTYPE get_Weight(
3539         SHORT *pWeight) = 0;
3540 
3541     virtual HRESULT STDMETHODCALLTYPE put_Weight(
3542         SHORT weight) = 0;
3543 
3544     virtual HRESULT STDMETHODCALLTYPE get_Charset(
3545         SHORT *pCharset) = 0;
3546 
3547     virtual HRESULT STDMETHODCALLTYPE put_Charset(
3548         SHORT charset) = 0;
3549 
3550     virtual HRESULT STDMETHODCALLTYPE get_hFont(
3551         HFONT *phFont) = 0;
3552 
3553     virtual HRESULT STDMETHODCALLTYPE Clone(
3554         IFont **ppFont) = 0;
3555 
3556     virtual HRESULT STDMETHODCALLTYPE IsEqual(
3557         IFont *pFontOther) = 0;
3558 
3559     virtual HRESULT STDMETHODCALLTYPE SetRatio(
3560         LONG cyLogical,
3561         LONG cyHimetric) = 0;
3562 
3563     virtual HRESULT STDMETHODCALLTYPE QueryTextMetrics(
3564         TEXTMETRICOLE *pTM) = 0;
3565 
3566     virtual HRESULT STDMETHODCALLTYPE AddRefHfont(
3567         HFONT hFont) = 0;
3568 
3569     virtual HRESULT STDMETHODCALLTYPE ReleaseHfont(
3570         HFONT hFont) = 0;
3571 
3572     virtual HRESULT STDMETHODCALLTYPE SetHdc(
3573         HDC hDC) = 0;
3574 
3575 };
3576 #ifdef __CRT_UUID_DECL
3577 __CRT_UUID_DECL(IFont, 0xbef6e002, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab)
3578 #endif
3579 #else
3580 typedef struct IFontVtbl {
3581     BEGIN_INTERFACE
3582 
3583     /*** IUnknown methods ***/
3584     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3585         IFont* This,
3586         REFIID riid,
3587         void **ppvObject);
3588 
3589     ULONG (STDMETHODCALLTYPE *AddRef)(
3590         IFont* This);
3591 
3592     ULONG (STDMETHODCALLTYPE *Release)(
3593         IFont* This);
3594 
3595     /*** IFont methods ***/
3596     HRESULT (STDMETHODCALLTYPE *get_Name)(
3597         IFont* This,
3598         BSTR *pName);
3599 
3600     HRESULT (STDMETHODCALLTYPE *put_Name)(
3601         IFont* This,
3602         BSTR name);
3603 
3604     HRESULT (STDMETHODCALLTYPE *get_Size)(
3605         IFont* This,
3606         CY *pSize);
3607 
3608     HRESULT (STDMETHODCALLTYPE *put_Size)(
3609         IFont* This,
3610         CY size);
3611 
3612     HRESULT (STDMETHODCALLTYPE *get_Bold)(
3613         IFont* This,
3614         WINBOOL *pBold);
3615 
3616     HRESULT (STDMETHODCALLTYPE *put_Bold)(
3617         IFont* This,
3618         WINBOOL bold);
3619 
3620     HRESULT (STDMETHODCALLTYPE *get_Italic)(
3621         IFont* This,
3622         WINBOOL *pItalic);
3623 
3624     HRESULT (STDMETHODCALLTYPE *put_Italic)(
3625         IFont* This,
3626         WINBOOL italic);
3627 
3628     HRESULT (STDMETHODCALLTYPE *get_Underline)(
3629         IFont* This,
3630         WINBOOL *pUnderline);
3631 
3632     HRESULT (STDMETHODCALLTYPE *put_Underline)(
3633         IFont* This,
3634         WINBOOL underline);
3635 
3636     HRESULT (STDMETHODCALLTYPE *get_Strikethrough)(
3637         IFont* This,
3638         WINBOOL *pStrikethrough);
3639 
3640     HRESULT (STDMETHODCALLTYPE *put_Strikethrough)(
3641         IFont* This,
3642         WINBOOL strikethrough);
3643 
3644     HRESULT (STDMETHODCALLTYPE *get_Weight)(
3645         IFont* This,
3646         SHORT *pWeight);
3647 
3648     HRESULT (STDMETHODCALLTYPE *put_Weight)(
3649         IFont* This,
3650         SHORT weight);
3651 
3652     HRESULT (STDMETHODCALLTYPE *get_Charset)(
3653         IFont* This,
3654         SHORT *pCharset);
3655 
3656     HRESULT (STDMETHODCALLTYPE *put_Charset)(
3657         IFont* This,
3658         SHORT charset);
3659 
3660     HRESULT (STDMETHODCALLTYPE *get_hFont)(
3661         IFont* This,
3662         HFONT *phFont);
3663 
3664     HRESULT (STDMETHODCALLTYPE *Clone)(
3665         IFont* This,
3666         IFont **ppFont);
3667 
3668     HRESULT (STDMETHODCALLTYPE *IsEqual)(
3669         IFont* This,
3670         IFont *pFontOther);
3671 
3672     HRESULT (STDMETHODCALLTYPE *SetRatio)(
3673         IFont* This,
3674         LONG cyLogical,
3675         LONG cyHimetric);
3676 
3677     HRESULT (STDMETHODCALLTYPE *QueryTextMetrics)(
3678         IFont* This,
3679         TEXTMETRICOLE *pTM);
3680 
3681     HRESULT (STDMETHODCALLTYPE *AddRefHfont)(
3682         IFont* This,
3683         HFONT hFont);
3684 
3685     HRESULT (STDMETHODCALLTYPE *ReleaseHfont)(
3686         IFont* This,
3687         HFONT hFont);
3688 
3689     HRESULT (STDMETHODCALLTYPE *SetHdc)(
3690         IFont* This,
3691         HDC hDC);
3692 
3693     END_INTERFACE
3694 } IFontVtbl;
3695 interface IFont {
3696     CONST_VTBL IFontVtbl* lpVtbl;
3697 };
3698 
3699 #ifdef COBJMACROS
3700 #ifndef WIDL_C_INLINE_WRAPPERS
3701 /*** IUnknown methods ***/
3702 #define IFont_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3703 #define IFont_AddRef(This) (This)->lpVtbl->AddRef(This)
3704 #define IFont_Release(This) (This)->lpVtbl->Release(This)
3705 /*** IFont methods ***/
3706 #define IFont_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
3707 #define IFont_put_Name(This,name) (This)->lpVtbl->put_Name(This,name)
3708 #define IFont_get_Size(This,pSize) (This)->lpVtbl->get_Size(This,pSize)
3709 #define IFont_put_Size(This,size) (This)->lpVtbl->put_Size(This,size)
3710 #define IFont_get_Bold(This,pBold) (This)->lpVtbl->get_Bold(This,pBold)
3711 #define IFont_put_Bold(This,bold) (This)->lpVtbl->put_Bold(This,bold)
3712 #define IFont_get_Italic(This,pItalic) (This)->lpVtbl->get_Italic(This,pItalic)
3713 #define IFont_put_Italic(This,italic) (This)->lpVtbl->put_Italic(This,italic)
3714 #define IFont_get_Underline(This,pUnderline) (This)->lpVtbl->get_Underline(This,pUnderline)
3715 #define IFont_put_Underline(This,underline) (This)->lpVtbl->put_Underline(This,underline)
3716 #define IFont_get_Strikethrough(This,pStrikethrough) (This)->lpVtbl->get_Strikethrough(This,pStrikethrough)
3717 #define IFont_put_Strikethrough(This,strikethrough) (This)->lpVtbl->put_Strikethrough(This,strikethrough)
3718 #define IFont_get_Weight(This,pWeight) (This)->lpVtbl->get_Weight(This,pWeight)
3719 #define IFont_put_Weight(This,weight) (This)->lpVtbl->put_Weight(This,weight)
3720 #define IFont_get_Charset(This,pCharset) (This)->lpVtbl->get_Charset(This,pCharset)
3721 #define IFont_put_Charset(This,charset) (This)->lpVtbl->put_Charset(This,charset)
3722 #define IFont_get_hFont(This,phFont) (This)->lpVtbl->get_hFont(This,phFont)
3723 #define IFont_Clone(This,ppFont) (This)->lpVtbl->Clone(This,ppFont)
3724 #define IFont_IsEqual(This,pFontOther) (This)->lpVtbl->IsEqual(This,pFontOther)
3725 #define IFont_SetRatio(This,cyLogical,cyHimetric) (This)->lpVtbl->SetRatio(This,cyLogical,cyHimetric)
3726 #define IFont_QueryTextMetrics(This,pTM) (This)->lpVtbl->QueryTextMetrics(This,pTM)
3727 #define IFont_AddRefHfont(This,hFont) (This)->lpVtbl->AddRefHfont(This,hFont)
3728 #define IFont_ReleaseHfont(This,hFont) (This)->lpVtbl->ReleaseHfont(This,hFont)
3729 #define IFont_SetHdc(This,hDC) (This)->lpVtbl->SetHdc(This,hDC)
3730 #else
3731 /*** IUnknown methods ***/
3732 static FORCEINLINE HRESULT IFont_QueryInterface(IFont* This,REFIID riid,void **ppvObject) {
3733     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3734 }
3735 static FORCEINLINE ULONG IFont_AddRef(IFont* This) {
3736     return This->lpVtbl->AddRef(This);
3737 }
3738 static FORCEINLINE ULONG IFont_Release(IFont* This) {
3739     return This->lpVtbl->Release(This);
3740 }
3741 /*** IFont methods ***/
3742 static FORCEINLINE HRESULT IFont_get_Name(IFont* This,BSTR *pName) {
3743     return This->lpVtbl->get_Name(This,pName);
3744 }
3745 static FORCEINLINE HRESULT IFont_put_Name(IFont* This,BSTR name) {
3746     return This->lpVtbl->put_Name(This,name);
3747 }
3748 static FORCEINLINE HRESULT IFont_get_Size(IFont* This,CY *pSize) {
3749     return This->lpVtbl->get_Size(This,pSize);
3750 }
3751 static FORCEINLINE HRESULT IFont_put_Size(IFont* This,CY size) {
3752     return This->lpVtbl->put_Size(This,size);
3753 }
3754 static FORCEINLINE HRESULT IFont_get_Bold(IFont* This,WINBOOL *pBold) {
3755     return This->lpVtbl->get_Bold(This,pBold);
3756 }
3757 static FORCEINLINE HRESULT IFont_put_Bold(IFont* This,WINBOOL bold) {
3758     return This->lpVtbl->put_Bold(This,bold);
3759 }
3760 static FORCEINLINE HRESULT IFont_get_Italic(IFont* This,WINBOOL *pItalic) {
3761     return This->lpVtbl->get_Italic(This,pItalic);
3762 }
3763 static FORCEINLINE HRESULT IFont_put_Italic(IFont* This,WINBOOL italic) {
3764     return This->lpVtbl->put_Italic(This,italic);
3765 }
3766 static FORCEINLINE HRESULT IFont_get_Underline(IFont* This,WINBOOL *pUnderline) {
3767     return This->lpVtbl->get_Underline(This,pUnderline);
3768 }
3769 static FORCEINLINE HRESULT IFont_put_Underline(IFont* This,WINBOOL underline) {
3770     return This->lpVtbl->put_Underline(This,underline);
3771 }
3772 static FORCEINLINE HRESULT IFont_get_Strikethrough(IFont* This,WINBOOL *pStrikethrough) {
3773     return This->lpVtbl->get_Strikethrough(This,pStrikethrough);
3774 }
3775 static FORCEINLINE HRESULT IFont_put_Strikethrough(IFont* This,WINBOOL strikethrough) {
3776     return This->lpVtbl->put_Strikethrough(This,strikethrough);
3777 }
3778 static FORCEINLINE HRESULT IFont_get_Weight(IFont* This,SHORT *pWeight) {
3779     return This->lpVtbl->get_Weight(This,pWeight);
3780 }
3781 static FORCEINLINE HRESULT IFont_put_Weight(IFont* This,SHORT weight) {
3782     return This->lpVtbl->put_Weight(This,weight);
3783 }
3784 static FORCEINLINE HRESULT IFont_get_Charset(IFont* This,SHORT *pCharset) {
3785     return This->lpVtbl->get_Charset(This,pCharset);
3786 }
3787 static FORCEINLINE HRESULT IFont_put_Charset(IFont* This,SHORT charset) {
3788     return This->lpVtbl->put_Charset(This,charset);
3789 }
3790 static FORCEINLINE HRESULT IFont_get_hFont(IFont* This,HFONT *phFont) {
3791     return This->lpVtbl->get_hFont(This,phFont);
3792 }
3793 static FORCEINLINE HRESULT IFont_Clone(IFont* This,IFont **ppFont) {
3794     return This->lpVtbl->Clone(This,ppFont);
3795 }
3796 static FORCEINLINE HRESULT IFont_IsEqual(IFont* This,IFont *pFontOther) {
3797     return This->lpVtbl->IsEqual(This,pFontOther);
3798 }
3799 static FORCEINLINE HRESULT IFont_SetRatio(IFont* This,LONG cyLogical,LONG cyHimetric) {
3800     return This->lpVtbl->SetRatio(This,cyLogical,cyHimetric);
3801 }
3802 static FORCEINLINE HRESULT IFont_QueryTextMetrics(IFont* This,TEXTMETRICOLE *pTM) {
3803     return This->lpVtbl->QueryTextMetrics(This,pTM);
3804 }
3805 static FORCEINLINE HRESULT IFont_AddRefHfont(IFont* This,HFONT hFont) {
3806     return This->lpVtbl->AddRefHfont(This,hFont);
3807 }
3808 static FORCEINLINE HRESULT IFont_ReleaseHfont(IFont* This,HFONT hFont) {
3809     return This->lpVtbl->ReleaseHfont(This,hFont);
3810 }
3811 static FORCEINLINE HRESULT IFont_SetHdc(IFont* This,HDC hDC) {
3812     return This->lpVtbl->SetHdc(This,hDC);
3813 }
3814 #endif
3815 #endif
3816 
3817 #endif
3818 
3819 HRESULT STDMETHODCALLTYPE IFont_get_Name_Proxy(
3820     IFont* This,
3821     BSTR *pName);
3822 void __RPC_STUB IFont_get_Name_Stub(
3823     IRpcStubBuffer* This,
3824     IRpcChannelBuffer* pRpcChannelBuffer,
3825     PRPC_MESSAGE pRpcMessage,
3826     DWORD* pdwStubPhase);
3827 HRESULT STDMETHODCALLTYPE IFont_put_Name_Proxy(
3828     IFont* This,
3829     BSTR name);
3830 void __RPC_STUB IFont_put_Name_Stub(
3831     IRpcStubBuffer* This,
3832     IRpcChannelBuffer* pRpcChannelBuffer,
3833     PRPC_MESSAGE pRpcMessage,
3834     DWORD* pdwStubPhase);
3835 HRESULT STDMETHODCALLTYPE IFont_get_Size_Proxy(
3836     IFont* This,
3837     CY *pSize);
3838 void __RPC_STUB IFont_get_Size_Stub(
3839     IRpcStubBuffer* This,
3840     IRpcChannelBuffer* pRpcChannelBuffer,
3841     PRPC_MESSAGE pRpcMessage,
3842     DWORD* pdwStubPhase);
3843 HRESULT STDMETHODCALLTYPE IFont_put_Size_Proxy(
3844     IFont* This,
3845     CY size);
3846 void __RPC_STUB IFont_put_Size_Stub(
3847     IRpcStubBuffer* This,
3848     IRpcChannelBuffer* pRpcChannelBuffer,
3849     PRPC_MESSAGE pRpcMessage,
3850     DWORD* pdwStubPhase);
3851 HRESULT STDMETHODCALLTYPE IFont_get_Bold_Proxy(
3852     IFont* This,
3853     WINBOOL *pBold);
3854 void __RPC_STUB IFont_get_Bold_Stub(
3855     IRpcStubBuffer* This,
3856     IRpcChannelBuffer* pRpcChannelBuffer,
3857     PRPC_MESSAGE pRpcMessage,
3858     DWORD* pdwStubPhase);
3859 HRESULT STDMETHODCALLTYPE IFont_put_Bold_Proxy(
3860     IFont* This,
3861     WINBOOL bold);
3862 void __RPC_STUB IFont_put_Bold_Stub(
3863     IRpcStubBuffer* This,
3864     IRpcChannelBuffer* pRpcChannelBuffer,
3865     PRPC_MESSAGE pRpcMessage,
3866     DWORD* pdwStubPhase);
3867 HRESULT STDMETHODCALLTYPE IFont_get_Italic_Proxy(
3868     IFont* This,
3869     WINBOOL *pItalic);
3870 void __RPC_STUB IFont_get_Italic_Stub(
3871     IRpcStubBuffer* This,
3872     IRpcChannelBuffer* pRpcChannelBuffer,
3873     PRPC_MESSAGE pRpcMessage,
3874     DWORD* pdwStubPhase);
3875 HRESULT STDMETHODCALLTYPE IFont_put_Italic_Proxy(
3876     IFont* This,
3877     WINBOOL italic);
3878 void __RPC_STUB IFont_put_Italic_Stub(
3879     IRpcStubBuffer* This,
3880     IRpcChannelBuffer* pRpcChannelBuffer,
3881     PRPC_MESSAGE pRpcMessage,
3882     DWORD* pdwStubPhase);
3883 HRESULT STDMETHODCALLTYPE IFont_get_Underline_Proxy(
3884     IFont* This,
3885     WINBOOL *pUnderline);
3886 void __RPC_STUB IFont_get_Underline_Stub(
3887     IRpcStubBuffer* This,
3888     IRpcChannelBuffer* pRpcChannelBuffer,
3889     PRPC_MESSAGE pRpcMessage,
3890     DWORD* pdwStubPhase);
3891 HRESULT STDMETHODCALLTYPE IFont_put_Underline_Proxy(
3892     IFont* This,
3893     WINBOOL underline);
3894 void __RPC_STUB IFont_put_Underline_Stub(
3895     IRpcStubBuffer* This,
3896     IRpcChannelBuffer* pRpcChannelBuffer,
3897     PRPC_MESSAGE pRpcMessage,
3898     DWORD* pdwStubPhase);
3899 HRESULT STDMETHODCALLTYPE IFont_get_Strikethrough_Proxy(
3900     IFont* This,
3901     WINBOOL *pStrikethrough);
3902 void __RPC_STUB IFont_get_Strikethrough_Stub(
3903     IRpcStubBuffer* This,
3904     IRpcChannelBuffer* pRpcChannelBuffer,
3905     PRPC_MESSAGE pRpcMessage,
3906     DWORD* pdwStubPhase);
3907 HRESULT STDMETHODCALLTYPE IFont_put_Strikethrough_Proxy(
3908     IFont* This,
3909     WINBOOL strikethrough);
3910 void __RPC_STUB IFont_put_Strikethrough_Stub(
3911     IRpcStubBuffer* This,
3912     IRpcChannelBuffer* pRpcChannelBuffer,
3913     PRPC_MESSAGE pRpcMessage,
3914     DWORD* pdwStubPhase);
3915 HRESULT STDMETHODCALLTYPE IFont_get_Weight_Proxy(
3916     IFont* This,
3917     SHORT *pWeight);
3918 void __RPC_STUB IFont_get_Weight_Stub(
3919     IRpcStubBuffer* This,
3920     IRpcChannelBuffer* pRpcChannelBuffer,
3921     PRPC_MESSAGE pRpcMessage,
3922     DWORD* pdwStubPhase);
3923 HRESULT STDMETHODCALLTYPE IFont_put_Weight_Proxy(
3924     IFont* This,
3925     SHORT weight);
3926 void __RPC_STUB IFont_put_Weight_Stub(
3927     IRpcStubBuffer* This,
3928     IRpcChannelBuffer* pRpcChannelBuffer,
3929     PRPC_MESSAGE pRpcMessage,
3930     DWORD* pdwStubPhase);
3931 HRESULT STDMETHODCALLTYPE IFont_get_Charset_Proxy(
3932     IFont* This,
3933     SHORT *pCharset);
3934 void __RPC_STUB IFont_get_Charset_Stub(
3935     IRpcStubBuffer* This,
3936     IRpcChannelBuffer* pRpcChannelBuffer,
3937     PRPC_MESSAGE pRpcMessage,
3938     DWORD* pdwStubPhase);
3939 HRESULT STDMETHODCALLTYPE IFont_put_Charset_Proxy(
3940     IFont* This,
3941     SHORT charset);
3942 void __RPC_STUB IFont_put_Charset_Stub(
3943     IRpcStubBuffer* This,
3944     IRpcChannelBuffer* pRpcChannelBuffer,
3945     PRPC_MESSAGE pRpcMessage,
3946     DWORD* pdwStubPhase);
3947 HRESULT STDMETHODCALLTYPE IFont_get_hFont_Proxy(
3948     IFont* This,
3949     HFONT *phFont);
3950 void __RPC_STUB IFont_get_hFont_Stub(
3951     IRpcStubBuffer* This,
3952     IRpcChannelBuffer* pRpcChannelBuffer,
3953     PRPC_MESSAGE pRpcMessage,
3954     DWORD* pdwStubPhase);
3955 HRESULT STDMETHODCALLTYPE IFont_Clone_Proxy(
3956     IFont* This,
3957     IFont **ppFont);
3958 void __RPC_STUB IFont_Clone_Stub(
3959     IRpcStubBuffer* This,
3960     IRpcChannelBuffer* pRpcChannelBuffer,
3961     PRPC_MESSAGE pRpcMessage,
3962     DWORD* pdwStubPhase);
3963 HRESULT STDMETHODCALLTYPE IFont_IsEqual_Proxy(
3964     IFont* This,
3965     IFont *pFontOther);
3966 void __RPC_STUB IFont_IsEqual_Stub(
3967     IRpcStubBuffer* This,
3968     IRpcChannelBuffer* pRpcChannelBuffer,
3969     PRPC_MESSAGE pRpcMessage,
3970     DWORD* pdwStubPhase);
3971 HRESULT STDMETHODCALLTYPE IFont_SetRatio_Proxy(
3972     IFont* This,
3973     LONG cyLogical,
3974     LONG cyHimetric);
3975 void __RPC_STUB IFont_SetRatio_Stub(
3976     IRpcStubBuffer* This,
3977     IRpcChannelBuffer* pRpcChannelBuffer,
3978     PRPC_MESSAGE pRpcMessage,
3979     DWORD* pdwStubPhase);
3980 HRESULT STDMETHODCALLTYPE IFont_QueryTextMetrics_Proxy(
3981     IFont* This,
3982     TEXTMETRICOLE *pTM);
3983 void __RPC_STUB IFont_QueryTextMetrics_Stub(
3984     IRpcStubBuffer* This,
3985     IRpcChannelBuffer* pRpcChannelBuffer,
3986     PRPC_MESSAGE pRpcMessage,
3987     DWORD* pdwStubPhase);
3988 HRESULT STDMETHODCALLTYPE IFont_AddRefHfont_Proxy(
3989     IFont* This,
3990     HFONT hFont);
3991 void __RPC_STUB IFont_AddRefHfont_Stub(
3992     IRpcStubBuffer* This,
3993     IRpcChannelBuffer* pRpcChannelBuffer,
3994     PRPC_MESSAGE pRpcMessage,
3995     DWORD* pdwStubPhase);
3996 HRESULT STDMETHODCALLTYPE IFont_ReleaseHfont_Proxy(
3997     IFont* This,
3998     HFONT hFont);
3999 void __RPC_STUB IFont_ReleaseHfont_Stub(
4000     IRpcStubBuffer* This,
4001     IRpcChannelBuffer* pRpcChannelBuffer,
4002     PRPC_MESSAGE pRpcMessage,
4003     DWORD* pdwStubPhase);
4004 HRESULT STDMETHODCALLTYPE IFont_SetHdc_Proxy(
4005     IFont* This,
4006     HDC hDC);
4007 void __RPC_STUB IFont_SetHdc_Stub(
4008     IRpcStubBuffer* This,
4009     IRpcChannelBuffer* pRpcChannelBuffer,
4010     PRPC_MESSAGE pRpcMessage,
4011     DWORD* pdwStubPhase);
4012 
4013 #endif  /* __IFont_INTERFACE_DEFINED__ */
4014 
4015 
4016 /*****************************************************************************
4017  * IPicture interface
4018  */
4019 #ifndef __IPicture_INTERFACE_DEFINED__
4020 #define __IPicture_INTERFACE_DEFINED__
4021 
4022 typedef IPicture *LPPICTURE;
4023 
4024 typedef enum tagPictureAttributes {
4025     PICTURE_SCALABLE = 0x1,
4026     PICTURE_TRANSPARENT = 0x2
4027 } PICTUREATTRIBUTES;
4028 
4029 typedef UINT OLE_HANDLE;
4030 typedef LONG OLE_XPOS_HIMETRIC;
4031 typedef LONG OLE_YPOS_HIMETRIC;
4032 typedef LONG OLE_XSIZE_HIMETRIC;
4033 typedef LONG OLE_YSIZE_HIMETRIC;
4034 
4035 DEFINE_GUID(IID_IPicture, 0x7bf80980, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab);
4036 #if defined(__cplusplus) && !defined(CINTERFACE)
4037 MIDL_INTERFACE("7bf80980-bf32-101a-8bbb-00aa00300cab")
4038 IPicture : public IUnknown
4039 {
4040     virtual HRESULT STDMETHODCALLTYPE get_Handle(
4041         OLE_HANDLE *pHandle) = 0;
4042 
4043     virtual HRESULT STDMETHODCALLTYPE get_hPal(
4044         OLE_HANDLE *phPal) = 0;
4045 
4046     virtual HRESULT STDMETHODCALLTYPE get_Type(
4047         SHORT *pType) = 0;
4048 
4049     virtual HRESULT STDMETHODCALLTYPE get_Width(
4050         OLE_XSIZE_HIMETRIC *pWidth) = 0;
4051 
4052     virtual HRESULT STDMETHODCALLTYPE get_Height(
4053         OLE_YSIZE_HIMETRIC *pHeight) = 0;
4054 
4055     virtual HRESULT STDMETHODCALLTYPE Render(
4056         HDC hDC,
4057         LONG x,
4058         LONG y,
4059         LONG cx,
4060         LONG cy,
4061         OLE_XPOS_HIMETRIC xSrc,
4062         OLE_YPOS_HIMETRIC ySrc,
4063         OLE_XSIZE_HIMETRIC cxSrc,
4064         OLE_YSIZE_HIMETRIC cySrc,
4065         LPCRECT pRcWBounds) = 0;
4066 
4067     virtual HRESULT STDMETHODCALLTYPE set_hPal(
4068         OLE_HANDLE hPal) = 0;
4069 
4070     virtual HRESULT STDMETHODCALLTYPE get_CurDC(
4071         HDC *phDC) = 0;
4072 
4073     virtual HRESULT STDMETHODCALLTYPE SelectPicture(
4074         HDC hDCIn,
4075         HDC *phDCOut,
4076         OLE_HANDLE *phBmpOut) = 0;
4077 
4078     virtual HRESULT STDMETHODCALLTYPE get_KeepOriginalFormat(
4079         WINBOOL *pKeep) = 0;
4080 
4081     virtual HRESULT STDMETHODCALLTYPE put_KeepOriginalFormat(
4082         WINBOOL keep) = 0;
4083 
4084     virtual HRESULT STDMETHODCALLTYPE PictureChanged(
4085         ) = 0;
4086 
4087     virtual HRESULT STDMETHODCALLTYPE SaveAsFile(
4088         LPSTREAM pStream,
4089         WINBOOL fSaveMemCopy,
4090         LONG *pCbSize) = 0;
4091 
4092     virtual HRESULT STDMETHODCALLTYPE get_Attributes(
4093         DWORD *pDwAttr) = 0;
4094 
4095 };
4096 #ifdef __CRT_UUID_DECL
4097 __CRT_UUID_DECL(IPicture, 0x7bf80980, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab)
4098 #endif
4099 #else
4100 typedef struct IPictureVtbl {
4101     BEGIN_INTERFACE
4102 
4103     /*** IUnknown methods ***/
4104     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4105         IPicture* This,
4106         REFIID riid,
4107         void **ppvObject);
4108 
4109     ULONG (STDMETHODCALLTYPE *AddRef)(
4110         IPicture* This);
4111 
4112     ULONG (STDMETHODCALLTYPE *Release)(
4113         IPicture* This);
4114 
4115     /*** IPicture methods ***/
4116     HRESULT (STDMETHODCALLTYPE *get_Handle)(
4117         IPicture* This,
4118         OLE_HANDLE *pHandle);
4119 
4120     HRESULT (STDMETHODCALLTYPE *get_hPal)(
4121         IPicture* This,
4122         OLE_HANDLE *phPal);
4123 
4124     HRESULT (STDMETHODCALLTYPE *get_Type)(
4125         IPicture* This,
4126         SHORT *pType);
4127 
4128     HRESULT (STDMETHODCALLTYPE *get_Width)(
4129         IPicture* This,
4130         OLE_XSIZE_HIMETRIC *pWidth);
4131 
4132     HRESULT (STDMETHODCALLTYPE *get_Height)(
4133         IPicture* This,
4134         OLE_YSIZE_HIMETRIC *pHeight);
4135 
4136     HRESULT (STDMETHODCALLTYPE *Render)(
4137         IPicture* This,
4138         HDC hDC,
4139         LONG x,
4140         LONG y,
4141         LONG cx,
4142         LONG cy,
4143         OLE_XPOS_HIMETRIC xSrc,
4144         OLE_YPOS_HIMETRIC ySrc,
4145         OLE_XSIZE_HIMETRIC cxSrc,
4146         OLE_YSIZE_HIMETRIC cySrc,
4147         LPCRECT pRcWBounds);
4148 
4149     HRESULT (STDMETHODCALLTYPE *set_hPal)(
4150         IPicture* This,
4151         OLE_HANDLE hPal);
4152 
4153     HRESULT (STDMETHODCALLTYPE *get_CurDC)(
4154         IPicture* This,
4155         HDC *phDC);
4156 
4157     HRESULT (STDMETHODCALLTYPE *SelectPicture)(
4158         IPicture* This,
4159         HDC hDCIn,
4160         HDC *phDCOut,
4161         OLE_HANDLE *phBmpOut);
4162 
4163     HRESULT (STDMETHODCALLTYPE *get_KeepOriginalFormat)(
4164         IPicture* This,
4165         WINBOOL *pKeep);
4166 
4167     HRESULT (STDMETHODCALLTYPE *put_KeepOriginalFormat)(
4168         IPicture* This,
4169         WINBOOL keep);
4170 
4171     HRESULT (STDMETHODCALLTYPE *PictureChanged)(
4172         IPicture* This);
4173 
4174     HRESULT (STDMETHODCALLTYPE *SaveAsFile)(
4175         IPicture* This,
4176         LPSTREAM pStream,
4177         WINBOOL fSaveMemCopy,
4178         LONG *pCbSize);
4179 
4180     HRESULT (STDMETHODCALLTYPE *get_Attributes)(
4181         IPicture* This,
4182         DWORD *pDwAttr);
4183 
4184     END_INTERFACE
4185 } IPictureVtbl;
4186 interface IPicture {
4187     CONST_VTBL IPictureVtbl* lpVtbl;
4188 };
4189 
4190 #ifdef COBJMACROS
4191 #ifndef WIDL_C_INLINE_WRAPPERS
4192 /*** IUnknown methods ***/
4193 #define IPicture_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4194 #define IPicture_AddRef(This) (This)->lpVtbl->AddRef(This)
4195 #define IPicture_Release(This) (This)->lpVtbl->Release(This)
4196 /*** IPicture methods ***/
4197 #define IPicture_get_Handle(This,pHandle) (This)->lpVtbl->get_Handle(This,pHandle)
4198 #define IPicture_get_hPal(This,phPal) (This)->lpVtbl->get_hPal(This,phPal)
4199 #define IPicture_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType)
4200 #define IPicture_get_Width(This,pWidth) (This)->lpVtbl->get_Width(This,pWidth)
4201 #define IPicture_get_Height(This,pHeight) (This)->lpVtbl->get_Height(This,pHeight)
4202 #define IPicture_Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds) (This)->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds)
4203 #define IPicture_set_hPal(This,hPal) (This)->lpVtbl->set_hPal(This,hPal)
4204 #define IPicture_get_CurDC(This,phDC) (This)->lpVtbl->get_CurDC(This,phDC)
4205 #define IPicture_SelectPicture(This,hDCIn,phDCOut,phBmpOut) (This)->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut)
4206 #define IPicture_get_KeepOriginalFormat(This,pKeep) (This)->lpVtbl->get_KeepOriginalFormat(This,pKeep)
4207 #define IPicture_put_KeepOriginalFormat(This,keep) (This)->lpVtbl->put_KeepOriginalFormat(This,keep)
4208 #define IPicture_PictureChanged(This) (This)->lpVtbl->PictureChanged(This)
4209 #define IPicture_SaveAsFile(This,pStream,fSaveMemCopy,pCbSize) (This)->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize)
4210 #define IPicture_get_Attributes(This,pDwAttr) (This)->lpVtbl->get_Attributes(This,pDwAttr)
4211 #else
4212 /*** IUnknown methods ***/
4213 static FORCEINLINE HRESULT IPicture_QueryInterface(IPicture* This,REFIID riid,void **ppvObject) {
4214     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4215 }
4216 static FORCEINLINE ULONG IPicture_AddRef(IPicture* This) {
4217     return This->lpVtbl->AddRef(This);
4218 }
4219 static FORCEINLINE ULONG IPicture_Release(IPicture* This) {
4220     return This->lpVtbl->Release(This);
4221 }
4222 /*** IPicture methods ***/
4223 static FORCEINLINE HRESULT IPicture_get_Handle(IPicture* This,OLE_HANDLE *pHandle) {
4224     return This->lpVtbl->get_Handle(This,pHandle);
4225 }
4226 static FORCEINLINE HRESULT IPicture_get_hPal(IPicture* This,OLE_HANDLE *phPal) {
4227     return This->lpVtbl->get_hPal(This,phPal);
4228 }
4229 static FORCEINLINE HRESULT IPicture_get_Type(IPicture* This,SHORT *pType) {
4230     return This->lpVtbl->get_Type(This,pType);
4231 }
4232 static FORCEINLINE HRESULT IPicture_get_Width(IPicture* This,OLE_XSIZE_HIMETRIC *pWidth) {
4233     return This->lpVtbl->get_Width(This,pWidth);
4234 }
4235 static FORCEINLINE HRESULT IPicture_get_Height(IPicture* This,OLE_YSIZE_HIMETRIC *pHeight) {
4236     return This->lpVtbl->get_Height(This,pHeight);
4237 }
4238 static FORCEINLINE HRESULT IPicture_Render(IPicture* This,HDC hDC,LONG x,LONG y,LONG cx,LONG cy,OLE_XPOS_HIMETRIC xSrc,OLE_YPOS_HIMETRIC ySrc,OLE_XSIZE_HIMETRIC cxSrc,OLE_YSIZE_HIMETRIC cySrc,LPCRECT pRcWBounds) {
4239     return This->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds);
4240 }
4241 static FORCEINLINE HRESULT IPicture_set_hPal(IPicture* This,OLE_HANDLE hPal) {
4242     return This->lpVtbl->set_hPal(This,hPal);
4243 }
4244 static FORCEINLINE HRESULT IPicture_get_CurDC(IPicture* This,HDC *phDC) {
4245     return This->lpVtbl->get_CurDC(This,phDC);
4246 }
4247 static FORCEINLINE HRESULT IPicture_SelectPicture(IPicture* This,HDC hDCIn,HDC *phDCOut,OLE_HANDLE *phBmpOut) {
4248     return This->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut);
4249 }
4250 static FORCEINLINE HRESULT IPicture_get_KeepOriginalFormat(IPicture* This,WINBOOL *pKeep) {
4251     return This->lpVtbl->get_KeepOriginalFormat(This,pKeep);
4252 }
4253 static FORCEINLINE HRESULT IPicture_put_KeepOriginalFormat(IPicture* This,WINBOOL keep) {
4254     return This->lpVtbl->put_KeepOriginalFormat(This,keep);
4255 }
4256 static FORCEINLINE HRESULT IPicture_PictureChanged(IPicture* This) {
4257     return This->lpVtbl->PictureChanged(This);
4258 }
4259 static FORCEINLINE HRESULT IPicture_SaveAsFile(IPicture* This,LPSTREAM pStream,WINBOOL fSaveMemCopy,LONG *pCbSize) {
4260     return This->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize);
4261 }
4262 static FORCEINLINE HRESULT IPicture_get_Attributes(IPicture* This,DWORD *pDwAttr) {
4263     return This->lpVtbl->get_Attributes(This,pDwAttr);
4264 }
4265 #endif
4266 #endif
4267 
4268 #endif
4269 
4270 HRESULT STDMETHODCALLTYPE IPicture_get_Handle_Proxy(
4271     IPicture* This,
4272     OLE_HANDLE *pHandle);
4273 void __RPC_STUB IPicture_get_Handle_Stub(
4274     IRpcStubBuffer* This,
4275     IRpcChannelBuffer* pRpcChannelBuffer,
4276     PRPC_MESSAGE pRpcMessage,
4277     DWORD* pdwStubPhase);
4278 HRESULT STDMETHODCALLTYPE IPicture_get_hPal_Proxy(
4279     IPicture* This,
4280     OLE_HANDLE *phPal);
4281 void __RPC_STUB IPicture_get_hPal_Stub(
4282     IRpcStubBuffer* This,
4283     IRpcChannelBuffer* pRpcChannelBuffer,
4284     PRPC_MESSAGE pRpcMessage,
4285     DWORD* pdwStubPhase);
4286 HRESULT STDMETHODCALLTYPE IPicture_get_Type_Proxy(
4287     IPicture* This,
4288     SHORT *pType);
4289 void __RPC_STUB IPicture_get_Type_Stub(
4290     IRpcStubBuffer* This,
4291     IRpcChannelBuffer* pRpcChannelBuffer,
4292     PRPC_MESSAGE pRpcMessage,
4293     DWORD* pdwStubPhase);
4294 HRESULT STDMETHODCALLTYPE IPicture_get_Width_Proxy(
4295     IPicture* This,
4296     OLE_XSIZE_HIMETRIC *pWidth);
4297 void __RPC_STUB IPicture_get_Width_Stub(
4298     IRpcStubBuffer* This,
4299     IRpcChannelBuffer* pRpcChannelBuffer,
4300     PRPC_MESSAGE pRpcMessage,
4301     DWORD* pdwStubPhase);
4302 HRESULT STDMETHODCALLTYPE IPicture_get_Height_Proxy(
4303     IPicture* This,
4304     OLE_YSIZE_HIMETRIC *pHeight);
4305 void __RPC_STUB IPicture_get_Height_Stub(
4306     IRpcStubBuffer* This,
4307     IRpcChannelBuffer* pRpcChannelBuffer,
4308     PRPC_MESSAGE pRpcMessage,
4309     DWORD* pdwStubPhase);
4310 HRESULT STDMETHODCALLTYPE IPicture_Render_Proxy(
4311     IPicture* This,
4312     HDC hDC,
4313     LONG x,
4314     LONG y,
4315     LONG cx,
4316     LONG cy,
4317     OLE_XPOS_HIMETRIC xSrc,
4318     OLE_YPOS_HIMETRIC ySrc,
4319     OLE_XSIZE_HIMETRIC cxSrc,
4320     OLE_YSIZE_HIMETRIC cySrc,
4321     LPCRECT pRcWBounds);
4322 void __RPC_STUB IPicture_Render_Stub(
4323     IRpcStubBuffer* This,
4324     IRpcChannelBuffer* pRpcChannelBuffer,
4325     PRPC_MESSAGE pRpcMessage,
4326     DWORD* pdwStubPhase);
4327 HRESULT STDMETHODCALLTYPE IPicture_set_hPal_Proxy(
4328     IPicture* This,
4329     OLE_HANDLE hPal);
4330 void __RPC_STUB IPicture_set_hPal_Stub(
4331     IRpcStubBuffer* This,
4332     IRpcChannelBuffer* pRpcChannelBuffer,
4333     PRPC_MESSAGE pRpcMessage,
4334     DWORD* pdwStubPhase);
4335 HRESULT STDMETHODCALLTYPE IPicture_get_CurDC_Proxy(
4336     IPicture* This,
4337     HDC *phDC);
4338 void __RPC_STUB IPicture_get_CurDC_Stub(
4339     IRpcStubBuffer* This,
4340     IRpcChannelBuffer* pRpcChannelBuffer,
4341     PRPC_MESSAGE pRpcMessage,
4342     DWORD* pdwStubPhase);
4343 HRESULT STDMETHODCALLTYPE IPicture_SelectPicture_Proxy(
4344     IPicture* This,
4345     HDC hDCIn,
4346     HDC *phDCOut,
4347     OLE_HANDLE *phBmpOut);
4348 void __RPC_STUB IPicture_SelectPicture_Stub(
4349     IRpcStubBuffer* This,
4350     IRpcChannelBuffer* pRpcChannelBuffer,
4351     PRPC_MESSAGE pRpcMessage,
4352     DWORD* pdwStubPhase);
4353 HRESULT STDMETHODCALLTYPE IPicture_get_KeepOriginalFormat_Proxy(
4354     IPicture* This,
4355     WINBOOL *pKeep);
4356 void __RPC_STUB IPicture_get_KeepOriginalFormat_Stub(
4357     IRpcStubBuffer* This,
4358     IRpcChannelBuffer* pRpcChannelBuffer,
4359     PRPC_MESSAGE pRpcMessage,
4360     DWORD* pdwStubPhase);
4361 HRESULT STDMETHODCALLTYPE IPicture_put_KeepOriginalFormat_Proxy(
4362     IPicture* This,
4363     WINBOOL keep);
4364 void __RPC_STUB IPicture_put_KeepOriginalFormat_Stub(
4365     IRpcStubBuffer* This,
4366     IRpcChannelBuffer* pRpcChannelBuffer,
4367     PRPC_MESSAGE pRpcMessage,
4368     DWORD* pdwStubPhase);
4369 HRESULT STDMETHODCALLTYPE IPicture_PictureChanged_Proxy(
4370     IPicture* This);
4371 void __RPC_STUB IPicture_PictureChanged_Stub(
4372     IRpcStubBuffer* This,
4373     IRpcChannelBuffer* pRpcChannelBuffer,
4374     PRPC_MESSAGE pRpcMessage,
4375     DWORD* pdwStubPhase);
4376 HRESULT STDMETHODCALLTYPE IPicture_SaveAsFile_Proxy(
4377     IPicture* This,
4378     LPSTREAM pStream,
4379     WINBOOL fSaveMemCopy,
4380     LONG *pCbSize);
4381 void __RPC_STUB IPicture_SaveAsFile_Stub(
4382     IRpcStubBuffer* This,
4383     IRpcChannelBuffer* pRpcChannelBuffer,
4384     PRPC_MESSAGE pRpcMessage,
4385     DWORD* pdwStubPhase);
4386 HRESULT STDMETHODCALLTYPE IPicture_get_Attributes_Proxy(
4387     IPicture* This,
4388     DWORD *pDwAttr);
4389 void __RPC_STUB IPicture_get_Attributes_Stub(
4390     IRpcStubBuffer* This,
4391     IRpcChannelBuffer* pRpcChannelBuffer,
4392     PRPC_MESSAGE pRpcMessage,
4393     DWORD* pdwStubPhase);
4394 
4395 #endif  /* __IPicture_INTERFACE_DEFINED__ */
4396 
4397 
4398 /*****************************************************************************
4399  * IPicture2 interface
4400  */
4401 #ifndef __IPicture2_INTERFACE_DEFINED__
4402 #define __IPicture2_INTERFACE_DEFINED__
4403 
4404 typedef IPicture2 *LPPICTURE2;
4405 typedef UINT_PTR HHANDLE;
4406 
4407 DEFINE_GUID(IID_IPicture2, 0xf5185dd8, 0x2012, 0x4b0b, 0xaa,0xd9, 0xf0,0x52,0xc6,0xbd,0x48,0x2b);
4408 #if defined(__cplusplus) && !defined(CINTERFACE)
4409 MIDL_INTERFACE("f5185dd8-2012-4b0b-aad9-f052c6bd482b")
4410 IPicture2 : public IUnknown
4411 {
4412     virtual HRESULT STDMETHODCALLTYPE get_Handle(
4413         HHANDLE *pHandle) = 0;
4414 
4415     virtual HRESULT STDMETHODCALLTYPE get_hPal(
4416         HHANDLE *phPal) = 0;
4417 
4418     virtual HRESULT STDMETHODCALLTYPE get_Type(
4419         SHORT *pType) = 0;
4420 
4421     virtual HRESULT STDMETHODCALLTYPE get_Width(
4422         OLE_XSIZE_HIMETRIC *pWidth) = 0;
4423 
4424     virtual HRESULT STDMETHODCALLTYPE get_Height(
4425         OLE_YSIZE_HIMETRIC *pHeight) = 0;
4426 
4427     virtual HRESULT STDMETHODCALLTYPE Render(
4428         HDC hDC,
4429         LONG x,
4430         LONG y,
4431         LONG cx,
4432         LONG cy,
4433         OLE_XPOS_HIMETRIC xSrc,
4434         OLE_YPOS_HIMETRIC ySrc,
4435         OLE_XSIZE_HIMETRIC cxSrc,
4436         OLE_YSIZE_HIMETRIC cySrc,
4437         LPCRECT pRcWBounds) = 0;
4438 
4439     virtual HRESULT STDMETHODCALLTYPE set_hPal(
4440         HHANDLE hPal) = 0;
4441 
4442     virtual HRESULT STDMETHODCALLTYPE get_CurDC(
4443         HDC *phDC) = 0;
4444 
4445     virtual HRESULT STDMETHODCALLTYPE SelectPicture(
4446         HDC hDCIn,
4447         HDC *phDCOut,
4448         HHANDLE *phBmpOut) = 0;
4449 
4450     virtual HRESULT STDMETHODCALLTYPE get_KeepOriginalFormat(
4451         WINBOOL *pKeep) = 0;
4452 
4453     virtual HRESULT STDMETHODCALLTYPE put_KeepOriginalFormat(
4454         WINBOOL keep) = 0;
4455 
4456     virtual HRESULT STDMETHODCALLTYPE PictureChanged(
4457         ) = 0;
4458 
4459     virtual HRESULT STDMETHODCALLTYPE SaveAsFile(
4460         LPSTREAM pStream,
4461         WINBOOL fSaveMemCopy,
4462         LONG *pCbSize) = 0;
4463 
4464     virtual HRESULT STDMETHODCALLTYPE get_Attributes(
4465         DWORD *pDwAttr) = 0;
4466 
4467 };
4468 #ifdef __CRT_UUID_DECL
4469 __CRT_UUID_DECL(IPicture2, 0xf5185dd8, 0x2012, 0x4b0b, 0xaa,0xd9, 0xf0,0x52,0xc6,0xbd,0x48,0x2b)
4470 #endif
4471 #else
4472 typedef struct IPicture2Vtbl {
4473     BEGIN_INTERFACE
4474 
4475     /*** IUnknown methods ***/
4476     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4477         IPicture2* This,
4478         REFIID riid,
4479         void **ppvObject);
4480 
4481     ULONG (STDMETHODCALLTYPE *AddRef)(
4482         IPicture2* This);
4483 
4484     ULONG (STDMETHODCALLTYPE *Release)(
4485         IPicture2* This);
4486 
4487     /*** IPicture2 methods ***/
4488     HRESULT (STDMETHODCALLTYPE *get_Handle)(
4489         IPicture2* This,
4490         HHANDLE *pHandle);
4491 
4492     HRESULT (STDMETHODCALLTYPE *get_hPal)(
4493         IPicture2* This,
4494         HHANDLE *phPal);
4495 
4496     HRESULT (STDMETHODCALLTYPE *get_Type)(
4497         IPicture2* This,
4498         SHORT *pType);
4499 
4500     HRESULT (STDMETHODCALLTYPE *get_Width)(
4501         IPicture2* This,
4502         OLE_XSIZE_HIMETRIC *pWidth);
4503 
4504     HRESULT (STDMETHODCALLTYPE *get_Height)(
4505         IPicture2* This,
4506         OLE_YSIZE_HIMETRIC *pHeight);
4507 
4508     HRESULT (STDMETHODCALLTYPE *Render)(
4509         IPicture2* This,
4510         HDC hDC,
4511         LONG x,
4512         LONG y,
4513         LONG cx,
4514         LONG cy,
4515         OLE_XPOS_HIMETRIC xSrc,
4516         OLE_YPOS_HIMETRIC ySrc,
4517         OLE_XSIZE_HIMETRIC cxSrc,
4518         OLE_YSIZE_HIMETRIC cySrc,
4519         LPCRECT pRcWBounds);
4520 
4521     HRESULT (STDMETHODCALLTYPE *set_hPal)(
4522         IPicture2* This,
4523         HHANDLE hPal);
4524 
4525     HRESULT (STDMETHODCALLTYPE *get_CurDC)(
4526         IPicture2* This,
4527         HDC *phDC);
4528 
4529     HRESULT (STDMETHODCALLTYPE *SelectPicture)(
4530         IPicture2* This,
4531         HDC hDCIn,
4532         HDC *phDCOut,
4533         HHANDLE *phBmpOut);
4534 
4535     HRESULT (STDMETHODCALLTYPE *get_KeepOriginalFormat)(
4536         IPicture2* This,
4537         WINBOOL *pKeep);
4538 
4539     HRESULT (STDMETHODCALLTYPE *put_KeepOriginalFormat)(
4540         IPicture2* This,
4541         WINBOOL keep);
4542 
4543     HRESULT (STDMETHODCALLTYPE *PictureChanged)(
4544         IPicture2* This);
4545 
4546     HRESULT (STDMETHODCALLTYPE *SaveAsFile)(
4547         IPicture2* This,
4548         LPSTREAM pStream,
4549         WINBOOL fSaveMemCopy,
4550         LONG *pCbSize);
4551 
4552     HRESULT (STDMETHODCALLTYPE *get_Attributes)(
4553         IPicture2* This,
4554         DWORD *pDwAttr);
4555 
4556     END_INTERFACE
4557 } IPicture2Vtbl;
4558 interface IPicture2 {
4559     CONST_VTBL IPicture2Vtbl* lpVtbl;
4560 };
4561 
4562 #ifdef COBJMACROS
4563 #ifndef WIDL_C_INLINE_WRAPPERS
4564 /*** IUnknown methods ***/
4565 #define IPicture2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4566 #define IPicture2_AddRef(This) (This)->lpVtbl->AddRef(This)
4567 #define IPicture2_Release(This) (This)->lpVtbl->Release(This)
4568 /*** IPicture2 methods ***/
4569 #define IPicture2_get_Handle(This,pHandle) (This)->lpVtbl->get_Handle(This,pHandle)
4570 #define IPicture2_get_hPal(This,phPal) (This)->lpVtbl->get_hPal(This,phPal)
4571 #define IPicture2_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType)
4572 #define IPicture2_get_Width(This,pWidth) (This)->lpVtbl->get_Width(This,pWidth)
4573 #define IPicture2_get_Height(This,pHeight) (This)->lpVtbl->get_Height(This,pHeight)
4574 #define IPicture2_Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds) (This)->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds)
4575 #define IPicture2_set_hPal(This,hPal) (This)->lpVtbl->set_hPal(This,hPal)
4576 #define IPicture2_get_CurDC(This,phDC) (This)->lpVtbl->get_CurDC(This,phDC)
4577 #define IPicture2_SelectPicture(This,hDCIn,phDCOut,phBmpOut) (This)->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut)
4578 #define IPicture2_get_KeepOriginalFormat(This,pKeep) (This)->lpVtbl->get_KeepOriginalFormat(This,pKeep)
4579 #define IPicture2_put_KeepOriginalFormat(This,keep) (This)->lpVtbl->put_KeepOriginalFormat(This,keep)
4580 #define IPicture2_PictureChanged(This) (This)->lpVtbl->PictureChanged(This)
4581 #define IPicture2_SaveAsFile(This,pStream,fSaveMemCopy,pCbSize) (This)->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize)
4582 #define IPicture2_get_Attributes(This,pDwAttr) (This)->lpVtbl->get_Attributes(This,pDwAttr)
4583 #else
4584 /*** IUnknown methods ***/
4585 static FORCEINLINE HRESULT IPicture2_QueryInterface(IPicture2* This,REFIID riid,void **ppvObject) {
4586     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4587 }
4588 static FORCEINLINE ULONG IPicture2_AddRef(IPicture2* This) {
4589     return This->lpVtbl->AddRef(This);
4590 }
4591 static FORCEINLINE ULONG IPicture2_Release(IPicture2* This) {
4592     return This->lpVtbl->Release(This);
4593 }
4594 /*** IPicture2 methods ***/
4595 static FORCEINLINE HRESULT IPicture2_get_Handle(IPicture2* This,HHANDLE *pHandle) {
4596     return This->lpVtbl->get_Handle(This,pHandle);
4597 }
4598 static FORCEINLINE HRESULT IPicture2_get_hPal(IPicture2* This,HHANDLE *phPal) {
4599     return This->lpVtbl->get_hPal(This,phPal);
4600 }
4601 static FORCEINLINE HRESULT IPicture2_get_Type(IPicture2* This,SHORT *pType) {
4602     return This->lpVtbl->get_Type(This,pType);
4603 }
4604 static FORCEINLINE HRESULT IPicture2_get_Width(IPicture2* This,OLE_XSIZE_HIMETRIC *pWidth) {
4605     return This->lpVtbl->get_Width(This,pWidth);
4606 }
4607 static FORCEINLINE HRESULT IPicture2_get_Height(IPicture2* This,OLE_YSIZE_HIMETRIC *pHeight) {
4608     return This->lpVtbl->get_Height(This,pHeight);
4609 }
4610 static FORCEINLINE HRESULT IPicture2_Render(IPicture2* This,HDC hDC,LONG x,LONG y,LONG cx,LONG cy,OLE_XPOS_HIMETRIC xSrc,OLE_YPOS_HIMETRIC ySrc,OLE_XSIZE_HIMETRIC cxSrc,OLE_YSIZE_HIMETRIC cySrc,LPCRECT pRcWBounds) {
4611     return This->lpVtbl->Render(This,hDC,x,y,cx,cy,xSrc,ySrc,cxSrc,cySrc,pRcWBounds);
4612 }
4613 static FORCEINLINE HRESULT IPicture2_set_hPal(IPicture2* This,HHANDLE hPal) {
4614     return This->lpVtbl->set_hPal(This,hPal);
4615 }
4616 static FORCEINLINE HRESULT IPicture2_get_CurDC(IPicture2* This,HDC *phDC) {
4617     return This->lpVtbl->get_CurDC(This,phDC);
4618 }
4619 static FORCEINLINE HRESULT IPicture2_SelectPicture(IPicture2* This,HDC hDCIn,HDC *phDCOut,HHANDLE *phBmpOut) {
4620     return This->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut);
4621 }
4622 static FORCEINLINE HRESULT IPicture2_get_KeepOriginalFormat(IPicture2* This,WINBOOL *pKeep) {
4623     return This->lpVtbl->get_KeepOriginalFormat(This,pKeep);
4624 }
4625 static FORCEINLINE HRESULT IPicture2_put_KeepOriginalFormat(IPicture2* This,WINBOOL keep) {
4626     return This->lpVtbl->put_KeepOriginalFormat(This,keep);
4627 }
4628 static FORCEINLINE HRESULT IPicture2_PictureChanged(IPicture2* This) {
4629     return This->lpVtbl->PictureChanged(This);
4630 }
4631 static FORCEINLINE HRESULT IPicture2_SaveAsFile(IPicture2* This,LPSTREAM pStream,WINBOOL fSaveMemCopy,LONG *pCbSize) {
4632     return This->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize);
4633 }
4634 static FORCEINLINE HRESULT IPicture2_get_Attributes(IPicture2* This,DWORD *pDwAttr) {
4635     return This->lpVtbl->get_Attributes(This,pDwAttr);
4636 }
4637 #endif
4638 #endif
4639 
4640 #endif
4641 
4642 HRESULT STDMETHODCALLTYPE IPicture2_get_Handle_Proxy(
4643     IPicture2* This,
4644     HHANDLE *pHandle);
4645 void __RPC_STUB IPicture2_get_Handle_Stub(
4646     IRpcStubBuffer* This,
4647     IRpcChannelBuffer* pRpcChannelBuffer,
4648     PRPC_MESSAGE pRpcMessage,
4649     DWORD* pdwStubPhase);
4650 HRESULT STDMETHODCALLTYPE IPicture2_get_hPal_Proxy(
4651     IPicture2* This,
4652     HHANDLE *phPal);
4653 void __RPC_STUB IPicture2_get_hPal_Stub(
4654     IRpcStubBuffer* This,
4655     IRpcChannelBuffer* pRpcChannelBuffer,
4656     PRPC_MESSAGE pRpcMessage,
4657     DWORD* pdwStubPhase);
4658 HRESULT STDMETHODCALLTYPE IPicture2_get_Type_Proxy(
4659     IPicture2* This,
4660     SHORT *pType);
4661 void __RPC_STUB IPicture2_get_Type_Stub(
4662     IRpcStubBuffer* This,
4663     IRpcChannelBuffer* pRpcChannelBuffer,
4664     PRPC_MESSAGE pRpcMessage,
4665     DWORD* pdwStubPhase);
4666 HRESULT STDMETHODCALLTYPE IPicture2_get_Width_Proxy(
4667     IPicture2* This,
4668     OLE_XSIZE_HIMETRIC *pWidth);
4669 void __RPC_STUB IPicture2_get_Width_Stub(
4670     IRpcStubBuffer* This,
4671     IRpcChannelBuffer* pRpcChannelBuffer,
4672     PRPC_MESSAGE pRpcMessage,
4673     DWORD* pdwStubPhase);
4674 HRESULT STDMETHODCALLTYPE IPicture2_get_Height_Proxy(
4675     IPicture2* This,
4676     OLE_YSIZE_HIMETRIC *pHeight);
4677 void __RPC_STUB IPicture2_get_Height_Stub(
4678     IRpcStubBuffer* This,
4679     IRpcChannelBuffer* pRpcChannelBuffer,
4680     PRPC_MESSAGE pRpcMessage,
4681     DWORD* pdwStubPhase);
4682 HRESULT STDMETHODCALLTYPE IPicture2_Render_Proxy(
4683     IPicture2* This,
4684     HDC hDC,
4685     LONG x,
4686     LONG y,
4687     LONG cx,
4688     LONG cy,
4689     OLE_XPOS_HIMETRIC xSrc,
4690     OLE_YPOS_HIMETRIC ySrc,
4691     OLE_XSIZE_HIMETRIC cxSrc,
4692     OLE_YSIZE_HIMETRIC cySrc,
4693     LPCRECT pRcWBounds);
4694 void __RPC_STUB IPicture2_Render_Stub(
4695     IRpcStubBuffer* This,
4696     IRpcChannelBuffer* pRpcChannelBuffer,
4697     PRPC_MESSAGE pRpcMessage,
4698     DWORD* pdwStubPhase);
4699 HRESULT STDMETHODCALLTYPE IPicture2_set_hPal_Proxy(
4700     IPicture2* This,
4701     HHANDLE hPal);
4702 void __RPC_STUB IPicture2_set_hPal_Stub(
4703     IRpcStubBuffer* This,
4704     IRpcChannelBuffer* pRpcChannelBuffer,
4705     PRPC_MESSAGE pRpcMessage,
4706     DWORD* pdwStubPhase);
4707 HRESULT STDMETHODCALLTYPE IPicture2_get_CurDC_Proxy(
4708     IPicture2* This,
4709     HDC *phDC);
4710 void __RPC_STUB IPicture2_get_CurDC_Stub(
4711     IRpcStubBuffer* This,
4712     IRpcChannelBuffer* pRpcChannelBuffer,
4713     PRPC_MESSAGE pRpcMessage,
4714     DWORD* pdwStubPhase);
4715 HRESULT STDMETHODCALLTYPE IPicture2_SelectPicture_Proxy(
4716     IPicture2* This,
4717     HDC hDCIn,
4718     HDC *phDCOut,
4719     HHANDLE *phBmpOut);
4720 void __RPC_STUB IPicture2_SelectPicture_Stub(
4721     IRpcStubBuffer* This,
4722     IRpcChannelBuffer* pRpcChannelBuffer,
4723     PRPC_MESSAGE pRpcMessage,
4724     DWORD* pdwStubPhase);
4725 HRESULT STDMETHODCALLTYPE IPicture2_get_KeepOriginalFormat_Proxy(
4726     IPicture2* This,
4727     WINBOOL *pKeep);
4728 void __RPC_STUB IPicture2_get_KeepOriginalFormat_Stub(
4729     IRpcStubBuffer* This,
4730     IRpcChannelBuffer* pRpcChannelBuffer,
4731     PRPC_MESSAGE pRpcMessage,
4732     DWORD* pdwStubPhase);
4733 HRESULT STDMETHODCALLTYPE IPicture2_put_KeepOriginalFormat_Proxy(
4734     IPicture2* This,
4735     WINBOOL keep);
4736 void __RPC_STUB IPicture2_put_KeepOriginalFormat_Stub(
4737     IRpcStubBuffer* This,
4738     IRpcChannelBuffer* pRpcChannelBuffer,
4739     PRPC_MESSAGE pRpcMessage,
4740     DWORD* pdwStubPhase);
4741 HRESULT STDMETHODCALLTYPE IPicture2_PictureChanged_Proxy(
4742     IPicture2* This);
4743 void __RPC_STUB IPicture2_PictureChanged_Stub(
4744     IRpcStubBuffer* This,
4745     IRpcChannelBuffer* pRpcChannelBuffer,
4746     PRPC_MESSAGE pRpcMessage,
4747     DWORD* pdwStubPhase);
4748 HRESULT STDMETHODCALLTYPE IPicture2_SaveAsFile_Proxy(
4749     IPicture2* This,
4750     LPSTREAM pStream,
4751     WINBOOL fSaveMemCopy,
4752     LONG *pCbSize);
4753 void __RPC_STUB IPicture2_SaveAsFile_Stub(
4754     IRpcStubBuffer* This,
4755     IRpcChannelBuffer* pRpcChannelBuffer,
4756     PRPC_MESSAGE pRpcMessage,
4757     DWORD* pdwStubPhase);
4758 HRESULT STDMETHODCALLTYPE IPicture2_get_Attributes_Proxy(
4759     IPicture2* This,
4760     DWORD *pDwAttr);
4761 void __RPC_STUB IPicture2_get_Attributes_Stub(
4762     IRpcStubBuffer* This,
4763     IRpcChannelBuffer* pRpcChannelBuffer,
4764     PRPC_MESSAGE pRpcMessage,
4765     DWORD* pdwStubPhase);
4766 
4767 #endif  /* __IPicture2_INTERFACE_DEFINED__ */
4768 
4769 
4770 /*****************************************************************************
4771  * IFontEventsDisp interface
4772  */
4773 #ifndef __IFontEventsDisp_INTERFACE_DEFINED__
4774 #define __IFontEventsDisp_INTERFACE_DEFINED__
4775 
4776 typedef IFontEventsDisp *LPFONTEVENTS;
4777 DEFINE_GUID(IID_IFontEventsDisp, 0x4ef6100a, 0xaf88, 0x11d0, 0x98,0x46, 0x00,0xc0,0x4f,0xc2,0x99,0x93);
4778 #if defined(__cplusplus) && !defined(CINTERFACE)
4779 MIDL_INTERFACE("4ef6100a-af88-11d0-9846-00c04fc29993")
4780 IFontEventsDisp : public IDispatch
4781 {
4782 };
4783 #ifdef __CRT_UUID_DECL
4784 __CRT_UUID_DECL(IFontEventsDisp, 0x4ef6100a, 0xaf88, 0x11d0, 0x98,0x46, 0x00,0xc0,0x4f,0xc2,0x99,0x93)
4785 #endif
4786 #else
4787 typedef struct IFontEventsDispVtbl {
4788     BEGIN_INTERFACE
4789 
4790     /*** IUnknown methods ***/
4791     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4792         IFontEventsDisp* This,
4793         REFIID riid,
4794         void **ppvObject);
4795 
4796     ULONG (STDMETHODCALLTYPE *AddRef)(
4797         IFontEventsDisp* This);
4798 
4799     ULONG (STDMETHODCALLTYPE *Release)(
4800         IFontEventsDisp* This);
4801 
4802     /*** IDispatch methods ***/
4803     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4804         IFontEventsDisp* This,
4805         UINT *pctinfo);
4806 
4807     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4808         IFontEventsDisp* This,
4809         UINT iTInfo,
4810         LCID lcid,
4811         ITypeInfo **ppTInfo);
4812 
4813     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4814         IFontEventsDisp* This,
4815         REFIID riid,
4816         LPOLESTR *rgszNames,
4817         UINT cNames,
4818         LCID lcid,
4819         DISPID *rgDispId);
4820 
4821     HRESULT (STDMETHODCALLTYPE *Invoke)(
4822         IFontEventsDisp* This,
4823         DISPID dispIdMember,
4824         REFIID riid,
4825         LCID lcid,
4826         WORD wFlags,
4827         DISPPARAMS *pDispParams,
4828         VARIANT *pVarResult,
4829         EXCEPINFO *pExcepInfo,
4830         UINT *puArgErr);
4831 
4832     END_INTERFACE
4833 } IFontEventsDispVtbl;
4834 interface IFontEventsDisp {
4835     CONST_VTBL IFontEventsDispVtbl* lpVtbl;
4836 };
4837 
4838 #ifdef COBJMACROS
4839 #ifndef WIDL_C_INLINE_WRAPPERS
4840 /*** IUnknown methods ***/
4841 #define IFontEventsDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4842 #define IFontEventsDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
4843 #define IFontEventsDisp_Release(This) (This)->lpVtbl->Release(This)
4844 /*** IDispatch methods ***/
4845 #define IFontEventsDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4846 #define IFontEventsDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4847 #define IFontEventsDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4848 #define IFontEventsDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4849 #else
4850 /*** IUnknown methods ***/
4851 static FORCEINLINE HRESULT IFontEventsDisp_QueryInterface(IFontEventsDisp* This,REFIID riid,void **ppvObject) {
4852     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4853 }
4854 static FORCEINLINE ULONG IFontEventsDisp_AddRef(IFontEventsDisp* This) {
4855     return This->lpVtbl->AddRef(This);
4856 }
4857 static FORCEINLINE ULONG IFontEventsDisp_Release(IFontEventsDisp* This) {
4858     return This->lpVtbl->Release(This);
4859 }
4860 /*** IDispatch methods ***/
4861 static FORCEINLINE HRESULT IFontEventsDisp_GetTypeInfoCount(IFontEventsDisp* This,UINT *pctinfo) {
4862     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4863 }
4864 static FORCEINLINE HRESULT IFontEventsDisp_GetTypeInfo(IFontEventsDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4865     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4866 }
4867 static FORCEINLINE HRESULT IFontEventsDisp_GetIDsOfNames(IFontEventsDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4868     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4869 }
4870 static FORCEINLINE HRESULT IFontEventsDisp_Invoke(IFontEventsDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4871     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4872 }
4873 #endif
4874 #endif
4875 
4876 #endif
4877 
4878 
4879 #endif  /* __IFontEventsDisp_INTERFACE_DEFINED__ */
4880 
4881 
4882 /*****************************************************************************
4883  * IFontDisp interface
4884  */
4885 #ifndef __IFontDisp_INTERFACE_DEFINED__
4886 #define __IFontDisp_INTERFACE_DEFINED__
4887 
4888 typedef IFontDisp *LPFONTDISP;
4889 DEFINE_GUID(IID_IFontDisp, 0xbef6e003, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab);
4890 #if defined(__cplusplus) && !defined(CINTERFACE)
4891 MIDL_INTERFACE("bef6e003-a874-101a-8bba-00aa00300cab")
4892 IFontDisp : public IDispatch
4893 {
4894 };
4895 #ifdef __CRT_UUID_DECL
4896 __CRT_UUID_DECL(IFontDisp, 0xbef6e003, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab)
4897 #endif
4898 #else
4899 typedef struct IFontDispVtbl {
4900     BEGIN_INTERFACE
4901 
4902     /*** IUnknown methods ***/
4903     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4904         IFontDisp* This,
4905         REFIID riid,
4906         void **ppvObject);
4907 
4908     ULONG (STDMETHODCALLTYPE *AddRef)(
4909         IFontDisp* This);
4910 
4911     ULONG (STDMETHODCALLTYPE *Release)(
4912         IFontDisp* This);
4913 
4914     /*** IDispatch methods ***/
4915     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4916         IFontDisp* This,
4917         UINT *pctinfo);
4918 
4919     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4920         IFontDisp* This,
4921         UINT iTInfo,
4922         LCID lcid,
4923         ITypeInfo **ppTInfo);
4924 
4925     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4926         IFontDisp* This,
4927         REFIID riid,
4928         LPOLESTR *rgszNames,
4929         UINT cNames,
4930         LCID lcid,
4931         DISPID *rgDispId);
4932 
4933     HRESULT (STDMETHODCALLTYPE *Invoke)(
4934         IFontDisp* This,
4935         DISPID dispIdMember,
4936         REFIID riid,
4937         LCID lcid,
4938         WORD wFlags,
4939         DISPPARAMS *pDispParams,
4940         VARIANT *pVarResult,
4941         EXCEPINFO *pExcepInfo,
4942         UINT *puArgErr);
4943 
4944     END_INTERFACE
4945 } IFontDispVtbl;
4946 interface IFontDisp {
4947     CONST_VTBL IFontDispVtbl* lpVtbl;
4948 };
4949 
4950 #ifdef COBJMACROS
4951 #ifndef WIDL_C_INLINE_WRAPPERS
4952 /*** IUnknown methods ***/
4953 #define IFontDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4954 #define IFontDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
4955 #define IFontDisp_Release(This) (This)->lpVtbl->Release(This)
4956 /*** IDispatch methods ***/
4957 #define IFontDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4958 #define IFontDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4959 #define IFontDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4960 #define IFontDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4961 #else
4962 /*** IUnknown methods ***/
4963 static FORCEINLINE HRESULT IFontDisp_QueryInterface(IFontDisp* This,REFIID riid,void **ppvObject) {
4964     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4965 }
4966 static FORCEINLINE ULONG IFontDisp_AddRef(IFontDisp* This) {
4967     return This->lpVtbl->AddRef(This);
4968 }
4969 static FORCEINLINE ULONG IFontDisp_Release(IFontDisp* This) {
4970     return This->lpVtbl->Release(This);
4971 }
4972 /*** IDispatch methods ***/
4973 static FORCEINLINE HRESULT IFontDisp_GetTypeInfoCount(IFontDisp* This,UINT *pctinfo) {
4974     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4975 }
4976 static FORCEINLINE HRESULT IFontDisp_GetTypeInfo(IFontDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4977     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4978 }
4979 static FORCEINLINE HRESULT IFontDisp_GetIDsOfNames(IFontDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4980     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4981 }
4982 static FORCEINLINE HRESULT IFontDisp_Invoke(IFontDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4983     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4984 }
4985 #endif
4986 #endif
4987 
4988 #endif
4989 
4990 
4991 #endif  /* __IFontDisp_INTERFACE_DEFINED__ */
4992 
4993 
4994 /*****************************************************************************
4995  * IPictureDisp interface
4996  */
4997 #ifndef __IPictureDisp_INTERFACE_DEFINED__
4998 #define __IPictureDisp_INTERFACE_DEFINED__
4999 
5000 typedef IPictureDisp *LPPICTUREDISP;
5001 DEFINE_GUID(IID_IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab);
5002 #if defined(__cplusplus) && !defined(CINTERFACE)
5003 MIDL_INTERFACE("7bf80981-bf32-101a-8bbb-00aa00300cab")
5004 IPictureDisp : public IDispatch
5005 {
5006 };
5007 #ifdef __CRT_UUID_DECL
5008 __CRT_UUID_DECL(IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab)
5009 #endif
5010 #else
5011 typedef struct IPictureDispVtbl {
5012     BEGIN_INTERFACE
5013 
5014     /*** IUnknown methods ***/
5015     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5016         IPictureDisp* This,
5017         REFIID riid,
5018         void **ppvObject);
5019 
5020     ULONG (STDMETHODCALLTYPE *AddRef)(
5021         IPictureDisp* This);
5022 
5023     ULONG (STDMETHODCALLTYPE *Release)(
5024         IPictureDisp* This);
5025 
5026     /*** IDispatch methods ***/
5027     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5028         IPictureDisp* This,
5029         UINT *pctinfo);
5030 
5031     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5032         IPictureDisp* This,
5033         UINT iTInfo,
5034         LCID lcid,
5035         ITypeInfo **ppTInfo);
5036 
5037     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5038         IPictureDisp* This,
5039         REFIID riid,
5040         LPOLESTR *rgszNames,
5041         UINT cNames,
5042         LCID lcid,
5043         DISPID *rgDispId);
5044 
5045     HRESULT (STDMETHODCALLTYPE *Invoke)(
5046         IPictureDisp* This,
5047         DISPID dispIdMember,
5048         REFIID riid,
5049         LCID lcid,
5050         WORD wFlags,
5051         DISPPARAMS *pDispParams,
5052         VARIANT *pVarResult,
5053         EXCEPINFO *pExcepInfo,
5054         UINT *puArgErr);
5055 
5056     END_INTERFACE
5057 } IPictureDispVtbl;
5058 interface IPictureDisp {
5059     CONST_VTBL IPictureDispVtbl* lpVtbl;
5060 };
5061 
5062 #ifdef COBJMACROS
5063 #ifndef WIDL_C_INLINE_WRAPPERS
5064 /*** IUnknown methods ***/
5065 #define IPictureDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5066 #define IPictureDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
5067 #define IPictureDisp_Release(This) (This)->lpVtbl->Release(This)
5068 /*** IDispatch methods ***/
5069 #define IPictureDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5070 #define IPictureDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5071 #define IPictureDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5072 #define IPictureDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5073 #else
5074 /*** IUnknown methods ***/
5075 static FORCEINLINE HRESULT IPictureDisp_QueryInterface(IPictureDisp* This,REFIID riid,void **ppvObject) {
5076     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5077 }
5078 static FORCEINLINE ULONG IPictureDisp_AddRef(IPictureDisp* This) {
5079     return This->lpVtbl->AddRef(This);
5080 }
5081 static FORCEINLINE ULONG IPictureDisp_Release(IPictureDisp* This) {
5082     return This->lpVtbl->Release(This);
5083 }
5084 /*** IDispatch methods ***/
5085 static FORCEINLINE HRESULT IPictureDisp_GetTypeInfoCount(IPictureDisp* This,UINT *pctinfo) {
5086     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5087 }
5088 static FORCEINLINE HRESULT IPictureDisp_GetTypeInfo(IPictureDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5089     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5090 }
5091 static FORCEINLINE HRESULT IPictureDisp_GetIDsOfNames(IPictureDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5092     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5093 }
5094 static FORCEINLINE HRESULT IPictureDisp_Invoke(IPictureDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5095     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5096 }
5097 #endif
5098 #endif
5099 
5100 #endif
5101 
5102 
5103 #endif  /* __IPictureDisp_INTERFACE_DEFINED__ */
5104 
5105 
5106 /*****************************************************************************
5107  * IOleInPlaceObjectWindowless interface
5108  */
5109 #ifndef __IOleInPlaceObjectWindowless_INTERFACE_DEFINED__
5110 #define __IOleInPlaceObjectWindowless_INTERFACE_DEFINED__
5111 
5112 typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
5113 
5114 DEFINE_GUID(IID_IOleInPlaceObjectWindowless, 0x1c2056cc, 0x5ef4, 0x101b, 0x8b,0xc8, 0x00,0xaa,0x00,0x3e,0x3b,0x29);
5115 #if defined(__cplusplus) && !defined(CINTERFACE)
5116 MIDL_INTERFACE("1c2056cc-5ef4-101b-8bc8-00aa003e3b29")
5117 IOleInPlaceObjectWindowless : public IOleInPlaceObject
5118 {
5119     virtual HRESULT STDMETHODCALLTYPE OnWindowMessage(
5120         UINT msg,
5121         WPARAM wParam,
5122         LPARAM lParam,
5123         LRESULT *plResult) = 0;
5124 
5125     virtual HRESULT STDMETHODCALLTYPE GetDropTarget(
5126         IDropTarget **ppDropTarget) = 0;
5127 
5128 };
5129 #ifdef __CRT_UUID_DECL
5130 __CRT_UUID_DECL(IOleInPlaceObjectWindowless, 0x1c2056cc, 0x5ef4, 0x101b, 0x8b,0xc8, 0x00,0xaa,0x00,0x3e,0x3b,0x29)
5131 #endif
5132 #else
5133 typedef struct IOleInPlaceObjectWindowlessVtbl {
5134     BEGIN_INTERFACE
5135 
5136     /*** IUnknown methods ***/
5137     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5138         IOleInPlaceObjectWindowless* This,
5139         REFIID riid,
5140         void **ppvObject);
5141 
5142     ULONG (STDMETHODCALLTYPE *AddRef)(
5143         IOleInPlaceObjectWindowless* This);
5144 
5145     ULONG (STDMETHODCALLTYPE *Release)(
5146         IOleInPlaceObjectWindowless* This);
5147 
5148     /*** IOleWindow methods ***/
5149     HRESULT (STDMETHODCALLTYPE *GetWindow)(
5150         IOleInPlaceObjectWindowless* This,
5151         HWND *phwnd);
5152 
5153     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
5154         IOleInPlaceObjectWindowless* This,
5155         WINBOOL fEnterMode);
5156 
5157     /*** IOleInPlaceObject methods ***/
5158     HRESULT (STDMETHODCALLTYPE *InPlaceDeactivate)(
5159         IOleInPlaceObjectWindowless* This);
5160 
5161     HRESULT (STDMETHODCALLTYPE *UIDeactivate)(
5162         IOleInPlaceObjectWindowless* This);
5163 
5164     HRESULT (STDMETHODCALLTYPE *SetObjectRects)(
5165         IOleInPlaceObjectWindowless* This,
5166         LPCRECT lprcPosRect,
5167         LPCRECT lprcClipRect);
5168 
5169     HRESULT (STDMETHODCALLTYPE *ReactivateAndUndo)(
5170         IOleInPlaceObjectWindowless* This);
5171 
5172     /*** IOleInPlaceObjectWindowless methods ***/
5173     HRESULT (STDMETHODCALLTYPE *OnWindowMessage)(
5174         IOleInPlaceObjectWindowless* This,
5175         UINT msg,
5176         WPARAM wParam,
5177         LPARAM lParam,
5178         LRESULT *plResult);
5179 
5180     HRESULT (STDMETHODCALLTYPE *GetDropTarget)(
5181         IOleInPlaceObjectWindowless* This,
5182         IDropTarget **ppDropTarget);
5183 
5184     END_INTERFACE
5185 } IOleInPlaceObjectWindowlessVtbl;
5186 interface IOleInPlaceObjectWindowless {
5187     CONST_VTBL IOleInPlaceObjectWindowlessVtbl* lpVtbl;
5188 };
5189 
5190 #ifdef COBJMACROS
5191 #ifndef WIDL_C_INLINE_WRAPPERS
5192 /*** IUnknown methods ***/
5193 #define IOleInPlaceObjectWindowless_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5194 #define IOleInPlaceObjectWindowless_AddRef(This) (This)->lpVtbl->AddRef(This)
5195 #define IOleInPlaceObjectWindowless_Release(This) (This)->lpVtbl->Release(This)
5196 /*** IOleWindow methods ***/
5197 #define IOleInPlaceObjectWindowless_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5198 #define IOleInPlaceObjectWindowless_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5199 /*** IOleInPlaceObject methods ***/
5200 #define IOleInPlaceObjectWindowless_InPlaceDeactivate(This) (This)->lpVtbl->InPlaceDeactivate(This)
5201 #define IOleInPlaceObjectWindowless_UIDeactivate(This) (This)->lpVtbl->UIDeactivate(This)
5202 #define IOleInPlaceObjectWindowless_SetObjectRects(This,lprcPosRect,lprcClipRect) (This)->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect)
5203 #define IOleInPlaceObjectWindowless_ReactivateAndUndo(This) (This)->lpVtbl->ReactivateAndUndo(This)
5204 /*** IOleInPlaceObjectWindowless methods ***/
5205 #define IOleInPlaceObjectWindowless_OnWindowMessage(This,msg,wParam,lParam,plResult) (This)->lpVtbl->OnWindowMessage(This,msg,wParam,lParam,plResult)
5206 #define IOleInPlaceObjectWindowless_GetDropTarget(This,ppDropTarget) (This)->lpVtbl->GetDropTarget(This,ppDropTarget)
5207 #else
5208 /*** IUnknown methods ***/
5209 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_QueryInterface(IOleInPlaceObjectWindowless* This,REFIID riid,void **ppvObject) {
5210     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5211 }
5212 static FORCEINLINE ULONG IOleInPlaceObjectWindowless_AddRef(IOleInPlaceObjectWindowless* This) {
5213     return This->lpVtbl->AddRef(This);
5214 }
5215 static FORCEINLINE ULONG IOleInPlaceObjectWindowless_Release(IOleInPlaceObjectWindowless* This) {
5216     return This->lpVtbl->Release(This);
5217 }
5218 /*** IOleWindow methods ***/
5219 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_GetWindow(IOleInPlaceObjectWindowless* This,HWND *phwnd) {
5220     return This->lpVtbl->GetWindow(This,phwnd);
5221 }
5222 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_ContextSensitiveHelp(IOleInPlaceObjectWindowless* This,WINBOOL fEnterMode) {
5223     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5224 }
5225 /*** IOleInPlaceObject methods ***/
5226 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_InPlaceDeactivate(IOleInPlaceObjectWindowless* This) {
5227     return This->lpVtbl->InPlaceDeactivate(This);
5228 }
5229 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_UIDeactivate(IOleInPlaceObjectWindowless* This) {
5230     return This->lpVtbl->UIDeactivate(This);
5231 }
5232 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_SetObjectRects(IOleInPlaceObjectWindowless* This,LPCRECT lprcPosRect,LPCRECT lprcClipRect) {
5233     return This->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect);
5234 }
5235 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_ReactivateAndUndo(IOleInPlaceObjectWindowless* This) {
5236     return This->lpVtbl->ReactivateAndUndo(This);
5237 }
5238 /*** IOleInPlaceObjectWindowless methods ***/
5239 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_OnWindowMessage(IOleInPlaceObjectWindowless* This,UINT msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
5240     return This->lpVtbl->OnWindowMessage(This,msg,wParam,lParam,plResult);
5241 }
5242 static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_GetDropTarget(IOleInPlaceObjectWindowless* This,IDropTarget **ppDropTarget) {
5243     return This->lpVtbl->GetDropTarget(This,ppDropTarget);
5244 }
5245 #endif
5246 #endif
5247 
5248 #endif
5249 
5250 HRESULT STDMETHODCALLTYPE IOleInPlaceObjectWindowless_OnWindowMessage_Proxy(
5251     IOleInPlaceObjectWindowless* This,
5252     UINT msg,
5253     WPARAM wParam,
5254     LPARAM lParam,
5255     LRESULT *plResult);
5256 void __RPC_STUB IOleInPlaceObjectWindowless_OnWindowMessage_Stub(
5257     IRpcStubBuffer* This,
5258     IRpcChannelBuffer* pRpcChannelBuffer,
5259     PRPC_MESSAGE pRpcMessage,
5260     DWORD* pdwStubPhase);
5261 HRESULT STDMETHODCALLTYPE IOleInPlaceObjectWindowless_GetDropTarget_Proxy(
5262     IOleInPlaceObjectWindowless* This,
5263     IDropTarget **ppDropTarget);
5264 void __RPC_STUB IOleInPlaceObjectWindowless_GetDropTarget_Stub(
5265     IRpcStubBuffer* This,
5266     IRpcChannelBuffer* pRpcChannelBuffer,
5267     PRPC_MESSAGE pRpcMessage,
5268     DWORD* pdwStubPhase);
5269 
5270 #endif  /* __IOleInPlaceObjectWindowless_INTERFACE_DEFINED__ */
5271 
5272 
5273 /*****************************************************************************
5274  * IOleInPlaceSiteEx interface
5275  */
5276 #ifndef __IOleInPlaceSiteEx_INTERFACE_DEFINED__
5277 #define __IOleInPlaceSiteEx_INTERFACE_DEFINED__
5278 
5279 typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
5280 
5281 typedef enum tagACTIVATEFLAGS {
5282     ACTIVATE_WINDOWLESS = 1
5283 } ACTIVATEFLAGS;
5284 
5285 DEFINE_GUID(IID_IOleInPlaceSiteEx, 0x9c2cad80, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
5286 #if defined(__cplusplus) && !defined(CINTERFACE)
5287 MIDL_INTERFACE("9c2cad80-3424-11cf-b670-00aa004cd6d8")
5288 IOleInPlaceSiteEx : public IOleInPlaceSite
5289 {
5290     virtual HRESULT STDMETHODCALLTYPE OnInPlaceActivateEx(
5291         WINBOOL *pfNoRedraw,
5292         DWORD dwFlags) = 0;
5293 
5294     virtual HRESULT STDMETHODCALLTYPE OnInPlaceDeactivateEx(
5295         WINBOOL fNoRedraw) = 0;
5296 
5297     virtual HRESULT STDMETHODCALLTYPE RequestUIActivate(
5298         ) = 0;
5299 
5300 };
5301 #ifdef __CRT_UUID_DECL
5302 __CRT_UUID_DECL(IOleInPlaceSiteEx, 0x9c2cad80, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8)
5303 #endif
5304 #else
5305 typedef struct IOleInPlaceSiteExVtbl {
5306     BEGIN_INTERFACE
5307 
5308     /*** IUnknown methods ***/
5309     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5310         IOleInPlaceSiteEx* This,
5311         REFIID riid,
5312         void **ppvObject);
5313 
5314     ULONG (STDMETHODCALLTYPE *AddRef)(
5315         IOleInPlaceSiteEx* This);
5316 
5317     ULONG (STDMETHODCALLTYPE *Release)(
5318         IOleInPlaceSiteEx* This);
5319 
5320     /*** IOleWindow methods ***/
5321     HRESULT (STDMETHODCALLTYPE *GetWindow)(
5322         IOleInPlaceSiteEx* This,
5323         HWND *phwnd);
5324 
5325     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
5326         IOleInPlaceSiteEx* This,
5327         WINBOOL fEnterMode);
5328 
5329     /*** IOleInPlaceSite methods ***/
5330     HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
5331         IOleInPlaceSiteEx* This);
5332 
5333     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
5334         IOleInPlaceSiteEx* This);
5335 
5336     HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
5337         IOleInPlaceSiteEx* This);
5338 
5339     HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
5340         IOleInPlaceSiteEx* This,
5341         IOleInPlaceFrame **ppFrame,
5342         IOleInPlaceUIWindow **ppDoc,
5343         LPRECT lprcPosRect,
5344         LPRECT lprcClipRect,
5345         LPOLEINPLACEFRAMEINFO lpFrameInfo);
5346 
5347     HRESULT (STDMETHODCALLTYPE *Scroll)(
5348         IOleInPlaceSiteEx* This,
5349         SIZE scrollExtant);
5350 
5351     HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
5352         IOleInPlaceSiteEx* This,
5353         WINBOOL fUndoable);
5354 
5355     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
5356         IOleInPlaceSiteEx* This);
5357 
5358     HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
5359         IOleInPlaceSiteEx* This);
5360 
5361     HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
5362         IOleInPlaceSiteEx* This);
5363 
5364     HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
5365         IOleInPlaceSiteEx* This,
5366         LPCRECT lprcPosRect);
5367 
5368     /*** IOleInPlaceSiteEx methods ***/
5369     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivateEx)(
5370         IOleInPlaceSiteEx* This,
5371         WINBOOL *pfNoRedraw,
5372         DWORD dwFlags);
5373 
5374     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivateEx)(
5375         IOleInPlaceSiteEx* This,
5376         WINBOOL fNoRedraw);
5377 
5378     HRESULT (STDMETHODCALLTYPE *RequestUIActivate)(
5379         IOleInPlaceSiteEx* This);
5380 
5381     END_INTERFACE
5382 } IOleInPlaceSiteExVtbl;
5383 interface IOleInPlaceSiteEx {
5384     CONST_VTBL IOleInPlaceSiteExVtbl* lpVtbl;
5385 };
5386 
5387 #ifdef COBJMACROS
5388 #ifndef WIDL_C_INLINE_WRAPPERS
5389 /*** IUnknown methods ***/
5390 #define IOleInPlaceSiteEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5391 #define IOleInPlaceSiteEx_AddRef(This) (This)->lpVtbl->AddRef(This)
5392 #define IOleInPlaceSiteEx_Release(This) (This)->lpVtbl->Release(This)
5393 /*** IOleWindow methods ***/
5394 #define IOleInPlaceSiteEx_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5395 #define IOleInPlaceSiteEx_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5396 /*** IOleInPlaceSite methods ***/
5397 #define IOleInPlaceSiteEx_CanInPlaceActivate(This) (This)->lpVtbl->CanInPlaceActivate(This)
5398 #define IOleInPlaceSiteEx_OnInPlaceActivate(This) (This)->lpVtbl->OnInPlaceActivate(This)
5399 #define IOleInPlaceSiteEx_OnUIActivate(This) (This)->lpVtbl->OnUIActivate(This)
5400 #define IOleInPlaceSiteEx_GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo) (This)->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo)
5401 #define IOleInPlaceSiteEx_Scroll(This,scrollExtant) (This)->lpVtbl->Scroll(This,scrollExtant)
5402 #define IOleInPlaceSiteEx_OnUIDeactivate(This,fUndoable) (This)->lpVtbl->OnUIDeactivate(This,fUndoable)
5403 #define IOleInPlaceSiteEx_OnInPlaceDeactivate(This) (This)->lpVtbl->OnInPlaceDeactivate(This)
5404 #define IOleInPlaceSiteEx_DiscardUndoState(This) (This)->lpVtbl->DiscardUndoState(This)
5405 #define IOleInPlaceSiteEx_DeactivateAndUndo(This) (This)->lpVtbl->DeactivateAndUndo(This)
5406 #define IOleInPlaceSiteEx_OnPosRectChange(This,lprcPosRect) (This)->lpVtbl->OnPosRectChange(This,lprcPosRect)
5407 /*** IOleInPlaceSiteEx methods ***/
5408 #define IOleInPlaceSiteEx_OnInPlaceActivateEx(This,pfNoRedraw,dwFlags) (This)->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags)
5409 #define IOleInPlaceSiteEx_OnInPlaceDeactivateEx(This,fNoRedraw) (This)->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw)
5410 #define IOleInPlaceSiteEx_RequestUIActivate(This) (This)->lpVtbl->RequestUIActivate(This)
5411 #else
5412 /*** IUnknown methods ***/
5413 static FORCEINLINE HRESULT IOleInPlaceSiteEx_QueryInterface(IOleInPlaceSiteEx* This,REFIID riid,void **ppvObject) {
5414     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5415 }
5416 static FORCEINLINE ULONG IOleInPlaceSiteEx_AddRef(IOleInPlaceSiteEx* This) {
5417     return This->lpVtbl->AddRef(This);
5418 }
5419 static FORCEINLINE ULONG IOleInPlaceSiteEx_Release(IOleInPlaceSiteEx* This) {
5420     return This->lpVtbl->Release(This);
5421 }
5422 /*** IOleWindow methods ***/
5423 static FORCEINLINE HRESULT IOleInPlaceSiteEx_GetWindow(IOleInPlaceSiteEx* This,HWND *phwnd) {
5424     return This->lpVtbl->GetWindow(This,phwnd);
5425 }
5426 static FORCEINLINE HRESULT IOleInPlaceSiteEx_ContextSensitiveHelp(IOleInPlaceSiteEx* This,WINBOOL fEnterMode) {
5427     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5428 }
5429 /*** IOleInPlaceSite methods ***/
5430 static FORCEINLINE HRESULT IOleInPlaceSiteEx_CanInPlaceActivate(IOleInPlaceSiteEx* This) {
5431     return This->lpVtbl->CanInPlaceActivate(This);
5432 }
5433 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceActivate(IOleInPlaceSiteEx* This) {
5434     return This->lpVtbl->OnInPlaceActivate(This);
5435 }
5436 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnUIActivate(IOleInPlaceSiteEx* This) {
5437     return This->lpVtbl->OnUIActivate(This);
5438 }
5439 static FORCEINLINE HRESULT IOleInPlaceSiteEx_GetWindowContext(IOleInPlaceSiteEx* This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo) {
5440     return This->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo);
5441 }
5442 static FORCEINLINE HRESULT IOleInPlaceSiteEx_Scroll(IOleInPlaceSiteEx* This,SIZE scrollExtant) {
5443     return This->lpVtbl->Scroll(This,scrollExtant);
5444 }
5445 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnUIDeactivate(IOleInPlaceSiteEx* This,WINBOOL fUndoable) {
5446     return This->lpVtbl->OnUIDeactivate(This,fUndoable);
5447 }
5448 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceDeactivate(IOleInPlaceSiteEx* This) {
5449     return This->lpVtbl->OnInPlaceDeactivate(This);
5450 }
5451 static FORCEINLINE HRESULT IOleInPlaceSiteEx_DiscardUndoState(IOleInPlaceSiteEx* This) {
5452     return This->lpVtbl->DiscardUndoState(This);
5453 }
5454 static FORCEINLINE HRESULT IOleInPlaceSiteEx_DeactivateAndUndo(IOleInPlaceSiteEx* This) {
5455     return This->lpVtbl->DeactivateAndUndo(This);
5456 }
5457 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnPosRectChange(IOleInPlaceSiteEx* This,LPCRECT lprcPosRect) {
5458     return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
5459 }
5460 /*** IOleInPlaceSiteEx methods ***/
5461 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceActivateEx(IOleInPlaceSiteEx* This,WINBOOL *pfNoRedraw,DWORD dwFlags) {
5462     return This->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags);
5463 }
5464 static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceDeactivateEx(IOleInPlaceSiteEx* This,WINBOOL fNoRedraw) {
5465     return This->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw);
5466 }
5467 static FORCEINLINE HRESULT IOleInPlaceSiteEx_RequestUIActivate(IOleInPlaceSiteEx* This) {
5468     return This->lpVtbl->RequestUIActivate(This);
5469 }
5470 #endif
5471 #endif
5472 
5473 #endif
5474 
5475 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteEx_OnInPlaceActivateEx_Proxy(
5476     IOleInPlaceSiteEx* This,
5477     WINBOOL *pfNoRedraw,
5478     DWORD dwFlags);
5479 void __RPC_STUB IOleInPlaceSiteEx_OnInPlaceActivateEx_Stub(
5480     IRpcStubBuffer* This,
5481     IRpcChannelBuffer* pRpcChannelBuffer,
5482     PRPC_MESSAGE pRpcMessage,
5483     DWORD* pdwStubPhase);
5484 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteEx_OnInPlaceDeactivateEx_Proxy(
5485     IOleInPlaceSiteEx* This,
5486     WINBOOL fNoRedraw);
5487 void __RPC_STUB IOleInPlaceSiteEx_OnInPlaceDeactivateEx_Stub(
5488     IRpcStubBuffer* This,
5489     IRpcChannelBuffer* pRpcChannelBuffer,
5490     PRPC_MESSAGE pRpcMessage,
5491     DWORD* pdwStubPhase);
5492 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteEx_RequestUIActivate_Proxy(
5493     IOleInPlaceSiteEx* This);
5494 void __RPC_STUB IOleInPlaceSiteEx_RequestUIActivate_Stub(
5495     IRpcStubBuffer* This,
5496     IRpcChannelBuffer* pRpcChannelBuffer,
5497     PRPC_MESSAGE pRpcMessage,
5498     DWORD* pdwStubPhase);
5499 
5500 #endif  /* __IOleInPlaceSiteEx_INTERFACE_DEFINED__ */
5501 
5502 
5503 /*****************************************************************************
5504  * IOleInPlaceSiteWindowless interface
5505  */
5506 #ifndef __IOleInPlaceSiteWindowless_INTERFACE_DEFINED__
5507 #define __IOleInPlaceSiteWindowless_INTERFACE_DEFINED__
5508 
5509 typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
5510 
5511 typedef enum tagOLEDCFLAGS {
5512     OLEDC_NODRAW = 0x1,
5513     OLEDC_PAINTBKGND = 0x2,
5514     OLEDC_OFFSCREEN = 0x4
5515 } OLEDCFLAGS;
5516 
5517 DEFINE_GUID(IID_IOleInPlaceSiteWindowless, 0x922eada0, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
5518 #if defined(__cplusplus) && !defined(CINTERFACE)
5519 MIDL_INTERFACE("922eada0-3424-11cf-b670-00aa004cd6d8")
5520 IOleInPlaceSiteWindowless : public IOleInPlaceSiteEx
5521 {
5522     virtual HRESULT STDMETHODCALLTYPE CanWindowlessActivate(
5523         ) = 0;
5524 
5525     virtual HRESULT STDMETHODCALLTYPE GetCapture(
5526         ) = 0;
5527 
5528     virtual HRESULT STDMETHODCALLTYPE SetCapture(
5529         WINBOOL fCapture) = 0;
5530 
5531     virtual HRESULT STDMETHODCALLTYPE GetFocus(
5532         ) = 0;
5533 
5534     virtual HRESULT STDMETHODCALLTYPE SetFocus(
5535         WINBOOL fFocus) = 0;
5536 
5537     virtual HRESULT STDMETHODCALLTYPE GetDC(
5538         LPCRECT pRect,
5539         DWORD grfFlags,
5540         HDC *phDC) = 0;
5541 
5542     virtual HRESULT STDMETHODCALLTYPE ReleaseDC(
5543         HDC hDC) = 0;
5544 
5545     virtual HRESULT STDMETHODCALLTYPE InvalidateRect(
5546         LPCRECT pRect,
5547         WINBOOL fErase) = 0;
5548 
5549     virtual HRESULT STDMETHODCALLTYPE InvalidateRgn(
5550         HRGN hRGN,
5551         WINBOOL fErase) = 0;
5552 
5553     virtual HRESULT STDMETHODCALLTYPE ScrollRect(
5554         INT dx,
5555         INT dy,
5556         LPCRECT pRectScroll,
5557         LPCRECT pRectClip) = 0;
5558 
5559     virtual HRESULT STDMETHODCALLTYPE AdjustRect(
5560         LPRECT prc) = 0;
5561 
5562     virtual HRESULT STDMETHODCALLTYPE OnDefWindowMessage(
5563         UINT msg,
5564         WPARAM wParam,
5565         LPARAM lParam,
5566         LRESULT *plResult) = 0;
5567 
5568 };
5569 #ifdef __CRT_UUID_DECL
5570 __CRT_UUID_DECL(IOleInPlaceSiteWindowless, 0x922eada0, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8)
5571 #endif
5572 #else
5573 typedef struct IOleInPlaceSiteWindowlessVtbl {
5574     BEGIN_INTERFACE
5575 
5576     /*** IUnknown methods ***/
5577     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5578         IOleInPlaceSiteWindowless* This,
5579         REFIID riid,
5580         void **ppvObject);
5581 
5582     ULONG (STDMETHODCALLTYPE *AddRef)(
5583         IOleInPlaceSiteWindowless* This);
5584 
5585     ULONG (STDMETHODCALLTYPE *Release)(
5586         IOleInPlaceSiteWindowless* This);
5587 
5588     /*** IOleWindow methods ***/
5589     HRESULT (STDMETHODCALLTYPE *GetWindow)(
5590         IOleInPlaceSiteWindowless* This,
5591         HWND *phwnd);
5592 
5593     HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
5594         IOleInPlaceSiteWindowless* This,
5595         WINBOOL fEnterMode);
5596 
5597     /*** IOleInPlaceSite methods ***/
5598     HRESULT (STDMETHODCALLTYPE *CanInPlaceActivate)(
5599         IOleInPlaceSiteWindowless* This);
5600 
5601     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivate)(
5602         IOleInPlaceSiteWindowless* This);
5603 
5604     HRESULT (STDMETHODCALLTYPE *OnUIActivate)(
5605         IOleInPlaceSiteWindowless* This);
5606 
5607     HRESULT (STDMETHODCALLTYPE *GetWindowContext)(
5608         IOleInPlaceSiteWindowless* This,
5609         IOleInPlaceFrame **ppFrame,
5610         IOleInPlaceUIWindow **ppDoc,
5611         LPRECT lprcPosRect,
5612         LPRECT lprcClipRect,
5613         LPOLEINPLACEFRAMEINFO lpFrameInfo);
5614 
5615     HRESULT (STDMETHODCALLTYPE *Scroll)(
5616         IOleInPlaceSiteWindowless* This,
5617         SIZE scrollExtant);
5618 
5619     HRESULT (STDMETHODCALLTYPE *OnUIDeactivate)(
5620         IOleInPlaceSiteWindowless* This,
5621         WINBOOL fUndoable);
5622 
5623     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivate)(
5624         IOleInPlaceSiteWindowless* This);
5625 
5626     HRESULT (STDMETHODCALLTYPE *DiscardUndoState)(
5627         IOleInPlaceSiteWindowless* This);
5628 
5629     HRESULT (STDMETHODCALLTYPE *DeactivateAndUndo)(
5630         IOleInPlaceSiteWindowless* This);
5631 
5632     HRESULT (STDMETHODCALLTYPE *OnPosRectChange)(
5633         IOleInPlaceSiteWindowless* This,
5634         LPCRECT lprcPosRect);
5635 
5636     /*** IOleInPlaceSiteEx methods ***/
5637     HRESULT (STDMETHODCALLTYPE *OnInPlaceActivateEx)(
5638         IOleInPlaceSiteWindowless* This,
5639         WINBOOL *pfNoRedraw,
5640         DWORD dwFlags);
5641 
5642     HRESULT (STDMETHODCALLTYPE *OnInPlaceDeactivateEx)(
5643         IOleInPlaceSiteWindowless* This,
5644         WINBOOL fNoRedraw);
5645 
5646     HRESULT (STDMETHODCALLTYPE *RequestUIActivate)(
5647         IOleInPlaceSiteWindowless* This);
5648 
5649     /*** IOleInPlaceSiteWindowless methods ***/
5650     HRESULT (STDMETHODCALLTYPE *CanWindowlessActivate)(
5651         IOleInPlaceSiteWindowless* This);
5652 
5653     HRESULT (STDMETHODCALLTYPE *GetCapture)(
5654         IOleInPlaceSiteWindowless* This);
5655 
5656     HRESULT (STDMETHODCALLTYPE *SetCapture)(
5657         IOleInPlaceSiteWindowless* This,
5658         WINBOOL fCapture);
5659 
5660     HRESULT (STDMETHODCALLTYPE *GetFocus)(
5661         IOleInPlaceSiteWindowless* This);
5662 
5663     HRESULT (STDMETHODCALLTYPE *SetFocus)(
5664         IOleInPlaceSiteWindowless* This,
5665         WINBOOL fFocus);
5666 
5667     HRESULT (STDMETHODCALLTYPE *GetDC)(
5668         IOleInPlaceSiteWindowless* This,
5669         LPCRECT pRect,
5670         DWORD grfFlags,
5671         HDC *phDC);
5672 
5673     HRESULT (STDMETHODCALLTYPE *ReleaseDC)(
5674         IOleInPlaceSiteWindowless* This,
5675         HDC hDC);
5676 
5677     HRESULT (STDMETHODCALLTYPE *InvalidateRect)(
5678         IOleInPlaceSiteWindowless* This,
5679         LPCRECT pRect,
5680         WINBOOL fErase);
5681 
5682     HRESULT (STDMETHODCALLTYPE *InvalidateRgn)(
5683         IOleInPlaceSiteWindowless* This,
5684         HRGN hRGN,
5685         WINBOOL fErase);
5686 
5687     HRESULT (STDMETHODCALLTYPE *ScrollRect)(
5688         IOleInPlaceSiteWindowless* This,
5689         INT dx,
5690         INT dy,
5691         LPCRECT pRectScroll,
5692         LPCRECT pRectClip);
5693 
5694     HRESULT (STDMETHODCALLTYPE *AdjustRect)(
5695         IOleInPlaceSiteWindowless* This,
5696         LPRECT prc);
5697 
5698     HRESULT (STDMETHODCALLTYPE *OnDefWindowMessage)(
5699         IOleInPlaceSiteWindowless* This,
5700         UINT msg,
5701         WPARAM wParam,
5702         LPARAM lParam,
5703         LRESULT *plResult);
5704 
5705     END_INTERFACE
5706 } IOleInPlaceSiteWindowlessVtbl;
5707 interface IOleInPlaceSiteWindowless {
5708     CONST_VTBL IOleInPlaceSiteWindowlessVtbl* lpVtbl;
5709 };
5710 
5711 #ifdef COBJMACROS
5712 #ifndef WIDL_C_INLINE_WRAPPERS
5713 /*** IUnknown methods ***/
5714 #define IOleInPlaceSiteWindowless_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5715 #define IOleInPlaceSiteWindowless_AddRef(This) (This)->lpVtbl->AddRef(This)
5716 #define IOleInPlaceSiteWindowless_Release(This) (This)->lpVtbl->Release(This)
5717 /*** IOleWindow methods ***/
5718 #define IOleInPlaceSiteWindowless_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
5719 #define IOleInPlaceSiteWindowless_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
5720 /*** IOleInPlaceSite methods ***/
5721 #define IOleInPlaceSiteWindowless_CanInPlaceActivate(This) (This)->lpVtbl->CanInPlaceActivate(This)
5722 #define IOleInPlaceSiteWindowless_OnInPlaceActivate(This) (This)->lpVtbl->OnInPlaceActivate(This)
5723 #define IOleInPlaceSiteWindowless_OnUIActivate(This) (This)->lpVtbl->OnUIActivate(This)
5724 #define IOleInPlaceSiteWindowless_GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo) (This)->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo)
5725 #define IOleInPlaceSiteWindowless_Scroll(This,scrollExtant) (This)->lpVtbl->Scroll(This,scrollExtant)
5726 #define IOleInPlaceSiteWindowless_OnUIDeactivate(This,fUndoable) (This)->lpVtbl->OnUIDeactivate(This,fUndoable)
5727 #define IOleInPlaceSiteWindowless_OnInPlaceDeactivate(This) (This)->lpVtbl->OnInPlaceDeactivate(This)
5728 #define IOleInPlaceSiteWindowless_DiscardUndoState(This) (This)->lpVtbl->DiscardUndoState(This)
5729 #define IOleInPlaceSiteWindowless_DeactivateAndUndo(This) (This)->lpVtbl->DeactivateAndUndo(This)
5730 #define IOleInPlaceSiteWindowless_OnPosRectChange(This,lprcPosRect) (This)->lpVtbl->OnPosRectChange(This,lprcPosRect)
5731 /*** IOleInPlaceSiteEx methods ***/
5732 #define IOleInPlaceSiteWindowless_OnInPlaceActivateEx(This,pfNoRedraw,dwFlags) (This)->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags)
5733 #define IOleInPlaceSiteWindowless_OnInPlaceDeactivateEx(This,fNoRedraw) (This)->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw)
5734 #define IOleInPlaceSiteWindowless_RequestUIActivate(This) (This)->lpVtbl->RequestUIActivate(This)
5735 /*** IOleInPlaceSiteWindowless methods ***/
5736 #define IOleInPlaceSiteWindowless_CanWindowlessActivate(This) (This)->lpVtbl->CanWindowlessActivate(This)
5737 #define IOleInPlaceSiteWindowless_GetCapture(This) (This)->lpVtbl->GetCapture(This)
5738 #define IOleInPlaceSiteWindowless_SetCapture(This,fCapture) (This)->lpVtbl->SetCapture(This,fCapture)
5739 #define IOleInPlaceSiteWindowless_GetFocus(This) (This)->lpVtbl->GetFocus(This)
5740 #define IOleInPlaceSiteWindowless_SetFocus(This,fFocus) (This)->lpVtbl->SetFocus(This,fFocus)
5741 #define IOleInPlaceSiteWindowless_GetDC(This,pRect,grfFlags,phDC) (This)->lpVtbl->GetDC(This,pRect,grfFlags,phDC)
5742 #define IOleInPlaceSiteWindowless_ReleaseDC(This,hDC) (This)->lpVtbl->ReleaseDC(This,hDC)
5743 #define IOleInPlaceSiteWindowless_InvalidateRect(This,pRect,fErase) (This)->lpVtbl->InvalidateRect(This,pRect,fErase)
5744 #define IOleInPlaceSiteWindowless_InvalidateRgn(This,hRGN,fErase) (This)->lpVtbl->InvalidateRgn(This,hRGN,fErase)
5745 #define IOleInPlaceSiteWindowless_ScrollRect(This,dx,dy,pRectScroll,pRectClip) (This)->lpVtbl->ScrollRect(This,dx,dy,pRectScroll,pRectClip)
5746 #define IOleInPlaceSiteWindowless_AdjustRect(This,prc) (This)->lpVtbl->AdjustRect(This,prc)
5747 #define IOleInPlaceSiteWindowless_OnDefWindowMessage(This,msg,wParam,lParam,plResult) (This)->lpVtbl->OnDefWindowMessage(This,msg,wParam,lParam,plResult)
5748 #else
5749 /*** IUnknown methods ***/
5750 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_QueryInterface(IOleInPlaceSiteWindowless* This,REFIID riid,void **ppvObject) {
5751     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5752 }
5753 static FORCEINLINE ULONG IOleInPlaceSiteWindowless_AddRef(IOleInPlaceSiteWindowless* This) {
5754     return This->lpVtbl->AddRef(This);
5755 }
5756 static FORCEINLINE ULONG IOleInPlaceSiteWindowless_Release(IOleInPlaceSiteWindowless* This) {
5757     return This->lpVtbl->Release(This);
5758 }
5759 /*** IOleWindow methods ***/
5760 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetWindow(IOleInPlaceSiteWindowless* This,HWND *phwnd) {
5761     return This->lpVtbl->GetWindow(This,phwnd);
5762 }
5763 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ContextSensitiveHelp(IOleInPlaceSiteWindowless* This,WINBOOL fEnterMode) {
5764     return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5765 }
5766 /*** IOleInPlaceSite methods ***/
5767 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_CanInPlaceActivate(IOleInPlaceSiteWindowless* This) {
5768     return This->lpVtbl->CanInPlaceActivate(This);
5769 }
5770 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceActivate(IOleInPlaceSiteWindowless* This) {
5771     return This->lpVtbl->OnInPlaceActivate(This);
5772 }
5773 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnUIActivate(IOleInPlaceSiteWindowless* This) {
5774     return This->lpVtbl->OnUIActivate(This);
5775 }
5776 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetWindowContext(IOleInPlaceSiteWindowless* This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo) {
5777     return This->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo);
5778 }
5779 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_Scroll(IOleInPlaceSiteWindowless* This,SIZE scrollExtant) {
5780     return This->lpVtbl->Scroll(This,scrollExtant);
5781 }
5782 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnUIDeactivate(IOleInPlaceSiteWindowless* This,WINBOOL fUndoable) {
5783     return This->lpVtbl->OnUIDeactivate(This,fUndoable);
5784 }
5785 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceDeactivate(IOleInPlaceSiteWindowless* This) {
5786     return This->lpVtbl->OnInPlaceDeactivate(This);
5787 }
5788 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_DiscardUndoState(IOleInPlaceSiteWindowless* This) {
5789     return This->lpVtbl->DiscardUndoState(This);
5790 }
5791 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_DeactivateAndUndo(IOleInPlaceSiteWindowless* This) {
5792     return This->lpVtbl->DeactivateAndUndo(This);
5793 }
5794 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnPosRectChange(IOleInPlaceSiteWindowless* This,LPCRECT lprcPosRect) {
5795     return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
5796 }
5797 /*** IOleInPlaceSiteEx methods ***/
5798 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceActivateEx(IOleInPlaceSiteWindowless* This,WINBOOL *pfNoRedraw,DWORD dwFlags) {
5799     return This->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags);
5800 }
5801 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceDeactivateEx(IOleInPlaceSiteWindowless* This,WINBOOL fNoRedraw) {
5802     return This->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw);
5803 }
5804 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_RequestUIActivate(IOleInPlaceSiteWindowless* This) {
5805     return This->lpVtbl->RequestUIActivate(This);
5806 }
5807 /*** IOleInPlaceSiteWindowless methods ***/
5808 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_CanWindowlessActivate(IOleInPlaceSiteWindowless* This) {
5809     return This->lpVtbl->CanWindowlessActivate(This);
5810 }
5811 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetCapture(IOleInPlaceSiteWindowless* This) {
5812     return This->lpVtbl->GetCapture(This);
5813 }
5814 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_SetCapture(IOleInPlaceSiteWindowless* This,WINBOOL fCapture) {
5815     return This->lpVtbl->SetCapture(This,fCapture);
5816 }
5817 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetFocus(IOleInPlaceSiteWindowless* This) {
5818     return This->lpVtbl->GetFocus(This);
5819 }
5820 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_SetFocus(IOleInPlaceSiteWindowless* This,WINBOOL fFocus) {
5821     return This->lpVtbl->SetFocus(This,fFocus);
5822 }
5823 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetDC(IOleInPlaceSiteWindowless* This,LPCRECT pRect,DWORD grfFlags,HDC *phDC) {
5824     return This->lpVtbl->GetDC(This,pRect,grfFlags,phDC);
5825 }
5826 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ReleaseDC(IOleInPlaceSiteWindowless* This,HDC hDC) {
5827     return This->lpVtbl->ReleaseDC(This,hDC);
5828 }
5829 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_InvalidateRect(IOleInPlaceSiteWindowless* This,LPCRECT pRect,WINBOOL fErase) {
5830     return This->lpVtbl->InvalidateRect(This,pRect,fErase);
5831 }
5832 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_InvalidateRgn(IOleInPlaceSiteWindowless* This,HRGN hRGN,WINBOOL fErase) {
5833     return This->lpVtbl->InvalidateRgn(This,hRGN,fErase);
5834 }
5835 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ScrollRect(IOleInPlaceSiteWindowless* This,INT dx,INT dy,LPCRECT pRectScroll,LPCRECT pRectClip) {
5836     return This->lpVtbl->ScrollRect(This,dx,dy,pRectScroll,pRectClip);
5837 }
5838 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_AdjustRect(IOleInPlaceSiteWindowless* This,LPRECT prc) {
5839     return This->lpVtbl->AdjustRect(This,prc);
5840 }
5841 static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnDefWindowMessage(IOleInPlaceSiteWindowless* This,UINT msg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) {
5842     return This->lpVtbl->OnDefWindowMessage(This,msg,wParam,lParam,plResult);
5843 }
5844 #endif
5845 #endif
5846 
5847 #endif
5848 
5849 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_CanWindowlessActivate_Proxy(
5850     IOleInPlaceSiteWindowless* This);
5851 void __RPC_STUB IOleInPlaceSiteWindowless_CanWindowlessActivate_Stub(
5852     IRpcStubBuffer* This,
5853     IRpcChannelBuffer* pRpcChannelBuffer,
5854     PRPC_MESSAGE pRpcMessage,
5855     DWORD* pdwStubPhase);
5856 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_GetCapture_Proxy(
5857     IOleInPlaceSiteWindowless* This);
5858 void __RPC_STUB IOleInPlaceSiteWindowless_GetCapture_Stub(
5859     IRpcStubBuffer* This,
5860     IRpcChannelBuffer* pRpcChannelBuffer,
5861     PRPC_MESSAGE pRpcMessage,
5862     DWORD* pdwStubPhase);
5863 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_SetCapture_Proxy(
5864     IOleInPlaceSiteWindowless* This,
5865     WINBOOL fCapture);
5866 void __RPC_STUB IOleInPlaceSiteWindowless_SetCapture_Stub(
5867     IRpcStubBuffer* This,
5868     IRpcChannelBuffer* pRpcChannelBuffer,
5869     PRPC_MESSAGE pRpcMessage,
5870     DWORD* pdwStubPhase);
5871 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_GetFocus_Proxy(
5872     IOleInPlaceSiteWindowless* This);
5873 void __RPC_STUB IOleInPlaceSiteWindowless_GetFocus_Stub(
5874     IRpcStubBuffer* This,
5875     IRpcChannelBuffer* pRpcChannelBuffer,
5876     PRPC_MESSAGE pRpcMessage,
5877     DWORD* pdwStubPhase);
5878 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_SetFocus_Proxy(
5879     IOleInPlaceSiteWindowless* This,
5880     WINBOOL fFocus);
5881 void __RPC_STUB IOleInPlaceSiteWindowless_SetFocus_Stub(
5882     IRpcStubBuffer* This,
5883     IRpcChannelBuffer* pRpcChannelBuffer,
5884     PRPC_MESSAGE pRpcMessage,
5885     DWORD* pdwStubPhase);
5886 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_GetDC_Proxy(
5887     IOleInPlaceSiteWindowless* This,
5888     LPCRECT pRect,
5889     DWORD grfFlags,
5890     HDC *phDC);
5891 void __RPC_STUB IOleInPlaceSiteWindowless_GetDC_Stub(
5892     IRpcStubBuffer* This,
5893     IRpcChannelBuffer* pRpcChannelBuffer,
5894     PRPC_MESSAGE pRpcMessage,
5895     DWORD* pdwStubPhase);
5896 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_ReleaseDC_Proxy(
5897     IOleInPlaceSiteWindowless* This,
5898     HDC hDC);
5899 void __RPC_STUB IOleInPlaceSiteWindowless_ReleaseDC_Stub(
5900     IRpcStubBuffer* This,
5901     IRpcChannelBuffer* pRpcChannelBuffer,
5902     PRPC_MESSAGE pRpcMessage,
5903     DWORD* pdwStubPhase);
5904 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_InvalidateRect_Proxy(
5905     IOleInPlaceSiteWindowless* This,
5906     LPCRECT pRect,
5907     WINBOOL fErase);
5908 void __RPC_STUB IOleInPlaceSiteWindowless_InvalidateRect_Stub(
5909     IRpcStubBuffer* This,
5910     IRpcChannelBuffer* pRpcChannelBuffer,
5911     PRPC_MESSAGE pRpcMessage,
5912     DWORD* pdwStubPhase);
5913 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_InvalidateRgn_Proxy(
5914     IOleInPlaceSiteWindowless* This,
5915     HRGN hRGN,
5916     WINBOOL fErase);
5917 void __RPC_STUB IOleInPlaceSiteWindowless_InvalidateRgn_Stub(
5918     IRpcStubBuffer* This,
5919     IRpcChannelBuffer* pRpcChannelBuffer,
5920     PRPC_MESSAGE pRpcMessage,
5921     DWORD* pdwStubPhase);
5922 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_ScrollRect_Proxy(
5923     IOleInPlaceSiteWindowless* This,
5924     INT dx,
5925     INT dy,
5926     LPCRECT pRectScroll,
5927     LPCRECT pRectClip);
5928 void __RPC_STUB IOleInPlaceSiteWindowless_ScrollRect_Stub(
5929     IRpcStubBuffer* This,
5930     IRpcChannelBuffer* pRpcChannelBuffer,
5931     PRPC_MESSAGE pRpcMessage,
5932     DWORD* pdwStubPhase);
5933 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_AdjustRect_Proxy(
5934     IOleInPlaceSiteWindowless* This,
5935     LPRECT prc);
5936 void __RPC_STUB IOleInPlaceSiteWindowless_AdjustRect_Stub(
5937     IRpcStubBuffer* This,
5938     IRpcChannelBuffer* pRpcChannelBuffer,
5939     PRPC_MESSAGE pRpcMessage,
5940     DWORD* pdwStubPhase);
5941 HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_OnDefWindowMessage_Proxy(
5942     IOleInPlaceSiteWindowless* This,
5943     UINT msg,
5944     WPARAM wParam,
5945     LPARAM lParam,
5946     LRESULT *plResult);
5947 void __RPC_STUB IOleInPlaceSiteWindowless_OnDefWindowMessage_Stub(
5948     IRpcStubBuffer* This,
5949     IRpcChannelBuffer* pRpcChannelBuffer,
5950     PRPC_MESSAGE pRpcMessage,
5951     DWORD* pdwStubPhase);
5952 
5953 #endif  /* __IOleInPlaceSiteWindowless_INTERFACE_DEFINED__ */
5954 
5955 
5956 /*****************************************************************************
5957  * IViewObjectEx interface
5958  */
5959 #ifndef __IViewObjectEx_INTERFACE_DEFINED__
5960 #define __IViewObjectEx_INTERFACE_DEFINED__
5961 
5962 typedef IViewObjectEx *LPVIEWOBJECTEX;
5963 
5964 typedef enum tagVIEWSTATUS {
5965     VIEWSTATUS_OPAQUE = 1,
5966     VIEWSTATUS_SOLIDBKGND = 2,
5967     VIEWSTATUS_DVASPECTOPAQUE = 4,
5968     VIEWSTATUS_DVASPECTTRANSPARENT = 8,
5969     VIEWSTATUS_SURFACE = 16,
5970     VIEWSTATUS_3DSURFACE = 32
5971 } VIEWSTATUS;
5972 
5973 typedef enum tagHITRESULT {
5974     HITRESULT_OUTSIDE = 0,
5975     HITRESULT_TRANSPARENT = 1,
5976     HITRESULT_CLOSE = 2,
5977     HITRESULT_HIT = 3
5978 } HITRESULT;
5979 
5980 typedef enum tagDVASPECT2 {
5981     DVASPECT_OPAQUE = 16,
5982     DVASPECT_TRANSPARENT = 32
5983 } DVASPECT2;
5984 
5985 typedef struct tagExtentInfo {
5986     ULONG cb;
5987     DWORD dwExtentMode;
5988     SIZEL sizelProposed;
5989 } DVEXTENTINFO;
5990 
5991 typedef enum tagExtentMode {
5992     DVEXTENT_CONTENT = 0,
5993     DVEXTENT_INTEGRAL = 1
5994 } DVEXTENTMODE;
5995 
5996 typedef enum tagAspectInfoFlag {
5997     DVASPECTINFOFLAG_CANOPTIMIZE = 1
5998 } DVASPECTINFOFLAG;
5999 
6000 typedef struct tagAspectInfo {
6001     ULONG cb;
6002     DWORD dwFlags;
6003 } DVASPECTINFO;
6004 
6005 DEFINE_GUID(IID_IViewObjectEx, 0x3af24292, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8);
6006 #if defined(__cplusplus) && !defined(CINTERFACE)
6007 MIDL_INTERFACE("3af24292-0c96-11ce-a0cf-00aa00600ab8")
6008 IViewObjectEx : public IViewObject2
6009 {
6010     virtual HRESULT STDMETHODCALLTYPE GetRect(
6011         DWORD dwAspect,
6012         LPRECTL pRect) = 0;
6013 
6014     virtual HRESULT STDMETHODCALLTYPE GetViewStatus(
6015         DWORD *pdwStatus) = 0;
6016 
6017     virtual HRESULT STDMETHODCALLTYPE QueryHitPoint(
6018         DWORD dwAspect,
6019         LPCRECT pRectBounds,
6020         POINT ptlLoc,
6021         LONG lCloseHint,
6022         DWORD *pHitResult) = 0;
6023 
6024     virtual HRESULT STDMETHODCALLTYPE QueryHitRect(
6025         DWORD dwAspect,
6026         LPCRECT pRectBounds,
6027         LPCRECT pRectLoc,
6028         LONG lCloseHint,
6029         DWORD *pHitResult) = 0;
6030 
6031     virtual HRESULT STDMETHODCALLTYPE GetNaturalExtent(
6032         DWORD dwAspect,
6033         LONG lindex,
6034         DVTARGETDEVICE *ptd,
6035         HDC hicTargetDev,
6036         DVEXTENTINFO *pExtentInfo,
6037         LPSIZEL pSizel) = 0;
6038 
6039 };
6040 #ifdef __CRT_UUID_DECL
6041 __CRT_UUID_DECL(IViewObjectEx, 0x3af24292, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8)
6042 #endif
6043 #else
6044 typedef struct IViewObjectExVtbl {
6045     BEGIN_INTERFACE
6046 
6047     /*** IUnknown methods ***/
6048     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6049         IViewObjectEx* This,
6050         REFIID riid,
6051         void **ppvObject);
6052 
6053     ULONG (STDMETHODCALLTYPE *AddRef)(
6054         IViewObjectEx* This);
6055 
6056     ULONG (STDMETHODCALLTYPE *Release)(
6057         IViewObjectEx* This);
6058 
6059     /*** IViewObject methods ***/
6060     HRESULT (STDMETHODCALLTYPE *Draw)(
6061         IViewObjectEx* This,
6062         DWORD dwDrawAspect,
6063         LONG lindex,
6064         void *pvAspect,
6065         DVTARGETDEVICE *ptd,
6066         HDC hdcTargetDev,
6067         HDC hdcDraw,
6068         LPCRECTL lprcBounds,
6069         LPCRECTL lprcWBounds,
6070         WINBOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue),
6071         ULONG_PTR dwContinue);
6072 
6073     HRESULT (STDMETHODCALLTYPE *GetColorSet)(
6074         IViewObjectEx* This,
6075         DWORD dwDrawAspect,
6076         LONG lindex,
6077         void *pvAspect,
6078         DVTARGETDEVICE *ptd,
6079         HDC hicTargetDev,
6080         LOGPALETTE **ppColorSet);
6081 
6082     HRESULT (STDMETHODCALLTYPE *Freeze)(
6083         IViewObjectEx* This,
6084         DWORD dwDrawAspect,
6085         LONG lindex,
6086         void *pvAspect,
6087         DWORD *pdwFreeze);
6088 
6089     HRESULT (STDMETHODCALLTYPE *Unfreeze)(
6090         IViewObjectEx* This,
6091         DWORD dwFreeze);
6092 
6093     HRESULT (STDMETHODCALLTYPE *SetAdvise)(
6094         IViewObjectEx* This,
6095         DWORD aspects,
6096         DWORD advf,
6097         IAdviseSink *pAdvSink);
6098 
6099     HRESULT (STDMETHODCALLTYPE *GetAdvise)(
6100         IViewObjectEx* This,
6101         DWORD *pAspects,
6102         DWORD *pAdvf,
6103         IAdviseSink **ppAdvSink);
6104 
6105     /*** IViewObject2 methods ***/
6106     HRESULT (STDMETHODCALLTYPE *GetExtent)(
6107         IViewObjectEx* This,
6108         DWORD dwDrawAspect,
6109         LONG lindex,
6110         DVTARGETDEVICE *ptd,
6111         LPSIZEL lpsizel);
6112 
6113     /*** IViewObjectEx methods ***/
6114     HRESULT (STDMETHODCALLTYPE *GetRect)(
6115         IViewObjectEx* This,
6116         DWORD dwAspect,
6117         LPRECTL pRect);
6118 
6119     HRESULT (STDMETHODCALLTYPE *GetViewStatus)(
6120         IViewObjectEx* This,
6121         DWORD *pdwStatus);
6122 
6123     HRESULT (STDMETHODCALLTYPE *QueryHitPoint)(
6124         IViewObjectEx* This,
6125         DWORD dwAspect,
6126         LPCRECT pRectBounds,
6127         POINT ptlLoc,
6128         LONG lCloseHint,
6129         DWORD *pHitResult);
6130 
6131     HRESULT (STDMETHODCALLTYPE *QueryHitRect)(
6132         IViewObjectEx* This,
6133         DWORD dwAspect,
6134         LPCRECT pRectBounds,
6135         LPCRECT pRectLoc,
6136         LONG lCloseHint,
6137         DWORD *pHitResult);
6138 
6139     HRESULT (STDMETHODCALLTYPE *GetNaturalExtent)(
6140         IViewObjectEx* This,
6141         DWORD dwAspect,
6142         LONG lindex,
6143         DVTARGETDEVICE *ptd,
6144         HDC hicTargetDev,
6145         DVEXTENTINFO *pExtentInfo,
6146         LPSIZEL pSizel);
6147 
6148     END_INTERFACE
6149 } IViewObjectExVtbl;
6150 interface IViewObjectEx {
6151     CONST_VTBL IViewObjectExVtbl* lpVtbl;
6152 };
6153 
6154 #ifdef COBJMACROS
6155 #ifndef WIDL_C_INLINE_WRAPPERS
6156 /*** IUnknown methods ***/
6157 #define IViewObjectEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6158 #define IViewObjectEx_AddRef(This) (This)->lpVtbl->AddRef(This)
6159 #define IViewObjectEx_Release(This) (This)->lpVtbl->Release(This)
6160 /*** IViewObject methods ***/
6161 #define IViewObjectEx_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)
6162 #define IViewObjectEx_GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet) (This)->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet)
6163 #define IViewObjectEx_Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze) (This)->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze)
6164 #define IViewObjectEx_Unfreeze(This,dwFreeze) (This)->lpVtbl->Unfreeze(This,dwFreeze)
6165 #define IViewObjectEx_SetAdvise(This,aspects,advf,pAdvSink) (This)->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink)
6166 #define IViewObjectEx_GetAdvise(This,pAspects,pAdvf,ppAdvSink) (This)->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink)
6167 /*** IViewObject2 methods ***/
6168 #define IViewObjectEx_GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel) (This)->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel)
6169 /*** IViewObjectEx methods ***/
6170 #define IViewObjectEx_GetRect(This,dwAspect,pRect) (This)->lpVtbl->GetRect(This,dwAspect,pRect)
6171 #define IViewObjectEx_GetViewStatus(This,pdwStatus) (This)->lpVtbl->GetViewStatus(This,pdwStatus)
6172 #define IViewObjectEx_QueryHitPoint(This,dwAspect,pRectBounds,ptlLoc,lCloseHint,pHitResult) (This)->lpVtbl->QueryHitPoint(This,dwAspect,pRectBounds,ptlLoc,lCloseHint,pHitResult)
6173 #define IViewObjectEx_QueryHitRect(This,dwAspect,pRectBounds,pRectLoc,lCloseHint,pHitResult) (This)->lpVtbl->QueryHitRect(This,dwAspect,pRectBounds,pRectLoc,lCloseHint,pHitResult)
6174 #define IViewObjectEx_GetNaturalExtent(This,dwAspect,lindex,ptd,hicTargetDev,pExtentInfo,pSizel) (This)->lpVtbl->GetNaturalExtent(This,dwAspect,lindex,ptd,hicTargetDev,pExtentInfo,pSizel)
6175 #else
6176 /*** IUnknown methods ***/
6177 static FORCEINLINE HRESULT IViewObjectEx_QueryInterface(IViewObjectEx* This,REFIID riid,void **ppvObject) {
6178     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6179 }
6180 static FORCEINLINE ULONG IViewObjectEx_AddRef(IViewObjectEx* This) {
6181     return This->lpVtbl->AddRef(This);
6182 }
6183 static FORCEINLINE ULONG IViewObjectEx_Release(IViewObjectEx* This) {
6184     return This->lpVtbl->Release(This);
6185 }
6186 /*** IViewObject methods ***/
6187 static FORCEINLINE HRESULT IViewObjectEx_Draw(IViewObjectEx* 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) {
6188     return This->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue);
6189 }
6190 static FORCEINLINE HRESULT IViewObjectEx_GetColorSet(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet) {
6191     return This->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet);
6192 }
6193 static FORCEINLINE HRESULT IViewObjectEx_Freeze(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze) {
6194     return This->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze);
6195 }
6196 static FORCEINLINE HRESULT IViewObjectEx_Unfreeze(IViewObjectEx* This,DWORD dwFreeze) {
6197     return This->lpVtbl->Unfreeze(This,dwFreeze);
6198 }
6199 static FORCEINLINE HRESULT IViewObjectEx_SetAdvise(IViewObjectEx* This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink) {
6200     return This->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink);
6201 }
6202 static FORCEINLINE HRESULT IViewObjectEx_GetAdvise(IViewObjectEx* This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink) {
6203     return This->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink);
6204 }
6205 /*** IViewObject2 methods ***/
6206 static FORCEINLINE HRESULT IViewObjectEx_GetExtent(IViewObjectEx* This,DWORD dwDrawAspect,LONG lindex,DVTARGETDEVICE *ptd,LPSIZEL lpsizel) {
6207     return This->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel);
6208 }
6209 /*** IViewObjectEx methods ***/
6210 static FORCEINLINE HRESULT IViewObjectEx_GetRect(IViewObjectEx* This,DWORD dwAspect,LPRECTL pRect) {
6211     return This->lpVtbl->GetRect(This,dwAspect,pRect);
6212 }
6213 static FORCEINLINE HRESULT IViewObjectEx_GetViewStatus(IViewObjectEx* This,DWORD *pdwStatus) {
6214     return This->lpVtbl->GetViewStatus(This,pdwStatus);
6215 }
6216 static FORCEINLINE HRESULT IViewObjectEx_QueryHitPoint(IViewObjectEx* This,DWORD dwAspect,LPCRECT pRectBounds,POINT ptlLoc,LONG lCloseHint,DWORD *pHitResult) {
6217     return This->lpVtbl->QueryHitPoint(This,dwAspect,pRectBounds,ptlLoc,lCloseHint,pHitResult);
6218 }
6219 static FORCEINLINE HRESULT IViewObjectEx_QueryHitRect(IViewObjectEx* This,DWORD dwAspect,LPCRECT pRectBounds,LPCRECT pRectLoc,LONG lCloseHint,DWORD *pHitResult) {
6220     return This->lpVtbl->QueryHitRect(This,dwAspect,pRectBounds,pRectLoc,lCloseHint,pHitResult);
6221 }
6222 static FORCEINLINE HRESULT IViewObjectEx_GetNaturalExtent(IViewObjectEx* This,DWORD dwAspect,LONG lindex,DVTARGETDEVICE *ptd,HDC hicTargetDev,DVEXTENTINFO *pExtentInfo,LPSIZEL pSizel) {
6223     return This->lpVtbl->GetNaturalExtent(This,dwAspect,lindex,ptd,hicTargetDev,pExtentInfo,pSizel);
6224 }
6225 #endif
6226 #endif
6227 
6228 #endif
6229 
6230 HRESULT STDMETHODCALLTYPE IViewObjectEx_GetRect_Proxy(
6231     IViewObjectEx* This,
6232     DWORD dwAspect,
6233     LPRECTL pRect);
6234 void __RPC_STUB IViewObjectEx_GetRect_Stub(
6235     IRpcStubBuffer* This,
6236     IRpcChannelBuffer* pRpcChannelBuffer,
6237     PRPC_MESSAGE pRpcMessage,
6238     DWORD* pdwStubPhase);
6239 HRESULT STDMETHODCALLTYPE IViewObjectEx_GetViewStatus_Proxy(
6240     IViewObjectEx* This,
6241     DWORD *pdwStatus);
6242 void __RPC_STUB IViewObjectEx_GetViewStatus_Stub(
6243     IRpcStubBuffer* This,
6244     IRpcChannelBuffer* pRpcChannelBuffer,
6245     PRPC_MESSAGE pRpcMessage,
6246     DWORD* pdwStubPhase);
6247 HRESULT STDMETHODCALLTYPE IViewObjectEx_QueryHitPoint_Proxy(
6248     IViewObjectEx* This,
6249     DWORD dwAspect,
6250     LPCRECT pRectBounds,
6251     POINT ptlLoc,
6252     LONG lCloseHint,
6253     DWORD *pHitResult);
6254 void __RPC_STUB IViewObjectEx_QueryHitPoint_Stub(
6255     IRpcStubBuffer* This,
6256     IRpcChannelBuffer* pRpcChannelBuffer,
6257     PRPC_MESSAGE pRpcMessage,
6258     DWORD* pdwStubPhase);
6259 HRESULT STDMETHODCALLTYPE IViewObjectEx_QueryHitRect_Proxy(
6260     IViewObjectEx* This,
6261     DWORD dwAspect,
6262     LPCRECT pRectBounds,
6263     LPCRECT pRectLoc,
6264     LONG lCloseHint,
6265     DWORD *pHitResult);
6266 void __RPC_STUB IViewObjectEx_QueryHitRect_Stub(
6267     IRpcStubBuffer* This,
6268     IRpcChannelBuffer* pRpcChannelBuffer,
6269     PRPC_MESSAGE pRpcMessage,
6270     DWORD* pdwStubPhase);
6271 HRESULT STDMETHODCALLTYPE IViewObjectEx_GetNaturalExtent_Proxy(
6272     IViewObjectEx* This,
6273     DWORD dwAspect,
6274     LONG lindex,
6275     DVTARGETDEVICE *ptd,
6276     HDC hicTargetDev,
6277     DVEXTENTINFO *pExtentInfo,
6278     LPSIZEL pSizel);
6279 void __RPC_STUB IViewObjectEx_GetNaturalExtent_Stub(
6280     IRpcStubBuffer* This,
6281     IRpcChannelBuffer* pRpcChannelBuffer,
6282     PRPC_MESSAGE pRpcMessage,
6283     DWORD* pdwStubPhase);
6284 
6285 #endif  /* __IViewObjectEx_INTERFACE_DEFINED__ */
6286 
6287 
6288 /*****************************************************************************
6289  * IOleUndoUnit interface
6290  */
6291 #ifndef __IOleUndoUnit_INTERFACE_DEFINED__
6292 #define __IOleUndoUnit_INTERFACE_DEFINED__
6293 
6294 typedef IOleUndoUnit *LPOLEUNDOUNIT;
6295 
6296 DEFINE_GUID(IID_IOleUndoUnit, 0x894ad3b0, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6297 #if defined(__cplusplus) && !defined(CINTERFACE)
6298 MIDL_INTERFACE("894ad3b0-ef97-11ce-9bc9-00aa00608e01")
6299 IOleUndoUnit : public IUnknown
6300 {
6301     virtual HRESULT STDMETHODCALLTYPE Do(
6302         IOleUndoManager *pUndoManager) = 0;
6303 
6304     virtual HRESULT STDMETHODCALLTYPE GetDescription(
6305         BSTR *pBstr) = 0;
6306 
6307     virtual HRESULT STDMETHODCALLTYPE GetUnitType(
6308         CLSID *pClsid,
6309         LONG *plID) = 0;
6310 
6311     virtual HRESULT STDMETHODCALLTYPE OnNextAdd(
6312         ) = 0;
6313 
6314 };
6315 #ifdef __CRT_UUID_DECL
6316 __CRT_UUID_DECL(IOleUndoUnit, 0x894ad3b0, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
6317 #endif
6318 #else
6319 typedef struct IOleUndoUnitVtbl {
6320     BEGIN_INTERFACE
6321 
6322     /*** IUnknown methods ***/
6323     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6324         IOleUndoUnit* This,
6325         REFIID riid,
6326         void **ppvObject);
6327 
6328     ULONG (STDMETHODCALLTYPE *AddRef)(
6329         IOleUndoUnit* This);
6330 
6331     ULONG (STDMETHODCALLTYPE *Release)(
6332         IOleUndoUnit* This);
6333 
6334     /*** IOleUndoUnit methods ***/
6335     HRESULT (STDMETHODCALLTYPE *Do)(
6336         IOleUndoUnit* This,
6337         IOleUndoManager *pUndoManager);
6338 
6339     HRESULT (STDMETHODCALLTYPE *GetDescription)(
6340         IOleUndoUnit* This,
6341         BSTR *pBstr);
6342 
6343     HRESULT (STDMETHODCALLTYPE *GetUnitType)(
6344         IOleUndoUnit* This,
6345         CLSID *pClsid,
6346         LONG *plID);
6347 
6348     HRESULT (STDMETHODCALLTYPE *OnNextAdd)(
6349         IOleUndoUnit* This);
6350 
6351     END_INTERFACE
6352 } IOleUndoUnitVtbl;
6353 interface IOleUndoUnit {
6354     CONST_VTBL IOleUndoUnitVtbl* lpVtbl;
6355 };
6356 
6357 #ifdef COBJMACROS
6358 #ifndef WIDL_C_INLINE_WRAPPERS
6359 /*** IUnknown methods ***/
6360 #define IOleUndoUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6361 #define IOleUndoUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
6362 #define IOleUndoUnit_Release(This) (This)->lpVtbl->Release(This)
6363 /*** IOleUndoUnit methods ***/
6364 #define IOleUndoUnit_Do(This,pUndoManager) (This)->lpVtbl->Do(This,pUndoManager)
6365 #define IOleUndoUnit_GetDescription(This,pBstr) (This)->lpVtbl->GetDescription(This,pBstr)
6366 #define IOleUndoUnit_GetUnitType(This,pClsid,plID) (This)->lpVtbl->GetUnitType(This,pClsid,plID)
6367 #define IOleUndoUnit_OnNextAdd(This) (This)->lpVtbl->OnNextAdd(This)
6368 #else
6369 /*** IUnknown methods ***/
6370 static FORCEINLINE HRESULT IOleUndoUnit_QueryInterface(IOleUndoUnit* This,REFIID riid,void **ppvObject) {
6371     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6372 }
6373 static FORCEINLINE ULONG IOleUndoUnit_AddRef(IOleUndoUnit* This) {
6374     return This->lpVtbl->AddRef(This);
6375 }
6376 static FORCEINLINE ULONG IOleUndoUnit_Release(IOleUndoUnit* This) {
6377     return This->lpVtbl->Release(This);
6378 }
6379 /*** IOleUndoUnit methods ***/
6380 static FORCEINLINE HRESULT IOleUndoUnit_Do(IOleUndoUnit* This,IOleUndoManager *pUndoManager) {
6381     return This->lpVtbl->Do(This,pUndoManager);
6382 }
6383 static FORCEINLINE HRESULT IOleUndoUnit_GetDescription(IOleUndoUnit* This,BSTR *pBstr) {
6384     return This->lpVtbl->GetDescription(This,pBstr);
6385 }
6386 static FORCEINLINE HRESULT IOleUndoUnit_GetUnitType(IOleUndoUnit* This,CLSID *pClsid,LONG *plID) {
6387     return This->lpVtbl->GetUnitType(This,pClsid,plID);
6388 }
6389 static FORCEINLINE HRESULT IOleUndoUnit_OnNextAdd(IOleUndoUnit* This) {
6390     return This->lpVtbl->OnNextAdd(This);
6391 }
6392 #endif
6393 #endif
6394 
6395 #endif
6396 
6397 HRESULT STDMETHODCALLTYPE IOleUndoUnit_Do_Proxy(
6398     IOleUndoUnit* This,
6399     IOleUndoManager *pUndoManager);
6400 void __RPC_STUB IOleUndoUnit_Do_Stub(
6401     IRpcStubBuffer* This,
6402     IRpcChannelBuffer* pRpcChannelBuffer,
6403     PRPC_MESSAGE pRpcMessage,
6404     DWORD* pdwStubPhase);
6405 HRESULT STDMETHODCALLTYPE IOleUndoUnit_GetDescription_Proxy(
6406     IOleUndoUnit* This,
6407     BSTR *pBstr);
6408 void __RPC_STUB IOleUndoUnit_GetDescription_Stub(
6409     IRpcStubBuffer* This,
6410     IRpcChannelBuffer* pRpcChannelBuffer,
6411     PRPC_MESSAGE pRpcMessage,
6412     DWORD* pdwStubPhase);
6413 HRESULT STDMETHODCALLTYPE IOleUndoUnit_GetUnitType_Proxy(
6414     IOleUndoUnit* This,
6415     CLSID *pClsid,
6416     LONG *plID);
6417 void __RPC_STUB IOleUndoUnit_GetUnitType_Stub(
6418     IRpcStubBuffer* This,
6419     IRpcChannelBuffer* pRpcChannelBuffer,
6420     PRPC_MESSAGE pRpcMessage,
6421     DWORD* pdwStubPhase);
6422 HRESULT STDMETHODCALLTYPE IOleUndoUnit_OnNextAdd_Proxy(
6423     IOleUndoUnit* This);
6424 void __RPC_STUB IOleUndoUnit_OnNextAdd_Stub(
6425     IRpcStubBuffer* This,
6426     IRpcChannelBuffer* pRpcChannelBuffer,
6427     PRPC_MESSAGE pRpcMessage,
6428     DWORD* pdwStubPhase);
6429 
6430 #endif  /* __IOleUndoUnit_INTERFACE_DEFINED__ */
6431 
6432 
6433 /*****************************************************************************
6434  * IOleParentUndoUnit interface
6435  */
6436 #ifndef __IOleParentUndoUnit_INTERFACE_DEFINED__
6437 #define __IOleParentUndoUnit_INTERFACE_DEFINED__
6438 
6439 typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
6440 
6441 DEFINE_GUID(IID_IOleParentUndoUnit, 0xa1faf330, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6442 #if defined(__cplusplus) && !defined(CINTERFACE)
6443 MIDL_INTERFACE("a1faf330-ef97-11ce-9bc9-00aa00608e01")
6444 IOleParentUndoUnit : public IOleUndoUnit
6445 {
6446     virtual HRESULT STDMETHODCALLTYPE Open(
6447         IOleParentUndoUnit *pPUU) = 0;
6448 
6449     virtual HRESULT STDMETHODCALLTYPE Close(
6450         IOleParentUndoUnit *pPUU,
6451         WINBOOL fCommit) = 0;
6452 
6453     virtual HRESULT STDMETHODCALLTYPE Add(
6454         IOleUndoUnit *pUU) = 0;
6455 
6456     virtual HRESULT STDMETHODCALLTYPE FindUnit(
6457         IOleUndoUnit *pUU) = 0;
6458 
6459     virtual HRESULT STDMETHODCALLTYPE GetParentState(
6460         DWORD *pdwState) = 0;
6461 
6462 };
6463 #ifdef __CRT_UUID_DECL
6464 __CRT_UUID_DECL(IOleParentUndoUnit, 0xa1faf330, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
6465 #endif
6466 #else
6467 typedef struct IOleParentUndoUnitVtbl {
6468     BEGIN_INTERFACE
6469 
6470     /*** IUnknown methods ***/
6471     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6472         IOleParentUndoUnit* This,
6473         REFIID riid,
6474         void **ppvObject);
6475 
6476     ULONG (STDMETHODCALLTYPE *AddRef)(
6477         IOleParentUndoUnit* This);
6478 
6479     ULONG (STDMETHODCALLTYPE *Release)(
6480         IOleParentUndoUnit* This);
6481 
6482     /*** IOleUndoUnit methods ***/
6483     HRESULT (STDMETHODCALLTYPE *Do)(
6484         IOleParentUndoUnit* This,
6485         IOleUndoManager *pUndoManager);
6486 
6487     HRESULT (STDMETHODCALLTYPE *GetDescription)(
6488         IOleParentUndoUnit* This,
6489         BSTR *pBstr);
6490 
6491     HRESULT (STDMETHODCALLTYPE *GetUnitType)(
6492         IOleParentUndoUnit* This,
6493         CLSID *pClsid,
6494         LONG *plID);
6495 
6496     HRESULT (STDMETHODCALLTYPE *OnNextAdd)(
6497         IOleParentUndoUnit* This);
6498 
6499     /*** IOleParentUndoUnit methods ***/
6500     HRESULT (STDMETHODCALLTYPE *Open)(
6501         IOleParentUndoUnit* This,
6502         IOleParentUndoUnit *pPUU);
6503 
6504     HRESULT (STDMETHODCALLTYPE *Close)(
6505         IOleParentUndoUnit* This,
6506         IOleParentUndoUnit *pPUU,
6507         WINBOOL fCommit);
6508 
6509     HRESULT (STDMETHODCALLTYPE *Add)(
6510         IOleParentUndoUnit* This,
6511         IOleUndoUnit *pUU);
6512 
6513     HRESULT (STDMETHODCALLTYPE *FindUnit)(
6514         IOleParentUndoUnit* This,
6515         IOleUndoUnit *pUU);
6516 
6517     HRESULT (STDMETHODCALLTYPE *GetParentState)(
6518         IOleParentUndoUnit* This,
6519         DWORD *pdwState);
6520 
6521     END_INTERFACE
6522 } IOleParentUndoUnitVtbl;
6523 interface IOleParentUndoUnit {
6524     CONST_VTBL IOleParentUndoUnitVtbl* lpVtbl;
6525 };
6526 
6527 #ifdef COBJMACROS
6528 #ifndef WIDL_C_INLINE_WRAPPERS
6529 /*** IUnknown methods ***/
6530 #define IOleParentUndoUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6531 #define IOleParentUndoUnit_AddRef(This) (This)->lpVtbl->AddRef(This)
6532 #define IOleParentUndoUnit_Release(This) (This)->lpVtbl->Release(This)
6533 /*** IOleUndoUnit methods ***/
6534 #define IOleParentUndoUnit_Do(This,pUndoManager) (This)->lpVtbl->Do(This,pUndoManager)
6535 #define IOleParentUndoUnit_GetDescription(This,pBstr) (This)->lpVtbl->GetDescription(This,pBstr)
6536 #define IOleParentUndoUnit_GetUnitType(This,pClsid,plID) (This)->lpVtbl->GetUnitType(This,pClsid,plID)
6537 #define IOleParentUndoUnit_OnNextAdd(This) (This)->lpVtbl->OnNextAdd(This)
6538 /*** IOleParentUndoUnit methods ***/
6539 #define IOleParentUndoUnit_Open(This,pPUU) (This)->lpVtbl->Open(This,pPUU)
6540 #define IOleParentUndoUnit_Close(This,pPUU,fCommit) (This)->lpVtbl->Close(This,pPUU,fCommit)
6541 #define IOleParentUndoUnit_Add(This,pUU) (This)->lpVtbl->Add(This,pUU)
6542 #define IOleParentUndoUnit_FindUnit(This,pUU) (This)->lpVtbl->FindUnit(This,pUU)
6543 #define IOleParentUndoUnit_GetParentState(This,pdwState) (This)->lpVtbl->GetParentState(This,pdwState)
6544 #else
6545 /*** IUnknown methods ***/
6546 static FORCEINLINE HRESULT IOleParentUndoUnit_QueryInterface(IOleParentUndoUnit* This,REFIID riid,void **ppvObject) {
6547     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6548 }
6549 static FORCEINLINE ULONG IOleParentUndoUnit_AddRef(IOleParentUndoUnit* This) {
6550     return This->lpVtbl->AddRef(This);
6551 }
6552 static FORCEINLINE ULONG IOleParentUndoUnit_Release(IOleParentUndoUnit* This) {
6553     return This->lpVtbl->Release(This);
6554 }
6555 /*** IOleUndoUnit methods ***/
6556 static FORCEINLINE HRESULT IOleParentUndoUnit_Do(IOleParentUndoUnit* This,IOleUndoManager *pUndoManager) {
6557     return This->lpVtbl->Do(This,pUndoManager);
6558 }
6559 static FORCEINLINE HRESULT IOleParentUndoUnit_GetDescription(IOleParentUndoUnit* This,BSTR *pBstr) {
6560     return This->lpVtbl->GetDescription(This,pBstr);
6561 }
6562 static FORCEINLINE HRESULT IOleParentUndoUnit_GetUnitType(IOleParentUndoUnit* This,CLSID *pClsid,LONG *plID) {
6563     return This->lpVtbl->GetUnitType(This,pClsid,plID);
6564 }
6565 static FORCEINLINE HRESULT IOleParentUndoUnit_OnNextAdd(IOleParentUndoUnit* This) {
6566     return This->lpVtbl->OnNextAdd(This);
6567 }
6568 /*** IOleParentUndoUnit methods ***/
6569 static FORCEINLINE HRESULT IOleParentUndoUnit_Open(IOleParentUndoUnit* This,IOleParentUndoUnit *pPUU) {
6570     return This->lpVtbl->Open(This,pPUU);
6571 }
6572 static FORCEINLINE HRESULT IOleParentUndoUnit_Close(IOleParentUndoUnit* This,IOleParentUndoUnit *pPUU,WINBOOL fCommit) {
6573     return This->lpVtbl->Close(This,pPUU,fCommit);
6574 }
6575 static FORCEINLINE HRESULT IOleParentUndoUnit_Add(IOleParentUndoUnit* This,IOleUndoUnit *pUU) {
6576     return This->lpVtbl->Add(This,pUU);
6577 }
6578 static FORCEINLINE HRESULT IOleParentUndoUnit_FindUnit(IOleParentUndoUnit* This,IOleUndoUnit *pUU) {
6579     return This->lpVtbl->FindUnit(This,pUU);
6580 }
6581 static FORCEINLINE HRESULT IOleParentUndoUnit_GetParentState(IOleParentUndoUnit* This,DWORD *pdwState) {
6582     return This->lpVtbl->GetParentState(This,pdwState);
6583 }
6584 #endif
6585 #endif
6586 
6587 #endif
6588 
6589 HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_Open_Proxy(
6590     IOleParentUndoUnit* This,
6591     IOleParentUndoUnit *pPUU);
6592 void __RPC_STUB IOleParentUndoUnit_Open_Stub(
6593     IRpcStubBuffer* This,
6594     IRpcChannelBuffer* pRpcChannelBuffer,
6595     PRPC_MESSAGE pRpcMessage,
6596     DWORD* pdwStubPhase);
6597 HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_Close_Proxy(
6598     IOleParentUndoUnit* This,
6599     IOleParentUndoUnit *pPUU,
6600     WINBOOL fCommit);
6601 void __RPC_STUB IOleParentUndoUnit_Close_Stub(
6602     IRpcStubBuffer* This,
6603     IRpcChannelBuffer* pRpcChannelBuffer,
6604     PRPC_MESSAGE pRpcMessage,
6605     DWORD* pdwStubPhase);
6606 HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_Add_Proxy(
6607     IOleParentUndoUnit* This,
6608     IOleUndoUnit *pUU);
6609 void __RPC_STUB IOleParentUndoUnit_Add_Stub(
6610     IRpcStubBuffer* This,
6611     IRpcChannelBuffer* pRpcChannelBuffer,
6612     PRPC_MESSAGE pRpcMessage,
6613     DWORD* pdwStubPhase);
6614 HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_FindUnit_Proxy(
6615     IOleParentUndoUnit* This,
6616     IOleUndoUnit *pUU);
6617 void __RPC_STUB IOleParentUndoUnit_FindUnit_Stub(
6618     IRpcStubBuffer* This,
6619     IRpcChannelBuffer* pRpcChannelBuffer,
6620     PRPC_MESSAGE pRpcMessage,
6621     DWORD* pdwStubPhase);
6622 HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_GetParentState_Proxy(
6623     IOleParentUndoUnit* This,
6624     DWORD *pdwState);
6625 void __RPC_STUB IOleParentUndoUnit_GetParentState_Stub(
6626     IRpcStubBuffer* This,
6627     IRpcChannelBuffer* pRpcChannelBuffer,
6628     PRPC_MESSAGE pRpcMessage,
6629     DWORD* pdwStubPhase);
6630 
6631 #endif  /* __IOleParentUndoUnit_INTERFACE_DEFINED__ */
6632 
6633 
6634 /*****************************************************************************
6635  * IEnumOleUndoUnits interface
6636  */
6637 #ifndef __IEnumOleUndoUnits_INTERFACE_DEFINED__
6638 #define __IEnumOleUndoUnits_INTERFACE_DEFINED__
6639 
6640 typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
6641 
6642 DEFINE_GUID(IID_IEnumOleUndoUnits, 0xb3e7c340, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6643 #if defined(__cplusplus) && !defined(CINTERFACE)
6644 MIDL_INTERFACE("b3e7c340-ef97-11ce-9bc9-00aa00608e01")
6645 IEnumOleUndoUnits : public IUnknown
6646 {
6647     virtual HRESULT STDMETHODCALLTYPE Next(
6648         ULONG cElt,
6649         IOleUndoUnit **rgElt,
6650         ULONG *pcEltFetched) = 0;
6651 
6652     virtual HRESULT STDMETHODCALLTYPE Skip(
6653         ULONG cElt) = 0;
6654 
6655     virtual HRESULT STDMETHODCALLTYPE Reset(
6656         ) = 0;
6657 
6658     virtual HRESULT STDMETHODCALLTYPE Clone(
6659         IEnumOleUndoUnits **ppEnum) = 0;
6660 
6661 };
6662 #ifdef __CRT_UUID_DECL
6663 __CRT_UUID_DECL(IEnumOleUndoUnits, 0xb3e7c340, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
6664 #endif
6665 #else
6666 typedef struct IEnumOleUndoUnitsVtbl {
6667     BEGIN_INTERFACE
6668 
6669     /*** IUnknown methods ***/
6670     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6671         IEnumOleUndoUnits* This,
6672         REFIID riid,
6673         void **ppvObject);
6674 
6675     ULONG (STDMETHODCALLTYPE *AddRef)(
6676         IEnumOleUndoUnits* This);
6677 
6678     ULONG (STDMETHODCALLTYPE *Release)(
6679         IEnumOleUndoUnits* This);
6680 
6681     /*** IEnumOleUndoUnits methods ***/
6682     HRESULT (STDMETHODCALLTYPE *Next)(
6683         IEnumOleUndoUnits* This,
6684         ULONG cElt,
6685         IOleUndoUnit **rgElt,
6686         ULONG *pcEltFetched);
6687 
6688     HRESULT (STDMETHODCALLTYPE *Skip)(
6689         IEnumOleUndoUnits* This,
6690         ULONG cElt);
6691 
6692     HRESULT (STDMETHODCALLTYPE *Reset)(
6693         IEnumOleUndoUnits* This);
6694 
6695     HRESULT (STDMETHODCALLTYPE *Clone)(
6696         IEnumOleUndoUnits* This,
6697         IEnumOleUndoUnits **ppEnum);
6698 
6699     END_INTERFACE
6700 } IEnumOleUndoUnitsVtbl;
6701 interface IEnumOleUndoUnits {
6702     CONST_VTBL IEnumOleUndoUnitsVtbl* lpVtbl;
6703 };
6704 
6705 #ifdef COBJMACROS
6706 #ifndef WIDL_C_INLINE_WRAPPERS
6707 /*** IUnknown methods ***/
6708 #define IEnumOleUndoUnits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6709 #define IEnumOleUndoUnits_AddRef(This) (This)->lpVtbl->AddRef(This)
6710 #define IEnumOleUndoUnits_Release(This) (This)->lpVtbl->Release(This)
6711 /*** IEnumOleUndoUnits methods ***/
6712 #define IEnumOleUndoUnits_Next(This,cElt,rgElt,pcEltFetched) (This)->lpVtbl->Next(This,cElt,rgElt,pcEltFetched)
6713 #define IEnumOleUndoUnits_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt)
6714 #define IEnumOleUndoUnits_Reset(This) (This)->lpVtbl->Reset(This)
6715 #define IEnumOleUndoUnits_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
6716 #else
6717 /*** IUnknown methods ***/
6718 static FORCEINLINE HRESULT IEnumOleUndoUnits_QueryInterface(IEnumOleUndoUnits* This,REFIID riid,void **ppvObject) {
6719     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6720 }
6721 static FORCEINLINE ULONG IEnumOleUndoUnits_AddRef(IEnumOleUndoUnits* This) {
6722     return This->lpVtbl->AddRef(This);
6723 }
6724 static FORCEINLINE ULONG IEnumOleUndoUnits_Release(IEnumOleUndoUnits* This) {
6725     return This->lpVtbl->Release(This);
6726 }
6727 /*** IEnumOleUndoUnits methods ***/
6728 static FORCEINLINE HRESULT IEnumOleUndoUnits_Next(IEnumOleUndoUnits* This,ULONG cElt,IOleUndoUnit **rgElt,ULONG *pcEltFetched) {
6729     return This->lpVtbl->Next(This,cElt,rgElt,pcEltFetched);
6730 }
6731 static FORCEINLINE HRESULT IEnumOleUndoUnits_Skip(IEnumOleUndoUnits* This,ULONG cElt) {
6732     return This->lpVtbl->Skip(This,cElt);
6733 }
6734 static FORCEINLINE HRESULT IEnumOleUndoUnits_Reset(IEnumOleUndoUnits* This) {
6735     return This->lpVtbl->Reset(This);
6736 }
6737 static FORCEINLINE HRESULT IEnumOleUndoUnits_Clone(IEnumOleUndoUnits* This,IEnumOleUndoUnits **ppEnum) {
6738     return This->lpVtbl->Clone(This,ppEnum);
6739 }
6740 #endif
6741 #endif
6742 
6743 #endif
6744 
6745 HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_RemoteNext_Proxy(
6746     IEnumOleUndoUnits* This,
6747     ULONG cElt,
6748     IOleUndoUnit **rgElt,
6749     ULONG *pcEltFetched);
6750 void __RPC_STUB IEnumOleUndoUnits_RemoteNext_Stub(
6751     IRpcStubBuffer* This,
6752     IRpcChannelBuffer* pRpcChannelBuffer,
6753     PRPC_MESSAGE pRpcMessage,
6754     DWORD* pdwStubPhase);
6755 HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_Skip_Proxy(
6756     IEnumOleUndoUnits* This,
6757     ULONG cElt);
6758 void __RPC_STUB IEnumOleUndoUnits_Skip_Stub(
6759     IRpcStubBuffer* This,
6760     IRpcChannelBuffer* pRpcChannelBuffer,
6761     PRPC_MESSAGE pRpcMessage,
6762     DWORD* pdwStubPhase);
6763 HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_Reset_Proxy(
6764     IEnumOleUndoUnits* This);
6765 void __RPC_STUB IEnumOleUndoUnits_Reset_Stub(
6766     IRpcStubBuffer* This,
6767     IRpcChannelBuffer* pRpcChannelBuffer,
6768     PRPC_MESSAGE pRpcMessage,
6769     DWORD* pdwStubPhase);
6770 HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_Clone_Proxy(
6771     IEnumOleUndoUnits* This,
6772     IEnumOleUndoUnits **ppEnum);
6773 void __RPC_STUB IEnumOleUndoUnits_Clone_Stub(
6774     IRpcStubBuffer* This,
6775     IRpcChannelBuffer* pRpcChannelBuffer,
6776     PRPC_MESSAGE pRpcMessage,
6777     DWORD* pdwStubPhase);
6778 HRESULT CALLBACK IEnumOleUndoUnits_Next_Proxy(
6779     IEnumOleUndoUnits* This,
6780     ULONG cElt,
6781     IOleUndoUnit **rgElt,
6782     ULONG *pcEltFetched);
6783 HRESULT __RPC_STUB IEnumOleUndoUnits_Next_Stub(
6784     IEnumOleUndoUnits* This,
6785     ULONG cElt,
6786     IOleUndoUnit **rgElt,
6787     ULONG *pcEltFetched);
6788 
6789 #endif  /* __IEnumOleUndoUnits_INTERFACE_DEFINED__ */
6790 
6791 
6792 /*****************************************************************************
6793  * IOleUndoManager interface
6794  */
6795 #ifndef __IOleUndoManager_INTERFACE_DEFINED__
6796 #define __IOleUndoManager_INTERFACE_DEFINED__
6797 
6798 #define SID_SOleUndoManager IID_IOleUndoManager
6799 
6800 typedef IOleUndoManager *LPOLEUNDOMANAGER;
6801 
6802 DEFINE_GUID(IID_IOleUndoManager, 0xd001f200, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6803 #if defined(__cplusplus) && !defined(CINTERFACE)
6804 MIDL_INTERFACE("d001f200-ef97-11ce-9bc9-00aa00608e01")
6805 IOleUndoManager : public IUnknown
6806 {
6807     virtual HRESULT STDMETHODCALLTYPE Open(
6808         IOleParentUndoUnit *pPUU) = 0;
6809 
6810     virtual HRESULT STDMETHODCALLTYPE Close(
6811         IOleParentUndoUnit *pPUU,
6812         WINBOOL fCommit) = 0;
6813 
6814     virtual HRESULT STDMETHODCALLTYPE Add(
6815         IOleUndoUnit *pUU) = 0;
6816 
6817     virtual HRESULT STDMETHODCALLTYPE GetOpenParentState(
6818         DWORD *pdwState) = 0;
6819 
6820     virtual HRESULT STDMETHODCALLTYPE DiscardFrom(
6821         IOleUndoUnit *pUU) = 0;
6822 
6823     virtual HRESULT STDMETHODCALLTYPE UndoTo(
6824         IOleUndoUnit *pUU) = 0;
6825 
6826     virtual HRESULT STDMETHODCALLTYPE RedoTo(
6827         IOleUndoUnit *pUU) = 0;
6828 
6829     virtual HRESULT STDMETHODCALLTYPE EnumUndoable(
6830         IEnumOleUndoUnits **ppEnum) = 0;
6831 
6832     virtual HRESULT STDMETHODCALLTYPE EnumRedoable(
6833         IEnumOleUndoUnits **ppEnum) = 0;
6834 
6835     virtual HRESULT STDMETHODCALLTYPE GetLastUndoDescription(
6836         BSTR *pBstr) = 0;
6837 
6838     virtual HRESULT STDMETHODCALLTYPE GetLastRedoDescription(
6839         BSTR *pBstr) = 0;
6840 
6841     virtual HRESULT STDMETHODCALLTYPE Enable(
6842         WINBOOL fEnable) = 0;
6843 
6844 };
6845 #ifdef __CRT_UUID_DECL
6846 __CRT_UUID_DECL(IOleUndoManager, 0xd001f200, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01)
6847 #endif
6848 #else
6849 typedef struct IOleUndoManagerVtbl {
6850     BEGIN_INTERFACE
6851 
6852     /*** IUnknown methods ***/
6853     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6854         IOleUndoManager* This,
6855         REFIID riid,
6856         void **ppvObject);
6857 
6858     ULONG (STDMETHODCALLTYPE *AddRef)(
6859         IOleUndoManager* This);
6860 
6861     ULONG (STDMETHODCALLTYPE *Release)(
6862         IOleUndoManager* This);
6863 
6864     /*** IOleUndoManager methods ***/
6865     HRESULT (STDMETHODCALLTYPE *Open)(
6866         IOleUndoManager* This,
6867         IOleParentUndoUnit *pPUU);
6868 
6869     HRESULT (STDMETHODCALLTYPE *Close)(
6870         IOleUndoManager* This,
6871         IOleParentUndoUnit *pPUU,
6872         WINBOOL fCommit);
6873 
6874     HRESULT (STDMETHODCALLTYPE *Add)(
6875         IOleUndoManager* This,
6876         IOleUndoUnit *pUU);
6877 
6878     HRESULT (STDMETHODCALLTYPE *GetOpenParentState)(
6879         IOleUndoManager* This,
6880         DWORD *pdwState);
6881 
6882     HRESULT (STDMETHODCALLTYPE *DiscardFrom)(
6883         IOleUndoManager* This,
6884         IOleUndoUnit *pUU);
6885 
6886     HRESULT (STDMETHODCALLTYPE *UndoTo)(
6887         IOleUndoManager* This,
6888         IOleUndoUnit *pUU);
6889 
6890     HRESULT (STDMETHODCALLTYPE *RedoTo)(
6891         IOleUndoManager* This,
6892         IOleUndoUnit *pUU);
6893 
6894     HRESULT (STDMETHODCALLTYPE *EnumUndoable)(
6895         IOleUndoManager* This,
6896         IEnumOleUndoUnits **ppEnum);
6897 
6898     HRESULT (STDMETHODCALLTYPE *EnumRedoable)(
6899         IOleUndoManager* This,
6900         IEnumOleUndoUnits **ppEnum);
6901 
6902     HRESULT (STDMETHODCALLTYPE *GetLastUndoDescription)(
6903         IOleUndoManager* This,
6904         BSTR *pBstr);
6905 
6906     HRESULT (STDMETHODCALLTYPE *GetLastRedoDescription)(
6907         IOleUndoManager* This,
6908         BSTR *pBstr);
6909 
6910     HRESULT (STDMETHODCALLTYPE *Enable)(
6911         IOleUndoManager* This,
6912         WINBOOL fEnable);
6913 
6914     END_INTERFACE
6915 } IOleUndoManagerVtbl;
6916 interface IOleUndoManager {
6917     CONST_VTBL IOleUndoManagerVtbl* lpVtbl;
6918 };
6919 
6920 #ifdef COBJMACROS
6921 #ifndef WIDL_C_INLINE_WRAPPERS
6922 /*** IUnknown methods ***/
6923 #define IOleUndoManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6924 #define IOleUndoManager_AddRef(This) (This)->lpVtbl->AddRef(This)
6925 #define IOleUndoManager_Release(This) (This)->lpVtbl->Release(This)
6926 /*** IOleUndoManager methods ***/
6927 #define IOleUndoManager_Open(This,pPUU) (This)->lpVtbl->Open(This,pPUU)
6928 #define IOleUndoManager_Close(This,pPUU,fCommit) (This)->lpVtbl->Close(This,pPUU,fCommit)
6929 #define IOleUndoManager_Add(This,pUU) (This)->lpVtbl->Add(This,pUU)
6930 #define IOleUndoManager_GetOpenParentState(This,pdwState) (This)->lpVtbl->GetOpenParentState(This,pdwState)
6931 #define IOleUndoManager_DiscardFrom(This,pUU) (This)->lpVtbl->DiscardFrom(This,pUU)
6932 #define IOleUndoManager_UndoTo(This,pUU) (This)->lpVtbl->UndoTo(This,pUU)
6933 #define IOleUndoManager_RedoTo(This,pUU) (This)->lpVtbl->RedoTo(This,pUU)
6934 #define IOleUndoManager_EnumUndoable(This,ppEnum) (This)->lpVtbl->EnumUndoable(This,ppEnum)
6935 #define IOleUndoManager_EnumRedoable(This,ppEnum) (This)->lpVtbl->EnumRedoable(This,ppEnum)
6936 #define IOleUndoManager_GetLastUndoDescription(This,pBstr) (This)->lpVtbl->GetLastUndoDescription(This,pBstr)
6937 #define IOleUndoManager_GetLastRedoDescription(This,pBstr) (This)->lpVtbl->GetLastRedoDescription(This,pBstr)
6938 #define IOleUndoManager_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
6939 #else
6940 /*** IUnknown methods ***/
6941 static FORCEINLINE HRESULT IOleUndoManager_QueryInterface(IOleUndoManager* This,REFIID riid,void **ppvObject) {
6942     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6943 }
6944 static FORCEINLINE ULONG IOleUndoManager_AddRef(IOleUndoManager* This) {
6945     return This->lpVtbl->AddRef(This);
6946 }
6947 static FORCEINLINE ULONG IOleUndoManager_Release(IOleUndoManager* This) {
6948     return This->lpVtbl->Release(This);
6949 }
6950 /*** IOleUndoManager methods ***/
6951 static FORCEINLINE HRESULT IOleUndoManager_Open(IOleUndoManager* This,IOleParentUndoUnit *pPUU) {
6952     return This->lpVtbl->Open(This,pPUU);
6953 }
6954 static FORCEINLINE HRESULT IOleUndoManager_Close(IOleUndoManager* This,IOleParentUndoUnit *pPUU,WINBOOL fCommit) {
6955     return This->lpVtbl->Close(This,pPUU,fCommit);
6956 }
6957 static FORCEINLINE HRESULT IOleUndoManager_Add(IOleUndoManager* This,IOleUndoUnit *pUU) {
6958     return This->lpVtbl->Add(This,pUU);
6959 }
6960 static FORCEINLINE HRESULT IOleUndoManager_GetOpenParentState(IOleUndoManager* This,DWORD *pdwState) {
6961     return This->lpVtbl->GetOpenParentState(This,pdwState);
6962 }
6963 static FORCEINLINE HRESULT IOleUndoManager_DiscardFrom(IOleUndoManager* This,IOleUndoUnit *pUU) {
6964     return This->lpVtbl->DiscardFrom(This,pUU);
6965 }
6966 static FORCEINLINE HRESULT IOleUndoManager_UndoTo(IOleUndoManager* This,IOleUndoUnit *pUU) {
6967     return This->lpVtbl->UndoTo(This,pUU);
6968 }
6969 static FORCEINLINE HRESULT IOleUndoManager_RedoTo(IOleUndoManager* This,IOleUndoUnit *pUU) {
6970     return This->lpVtbl->RedoTo(This,pUU);
6971 }
6972 static FORCEINLINE HRESULT IOleUndoManager_EnumUndoable(IOleUndoManager* This,IEnumOleUndoUnits **ppEnum) {
6973     return This->lpVtbl->EnumUndoable(This,ppEnum);
6974 }
6975 static FORCEINLINE HRESULT IOleUndoManager_EnumRedoable(IOleUndoManager* This,IEnumOleUndoUnits **ppEnum) {
6976     return This->lpVtbl->EnumRedoable(This,ppEnum);
6977 }
6978 static FORCEINLINE HRESULT IOleUndoManager_GetLastUndoDescription(IOleUndoManager* This,BSTR *pBstr) {
6979     return This->lpVtbl->GetLastUndoDescription(This,pBstr);
6980 }
6981 static FORCEINLINE HRESULT IOleUndoManager_GetLastRedoDescription(IOleUndoManager* This,BSTR *pBstr) {
6982     return This->lpVtbl->GetLastRedoDescription(This,pBstr);
6983 }
6984 static FORCEINLINE HRESULT IOleUndoManager_Enable(IOleUndoManager* This,WINBOOL fEnable) {
6985     return This->lpVtbl->Enable(This,fEnable);
6986 }
6987 #endif
6988 #endif
6989 
6990 #endif
6991 
6992 HRESULT STDMETHODCALLTYPE IOleUndoManager_Open_Proxy(
6993     IOleUndoManager* This,
6994     IOleParentUndoUnit *pPUU);
6995 void __RPC_STUB IOleUndoManager_Open_Stub(
6996     IRpcStubBuffer* This,
6997     IRpcChannelBuffer* pRpcChannelBuffer,
6998     PRPC_MESSAGE pRpcMessage,
6999     DWORD* pdwStubPhase);
7000 HRESULT STDMETHODCALLTYPE IOleUndoManager_Close_Proxy(
7001     IOleUndoManager* This,
7002     IOleParentUndoUnit *pPUU,
7003     WINBOOL fCommit);
7004 void __RPC_STUB IOleUndoManager_Close_Stub(
7005     IRpcStubBuffer* This,
7006     IRpcChannelBuffer* pRpcChannelBuffer,
7007     PRPC_MESSAGE pRpcMessage,
7008     DWORD* pdwStubPhase);
7009 HRESULT STDMETHODCALLTYPE IOleUndoManager_Add_Proxy(
7010     IOleUndoManager* This,
7011     IOleUndoUnit *pUU);
7012 void __RPC_STUB IOleUndoManager_Add_Stub(
7013     IRpcStubBuffer* This,
7014     IRpcChannelBuffer* pRpcChannelBuffer,
7015     PRPC_MESSAGE pRpcMessage,
7016     DWORD* pdwStubPhase);
7017 HRESULT STDMETHODCALLTYPE IOleUndoManager_GetOpenParentState_Proxy(
7018     IOleUndoManager* This,
7019     DWORD *pdwState);
7020 void __RPC_STUB IOleUndoManager_GetOpenParentState_Stub(
7021     IRpcStubBuffer* This,
7022     IRpcChannelBuffer* pRpcChannelBuffer,
7023     PRPC_MESSAGE pRpcMessage,
7024     DWORD* pdwStubPhase);
7025 HRESULT STDMETHODCALLTYPE IOleUndoManager_DiscardFrom_Proxy(
7026     IOleUndoManager* This,
7027     IOleUndoUnit *pUU);
7028 void __RPC_STUB IOleUndoManager_DiscardFrom_Stub(
7029     IRpcStubBuffer* This,
7030     IRpcChannelBuffer* pRpcChannelBuffer,
7031     PRPC_MESSAGE pRpcMessage,
7032     DWORD* pdwStubPhase);
7033 HRESULT STDMETHODCALLTYPE IOleUndoManager_UndoTo_Proxy(
7034     IOleUndoManager* This,
7035     IOleUndoUnit *pUU);
7036 void __RPC_STUB IOleUndoManager_UndoTo_Stub(
7037     IRpcStubBuffer* This,
7038     IRpcChannelBuffer* pRpcChannelBuffer,
7039     PRPC_MESSAGE pRpcMessage,
7040     DWORD* pdwStubPhase);
7041 HRESULT STDMETHODCALLTYPE IOleUndoManager_RedoTo_Proxy(
7042     IOleUndoManager* This,
7043     IOleUndoUnit *pUU);
7044 void __RPC_STUB IOleUndoManager_RedoTo_Stub(
7045     IRpcStubBuffer* This,
7046     IRpcChannelBuffer* pRpcChannelBuffer,
7047     PRPC_MESSAGE pRpcMessage,
7048     DWORD* pdwStubPhase);
7049 HRESULT STDMETHODCALLTYPE IOleUndoManager_EnumUndoable_Proxy(
7050     IOleUndoManager* This,
7051     IEnumOleUndoUnits **ppEnum);
7052 void __RPC_STUB IOleUndoManager_EnumUndoable_Stub(
7053     IRpcStubBuffer* This,
7054     IRpcChannelBuffer* pRpcChannelBuffer,
7055     PRPC_MESSAGE pRpcMessage,
7056     DWORD* pdwStubPhase);
7057 HRESULT STDMETHODCALLTYPE IOleUndoManager_EnumRedoable_Proxy(
7058     IOleUndoManager* This,
7059     IEnumOleUndoUnits **ppEnum);
7060 void __RPC_STUB IOleUndoManager_EnumRedoable_Stub(
7061     IRpcStubBuffer* This,
7062     IRpcChannelBuffer* pRpcChannelBuffer,
7063     PRPC_MESSAGE pRpcMessage,
7064     DWORD* pdwStubPhase);
7065 HRESULT STDMETHODCALLTYPE IOleUndoManager_GetLastUndoDescription_Proxy(
7066     IOleUndoManager* This,
7067     BSTR *pBstr);
7068 void __RPC_STUB IOleUndoManager_GetLastUndoDescription_Stub(
7069     IRpcStubBuffer* This,
7070     IRpcChannelBuffer* pRpcChannelBuffer,
7071     PRPC_MESSAGE pRpcMessage,
7072     DWORD* pdwStubPhase);
7073 HRESULT STDMETHODCALLTYPE IOleUndoManager_GetLastRedoDescription_Proxy(
7074     IOleUndoManager* This,
7075     BSTR *pBstr);
7076 void __RPC_STUB IOleUndoManager_GetLastRedoDescription_Stub(
7077     IRpcStubBuffer* This,
7078     IRpcChannelBuffer* pRpcChannelBuffer,
7079     PRPC_MESSAGE pRpcMessage,
7080     DWORD* pdwStubPhase);
7081 HRESULT STDMETHODCALLTYPE IOleUndoManager_Enable_Proxy(
7082     IOleUndoManager* This,
7083     WINBOOL fEnable);
7084 void __RPC_STUB IOleUndoManager_Enable_Stub(
7085     IRpcStubBuffer* This,
7086     IRpcChannelBuffer* pRpcChannelBuffer,
7087     PRPC_MESSAGE pRpcMessage,
7088     DWORD* pdwStubPhase);
7089 
7090 #endif  /* __IOleUndoManager_INTERFACE_DEFINED__ */
7091 
7092 
7093 /*****************************************************************************
7094  * IPointerInactive interface
7095  */
7096 #ifndef __IPointerInactive_INTERFACE_DEFINED__
7097 #define __IPointerInactive_INTERFACE_DEFINED__
7098 
7099 typedef IPointerInactive *LPPOINTERINACTIVE;
7100 
7101 typedef enum tagPOINTERINACTIVE {
7102     POINTERINACTIVE_ACTIVATEONENTRY = 1,
7103     POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
7104     POINTERINACTIVE_ACTIVATEONDRAG = 4
7105 } POINTERINACTIVE;
7106 
7107 DEFINE_GUID(IID_IPointerInactive, 0x55980ba0, 0x35aa, 0x11cf, 0xb6,0x71, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
7108 #if defined(__cplusplus) && !defined(CINTERFACE)
7109 MIDL_INTERFACE("55980ba0-35aa-11cf-b671-00aa004cd6d8")
7110 IPointerInactive : public IUnknown
7111 {
7112     virtual HRESULT STDMETHODCALLTYPE GetActivationPolicy(
7113         DWORD *pdwPolicy) = 0;
7114 
7115     virtual HRESULT STDMETHODCALLTYPE OnInactiveMouseMove(
7116         LPCRECT pRectBounds,
7117         LONG x,
7118         LONG y,
7119         DWORD grfKeyState) = 0;
7120 
7121     virtual HRESULT STDMETHODCALLTYPE OnInactiveSetCursor(
7122         LPCRECT pRectBounds,
7123         LONG x,
7124         LONG y,
7125         DWORD dwMouseMsg,
7126         WINBOOL fSetAlways) = 0;
7127 
7128 };
7129 #ifdef __CRT_UUID_DECL
7130 __CRT_UUID_DECL(IPointerInactive, 0x55980ba0, 0x35aa, 0x11cf, 0xb6,0x71, 0x00,0xaa,0x00,0x4c,0xd6,0xd8)
7131 #endif
7132 #else
7133 typedef struct IPointerInactiveVtbl {
7134     BEGIN_INTERFACE
7135 
7136     /*** IUnknown methods ***/
7137     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7138         IPointerInactive* This,
7139         REFIID riid,
7140         void **ppvObject);
7141 
7142     ULONG (STDMETHODCALLTYPE *AddRef)(
7143         IPointerInactive* This);
7144 
7145     ULONG (STDMETHODCALLTYPE *Release)(
7146         IPointerInactive* This);
7147 
7148     /*** IPointerInactive methods ***/
7149     HRESULT (STDMETHODCALLTYPE *GetActivationPolicy)(
7150         IPointerInactive* This,
7151         DWORD *pdwPolicy);
7152 
7153     HRESULT (STDMETHODCALLTYPE *OnInactiveMouseMove)(
7154         IPointerInactive* This,
7155         LPCRECT pRectBounds,
7156         LONG x,
7157         LONG y,
7158         DWORD grfKeyState);
7159 
7160     HRESULT (STDMETHODCALLTYPE *OnInactiveSetCursor)(
7161         IPointerInactive* This,
7162         LPCRECT pRectBounds,
7163         LONG x,
7164         LONG y,
7165         DWORD dwMouseMsg,
7166         WINBOOL fSetAlways);
7167 
7168     END_INTERFACE
7169 } IPointerInactiveVtbl;
7170 interface IPointerInactive {
7171     CONST_VTBL IPointerInactiveVtbl* lpVtbl;
7172 };
7173 
7174 #ifdef COBJMACROS
7175 #ifndef WIDL_C_INLINE_WRAPPERS
7176 /*** IUnknown methods ***/
7177 #define IPointerInactive_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7178 #define IPointerInactive_AddRef(This) (This)->lpVtbl->AddRef(This)
7179 #define IPointerInactive_Release(This) (This)->lpVtbl->Release(This)
7180 /*** IPointerInactive methods ***/
7181 #define IPointerInactive_GetActivationPolicy(This,pdwPolicy) (This)->lpVtbl->GetActivationPolicy(This,pdwPolicy)
7182 #define IPointerInactive_OnInactiveMouseMove(This,pRectBounds,x,y,grfKeyState) (This)->lpVtbl->OnInactiveMouseMove(This,pRectBounds,x,y,grfKeyState)
7183 #define IPointerInactive_OnInactiveSetCursor(This,pRectBounds,x,y,dwMouseMsg,fSetAlways) (This)->lpVtbl->OnInactiveSetCursor(This,pRectBounds,x,y,dwMouseMsg,fSetAlways)
7184 #else
7185 /*** IUnknown methods ***/
7186 static FORCEINLINE HRESULT IPointerInactive_QueryInterface(IPointerInactive* This,REFIID riid,void **ppvObject) {
7187     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7188 }
7189 static FORCEINLINE ULONG IPointerInactive_AddRef(IPointerInactive* This) {
7190     return This->lpVtbl->AddRef(This);
7191 }
7192 static FORCEINLINE ULONG IPointerInactive_Release(IPointerInactive* This) {
7193     return This->lpVtbl->Release(This);
7194 }
7195 /*** IPointerInactive methods ***/
7196 static FORCEINLINE HRESULT IPointerInactive_GetActivationPolicy(IPointerInactive* This,DWORD *pdwPolicy) {
7197     return This->lpVtbl->GetActivationPolicy(This,pdwPolicy);
7198 }
7199 static FORCEINLINE HRESULT IPointerInactive_OnInactiveMouseMove(IPointerInactive* This,LPCRECT pRectBounds,LONG x,LONG y,DWORD grfKeyState) {
7200     return This->lpVtbl->OnInactiveMouseMove(This,pRectBounds,x,y,grfKeyState);
7201 }
7202 static FORCEINLINE HRESULT IPointerInactive_OnInactiveSetCursor(IPointerInactive* This,LPCRECT pRectBounds,LONG x,LONG y,DWORD dwMouseMsg,WINBOOL fSetAlways) {
7203     return This->lpVtbl->OnInactiveSetCursor(This,pRectBounds,x,y,dwMouseMsg,fSetAlways);
7204 }
7205 #endif
7206 #endif
7207 
7208 #endif
7209 
7210 HRESULT STDMETHODCALLTYPE IPointerInactive_GetActivationPolicy_Proxy(
7211     IPointerInactive* This,
7212     DWORD *pdwPolicy);
7213 void __RPC_STUB IPointerInactive_GetActivationPolicy_Stub(
7214     IRpcStubBuffer* This,
7215     IRpcChannelBuffer* pRpcChannelBuffer,
7216     PRPC_MESSAGE pRpcMessage,
7217     DWORD* pdwStubPhase);
7218 HRESULT STDMETHODCALLTYPE IPointerInactive_OnInactiveMouseMove_Proxy(
7219     IPointerInactive* This,
7220     LPCRECT pRectBounds,
7221     LONG x,
7222     LONG y,
7223     DWORD grfKeyState);
7224 void __RPC_STUB IPointerInactive_OnInactiveMouseMove_Stub(
7225     IRpcStubBuffer* This,
7226     IRpcChannelBuffer* pRpcChannelBuffer,
7227     PRPC_MESSAGE pRpcMessage,
7228     DWORD* pdwStubPhase);
7229 HRESULT STDMETHODCALLTYPE IPointerInactive_OnInactiveSetCursor_Proxy(
7230     IPointerInactive* This,
7231     LPCRECT pRectBounds,
7232     LONG x,
7233     LONG y,
7234     DWORD dwMouseMsg,
7235     WINBOOL fSetAlways);
7236 void __RPC_STUB IPointerInactive_OnInactiveSetCursor_Stub(
7237     IRpcStubBuffer* This,
7238     IRpcChannelBuffer* pRpcChannelBuffer,
7239     PRPC_MESSAGE pRpcMessage,
7240     DWORD* pdwStubPhase);
7241 
7242 #endif  /* __IPointerInactive_INTERFACE_DEFINED__ */
7243 
7244 
7245 /*****************************************************************************
7246  * IObjectWithSite interface
7247  */
7248 #ifndef __IObjectWithSite_INTERFACE_DEFINED__
7249 #define __IObjectWithSite_INTERFACE_DEFINED__
7250 
7251 typedef IObjectWithSite *LPOBJECTWITHSITE;
7252 
7253 DEFINE_GUID(IID_IObjectWithSite, 0xfc4801a3, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
7254 #if defined(__cplusplus) && !defined(CINTERFACE)
7255 MIDL_INTERFACE("fc4801a3-2ba9-11cf-a229-00aa003d7352")
7256 IObjectWithSite : public IUnknown
7257 {
7258     virtual HRESULT STDMETHODCALLTYPE SetSite(
7259         IUnknown *pUnkSite) = 0;
7260 
7261     virtual HRESULT STDMETHODCALLTYPE GetSite(
7262         REFIID riid,
7263         void **ppvSite) = 0;
7264 
7265 };
7266 #ifdef __CRT_UUID_DECL
7267 __CRT_UUID_DECL(IObjectWithSite, 0xfc4801a3, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52)
7268 #endif
7269 #else
7270 typedef struct IObjectWithSiteVtbl {
7271     BEGIN_INTERFACE
7272 
7273     /*** IUnknown methods ***/
7274     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7275         IObjectWithSite* This,
7276         REFIID riid,
7277         void **ppvObject);
7278 
7279     ULONG (STDMETHODCALLTYPE *AddRef)(
7280         IObjectWithSite* This);
7281 
7282     ULONG (STDMETHODCALLTYPE *Release)(
7283         IObjectWithSite* This);
7284 
7285     /*** IObjectWithSite methods ***/
7286     HRESULT (STDMETHODCALLTYPE *SetSite)(
7287         IObjectWithSite* This,
7288         IUnknown *pUnkSite);
7289 
7290     HRESULT (STDMETHODCALLTYPE *GetSite)(
7291         IObjectWithSite* This,
7292         REFIID riid,
7293         void **ppvSite);
7294 
7295     END_INTERFACE
7296 } IObjectWithSiteVtbl;
7297 interface IObjectWithSite {
7298     CONST_VTBL IObjectWithSiteVtbl* lpVtbl;
7299 };
7300 
7301 #ifdef COBJMACROS
7302 #ifndef WIDL_C_INLINE_WRAPPERS
7303 /*** IUnknown methods ***/
7304 #define IObjectWithSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7305 #define IObjectWithSite_AddRef(This) (This)->lpVtbl->AddRef(This)
7306 #define IObjectWithSite_Release(This) (This)->lpVtbl->Release(This)
7307 /*** IObjectWithSite methods ***/
7308 #define IObjectWithSite_SetSite(This,pUnkSite) (This)->lpVtbl->SetSite(This,pUnkSite)
7309 #define IObjectWithSite_GetSite(This,riid,ppvSite) (This)->lpVtbl->GetSite(This,riid,ppvSite)
7310 #else
7311 /*** IUnknown methods ***/
7312 static FORCEINLINE HRESULT IObjectWithSite_QueryInterface(IObjectWithSite* This,REFIID riid,void **ppvObject) {
7313     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7314 }
7315 static FORCEINLINE ULONG IObjectWithSite_AddRef(IObjectWithSite* This) {
7316     return This->lpVtbl->AddRef(This);
7317 }
7318 static FORCEINLINE ULONG IObjectWithSite_Release(IObjectWithSite* This) {
7319     return This->lpVtbl->Release(This);
7320 }
7321 /*** IObjectWithSite methods ***/
7322 static FORCEINLINE HRESULT IObjectWithSite_SetSite(IObjectWithSite* This,IUnknown *pUnkSite) {
7323     return This->lpVtbl->SetSite(This,pUnkSite);
7324 }
7325 static FORCEINLINE HRESULT IObjectWithSite_GetSite(IObjectWithSite* This,REFIID riid,void **ppvSite) {
7326     return This->lpVtbl->GetSite(This,riid,ppvSite);
7327 }
7328 #endif
7329 #endif
7330 
7331 #endif
7332 
7333 HRESULT STDMETHODCALLTYPE IObjectWithSite_SetSite_Proxy(
7334     IObjectWithSite* This,
7335     IUnknown *pUnkSite);
7336 void __RPC_STUB IObjectWithSite_SetSite_Stub(
7337     IRpcStubBuffer* This,
7338     IRpcChannelBuffer* pRpcChannelBuffer,
7339     PRPC_MESSAGE pRpcMessage,
7340     DWORD* pdwStubPhase);
7341 HRESULT STDMETHODCALLTYPE IObjectWithSite_GetSite_Proxy(
7342     IObjectWithSite* This,
7343     REFIID riid,
7344     void **ppvSite);
7345 void __RPC_STUB IObjectWithSite_GetSite_Stub(
7346     IRpcStubBuffer* This,
7347     IRpcChannelBuffer* pRpcChannelBuffer,
7348     PRPC_MESSAGE pRpcMessage,
7349     DWORD* pdwStubPhase);
7350 
7351 #endif  /* __IObjectWithSite_INTERFACE_DEFINED__ */
7352 
7353 #endif
7354 
7355 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
7356 /*****************************************************************************
7357  * IPerPropertyBrowsing interface
7358  */
7359 #ifndef __IPerPropertyBrowsing_INTERFACE_DEFINED__
7360 #define __IPerPropertyBrowsing_INTERFACE_DEFINED__
7361 
7362 typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
7363 
7364 typedef struct tagCALPOLESTR {
7365     ULONG cElems;
7366     LPOLESTR *pElems;
7367 } CALPOLESTR;
7368 
7369 typedef struct tagCALPOLESTR *LPCALPOLESTR;
7370 
7371 typedef struct tagCADWORD {
7372     ULONG cElems;
7373     DWORD *pElems;
7374 } CADWORD;
7375 
7376 typedef struct tagCADWORD *LPCADWORD;
7377 
7378 DEFINE_GUID(IID_IPerPropertyBrowsing, 0x376bd3aa, 0x3845, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
7379 #if defined(__cplusplus) && !defined(CINTERFACE)
7380 MIDL_INTERFACE("376bd3aa-3845-101b-84ed-08002b2ec713")
7381 IPerPropertyBrowsing : public IUnknown
7382 {
7383     virtual HRESULT STDMETHODCALLTYPE GetDisplayString(
7384         DISPID dispID,
7385         BSTR *pBstr) = 0;
7386 
7387     virtual HRESULT STDMETHODCALLTYPE MapPropertyToPage(
7388         DISPID dispID,
7389         CLSID *pClsid) = 0;
7390 
7391     virtual HRESULT STDMETHODCALLTYPE GetPredefinedStrings(
7392         DISPID dispID,
7393         CALPOLESTR *pCaStringsOut,
7394         CADWORD *pCaCookiesOut) = 0;
7395 
7396     virtual HRESULT STDMETHODCALLTYPE GetPredefinedValue(
7397         DISPID dispID,
7398         DWORD dwCookie,
7399         VARIANT *pVarOut) = 0;
7400 
7401 };
7402 #ifdef __CRT_UUID_DECL
7403 __CRT_UUID_DECL(IPerPropertyBrowsing, 0x376bd3aa, 0x3845, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13)
7404 #endif
7405 #else
7406 typedef struct IPerPropertyBrowsingVtbl {
7407     BEGIN_INTERFACE
7408 
7409     /*** IUnknown methods ***/
7410     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7411         IPerPropertyBrowsing* This,
7412         REFIID riid,
7413         void **ppvObject);
7414 
7415     ULONG (STDMETHODCALLTYPE *AddRef)(
7416         IPerPropertyBrowsing* This);
7417 
7418     ULONG (STDMETHODCALLTYPE *Release)(
7419         IPerPropertyBrowsing* This);
7420 
7421     /*** IPerPropertyBrowsing methods ***/
7422     HRESULT (STDMETHODCALLTYPE *GetDisplayString)(
7423         IPerPropertyBrowsing* This,
7424         DISPID dispID,
7425         BSTR *pBstr);
7426 
7427     HRESULT (STDMETHODCALLTYPE *MapPropertyToPage)(
7428         IPerPropertyBrowsing* This,
7429         DISPID dispID,
7430         CLSID *pClsid);
7431 
7432     HRESULT (STDMETHODCALLTYPE *GetPredefinedStrings)(
7433         IPerPropertyBrowsing* This,
7434         DISPID dispID,
7435         CALPOLESTR *pCaStringsOut,
7436         CADWORD *pCaCookiesOut);
7437 
7438     HRESULT (STDMETHODCALLTYPE *GetPredefinedValue)(
7439         IPerPropertyBrowsing* This,
7440         DISPID dispID,
7441         DWORD dwCookie,
7442         VARIANT *pVarOut);
7443 
7444     END_INTERFACE
7445 } IPerPropertyBrowsingVtbl;
7446 interface IPerPropertyBrowsing {
7447     CONST_VTBL IPerPropertyBrowsingVtbl* lpVtbl;
7448 };
7449 
7450 #ifdef COBJMACROS
7451 #ifndef WIDL_C_INLINE_WRAPPERS
7452 /*** IUnknown methods ***/
7453 #define IPerPropertyBrowsing_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7454 #define IPerPropertyBrowsing_AddRef(This) (This)->lpVtbl->AddRef(This)
7455 #define IPerPropertyBrowsing_Release(This) (This)->lpVtbl->Release(This)
7456 /*** IPerPropertyBrowsing methods ***/
7457 #define IPerPropertyBrowsing_GetDisplayString(This,dispID,pBstr) (This)->lpVtbl->GetDisplayString(This,dispID,pBstr)
7458 #define IPerPropertyBrowsing_MapPropertyToPage(This,dispID,pClsid) (This)->lpVtbl->MapPropertyToPage(This,dispID,pClsid)
7459 #define IPerPropertyBrowsing_GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut) (This)->lpVtbl->GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut)
7460 #define IPerPropertyBrowsing_GetPredefinedValue(This,dispID,dwCookie,pVarOut) (This)->lpVtbl->GetPredefinedValue(This,dispID,dwCookie,pVarOut)
7461 #else
7462 /*** IUnknown methods ***/
7463 static FORCEINLINE HRESULT IPerPropertyBrowsing_QueryInterface(IPerPropertyBrowsing* This,REFIID riid,void **ppvObject) {
7464     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7465 }
7466 static FORCEINLINE ULONG IPerPropertyBrowsing_AddRef(IPerPropertyBrowsing* This) {
7467     return This->lpVtbl->AddRef(This);
7468 }
7469 static FORCEINLINE ULONG IPerPropertyBrowsing_Release(IPerPropertyBrowsing* This) {
7470     return This->lpVtbl->Release(This);
7471 }
7472 /*** IPerPropertyBrowsing methods ***/
7473 static FORCEINLINE HRESULT IPerPropertyBrowsing_GetDisplayString(IPerPropertyBrowsing* This,DISPID dispID,BSTR *pBstr) {
7474     return This->lpVtbl->GetDisplayString(This,dispID,pBstr);
7475 }
7476 static FORCEINLINE HRESULT IPerPropertyBrowsing_MapPropertyToPage(IPerPropertyBrowsing* This,DISPID dispID,CLSID *pClsid) {
7477     return This->lpVtbl->MapPropertyToPage(This,dispID,pClsid);
7478 }
7479 static FORCEINLINE HRESULT IPerPropertyBrowsing_GetPredefinedStrings(IPerPropertyBrowsing* This,DISPID dispID,CALPOLESTR *pCaStringsOut,CADWORD *pCaCookiesOut) {
7480     return This->lpVtbl->GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut);
7481 }
7482 static FORCEINLINE HRESULT IPerPropertyBrowsing_GetPredefinedValue(IPerPropertyBrowsing* This,DISPID dispID,DWORD dwCookie,VARIANT *pVarOut) {
7483     return This->lpVtbl->GetPredefinedValue(This,dispID,dwCookie,pVarOut);
7484 }
7485 #endif
7486 #endif
7487 
7488 #endif
7489 
7490 HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_GetDisplayString_Proxy(
7491     IPerPropertyBrowsing* This,
7492     DISPID dispID,
7493     BSTR *pBstr);
7494 void __RPC_STUB IPerPropertyBrowsing_GetDisplayString_Stub(
7495     IRpcStubBuffer* This,
7496     IRpcChannelBuffer* pRpcChannelBuffer,
7497     PRPC_MESSAGE pRpcMessage,
7498     DWORD* pdwStubPhase);
7499 HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_MapPropertyToPage_Proxy(
7500     IPerPropertyBrowsing* This,
7501     DISPID dispID,
7502     CLSID *pClsid);
7503 void __RPC_STUB IPerPropertyBrowsing_MapPropertyToPage_Stub(
7504     IRpcStubBuffer* This,
7505     IRpcChannelBuffer* pRpcChannelBuffer,
7506     PRPC_MESSAGE pRpcMessage,
7507     DWORD* pdwStubPhase);
7508 HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_GetPredefinedStrings_Proxy(
7509     IPerPropertyBrowsing* This,
7510     DISPID dispID,
7511     CALPOLESTR *pCaStringsOut,
7512     CADWORD *pCaCookiesOut);
7513 void __RPC_STUB IPerPropertyBrowsing_GetPredefinedStrings_Stub(
7514     IRpcStubBuffer* This,
7515     IRpcChannelBuffer* pRpcChannelBuffer,
7516     PRPC_MESSAGE pRpcMessage,
7517     DWORD* pdwStubPhase);
7518 HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_GetPredefinedValue_Proxy(
7519     IPerPropertyBrowsing* This,
7520     DISPID dispID,
7521     DWORD dwCookie,
7522     VARIANT *pVarOut);
7523 void __RPC_STUB IPerPropertyBrowsing_GetPredefinedValue_Stub(
7524     IRpcStubBuffer* This,
7525     IRpcChannelBuffer* pRpcChannelBuffer,
7526     PRPC_MESSAGE pRpcMessage,
7527     DWORD* pdwStubPhase);
7528 
7529 #endif  /* __IPerPropertyBrowsing_INTERFACE_DEFINED__ */
7530 
7531 #endif
7532 
7533 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
7534 /*****************************************************************************
7535  * IPropertyBag2 interface
7536  */
7537 #ifndef __IPropertyBag2_INTERFACE_DEFINED__
7538 #define __IPropertyBag2_INTERFACE_DEFINED__
7539 
7540 typedef IPropertyBag2 *LPPROPERTYBAG2;
7541 
7542 typedef enum tagPROPBAG2_TYPE {
7543     PROPBAG2_TYPE_UNDEFINED = 0,
7544     PROPBAG2_TYPE_DATA = 1,
7545     PROPBAG2_TYPE_URL = 2,
7546     PROPBAG2_TYPE_OBJECT = 3,
7547     PROPBAG2_TYPE_STREAM = 4,
7548     PROPBAG2_TYPE_STORAGE = 5,
7549     PROPBAG2_TYPE_MONIKER = 6
7550 } PROPBAG2_TYPE;
7551 
7552 typedef struct tagPROPBAG2 {
7553     DWORD dwType;
7554     VARTYPE vt;
7555     CLIPFORMAT cfType;
7556     DWORD dwHint;
7557     LPOLESTR pstrName;
7558     CLSID clsid;
7559 } PROPBAG2;
7560 
7561 DEFINE_GUID(IID_IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04);
7562 #if defined(__cplusplus) && !defined(CINTERFACE)
7563 MIDL_INTERFACE("22f55882-280b-11d0-a8a9-00a0c90c2004")
7564 IPropertyBag2 : public IUnknown
7565 {
7566     virtual HRESULT STDMETHODCALLTYPE Read(
7567         ULONG cProperties,
7568         PROPBAG2 *pPropBag,
7569         IErrorLog *pErrLog,
7570         VARIANT *pvarValue,
7571         HRESULT *phrError) = 0;
7572 
7573     virtual HRESULT STDMETHODCALLTYPE Write(
7574         ULONG cProperties,
7575         PROPBAG2 *pPropBag,
7576         VARIANT *pvarValue) = 0;
7577 
7578     virtual HRESULT STDMETHODCALLTYPE CountProperties(
7579         ULONG *pcProperties) = 0;
7580 
7581     virtual HRESULT STDMETHODCALLTYPE GetPropertyInfo(
7582         ULONG iProperty,
7583         ULONG cProperties,
7584         PROPBAG2 *pPropBag,
7585         ULONG *pcProperties) = 0;
7586 
7587     virtual HRESULT STDMETHODCALLTYPE LoadObject(
7588         LPCOLESTR pstrName,
7589         DWORD dwHint,
7590         IUnknown *pUnkObject,
7591         IErrorLog *pErrLog) = 0;
7592 
7593 };
7594 #ifdef __CRT_UUID_DECL
7595 __CRT_UUID_DECL(IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04)
7596 #endif
7597 #else
7598 typedef struct IPropertyBag2Vtbl {
7599     BEGIN_INTERFACE
7600 
7601     /*** IUnknown methods ***/
7602     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7603         IPropertyBag2* This,
7604         REFIID riid,
7605         void **ppvObject);
7606 
7607     ULONG (STDMETHODCALLTYPE *AddRef)(
7608         IPropertyBag2* This);
7609 
7610     ULONG (STDMETHODCALLTYPE *Release)(
7611         IPropertyBag2* This);
7612 
7613     /*** IPropertyBag2 methods ***/
7614     HRESULT (STDMETHODCALLTYPE *Read)(
7615         IPropertyBag2* This,
7616         ULONG cProperties,
7617         PROPBAG2 *pPropBag,
7618         IErrorLog *pErrLog,
7619         VARIANT *pvarValue,
7620         HRESULT *phrError);
7621 
7622     HRESULT (STDMETHODCALLTYPE *Write)(
7623         IPropertyBag2* This,
7624         ULONG cProperties,
7625         PROPBAG2 *pPropBag,
7626         VARIANT *pvarValue);
7627 
7628     HRESULT (STDMETHODCALLTYPE *CountProperties)(
7629         IPropertyBag2* This,
7630         ULONG *pcProperties);
7631 
7632     HRESULT (STDMETHODCALLTYPE *GetPropertyInfo)(
7633         IPropertyBag2* This,
7634         ULONG iProperty,
7635         ULONG cProperties,
7636         PROPBAG2 *pPropBag,
7637         ULONG *pcProperties);
7638 
7639     HRESULT (STDMETHODCALLTYPE *LoadObject)(
7640         IPropertyBag2* This,
7641         LPCOLESTR pstrName,
7642         DWORD dwHint,
7643         IUnknown *pUnkObject,
7644         IErrorLog *pErrLog);
7645 
7646     END_INTERFACE
7647 } IPropertyBag2Vtbl;
7648 interface IPropertyBag2 {
7649     CONST_VTBL IPropertyBag2Vtbl* lpVtbl;
7650 };
7651 
7652 #ifdef COBJMACROS
7653 #ifndef WIDL_C_INLINE_WRAPPERS
7654 /*** IUnknown methods ***/
7655 #define IPropertyBag2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7656 #define IPropertyBag2_AddRef(This) (This)->lpVtbl->AddRef(This)
7657 #define IPropertyBag2_Release(This) (This)->lpVtbl->Release(This)
7658 /*** IPropertyBag2 methods ***/
7659 #define IPropertyBag2_Read(This,cProperties,pPropBag,pErrLog,pvarValue,phrError) (This)->lpVtbl->Read(This,cProperties,pPropBag,pErrLog,pvarValue,phrError)
7660 #define IPropertyBag2_Write(This,cProperties,pPropBag,pvarValue) (This)->lpVtbl->Write(This,cProperties,pPropBag,pvarValue)
7661 #define IPropertyBag2_CountProperties(This,pcProperties) (This)->lpVtbl->CountProperties(This,pcProperties)
7662 #define IPropertyBag2_GetPropertyInfo(This,iProperty,cProperties,pPropBag,pcProperties) (This)->lpVtbl->GetPropertyInfo(This,iProperty,cProperties,pPropBag,pcProperties)
7663 #define IPropertyBag2_LoadObject(This,pstrName,dwHint,pUnkObject,pErrLog) (This)->lpVtbl->LoadObject(This,pstrName,dwHint,pUnkObject,pErrLog)
7664 #else
7665 /*** IUnknown methods ***/
7666 static FORCEINLINE HRESULT IPropertyBag2_QueryInterface(IPropertyBag2* This,REFIID riid,void **ppvObject) {
7667     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7668 }
7669 static FORCEINLINE ULONG IPropertyBag2_AddRef(IPropertyBag2* This) {
7670     return This->lpVtbl->AddRef(This);
7671 }
7672 static FORCEINLINE ULONG IPropertyBag2_Release(IPropertyBag2* This) {
7673     return This->lpVtbl->Release(This);
7674 }
7675 /*** IPropertyBag2 methods ***/
7676 static FORCEINLINE HRESULT IPropertyBag2_Read(IPropertyBag2* This,ULONG cProperties,PROPBAG2 *pPropBag,IErrorLog *pErrLog,VARIANT *pvarValue,HRESULT *phrError) {
7677     return This->lpVtbl->Read(This,cProperties,pPropBag,pErrLog,pvarValue,phrError);
7678 }
7679 static FORCEINLINE HRESULT IPropertyBag2_Write(IPropertyBag2* This,ULONG cProperties,PROPBAG2 *pPropBag,VARIANT *pvarValue) {
7680     return This->lpVtbl->Write(This,cProperties,pPropBag,pvarValue);
7681 }
7682 static FORCEINLINE HRESULT IPropertyBag2_CountProperties(IPropertyBag2* This,ULONG *pcProperties) {
7683     return This->lpVtbl->CountProperties(This,pcProperties);
7684 }
7685 static FORCEINLINE HRESULT IPropertyBag2_GetPropertyInfo(IPropertyBag2* This,ULONG iProperty,ULONG cProperties,PROPBAG2 *pPropBag,ULONG *pcProperties) {
7686     return This->lpVtbl->GetPropertyInfo(This,iProperty,cProperties,pPropBag,pcProperties);
7687 }
7688 static FORCEINLINE HRESULT IPropertyBag2_LoadObject(IPropertyBag2* This,LPCOLESTR pstrName,DWORD dwHint,IUnknown *pUnkObject,IErrorLog *pErrLog) {
7689     return This->lpVtbl->LoadObject(This,pstrName,dwHint,pUnkObject,pErrLog);
7690 }
7691 #endif
7692 #endif
7693 
7694 #endif
7695 
7696 HRESULT STDMETHODCALLTYPE IPropertyBag2_Read_Proxy(
7697     IPropertyBag2* This,
7698     ULONG cProperties,
7699     PROPBAG2 *pPropBag,
7700     IErrorLog *pErrLog,
7701     VARIANT *pvarValue,
7702     HRESULT *phrError);
7703 void __RPC_STUB IPropertyBag2_Read_Stub(
7704     IRpcStubBuffer* This,
7705     IRpcChannelBuffer* pRpcChannelBuffer,
7706     PRPC_MESSAGE pRpcMessage,
7707     DWORD* pdwStubPhase);
7708 HRESULT STDMETHODCALLTYPE IPropertyBag2_Write_Proxy(
7709     IPropertyBag2* This,
7710     ULONG cProperties,
7711     PROPBAG2 *pPropBag,
7712     VARIANT *pvarValue);
7713 void __RPC_STUB IPropertyBag2_Write_Stub(
7714     IRpcStubBuffer* This,
7715     IRpcChannelBuffer* pRpcChannelBuffer,
7716     PRPC_MESSAGE pRpcMessage,
7717     DWORD* pdwStubPhase);
7718 HRESULT STDMETHODCALLTYPE IPropertyBag2_CountProperties_Proxy(
7719     IPropertyBag2* This,
7720     ULONG *pcProperties);
7721 void __RPC_STUB IPropertyBag2_CountProperties_Stub(
7722     IRpcStubBuffer* This,
7723     IRpcChannelBuffer* pRpcChannelBuffer,
7724     PRPC_MESSAGE pRpcMessage,
7725     DWORD* pdwStubPhase);
7726 HRESULT STDMETHODCALLTYPE IPropertyBag2_GetPropertyInfo_Proxy(
7727     IPropertyBag2* This,
7728     ULONG iProperty,
7729     ULONG cProperties,
7730     PROPBAG2 *pPropBag,
7731     ULONG *pcProperties);
7732 void __RPC_STUB IPropertyBag2_GetPropertyInfo_Stub(
7733     IRpcStubBuffer* This,
7734     IRpcChannelBuffer* pRpcChannelBuffer,
7735     PRPC_MESSAGE pRpcMessage,
7736     DWORD* pdwStubPhase);
7737 HRESULT STDMETHODCALLTYPE IPropertyBag2_LoadObject_Proxy(
7738     IPropertyBag2* This,
7739     LPCOLESTR pstrName,
7740     DWORD dwHint,
7741     IUnknown *pUnkObject,
7742     IErrorLog *pErrLog);
7743 void __RPC_STUB IPropertyBag2_LoadObject_Stub(
7744     IRpcStubBuffer* This,
7745     IRpcChannelBuffer* pRpcChannelBuffer,
7746     PRPC_MESSAGE pRpcMessage,
7747     DWORD* pdwStubPhase);
7748 
7749 #endif  /* __IPropertyBag2_INTERFACE_DEFINED__ */
7750 
7751 #endif
7752 
7753 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
7754 /*****************************************************************************
7755  * IPersistPropertyBag2 interface
7756  */
7757 #ifndef __IPersistPropertyBag2_INTERFACE_DEFINED__
7758 #define __IPersistPropertyBag2_INTERFACE_DEFINED__
7759 
7760 typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
7761 
7762 DEFINE_GUID(IID_IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04);
7763 #if defined(__cplusplus) && !defined(CINTERFACE)
7764 MIDL_INTERFACE("22f55881-280b-11d0-a8a9-00a0c90c2004")
7765 IPersistPropertyBag2 : public IPersist
7766 {
7767     virtual HRESULT STDMETHODCALLTYPE InitNew(
7768         ) = 0;
7769 
7770     virtual HRESULT STDMETHODCALLTYPE Load(
7771         IPropertyBag2 *pPropBag,
7772         IErrorLog *pErrLog) = 0;
7773 
7774     virtual HRESULT STDMETHODCALLTYPE Save(
7775         IPropertyBag2 *pPropBag,
7776         WINBOOL fClearDirty,
7777         WINBOOL fSaveAllProperties) = 0;
7778 
7779     virtual HRESULT STDMETHODCALLTYPE IsDirty(
7780         ) = 0;
7781 
7782 };
7783 #ifdef __CRT_UUID_DECL
7784 __CRT_UUID_DECL(IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04)
7785 #endif
7786 #else
7787 typedef struct IPersistPropertyBag2Vtbl {
7788     BEGIN_INTERFACE
7789 
7790     /*** IUnknown methods ***/
7791     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7792         IPersistPropertyBag2* This,
7793         REFIID riid,
7794         void **ppvObject);
7795 
7796     ULONG (STDMETHODCALLTYPE *AddRef)(
7797         IPersistPropertyBag2* This);
7798 
7799     ULONG (STDMETHODCALLTYPE *Release)(
7800         IPersistPropertyBag2* This);
7801 
7802     /*** IPersist methods ***/
7803     HRESULT (STDMETHODCALLTYPE *GetClassID)(
7804         IPersistPropertyBag2* This,
7805         CLSID *pClassID);
7806 
7807     /*** IPersistPropertyBag2 methods ***/
7808     HRESULT (STDMETHODCALLTYPE *InitNew)(
7809         IPersistPropertyBag2* This);
7810 
7811     HRESULT (STDMETHODCALLTYPE *Load)(
7812         IPersistPropertyBag2* This,
7813         IPropertyBag2 *pPropBag,
7814         IErrorLog *pErrLog);
7815 
7816     HRESULT (STDMETHODCALLTYPE *Save)(
7817         IPersistPropertyBag2* This,
7818         IPropertyBag2 *pPropBag,
7819         WINBOOL fClearDirty,
7820         WINBOOL fSaveAllProperties);
7821 
7822     HRESULT (STDMETHODCALLTYPE *IsDirty)(
7823         IPersistPropertyBag2* This);
7824 
7825     END_INTERFACE
7826 } IPersistPropertyBag2Vtbl;
7827 interface IPersistPropertyBag2 {
7828     CONST_VTBL IPersistPropertyBag2Vtbl* lpVtbl;
7829 };
7830 
7831 #ifdef COBJMACROS
7832 #ifndef WIDL_C_INLINE_WRAPPERS
7833 /*** IUnknown methods ***/
7834 #define IPersistPropertyBag2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7835 #define IPersistPropertyBag2_AddRef(This) (This)->lpVtbl->AddRef(This)
7836 #define IPersistPropertyBag2_Release(This) (This)->lpVtbl->Release(This)
7837 /*** IPersist methods ***/
7838 #define IPersistPropertyBag2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
7839 /*** IPersistPropertyBag2 methods ***/
7840 #define IPersistPropertyBag2_InitNew(This) (This)->lpVtbl->InitNew(This)
7841 #define IPersistPropertyBag2_Load(This,pPropBag,pErrLog) (This)->lpVtbl->Load(This,pPropBag,pErrLog)
7842 #define IPersistPropertyBag2_Save(This,pPropBag,fClearDirty,fSaveAllProperties) (This)->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties)
7843 #define IPersistPropertyBag2_IsDirty(This) (This)->lpVtbl->IsDirty(This)
7844 #else
7845 /*** IUnknown methods ***/
7846 static FORCEINLINE HRESULT IPersistPropertyBag2_QueryInterface(IPersistPropertyBag2* This,REFIID riid,void **ppvObject) {
7847     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7848 }
7849 static FORCEINLINE ULONG IPersistPropertyBag2_AddRef(IPersistPropertyBag2* This) {
7850     return This->lpVtbl->AddRef(This);
7851 }
7852 static FORCEINLINE ULONG IPersistPropertyBag2_Release(IPersistPropertyBag2* This) {
7853     return This->lpVtbl->Release(This);
7854 }
7855 /*** IPersist methods ***/
7856 static FORCEINLINE HRESULT IPersistPropertyBag2_GetClassID(IPersistPropertyBag2* This,CLSID *pClassID) {
7857     return This->lpVtbl->GetClassID(This,pClassID);
7858 }
7859 /*** IPersistPropertyBag2 methods ***/
7860 static FORCEINLINE HRESULT IPersistPropertyBag2_InitNew(IPersistPropertyBag2* This) {
7861     return This->lpVtbl->InitNew(This);
7862 }
7863 static FORCEINLINE HRESULT IPersistPropertyBag2_Load(IPersistPropertyBag2* This,IPropertyBag2 *pPropBag,IErrorLog *pErrLog) {
7864     return This->lpVtbl->Load(This,pPropBag,pErrLog);
7865 }
7866 static FORCEINLINE HRESULT IPersistPropertyBag2_Save(IPersistPropertyBag2* This,IPropertyBag2 *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
7867     return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
7868 }
7869 static FORCEINLINE HRESULT IPersistPropertyBag2_IsDirty(IPersistPropertyBag2* This) {
7870     return This->lpVtbl->IsDirty(This);
7871 }
7872 #endif
7873 #endif
7874 
7875 #endif
7876 
7877 HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_InitNew_Proxy(
7878     IPersistPropertyBag2* This);
7879 void __RPC_STUB IPersistPropertyBag2_InitNew_Stub(
7880     IRpcStubBuffer* This,
7881     IRpcChannelBuffer* pRpcChannelBuffer,
7882     PRPC_MESSAGE pRpcMessage,
7883     DWORD* pdwStubPhase);
7884 HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_Load_Proxy(
7885     IPersistPropertyBag2* This,
7886     IPropertyBag2 *pPropBag,
7887     IErrorLog *pErrLog);
7888 void __RPC_STUB IPersistPropertyBag2_Load_Stub(
7889     IRpcStubBuffer* This,
7890     IRpcChannelBuffer* pRpcChannelBuffer,
7891     PRPC_MESSAGE pRpcMessage,
7892     DWORD* pdwStubPhase);
7893 HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_Save_Proxy(
7894     IPersistPropertyBag2* This,
7895     IPropertyBag2 *pPropBag,
7896     WINBOOL fClearDirty,
7897     WINBOOL fSaveAllProperties);
7898 void __RPC_STUB IPersistPropertyBag2_Save_Stub(
7899     IRpcStubBuffer* This,
7900     IRpcChannelBuffer* pRpcChannelBuffer,
7901     PRPC_MESSAGE pRpcMessage,
7902     DWORD* pdwStubPhase);
7903 HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_IsDirty_Proxy(
7904     IPersistPropertyBag2* This);
7905 void __RPC_STUB IPersistPropertyBag2_IsDirty_Stub(
7906     IRpcStubBuffer* This,
7907     IRpcChannelBuffer* pRpcChannelBuffer,
7908     PRPC_MESSAGE pRpcMessage,
7909     DWORD* pdwStubPhase);
7910 
7911 #endif  /* __IPersistPropertyBag2_INTERFACE_DEFINED__ */
7912 
7913 #endif
7914 
7915 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
7916 /*****************************************************************************
7917  * IAdviseSinkEx interface
7918  */
7919 #ifndef __IAdviseSinkEx_INTERFACE_DEFINED__
7920 #define __IAdviseSinkEx_INTERFACE_DEFINED__
7921 
7922 typedef IAdviseSinkEx *LPADVISESINKEX;
7923 
7924 DEFINE_GUID(IID_IAdviseSinkEx, 0x3af24290, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8);
7925 #if defined(__cplusplus) && !defined(CINTERFACE)
7926 MIDL_INTERFACE("3af24290-0c96-11ce-a0cf-00aa00600ab8")
7927 IAdviseSinkEx : public IAdviseSink
7928 {
7929     virtual void STDMETHODCALLTYPE OnViewStatusChange(
7930         DWORD dwViewStatus) = 0;
7931 
7932 };
7933 #ifdef __CRT_UUID_DECL
7934 __CRT_UUID_DECL(IAdviseSinkEx, 0x3af24290, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8)
7935 #endif
7936 #else
7937 typedef struct IAdviseSinkExVtbl {
7938     BEGIN_INTERFACE
7939 
7940     /*** IUnknown methods ***/
7941     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7942         IAdviseSinkEx* This,
7943         REFIID riid,
7944         void **ppvObject);
7945 
7946     ULONG (STDMETHODCALLTYPE *AddRef)(
7947         IAdviseSinkEx* This);
7948 
7949     ULONG (STDMETHODCALLTYPE *Release)(
7950         IAdviseSinkEx* This);
7951 
7952     /*** IAdviseSink methods ***/
7953     void (STDMETHODCALLTYPE *OnDataChange)(
7954         IAdviseSinkEx* This,
7955         FORMATETC *pFormatetc,
7956         STGMEDIUM *pStgmed);
7957 
7958     void (STDMETHODCALLTYPE *OnViewChange)(
7959         IAdviseSinkEx* This,
7960         DWORD dwAspect,
7961         LONG lindex);
7962 
7963     void (STDMETHODCALLTYPE *OnRename)(
7964         IAdviseSinkEx* This,
7965         IMoniker *pmk);
7966 
7967     void (STDMETHODCALLTYPE *OnSave)(
7968         IAdviseSinkEx* This);
7969 
7970     void (STDMETHODCALLTYPE *OnClose)(
7971         IAdviseSinkEx* This);
7972 
7973     /*** IAdviseSinkEx methods ***/
7974     void (STDMETHODCALLTYPE *OnViewStatusChange)(
7975         IAdviseSinkEx* This,
7976         DWORD dwViewStatus);
7977 
7978     END_INTERFACE
7979 } IAdviseSinkExVtbl;
7980 interface IAdviseSinkEx {
7981     CONST_VTBL IAdviseSinkExVtbl* lpVtbl;
7982 };
7983 
7984 #ifdef COBJMACROS
7985 #ifndef WIDL_C_INLINE_WRAPPERS
7986 /*** IUnknown methods ***/
7987 #define IAdviseSinkEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7988 #define IAdviseSinkEx_AddRef(This) (This)->lpVtbl->AddRef(This)
7989 #define IAdviseSinkEx_Release(This) (This)->lpVtbl->Release(This)
7990 /*** IAdviseSink methods ***/
7991 #define IAdviseSinkEx_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
7992 #define IAdviseSinkEx_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
7993 #define IAdviseSinkEx_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
7994 #define IAdviseSinkEx_OnSave(This) (This)->lpVtbl->OnSave(This)
7995 #define IAdviseSinkEx_OnClose(This) (This)->lpVtbl->OnClose(This)
7996 /*** IAdviseSinkEx methods ***/
7997 #define IAdviseSinkEx_OnViewStatusChange(This,dwViewStatus) (This)->lpVtbl->OnViewStatusChange(This,dwViewStatus)
7998 #else
7999 /*** IUnknown methods ***/
8000 static FORCEINLINE HRESULT IAdviseSinkEx_QueryInterface(IAdviseSinkEx* This,REFIID riid,void **ppvObject) {
8001     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8002 }
8003 static FORCEINLINE ULONG IAdviseSinkEx_AddRef(IAdviseSinkEx* This) {
8004     return This->lpVtbl->AddRef(This);
8005 }
8006 static FORCEINLINE ULONG IAdviseSinkEx_Release(IAdviseSinkEx* This) {
8007     return This->lpVtbl->Release(This);
8008 }
8009 /*** IAdviseSink methods ***/
8010 static FORCEINLINE void IAdviseSinkEx_OnDataChange(IAdviseSinkEx* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
8011     This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
8012 }
8013 static FORCEINLINE void IAdviseSinkEx_OnViewChange(IAdviseSinkEx* This,DWORD dwAspect,LONG lindex) {
8014     This->lpVtbl->OnViewChange(This,dwAspect,lindex);
8015 }
8016 static FORCEINLINE void IAdviseSinkEx_OnRename(IAdviseSinkEx* This,IMoniker *pmk) {
8017     This->lpVtbl->OnRename(This,pmk);
8018 }
8019 static FORCEINLINE void IAdviseSinkEx_OnSave(IAdviseSinkEx* This) {
8020     This->lpVtbl->OnSave(This);
8021 }
8022 static FORCEINLINE void IAdviseSinkEx_OnClose(IAdviseSinkEx* This) {
8023     This->lpVtbl->OnClose(This);
8024 }
8025 /*** IAdviseSinkEx methods ***/
8026 static FORCEINLINE void IAdviseSinkEx_OnViewStatusChange(IAdviseSinkEx* This,DWORD dwViewStatus) {
8027     This->lpVtbl->OnViewStatusChange(This,dwViewStatus);
8028 }
8029 #endif
8030 #endif
8031 
8032 #endif
8033 
8034 HRESULT STDMETHODCALLTYPE IAdviseSinkEx_RemoteOnViewStatusChange_Proxy(
8035     IAdviseSinkEx* This,
8036     DWORD dwViewStatus);
8037 void __RPC_STUB IAdviseSinkEx_RemoteOnViewStatusChange_Stub(
8038     IRpcStubBuffer* This,
8039     IRpcChannelBuffer* pRpcChannelBuffer,
8040     PRPC_MESSAGE pRpcMessage,
8041     DWORD* pdwStubPhase);
8042 void CALLBACK IAdviseSinkEx_OnViewStatusChange_Proxy(
8043     IAdviseSinkEx* This,
8044     DWORD dwViewStatus);
8045 HRESULT __RPC_STUB IAdviseSinkEx_OnViewStatusChange_Stub(
8046     IAdviseSinkEx* This,
8047     DWORD dwViewStatus);
8048 
8049 #endif  /* __IAdviseSinkEx_INTERFACE_DEFINED__ */
8050 
8051 #endif
8052 
8053 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
8054 /*****************************************************************************
8055  * IQuickActivate interface
8056  */
8057 #ifndef __IQuickActivate_INTERFACE_DEFINED__
8058 #define __IQuickActivate_INTERFACE_DEFINED__
8059 
8060 typedef IQuickActivate *LPQUICKACTIVATE;
8061 
8062 typedef enum tagQACONTAINERFLAGS {
8063     QACONTAINER_SHOWHATCHING = 0x1,
8064     QACONTAINER_SHOWGRABHANDLES = 0x2,
8065     QACONTAINER_USERMODE = 0x4,
8066     QACONTAINER_DISPLAYASDEFAULT = 0x8,
8067     QACONTAINER_UIDEAD = 0x10,
8068     QACONTAINER_AUTOCLIP = 0x20,
8069     QACONTAINER_MESSAGEREFLECT = 0x40,
8070     QACONTAINER_SUPPORTSMNEMONICS = 0x80
8071 } QACONTAINERFLAGS;
8072 
8073 typedef DWORD OLE_COLOR;
8074 
8075 typedef struct tagQACONTAINER {
8076     ULONG cbSize;
8077     IOleClientSite *pClientSite;
8078     IAdviseSinkEx *pAdviseSink;
8079     IPropertyNotifySink *pPropertyNotifySink;
8080     IUnknown *pUnkEventSink;
8081     DWORD dwAmbientFlags;
8082     OLE_COLOR colorFore;
8083     OLE_COLOR colorBack;
8084     IFont *pFont;
8085     IOleUndoManager *pUndoMgr;
8086     DWORD dwAppearance;
8087     LONG lcid;
8088     HPALETTE hpal;
8089     IBindHost *pBindHost;
8090     IOleControlSite *pOleControlSite;
8091     IServiceProvider *pServiceProvider;
8092 } QACONTAINER;
8093 
8094 typedef struct tagQACONTROL {
8095     ULONG cbSize;
8096     DWORD dwMiscStatus;
8097     DWORD dwViewStatus;
8098     DWORD dwEventCookie;
8099     DWORD dwPropNotifyCookie;
8100     DWORD dwPointerActivationPolicy;
8101 } QACONTROL;
8102 
8103 DEFINE_GUID(IID_IQuickActivate, 0xcf51ed10, 0x62fe, 0x11cf, 0xbf,0x86, 0x00,0xa0,0xc9,0x03,0x48,0x36);
8104 #if defined(__cplusplus) && !defined(CINTERFACE)
8105 MIDL_INTERFACE("cf51ed10-62fe-11cf-bf86-00a0c9034836")
8106 IQuickActivate : public IUnknown
8107 {
8108     virtual HRESULT STDMETHODCALLTYPE QuickActivate(
8109         QACONTAINER *pQaContainer,
8110         QACONTROL *pQaControl) = 0;
8111 
8112     virtual HRESULT STDMETHODCALLTYPE SetContentExtent(
8113         LPSIZEL pSizel) = 0;
8114 
8115     virtual HRESULT STDMETHODCALLTYPE GetContentExtent(
8116         LPSIZEL pSizel) = 0;
8117 
8118 };
8119 #ifdef __CRT_UUID_DECL
8120 __CRT_UUID_DECL(IQuickActivate, 0xcf51ed10, 0x62fe, 0x11cf, 0xbf,0x86, 0x00,0xa0,0xc9,0x03,0x48,0x36)
8121 #endif
8122 #else
8123 typedef struct IQuickActivateVtbl {
8124     BEGIN_INTERFACE
8125 
8126     /*** IUnknown methods ***/
8127     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8128         IQuickActivate* This,
8129         REFIID riid,
8130         void **ppvObject);
8131 
8132     ULONG (STDMETHODCALLTYPE *AddRef)(
8133         IQuickActivate* This);
8134 
8135     ULONG (STDMETHODCALLTYPE *Release)(
8136         IQuickActivate* This);
8137 
8138     /*** IQuickActivate methods ***/
8139     HRESULT (STDMETHODCALLTYPE *QuickActivate)(
8140         IQuickActivate* This,
8141         QACONTAINER *pQaContainer,
8142         QACONTROL *pQaControl);
8143 
8144     HRESULT (STDMETHODCALLTYPE *SetContentExtent)(
8145         IQuickActivate* This,
8146         LPSIZEL pSizel);
8147 
8148     HRESULT (STDMETHODCALLTYPE *GetContentExtent)(
8149         IQuickActivate* This,
8150         LPSIZEL pSizel);
8151 
8152     END_INTERFACE
8153 } IQuickActivateVtbl;
8154 interface IQuickActivate {
8155     CONST_VTBL IQuickActivateVtbl* lpVtbl;
8156 };
8157 
8158 #ifdef COBJMACROS
8159 #ifndef WIDL_C_INLINE_WRAPPERS
8160 /*** IUnknown methods ***/
8161 #define IQuickActivate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8162 #define IQuickActivate_AddRef(This) (This)->lpVtbl->AddRef(This)
8163 #define IQuickActivate_Release(This) (This)->lpVtbl->Release(This)
8164 /*** IQuickActivate methods ***/
8165 #define IQuickActivate_QuickActivate(This,pQaContainer,pQaControl) (This)->lpVtbl->QuickActivate(This,pQaContainer,pQaControl)
8166 #define IQuickActivate_SetContentExtent(This,pSizel) (This)->lpVtbl->SetContentExtent(This,pSizel)
8167 #define IQuickActivate_GetContentExtent(This,pSizel) (This)->lpVtbl->GetContentExtent(This,pSizel)
8168 #else
8169 /*** IUnknown methods ***/
8170 static FORCEINLINE HRESULT IQuickActivate_QueryInterface(IQuickActivate* This,REFIID riid,void **ppvObject) {
8171     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8172 }
8173 static FORCEINLINE ULONG IQuickActivate_AddRef(IQuickActivate* This) {
8174     return This->lpVtbl->AddRef(This);
8175 }
8176 static FORCEINLINE ULONG IQuickActivate_Release(IQuickActivate* This) {
8177     return This->lpVtbl->Release(This);
8178 }
8179 /*** IQuickActivate methods ***/
8180 static FORCEINLINE HRESULT IQuickActivate_QuickActivate(IQuickActivate* This,QACONTAINER *pQaContainer,QACONTROL *pQaControl) {
8181     return This->lpVtbl->QuickActivate(This,pQaContainer,pQaControl);
8182 }
8183 static FORCEINLINE HRESULT IQuickActivate_SetContentExtent(IQuickActivate* This,LPSIZEL pSizel) {
8184     return This->lpVtbl->SetContentExtent(This,pSizel);
8185 }
8186 static FORCEINLINE HRESULT IQuickActivate_GetContentExtent(IQuickActivate* This,LPSIZEL pSizel) {
8187     return This->lpVtbl->GetContentExtent(This,pSizel);
8188 }
8189 #endif
8190 #endif
8191 
8192 #endif
8193 
8194 HRESULT STDMETHODCALLTYPE IQuickActivate_RemoteQuickActivate_Proxy(
8195     IQuickActivate* This,
8196     QACONTAINER *pQaContainer,
8197     QACONTROL *pQaControl);
8198 void __RPC_STUB IQuickActivate_RemoteQuickActivate_Stub(
8199     IRpcStubBuffer* This,
8200     IRpcChannelBuffer* pRpcChannelBuffer,
8201     PRPC_MESSAGE pRpcMessage,
8202     DWORD* pdwStubPhase);
8203 HRESULT STDMETHODCALLTYPE IQuickActivate_SetContentExtent_Proxy(
8204     IQuickActivate* This,
8205     LPSIZEL pSizel);
8206 void __RPC_STUB IQuickActivate_SetContentExtent_Stub(
8207     IRpcStubBuffer* This,
8208     IRpcChannelBuffer* pRpcChannelBuffer,
8209     PRPC_MESSAGE pRpcMessage,
8210     DWORD* pdwStubPhase);
8211 HRESULT STDMETHODCALLTYPE IQuickActivate_GetContentExtent_Proxy(
8212     IQuickActivate* This,
8213     LPSIZEL pSizel);
8214 void __RPC_STUB IQuickActivate_GetContentExtent_Stub(
8215     IRpcStubBuffer* This,
8216     IRpcChannelBuffer* pRpcChannelBuffer,
8217     PRPC_MESSAGE pRpcMessage,
8218     DWORD* pdwStubPhase);
8219 HRESULT CALLBACK IQuickActivate_QuickActivate_Proxy(
8220     IQuickActivate* This,
8221     QACONTAINER *pQaContainer,
8222     QACONTROL *pQaControl);
8223 HRESULT __RPC_STUB IQuickActivate_QuickActivate_Stub(
8224     IQuickActivate* This,
8225     QACONTAINER *pQaContainer,
8226     QACONTROL *pQaControl);
8227 
8228 #endif  /* __IQuickActivate_INTERFACE_DEFINED__ */
8229 
8230 #endif
8231 /* Begin additional prototypes for all interfaces */
8232 
8233 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
8234 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
8235 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
8236 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
8237 ULONG           __RPC_USER HACCEL_UserSize     (ULONG *, ULONG, HACCEL *);
8238 unsigned char * __RPC_USER HACCEL_UserMarshal  (ULONG *, unsigned char *, HACCEL *);
8239 unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
8240 void            __RPC_USER HACCEL_UserFree     (ULONG *, HACCEL *);
8241 ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
8242 unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
8243 unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
8244 void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
8245 ULONG           __RPC_USER HFONT_UserSize     (ULONG *, ULONG, HFONT *);
8246 unsigned char * __RPC_USER HFONT_UserMarshal  (ULONG *, unsigned char *, HFONT *);
8247 unsigned char * __RPC_USER HFONT_UserUnmarshal(ULONG *, unsigned char *, HFONT *);
8248 void            __RPC_USER HFONT_UserFree     (ULONG *, HFONT *);
8249 ULONG           __RPC_USER HDC_UserSize     (ULONG *, ULONG, HDC *);
8250 unsigned char * __RPC_USER HDC_UserMarshal  (ULONG *, unsigned char *, HDC *);
8251 unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
8252 void            __RPC_USER HDC_UserFree     (ULONG *, HDC *);
8253 ULONG           __RPC_USER HRGN_UserSize     (ULONG *, ULONG, HRGN *);
8254 unsigned char * __RPC_USER HRGN_UserMarshal  (ULONG *, unsigned char *, HRGN *);
8255 unsigned char * __RPC_USER HRGN_UserUnmarshal(ULONG *, unsigned char *, HRGN *);
8256 void            __RPC_USER HRGN_UserFree     (ULONG *, HRGN *);
8257 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
8258 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
8259 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
8260 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
8261 ULONG           __RPC_USER CLIPFORMAT_UserSize     (ULONG *, ULONG, CLIPFORMAT *);
8262 unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (ULONG *, unsigned char *, CLIPFORMAT *);
8263 unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
8264 void            __RPC_USER CLIPFORMAT_UserFree     (ULONG *, CLIPFORMAT *);
8265 ULONG           __RPC_USER HPALETTE_UserSize     (ULONG *, ULONG, HPALETTE *);
8266 unsigned char * __RPC_USER HPALETTE_UserMarshal  (ULONG *, unsigned char *, HPALETTE *);
8267 unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
8268 void            __RPC_USER HPALETTE_UserFree     (ULONG *, HPALETTE *);
8269 
8270 /* End additional prototypes */
8271 
8272 #ifdef __cplusplus
8273 }
8274 #endif
8275 
8276 #endif /* __ocidl_h__ */
8277