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__
22typedef interface IEnumConnections IEnumConnections;
23#endif
24
25#ifndef __IConnectionPoint_FWD_DEFINED__
26#define __IConnectionPoint_FWD_DEFINED__
27typedef interface IConnectionPoint IConnectionPoint;
28#endif
29
30#ifndef __IEnumConnectionPoints_FWD_DEFINED__
31#define __IEnumConnectionPoints_FWD_DEFINED__
32typedef interface IEnumConnectionPoints IEnumConnectionPoints;
33#endif
34
35#ifndef __IConnectionPointContainer_FWD_DEFINED__
36#define __IConnectionPointContainer_FWD_DEFINED__
37typedef interface IConnectionPointContainer IConnectionPointContainer;
38#endif
39
40#ifndef __IClassFactory2_FWD_DEFINED__
41#define __IClassFactory2_FWD_DEFINED__
42typedef interface IClassFactory2 IClassFactory2;
43#endif
44
45#ifndef __IProvideClassInfo_FWD_DEFINED__
46#define __IProvideClassInfo_FWD_DEFINED__
47typedef interface IProvideClassInfo IProvideClassInfo;
48#endif
49
50#ifndef __IProvideClassInfo2_FWD_DEFINED__
51#define __IProvideClassInfo2_FWD_DEFINED__
52typedef interface IProvideClassInfo2 IProvideClassInfo2;
53#endif
54
55#ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
56#define __IProvideMultipleClassInfo_FWD_DEFINED__
57typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
58#endif
59
60#ifndef __IOleControl_FWD_DEFINED__
61#define __IOleControl_FWD_DEFINED__
62typedef interface IOleControl IOleControl;
63#endif
64
65#ifndef __IOleControlSite_FWD_DEFINED__
66#define __IOleControlSite_FWD_DEFINED__
67typedef interface IOleControlSite IOleControlSite;
68#endif
69
70#ifndef __IPropertyPage_FWD_DEFINED__
71#define __IPropertyPage_FWD_DEFINED__
72typedef interface IPropertyPage IPropertyPage;
73#endif
74
75#ifndef __IPropertyPage2_FWD_DEFINED__
76#define __IPropertyPage2_FWD_DEFINED__
77typedef interface IPropertyPage2 IPropertyPage2;
78#endif
79
80#ifndef __IPropertyPageSite_FWD_DEFINED__
81#define __IPropertyPageSite_FWD_DEFINED__
82typedef interface IPropertyPageSite IPropertyPageSite;
83#endif
84
85#ifndef __IPropertyNotifySink_FWD_DEFINED__
86#define __IPropertyNotifySink_FWD_DEFINED__
87typedef interface IPropertyNotifySink IPropertyNotifySink;
88#endif
89
90#ifndef __ISpecifyPropertyPages_FWD_DEFINED__
91#define __ISpecifyPropertyPages_FWD_DEFINED__
92typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
93#endif
94
95#ifndef __IPersistMemory_FWD_DEFINED__
96#define __IPersistMemory_FWD_DEFINED__
97typedef interface IPersistMemory IPersistMemory;
98#endif
99
100#ifndef __IPersistStreamInit_FWD_DEFINED__
101#define __IPersistStreamInit_FWD_DEFINED__
102typedef interface IPersistStreamInit IPersistStreamInit;
103#endif
104
105#ifndef __IPersistPropertyBag_FWD_DEFINED__
106#define __IPersistPropertyBag_FWD_DEFINED__
107typedef interface IPersistPropertyBag IPersistPropertyBag;
108#endif
109
110#ifndef __ISimpleFrameSite_FWD_DEFINED__
111#define __ISimpleFrameSite_FWD_DEFINED__
112typedef interface ISimpleFrameSite ISimpleFrameSite;
113#endif
114
115#ifndef __IFont_FWD_DEFINED__
116#define __IFont_FWD_DEFINED__
117typedef interface IFont IFont;
118#endif
119
120#ifndef __IPicture_FWD_DEFINED__
121#define __IPicture_FWD_DEFINED__
122typedef interface IPicture IPicture;
123#endif
124
125#ifndef __IPicture2_FWD_DEFINED__
126#define __IPicture2_FWD_DEFINED__
127typedef interface IPicture2 IPicture2;
128#endif
129
130#ifndef __IFontEventsDisp_FWD_DEFINED__
131#define __IFontEventsDisp_FWD_DEFINED__
132typedef interface IFontEventsDisp IFontEventsDisp;
133#endif
134
135#ifndef __IFontDisp_FWD_DEFINED__
136#define __IFontDisp_FWD_DEFINED__
137typedef interface IFontDisp IFontDisp;
138#endif
139
140#ifndef __IPictureDisp_FWD_DEFINED__
141#define __IPictureDisp_FWD_DEFINED__
142typedef interface IPictureDisp IPictureDisp;
143#endif
144
145#ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
146#define __IOleInPlaceObjectWindowless_FWD_DEFINED__
147typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
148#endif
149
150#ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
151#define __IOleInPlaceSiteEx_FWD_DEFINED__
152typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
153#endif
154
155#ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
156#define __IOleInPlaceSiteWindowless_FWD_DEFINED__
157typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
158#endif
159
160#ifndef __IViewObjectEx_FWD_DEFINED__
161#define __IViewObjectEx_FWD_DEFINED__
162typedef interface IViewObjectEx IViewObjectEx;
163#endif
164
165#ifndef __IOleUndoUnit_FWD_DEFINED__
166#define __IOleUndoUnit_FWD_DEFINED__
167typedef interface IOleUndoUnit IOleUndoUnit;
168#endif
169
170#ifndef __IOleParentUndoUnit_FWD_DEFINED__
171#define __IOleParentUndoUnit_FWD_DEFINED__
172typedef interface IOleParentUndoUnit IOleParentUndoUnit;
173#endif
174
175#ifndef __IEnumOleUndoUnits_FWD_DEFINED__
176#define __IEnumOleUndoUnits_FWD_DEFINED__
177typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
178#endif
179
180#ifndef __IOleUndoManager_FWD_DEFINED__
181#define __IOleUndoManager_FWD_DEFINED__
182typedef interface IOleUndoManager IOleUndoManager;
183#endif
184
185#ifndef __IPointerInactive_FWD_DEFINED__
186#define __IPointerInactive_FWD_DEFINED__
187typedef interface IPointerInactive IPointerInactive;
188#endif
189
190#ifndef __IObjectWithSite_FWD_DEFINED__
191#define __IObjectWithSite_FWD_DEFINED__
192typedef interface IObjectWithSite IObjectWithSite;
193#endif
194
195#ifndef __IPerPropertyBrowsing_FWD_DEFINED__
196#define __IPerPropertyBrowsing_FWD_DEFINED__
197typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
198#endif
199
200#ifndef __IPropertyBag2_FWD_DEFINED__
201#define __IPropertyBag2_FWD_DEFINED__
202typedef interface IPropertyBag2 IPropertyBag2;
203#endif
204
205#ifndef __IPersistPropertyBag2_FWD_DEFINED__
206#define __IPersistPropertyBag2_FWD_DEFINED__
207typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
208#endif
209
210#ifndef __IAdviseSinkEx_FWD_DEFINED__
211#define __IAdviseSinkEx_FWD_DEFINED__
212typedef interface IAdviseSinkEx IAdviseSinkEx;
213#endif
214
215#ifndef __IQuickActivate_FWD_DEFINED__
216#define __IQuickActivate_FWD_DEFINED__
217typedef 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
229extern "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__
243typedef interface IEnumConnections IEnumConnections;
244#endif
245
246#ifndef __IEnumConnectionPoints_FWD_DEFINED__
247#define __IEnumConnectionPoints_FWD_DEFINED__
248typedef interface IEnumConnectionPoints IEnumConnectionPoints;
249#endif
250
251#ifndef __IConnectionPoint_FWD_DEFINED__
252#define __IConnectionPoint_FWD_DEFINED__
253typedef interface IConnectionPoint IConnectionPoint;
254#endif
255
256#ifndef __IConnectionPointContainer_FWD_DEFINED__
257#define __IConnectionPointContainer_FWD_DEFINED__
258typedef 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__
266typedef interface IBindHost IBindHost;
267#endif
268
269#ifndef __IClassFactory2_FWD_DEFINED__
270#define __IClassFactory2_FWD_DEFINED__
271typedef interface IClassFactory2 IClassFactory2;
272#endif
273
274#ifndef __IDropTarget_FWD_DEFINED__
275#define __IDropTarget_FWD_DEFINED__
276typedef interface IDropTarget IDropTarget;
277#endif
278
279#ifndef __IProvideClassInfo_FWD_DEFINED__
280#define __IProvideClassInfo_FWD_DEFINED__
281typedef interface IProvideClassInfo IProvideClassInfo;
282#endif
283
284#ifndef __IProvideClassInfo2_FWD_DEFINED__
285#define __IProvideClassInfo2_FWD_DEFINED__
286typedef interface IProvideClassInfo2 IProvideClassInfo2;
287#endif
288
289#ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
290#define __IProvideMultipleClassInfo_FWD_DEFINED__
291typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
292#endif
293
294#ifndef __IOleClientSite_FWD_DEFINED__
295#define __IOleClientSite_FWD_DEFINED__
296typedef interface IOleClientSite IOleClientSite;
297#endif
298
299#ifndef __IOleControl_FWD_DEFINED__
300#define __IOleControl_FWD_DEFINED__
301typedef interface IOleControl IOleControl;
302#endif
303
304#ifndef __IOleControlSite_FWD_DEFINED__
305#define __IOleControlSite_FWD_DEFINED__
306typedef interface IOleControlSite IOleControlSite;
307#endif
308
309#ifndef __IPropertyPage_FWD_DEFINED__
310#define __IPropertyPage_FWD_DEFINED__
311typedef interface IPropertyPage IPropertyPage;
312#endif
313
314#ifndef __IPropertyPage2_FWD_DEFINED__
315#define __IPropertyPage2_FWD_DEFINED__
316typedef interface IPropertyPage2 IPropertyPage2;
317#endif
318
319#ifndef __IPropertyPageSite_FWD_DEFINED__
320#define __IPropertyPageSite_FWD_DEFINED__
321typedef interface IPropertyPageSite IPropertyPageSite;
322#endif
323
324#ifndef __IPropertyNotifySink_FWD_DEFINED__
325#define __IPropertyNotifySink_FWD_DEFINED__
326typedef interface IPropertyNotifySink IPropertyNotifySink;
327#endif
328
329#ifndef __ISpecifyPropertyPages_FWD_DEFINED__
330#define __ISpecifyPropertyPages_FWD_DEFINED__
331typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
332#endif
333
334#ifndef __IPersistMemory_FWD_DEFINED__
335#define __IPersistMemory_FWD_DEFINED__
336typedef interface IPersistMemory IPersistMemory;
337#endif
338
339#ifndef __IPersistStreamInit_FWD_DEFINED__
340#define __IPersistStreamInit_FWD_DEFINED__
341typedef interface IPersistStreamInit IPersistStreamInit;
342#endif
343
344#ifndef __IPersistPropertyBag_FWD_DEFINED__
345#define __IPersistPropertyBag_FWD_DEFINED__
346typedef interface IPersistPropertyBag IPersistPropertyBag;
347#endif
348
349#ifndef __ISimpleFrameSite_FWD_DEFINED__
350#define __ISimpleFrameSite_FWD_DEFINED__
351typedef interface ISimpleFrameSite ISimpleFrameSite;
352#endif
353
354#ifndef __IFont_FWD_DEFINED__
355#define __IFont_FWD_DEFINED__
356typedef interface IFont IFont;
357#endif
358
359#ifndef __IPicture_FWD_DEFINED__
360#define __IPicture_FWD_DEFINED__
361typedef interface IPicture IPicture;
362#endif
363
364#ifndef __IFontEventsDisp_FWD_DEFINED__
365#define __IFontEventsDisp_FWD_DEFINED__
366typedef interface IFontEventsDisp IFontEventsDisp;
367#endif
368
369#ifndef __IFontDisp_FWD_DEFINED__
370#define __IFontDisp_FWD_DEFINED__
371typedef interface IFontDisp IFontDisp;
372#endif
373
374#ifndef __IPictureDisp_FWD_DEFINED__
375#define __IPictureDisp_FWD_DEFINED__
376typedef interface IPictureDisp IPictureDisp;
377#endif
378
379#ifndef __IAdviseSinkEx_FWD_DEFINED__
380#define __IAdviseSinkEx_FWD_DEFINED__
381typedef interface IAdviseSinkEx IAdviseSinkEx;
382#endif
383
384#ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
385#define __IOleInPlaceObjectWindowless_FWD_DEFINED__
386typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
387#endif
388
389#ifndef __IOleInPlaceSite_FWD_DEFINED__
390#define __IOleInPlaceSite_FWD_DEFINED__
391typedef interface IOleInPlaceSite IOleInPlaceSite;
392#endif
393
394#ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
395#define __IOleInPlaceSiteEx_FWD_DEFINED__
396typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
397#endif
398
399#ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
400#define __IOleInPlaceSiteWindowless_FWD_DEFINED__
401typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
402#endif
403
404#ifndef __IViewObject2_FWD_DEFINED__
405#define __IViewObject2_FWD_DEFINED__
406typedef interface IViewObject2 IViewObject2;
407#endif
408
409#ifndef __IViewObjectEx_FWD_DEFINED__
410#define __IViewObjectEx_FWD_DEFINED__
411typedef interface IViewObjectEx IViewObjectEx;
412#endif
413
414#ifndef __IOleUndoUnit_FWD_DEFINED__
415#define __IOleUndoUnit_FWD_DEFINED__
416typedef interface IOleUndoUnit IOleUndoUnit;
417#endif
418
419#ifndef __IOleParentUndoUnit_FWD_DEFINED__
420#define __IOleParentUndoUnit_FWD_DEFINED__
421typedef interface IOleParentUndoUnit IOleParentUndoUnit;
422#endif
423
424#ifndef __IEnumOleUndoUnits_FWD_DEFINED__
425#define __IEnumOleUndoUnits_FWD_DEFINED__
426typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
427#endif
428
429#ifndef __IOleUndoManager_FWD_DEFINED__
430#define __IOleUndoManager_FWD_DEFINED__
431typedef interface IOleUndoManager IOleUndoManager;
432#endif
433
434#ifndef __IPointerInactive_FWD_DEFINED__
435#define __IPointerInactive_FWD_DEFINED__
436typedef interface IPointerInactive IPointerInactive;
437#endif
438
439#ifndef __IObjectWithSite_FWD_DEFINED__
440#define __IObjectWithSite_FWD_DEFINED__
441typedef interface IObjectWithSite IObjectWithSite;
442#endif
443
444#ifndef __IErrorLog_FWD_DEFINED__
445#define __IErrorLog_FWD_DEFINED__
446typedef interface IErrorLog IErrorLog;
447#endif
448
449#ifndef __IPropertyBag_FWD_DEFINED__
450#define __IPropertyBag_FWD_DEFINED__
451typedef interface IPropertyBag IPropertyBag;
452#endif
453
454#ifndef __IPerPropertyBrowsing_FWD_DEFINED__
455#define __IPerPropertyBrowsing_FWD_DEFINED__
456typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
457#endif
458
459#ifndef __IPropertyBag2_FWD_DEFINED__
460#define __IPropertyBag2_FWD_DEFINED__
461typedef interface IPropertyBag2 IPropertyBag2;
462#endif
463
464#ifndef __IPersistPropertyBag2_FWD_DEFINED__
465#define __IPersistPropertyBag2_FWD_DEFINED__
466typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
467#endif
468
469#ifndef __IQuickActivate_FWD_DEFINED__
470#define __IQuickActivate_FWD_DEFINED__
471typedef 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
483extern RPC_IF_HANDLE IOleControlTypes_v1_0_c_ifspec;
484extern RPC_IF_HANDLE IOleControlTypes_v1_0_s_ifspec;
485typedef enum tagUASFLAGS {
486    UAS_NORMAL = 0x0,
487    UAS_BLOCKED = 0x1,
488    UAS_NOPARENTENABLE = 0x2,
489    UAS_MASK = 0x3
490} UASFLAGS;
491
492typedef 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
511typedef IEnumConnections *PENUMCONNECTIONS;
512typedef IEnumConnections *LPENUMCONNECTIONS;
513typedef struct tagCONNECTDATA {
514    IUnknown *pUnk;
515    DWORD dwCookie;
516} CONNECTDATA;
517
518typedef struct tagCONNECTDATA *PCONNECTDATA;
519typedef struct tagCONNECTDATA *LPCONNECTDATA;
520
521DEFINE_GUID(IID_IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
522#if defined(__cplusplus) && !defined(CINTERFACE)
523MIDL_INTERFACE("b196b287-bab4-101a-b69c-00aa00341d07")
524IEnumConnections : 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
545typedef 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;
580interface 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 ***/
597static FORCEINLINE HRESULT IEnumConnections_QueryInterface(IEnumConnections* This,REFIID riid,void **ppvObject) {
598    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
599}
600static FORCEINLINE ULONG IEnumConnections_AddRef(IEnumConnections* This) {
601    return This->lpVtbl->AddRef(This);
602}
603static FORCEINLINE ULONG IEnumConnections_Release(IEnumConnections* This) {
604    return This->lpVtbl->Release(This);
605}
606/*** IEnumConnections methods ***/
607static FORCEINLINE HRESULT IEnumConnections_Next(IEnumConnections* This,ULONG cConnections,LPCONNECTDATA rgcd,ULONG *pcFetched) {
608    return This->lpVtbl->Next(This,cConnections,rgcd,pcFetched);
609}
610static FORCEINLINE HRESULT IEnumConnections_Skip(IEnumConnections* This,ULONG cConnections) {
611    return This->lpVtbl->Skip(This,cConnections);
612}
613static FORCEINLINE HRESULT IEnumConnections_Reset(IEnumConnections* This) {
614    return This->lpVtbl->Reset(This);
615}
616static FORCEINLINE HRESULT IEnumConnections_Clone(IEnumConnections* This,IEnumConnections **ppEnum) {
617    return This->lpVtbl->Clone(This,ppEnum);
618}
619#endif
620#endif
621
622#endif
623
624HRESULT STDMETHODCALLTYPE IEnumConnections_RemoteNext_Proxy(
625    IEnumConnections* This,
626    ULONG cConnections,
627    LPCONNECTDATA rgcd,
628    ULONG *pcFetched);
629void __RPC_STUB IEnumConnections_RemoteNext_Stub(
630    IRpcStubBuffer* This,
631    IRpcChannelBuffer* pRpcChannelBuffer,
632    PRPC_MESSAGE pRpcMessage,
633    DWORD* pdwStubPhase);
634HRESULT STDMETHODCALLTYPE IEnumConnections_Skip_Proxy(
635    IEnumConnections* This,
636    ULONG cConnections);
637void __RPC_STUB IEnumConnections_Skip_Stub(
638    IRpcStubBuffer* This,
639    IRpcChannelBuffer* pRpcChannelBuffer,
640    PRPC_MESSAGE pRpcMessage,
641    DWORD* pdwStubPhase);
642HRESULT STDMETHODCALLTYPE IEnumConnections_Reset_Proxy(
643    IEnumConnections* This);
644void __RPC_STUB IEnumConnections_Reset_Stub(
645    IRpcStubBuffer* This,
646    IRpcChannelBuffer* pRpcChannelBuffer,
647    PRPC_MESSAGE pRpcMessage,
648    DWORD* pdwStubPhase);
649HRESULT STDMETHODCALLTYPE IEnumConnections_Clone_Proxy(
650    IEnumConnections* This,
651    IEnumConnections **ppEnum);
652void __RPC_STUB IEnumConnections_Clone_Stub(
653    IRpcStubBuffer* This,
654    IRpcChannelBuffer* pRpcChannelBuffer,
655    PRPC_MESSAGE pRpcMessage,
656    DWORD* pdwStubPhase);
657HRESULT CALLBACK IEnumConnections_Next_Proxy(
658    IEnumConnections* This,
659    ULONG cConnections,
660    LPCONNECTDATA rgcd,
661    ULONG *pcFetched);
662HRESULT __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
677typedef IConnectionPoint *PCONNECTIONPOINT;
678typedef IConnectionPoint *LPCONNECTIONPOINT;
679
680DEFINE_GUID(IID_IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
681#if defined(__cplusplus) && !defined(CINTERFACE)
682MIDL_INTERFACE("b196b286-bab4-101a-b69c-00aa00341d07")
683IConnectionPoint : 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
706typedef 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;
745interface 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 ***/
763static FORCEINLINE HRESULT IConnectionPoint_QueryInterface(IConnectionPoint* This,REFIID riid,void **ppvObject) {
764    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
765}
766static FORCEINLINE ULONG IConnectionPoint_AddRef(IConnectionPoint* This) {
767    return This->lpVtbl->AddRef(This);
768}
769static FORCEINLINE ULONG IConnectionPoint_Release(IConnectionPoint* This) {
770    return This->lpVtbl->Release(This);
771}
772/*** IConnectionPoint methods ***/
773static FORCEINLINE HRESULT IConnectionPoint_GetConnectionInterface(IConnectionPoint* This,IID *pIID) {
774    return This->lpVtbl->GetConnectionInterface(This,pIID);
775}
776static FORCEINLINE HRESULT IConnectionPoint_GetConnectionPointContainer(IConnectionPoint* This,IConnectionPointContainer **ppCPC) {
777    return This->lpVtbl->GetConnectionPointContainer(This,ppCPC);
778}
779static FORCEINLINE HRESULT IConnectionPoint_Advise(IConnectionPoint* This,IUnknown *pUnkSink,DWORD *pdwCookie) {
780    return This->lpVtbl->Advise(This,pUnkSink,pdwCookie);
781}
782static FORCEINLINE HRESULT IConnectionPoint_Unadvise(IConnectionPoint* This,DWORD dwCookie) {
783    return This->lpVtbl->Unadvise(This,dwCookie);
784}
785static FORCEINLINE HRESULT IConnectionPoint_EnumConnections(IConnectionPoint* This,IEnumConnections **ppEnum) {
786    return This->lpVtbl->EnumConnections(This,ppEnum);
787}
788#endif
789#endif
790
791#endif
792
793HRESULT STDMETHODCALLTYPE IConnectionPoint_GetConnectionInterface_Proxy(
794    IConnectionPoint* This,
795    IID *pIID);
796void __RPC_STUB IConnectionPoint_GetConnectionInterface_Stub(
797    IRpcStubBuffer* This,
798    IRpcChannelBuffer* pRpcChannelBuffer,
799    PRPC_MESSAGE pRpcMessage,
800    DWORD* pdwStubPhase);
801HRESULT STDMETHODCALLTYPE IConnectionPoint_GetConnectionPointContainer_Proxy(
802    IConnectionPoint* This,
803    IConnectionPointContainer **ppCPC);
804void __RPC_STUB IConnectionPoint_GetConnectionPointContainer_Stub(
805    IRpcStubBuffer* This,
806    IRpcChannelBuffer* pRpcChannelBuffer,
807    PRPC_MESSAGE pRpcMessage,
808    DWORD* pdwStubPhase);
809HRESULT STDMETHODCALLTYPE IConnectionPoint_Advise_Proxy(
810    IConnectionPoint* This,
811    IUnknown *pUnkSink,
812    DWORD *pdwCookie);
813void __RPC_STUB IConnectionPoint_Advise_Stub(
814    IRpcStubBuffer* This,
815    IRpcChannelBuffer* pRpcChannelBuffer,
816    PRPC_MESSAGE pRpcMessage,
817    DWORD* pdwStubPhase);
818HRESULT STDMETHODCALLTYPE IConnectionPoint_Unadvise_Proxy(
819    IConnectionPoint* This,
820    DWORD dwCookie);
821void __RPC_STUB IConnectionPoint_Unadvise_Stub(
822    IRpcStubBuffer* This,
823    IRpcChannelBuffer* pRpcChannelBuffer,
824    PRPC_MESSAGE pRpcMessage,
825    DWORD* pdwStubPhase);
826HRESULT STDMETHODCALLTYPE IConnectionPoint_EnumConnections_Proxy(
827    IConnectionPoint* This,
828    IEnumConnections **ppEnum);
829void __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
844typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
845typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
846
847DEFINE_GUID(IID_IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
848#if defined(__cplusplus) && !defined(CINTERFACE)
849MIDL_INTERFACE("b196b285-bab4-101a-b69c-00aa00341d07")
850IEnumConnectionPoints : 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
871typedef 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;
906interface 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 ***/
923static FORCEINLINE HRESULT IEnumConnectionPoints_QueryInterface(IEnumConnectionPoints* This,REFIID riid,void **ppvObject) {
924    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
925}
926static FORCEINLINE ULONG IEnumConnectionPoints_AddRef(IEnumConnectionPoints* This) {
927    return This->lpVtbl->AddRef(This);
928}
929static FORCEINLINE ULONG IEnumConnectionPoints_Release(IEnumConnectionPoints* This) {
930    return This->lpVtbl->Release(This);
931}
932/*** IEnumConnectionPoints methods ***/
933static FORCEINLINE HRESULT IEnumConnectionPoints_Next(IEnumConnectionPoints* This,ULONG cConnections,LPCONNECTIONPOINT *ppCP,ULONG *pcFetched) {
934    return This->lpVtbl->Next(This,cConnections,ppCP,pcFetched);
935}
936static FORCEINLINE HRESULT IEnumConnectionPoints_Skip(IEnumConnectionPoints* This,ULONG cConnections) {
937    return This->lpVtbl->Skip(This,cConnections);
938}
939static FORCEINLINE HRESULT IEnumConnectionPoints_Reset(IEnumConnectionPoints* This) {
940    return This->lpVtbl->Reset(This);
941}
942static FORCEINLINE HRESULT IEnumConnectionPoints_Clone(IEnumConnectionPoints* This,IEnumConnectionPoints **ppEnum) {
943    return This->lpVtbl->Clone(This,ppEnum);
944}
945#endif
946#endif
947
948#endif
949
950HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_RemoteNext_Proxy(
951    IEnumConnectionPoints* This,
952    ULONG cConnections,
953    LPCONNECTIONPOINT *ppCP,
954    ULONG *pcFetched);
955void __RPC_STUB IEnumConnectionPoints_RemoteNext_Stub(
956    IRpcStubBuffer* This,
957    IRpcChannelBuffer* pRpcChannelBuffer,
958    PRPC_MESSAGE pRpcMessage,
959    DWORD* pdwStubPhase);
960HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Skip_Proxy(
961    IEnumConnectionPoints* This,
962    ULONG cConnections);
963void __RPC_STUB IEnumConnectionPoints_Skip_Stub(
964    IRpcStubBuffer* This,
965    IRpcChannelBuffer* pRpcChannelBuffer,
966    PRPC_MESSAGE pRpcMessage,
967    DWORD* pdwStubPhase);
968HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Reset_Proxy(
969    IEnumConnectionPoints* This);
970void __RPC_STUB IEnumConnectionPoints_Reset_Stub(
971    IRpcStubBuffer* This,
972    IRpcChannelBuffer* pRpcChannelBuffer,
973    PRPC_MESSAGE pRpcMessage,
974    DWORD* pdwStubPhase);
975HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Clone_Proxy(
976    IEnumConnectionPoints* This,
977    IEnumConnectionPoints **ppEnum);
978void __RPC_STUB IEnumConnectionPoints_Clone_Stub(
979    IRpcStubBuffer* This,
980    IRpcChannelBuffer* pRpcChannelBuffer,
981    PRPC_MESSAGE pRpcMessage,
982    DWORD* pdwStubPhase);
983HRESULT CALLBACK IEnumConnectionPoints_Next_Proxy(
984    IEnumConnectionPoints* This,
985    ULONG cConnections,
986    LPCONNECTIONPOINT *ppCP,
987    ULONG *pcFetched);
988HRESULT __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
1003typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
1004typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
1005
1006DEFINE_GUID(IID_IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1007#if defined(__cplusplus) && !defined(CINTERFACE)
1008MIDL_INTERFACE("b196b284-bab4-101a-b69c-00aa00341d07")
1009IConnectionPointContainer : 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
1023typedef 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;
1050interface 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 ***/
1065static FORCEINLINE HRESULT IConnectionPointContainer_QueryInterface(IConnectionPointContainer* This,REFIID riid,void **ppvObject) {
1066    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1067}
1068static FORCEINLINE ULONG IConnectionPointContainer_AddRef(IConnectionPointContainer* This) {
1069    return This->lpVtbl->AddRef(This);
1070}
1071static FORCEINLINE ULONG IConnectionPointContainer_Release(IConnectionPointContainer* This) {
1072    return This->lpVtbl->Release(This);
1073}
1074/*** IConnectionPointContainer methods ***/
1075static FORCEINLINE HRESULT IConnectionPointContainer_EnumConnectionPoints(IConnectionPointContainer* This,IEnumConnectionPoints **ppEnum) {
1076    return This->lpVtbl->EnumConnectionPoints(This,ppEnum);
1077}
1078static 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
1086HRESULT STDMETHODCALLTYPE IConnectionPointContainer_EnumConnectionPoints_Proxy(
1087    IConnectionPointContainer* This,
1088    IEnumConnectionPoints **ppEnum);
1089void __RPC_STUB IConnectionPointContainer_EnumConnectionPoints_Stub(
1090    IRpcStubBuffer* This,
1091    IRpcChannelBuffer* pRpcChannelBuffer,
1092    PRPC_MESSAGE pRpcMessage,
1093    DWORD* pdwStubPhase);
1094HRESULT STDMETHODCALLTYPE IConnectionPointContainer_FindConnectionPoint_Proxy(
1095    IConnectionPointContainer* This,
1096    REFIID riid,
1097    IConnectionPoint **ppCP);
1098void __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
1115typedef IClassFactory2 *LPCLASSFACTORY2;
1116
1117typedef struct tagLICINFO {
1118    LONG cbLicInfo;
1119    WINBOOL fRuntimeKeyAvail;
1120    WINBOOL fLicVerified;
1121} LICINFO;
1122
1123typedef struct tagLICINFO *LPLICINFO;
1124
1125DEFINE_GUID(IID_IClassFactory2, 0xb196b28f, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1126#if defined(__cplusplus) && !defined(CINTERFACE)
1127MIDL_INTERFACE("b196b28f-bab4-101a-b69c-00aa00341d07")
1128IClassFactory2 : 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
1149typedef 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;
1195interface 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 ***/
1214static FORCEINLINE HRESULT IClassFactory2_QueryInterface(IClassFactory2* This,REFIID riid,void **ppvObject) {
1215    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1216}
1217static FORCEINLINE ULONG IClassFactory2_AddRef(IClassFactory2* This) {
1218    return This->lpVtbl->AddRef(This);
1219}
1220static FORCEINLINE ULONG IClassFactory2_Release(IClassFactory2* This) {
1221    return This->lpVtbl->Release(This);
1222}
1223/*** IClassFactory methods ***/
1224static FORCEINLINE HRESULT IClassFactory2_CreateInstance(IClassFactory2* This,IUnknown *pUnkOuter,REFIID riid,void **ppvObject) {
1225    return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject);
1226}
1227static FORCEINLINE HRESULT IClassFactory2_LockServer(IClassFactory2* This,WINBOOL fLock) {
1228    return This->lpVtbl->LockServer(This,fLock);
1229}
1230/*** IClassFactory2 methods ***/
1231static FORCEINLINE HRESULT IClassFactory2_GetLicInfo(IClassFactory2* This,LICINFO *pLicInfo) {
1232    return This->lpVtbl->GetLicInfo(This,pLicInfo);
1233}
1234static FORCEINLINE HRESULT IClassFactory2_RequestLicKey(IClassFactory2* This,DWORD dwReserved,BSTR *pBstrKey) {
1235    return This->lpVtbl->RequestLicKey(This,dwReserved,pBstrKey);
1236}
1237static 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
1245HRESULT STDMETHODCALLTYPE IClassFactory2_GetLicInfo_Proxy(
1246    IClassFactory2* This,
1247    LICINFO *pLicInfo);
1248void __RPC_STUB IClassFactory2_GetLicInfo_Stub(
1249    IRpcStubBuffer* This,
1250    IRpcChannelBuffer* pRpcChannelBuffer,
1251    PRPC_MESSAGE pRpcMessage,
1252    DWORD* pdwStubPhase);
1253HRESULT STDMETHODCALLTYPE IClassFactory2_RequestLicKey_Proxy(
1254    IClassFactory2* This,
1255    DWORD dwReserved,
1256    BSTR *pBstrKey);
1257void __RPC_STUB IClassFactory2_RequestLicKey_Stub(
1258    IRpcStubBuffer* This,
1259    IRpcChannelBuffer* pRpcChannelBuffer,
1260    PRPC_MESSAGE pRpcMessage,
1261    DWORD* pdwStubPhase);
1262HRESULT STDMETHODCALLTYPE IClassFactory2_RemoteCreateInstanceLic_Proxy(
1263    IClassFactory2* This,
1264    REFIID riid,
1265    BSTR bstrKey,
1266    IUnknown **ppvObj);
1267void __RPC_STUB IClassFactory2_RemoteCreateInstanceLic_Stub(
1268    IRpcStubBuffer* This,
1269    IRpcChannelBuffer* pRpcChannelBuffer,
1270    PRPC_MESSAGE pRpcMessage,
1271    DWORD* pdwStubPhase);
1272HRESULT CALLBACK IClassFactory2_CreateInstanceLic_Proxy(
1273    IClassFactory2* This,
1274    IUnknown *pUnkOuter,
1275    IUnknown *pUnkReserved,
1276    REFIID riid,
1277    BSTR bstrKey,
1278    PVOID *ppvObj);
1279HRESULT __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
1294typedef IProvideClassInfo *LPPROVIDECLASSINFO;
1295
1296DEFINE_GUID(IID_IProvideClassInfo, 0xb196b283, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1297#if defined(__cplusplus) && !defined(CINTERFACE)
1298MIDL_INTERFACE("b196b283-bab4-101a-b69c-00aa00341d07")
1299IProvideClassInfo : 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
1309typedef 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;
1331interface 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 ***/
1345static FORCEINLINE HRESULT IProvideClassInfo_QueryInterface(IProvideClassInfo* This,REFIID riid,void **ppvObject) {
1346    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1347}
1348static FORCEINLINE ULONG IProvideClassInfo_AddRef(IProvideClassInfo* This) {
1349    return This->lpVtbl->AddRef(This);
1350}
1351static FORCEINLINE ULONG IProvideClassInfo_Release(IProvideClassInfo* This) {
1352    return This->lpVtbl->Release(This);
1353}
1354/*** IProvideClassInfo methods ***/
1355static FORCEINLINE HRESULT IProvideClassInfo_GetClassInfo(IProvideClassInfo* This,ITypeInfo **ppTI) {
1356    return This->lpVtbl->GetClassInfo(This,ppTI);
1357}
1358#endif
1359#endif
1360
1361#endif
1362
1363HRESULT STDMETHODCALLTYPE IProvideClassInfo_GetClassInfo_Proxy(
1364    IProvideClassInfo* This,
1365    ITypeInfo **ppTI);
1366void __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
1381typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
1382
1383typedef enum tagGUIDKIND {
1384    GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
1385} GUIDKIND;
1386
1387DEFINE_GUID(IID_IProvideClassInfo2, 0xa6bc3ac0, 0xdbaa, 0x11ce, 0x9d,0xe3, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
1388#if defined(__cplusplus) && !defined(CINTERFACE)
1389MIDL_INTERFACE("a6bc3ac0-dbaa-11ce-9de3-00aa004bb851")
1390IProvideClassInfo2 : 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
1401typedef 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;
1429interface 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 ***/
1445static FORCEINLINE HRESULT IProvideClassInfo2_QueryInterface(IProvideClassInfo2* This,REFIID riid,void **ppvObject) {
1446    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1447}
1448static FORCEINLINE ULONG IProvideClassInfo2_AddRef(IProvideClassInfo2* This) {
1449    return This->lpVtbl->AddRef(This);
1450}
1451static FORCEINLINE ULONG IProvideClassInfo2_Release(IProvideClassInfo2* This) {
1452    return This->lpVtbl->Release(This);
1453}
1454/*** IProvideClassInfo methods ***/
1455static FORCEINLINE HRESULT IProvideClassInfo2_GetClassInfo(IProvideClassInfo2* This,ITypeInfo **ppTI) {
1456    return This->lpVtbl->GetClassInfo(This,ppTI);
1457}
1458/*** IProvideClassInfo2 methods ***/
1459static 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
1467HRESULT STDMETHODCALLTYPE IProvideClassInfo2_GetGUID_Proxy(
1468    IProvideClassInfo2* This,
1469    DWORD dwGuidKind,
1470    GUID *pGUID);
1471void __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
1493typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
1494
1495DEFINE_GUID(IID_IProvideMultipleClassInfo, 0xa7aba9c1, 0x8983, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
1496#if defined(__cplusplus) && !defined(CINTERFACE)
1497MIDL_INTERFACE("a7aba9c1-8983-11cf-8f20-00805f2cd064")
1498IProvideMultipleClassInfo : 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
1517typedef 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;
1560interface 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 ***/
1579static FORCEINLINE HRESULT IProvideMultipleClassInfo_QueryInterface(IProvideMultipleClassInfo* This,REFIID riid,void **ppvObject) {
1580    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1581}
1582static FORCEINLINE ULONG IProvideMultipleClassInfo_AddRef(IProvideMultipleClassInfo* This) {
1583    return This->lpVtbl->AddRef(This);
1584}
1585static FORCEINLINE ULONG IProvideMultipleClassInfo_Release(IProvideMultipleClassInfo* This) {
1586    return This->lpVtbl->Release(This);
1587}
1588/*** IProvideClassInfo methods ***/
1589static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetClassInfo(IProvideMultipleClassInfo* This,ITypeInfo **ppTI) {
1590    return This->lpVtbl->GetClassInfo(This,ppTI);
1591}
1592/*** IProvideClassInfo2 methods ***/
1593static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetGUID(IProvideMultipleClassInfo* This,DWORD dwGuidKind,GUID *pGUID) {
1594    return This->lpVtbl->GetGUID(This,dwGuidKind,pGUID);
1595}
1596/*** IProvideMultipleClassInfo methods ***/
1597static FORCEINLINE HRESULT IProvideMultipleClassInfo_GetMultiTypeInfoCount(IProvideMultipleClassInfo* This,ULONG *pcti) {
1598    return This->lpVtbl->GetMultiTypeInfoCount(This,pcti);
1599}
1600static 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
1608HRESULT STDMETHODCALLTYPE IProvideMultipleClassInfo_GetMultiTypeInfoCount_Proxy(
1609    IProvideMultipleClassInfo* This,
1610    ULONG *pcti);
1611void __RPC_STUB IProvideMultipleClassInfo_GetMultiTypeInfoCount_Stub(
1612    IRpcStubBuffer* This,
1613    IRpcChannelBuffer* pRpcChannelBuffer,
1614    PRPC_MESSAGE pRpcMessage,
1615    DWORD* pdwStubPhase);
1616HRESULT 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);
1625void __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
1640typedef IOleControl *LPOLECONTROL;
1641
1642typedef struct tagCONTROLINFO {
1643    ULONG cb;
1644    HACCEL hAccel;
1645    USHORT cAccel;
1646    DWORD dwFlags;
1647} CONTROLINFO;
1648
1649typedef struct tagCONTROLINFO *LPCONTROLINFO;
1650
1651typedef enum tagCTRLINFO {
1652    CTRLINFO_EATS_RETURN = 1,
1653    CTRLINFO_EATS_ESCAPE = 2
1654} CTRLINFO;
1655
1656DEFINE_GUID(IID_IOleControl, 0xb196b288, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1657#if defined(__cplusplus) && !defined(CINTERFACE)
1658MIDL_INTERFACE("b196b288-bab4-101a-b69c-00aa00341d07")
1659IOleControl : 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
1678typedef 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;
1712interface 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 ***/
1729static FORCEINLINE HRESULT IOleControl_QueryInterface(IOleControl* This,REFIID riid,void **ppvObject) {
1730    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1731}
1732static FORCEINLINE ULONG IOleControl_AddRef(IOleControl* This) {
1733    return This->lpVtbl->AddRef(This);
1734}
1735static FORCEINLINE ULONG IOleControl_Release(IOleControl* This) {
1736    return This->lpVtbl->Release(This);
1737}
1738/*** IOleControl methods ***/
1739static FORCEINLINE HRESULT IOleControl_GetControlInfo(IOleControl* This,CONTROLINFO *pCI) {
1740    return This->lpVtbl->GetControlInfo(This,pCI);
1741}
1742static FORCEINLINE HRESULT IOleControl_OnMnemonic(IOleControl* This,MSG *pMsg) {
1743    return This->lpVtbl->OnMnemonic(This,pMsg);
1744}
1745static FORCEINLINE HRESULT IOleControl_OnAmbientPropertyChange(IOleControl* This,DISPID dispID) {
1746    return This->lpVtbl->OnAmbientPropertyChange(This,dispID);
1747}
1748static FORCEINLINE HRESULT IOleControl_FreezeEvents(IOleControl* This,WINBOOL bFreeze) {
1749    return This->lpVtbl->FreezeEvents(This,bFreeze);
1750}
1751#endif
1752#endif
1753
1754#endif
1755
1756HRESULT STDMETHODCALLTYPE IOleControl_GetControlInfo_Proxy(
1757    IOleControl* This,
1758    CONTROLINFO *pCI);
1759void __RPC_STUB IOleControl_GetControlInfo_Stub(
1760    IRpcStubBuffer* This,
1761    IRpcChannelBuffer* pRpcChannelBuffer,
1762    PRPC_MESSAGE pRpcMessage,
1763    DWORD* pdwStubPhase);
1764HRESULT STDMETHODCALLTYPE IOleControl_OnMnemonic_Proxy(
1765    IOleControl* This,
1766    MSG *pMsg);
1767void __RPC_STUB IOleControl_OnMnemonic_Stub(
1768    IRpcStubBuffer* This,
1769    IRpcChannelBuffer* pRpcChannelBuffer,
1770    PRPC_MESSAGE pRpcMessage,
1771    DWORD* pdwStubPhase);
1772HRESULT STDMETHODCALLTYPE IOleControl_OnAmbientPropertyChange_Proxy(
1773    IOleControl* This,
1774    DISPID dispID);
1775void __RPC_STUB IOleControl_OnAmbientPropertyChange_Stub(
1776    IRpcStubBuffer* This,
1777    IRpcChannelBuffer* pRpcChannelBuffer,
1778    PRPC_MESSAGE pRpcMessage,
1779    DWORD* pdwStubPhase);
1780HRESULT STDMETHODCALLTYPE IOleControl_FreezeEvents_Proxy(
1781    IOleControl* This,
1782    WINBOOL bFreeze);
1783void __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
1798typedef IOleControlSite *LPOLECONTROLSITE;
1799
1800typedef struct tagPOINTF {
1801    FLOAT x;
1802    FLOAT y;
1803} POINTF;
1804
1805typedef struct tagPOINTF *LPPOINTF;
1806
1807typedef 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
1815DEFINE_GUID(IID_IOleControlSite, 0xb196b289, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
1816#if defined(__cplusplus) && !defined(CINTERFACE)
1817MIDL_INTERFACE("b196b289-bab4-101a-b69c-00aa00341d07")
1818IOleControlSite : 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
1849typedef 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;
1896interface 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 ***/
1916static FORCEINLINE HRESULT IOleControlSite_QueryInterface(IOleControlSite* This,REFIID riid,void **ppvObject) {
1917    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1918}
1919static FORCEINLINE ULONG IOleControlSite_AddRef(IOleControlSite* This) {
1920    return This->lpVtbl->AddRef(This);
1921}
1922static FORCEINLINE ULONG IOleControlSite_Release(IOleControlSite* This) {
1923    return This->lpVtbl->Release(This);
1924}
1925/*** IOleControlSite methods ***/
1926static FORCEINLINE HRESULT IOleControlSite_OnControlInfoChanged(IOleControlSite* This) {
1927    return This->lpVtbl->OnControlInfoChanged(This);
1928}
1929static FORCEINLINE HRESULT IOleControlSite_LockInPlaceActive(IOleControlSite* This,WINBOOL fLock) {
1930    return This->lpVtbl->LockInPlaceActive(This,fLock);
1931}
1932static FORCEINLINE HRESULT IOleControlSite_GetExtendedControl(IOleControlSite* This,IDispatch **ppDisp) {
1933    return This->lpVtbl->GetExtendedControl(This,ppDisp);
1934}
1935static FORCEINLINE HRESULT IOleControlSite_TransformCoords(IOleControlSite* This,POINTL *pPtlHimetric,POINTF *pPtfContainer,DWORD dwFlags) {
1936    return This->lpVtbl->TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags);
1937}
1938static FORCEINLINE HRESULT IOleControlSite_TranslateAccelerator(IOleControlSite* This,MSG *pMsg,DWORD grfModifiers) {
1939    return This->lpVtbl->TranslateAccelerator(This,pMsg,grfModifiers);
1940}
1941static FORCEINLINE HRESULT IOleControlSite_OnFocus(IOleControlSite* This,WINBOOL fGotFocus) {
1942    return This->lpVtbl->OnFocus(This,fGotFocus);
1943}
1944static FORCEINLINE HRESULT IOleControlSite_ShowPropertyFrame(IOleControlSite* This) {
1945    return This->lpVtbl->ShowPropertyFrame(This);
1946}
1947#endif
1948#endif
1949
1950#endif
1951
1952HRESULT STDMETHODCALLTYPE IOleControlSite_OnControlInfoChanged_Proxy(
1953    IOleControlSite* This);
1954void __RPC_STUB IOleControlSite_OnControlInfoChanged_Stub(
1955    IRpcStubBuffer* This,
1956    IRpcChannelBuffer* pRpcChannelBuffer,
1957    PRPC_MESSAGE pRpcMessage,
1958    DWORD* pdwStubPhase);
1959HRESULT STDMETHODCALLTYPE IOleControlSite_LockInPlaceActive_Proxy(
1960    IOleControlSite* This,
1961    WINBOOL fLock);
1962void __RPC_STUB IOleControlSite_LockInPlaceActive_Stub(
1963    IRpcStubBuffer* This,
1964    IRpcChannelBuffer* pRpcChannelBuffer,
1965    PRPC_MESSAGE pRpcMessage,
1966    DWORD* pdwStubPhase);
1967HRESULT STDMETHODCALLTYPE IOleControlSite_GetExtendedControl_Proxy(
1968    IOleControlSite* This,
1969    IDispatch **ppDisp);
1970void __RPC_STUB IOleControlSite_GetExtendedControl_Stub(
1971    IRpcStubBuffer* This,
1972    IRpcChannelBuffer* pRpcChannelBuffer,
1973    PRPC_MESSAGE pRpcMessage,
1974    DWORD* pdwStubPhase);
1975HRESULT STDMETHODCALLTYPE IOleControlSite_TransformCoords_Proxy(
1976    IOleControlSite* This,
1977    POINTL *pPtlHimetric,
1978    POINTF *pPtfContainer,
1979    DWORD dwFlags);
1980void __RPC_STUB IOleControlSite_TransformCoords_Stub(
1981    IRpcStubBuffer* This,
1982    IRpcChannelBuffer* pRpcChannelBuffer,
1983    PRPC_MESSAGE pRpcMessage,
1984    DWORD* pdwStubPhase);
1985HRESULT STDMETHODCALLTYPE IOleControlSite_TranslateAccelerator_Proxy(
1986    IOleControlSite* This,
1987    MSG *pMsg,
1988    DWORD grfModifiers);
1989void __RPC_STUB IOleControlSite_TranslateAccelerator_Stub(
1990    IRpcStubBuffer* This,
1991    IRpcChannelBuffer* pRpcChannelBuffer,
1992    PRPC_MESSAGE pRpcMessage,
1993    DWORD* pdwStubPhase);
1994HRESULT STDMETHODCALLTYPE IOleControlSite_OnFocus_Proxy(
1995    IOleControlSite* This,
1996    WINBOOL fGotFocus);
1997void __RPC_STUB IOleControlSite_OnFocus_Stub(
1998    IRpcStubBuffer* This,
1999    IRpcChannelBuffer* pRpcChannelBuffer,
2000    PRPC_MESSAGE pRpcMessage,
2001    DWORD* pdwStubPhase);
2002HRESULT STDMETHODCALLTYPE IOleControlSite_ShowPropertyFrame_Proxy(
2003    IOleControlSite* This);
2004void __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
2019typedef IPropertyPage *LPPROPERTYPAGE;
2020
2021typedef struct tagPROPPAGEINFO {
2022    ULONG cb;
2023    LPOLESTR pszTitle;
2024    SIZE size;
2025    LPOLESTR pszDocString;
2026    LPOLESTR pszHelpFile;
2027    DWORD dwHelpContext;
2028} PROPPAGEINFO;
2029
2030typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
2031
2032DEFINE_GUID(IID_IPropertyPage, 0xb196b28d, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2033#if defined(__cplusplus) && !defined(CINTERFACE)
2034MIDL_INTERFACE("b196b28d-bab4-101a-b69c-00aa00341d07")
2035IPropertyPage : 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
2078typedef 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;
2140interface 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 ***/
2164static FORCEINLINE HRESULT IPropertyPage_QueryInterface(IPropertyPage* This,REFIID riid,void **ppvObject) {
2165    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2166}
2167static FORCEINLINE ULONG IPropertyPage_AddRef(IPropertyPage* This) {
2168    return This->lpVtbl->AddRef(This);
2169}
2170static FORCEINLINE ULONG IPropertyPage_Release(IPropertyPage* This) {
2171    return This->lpVtbl->Release(This);
2172}
2173/*** IPropertyPage methods ***/
2174static FORCEINLINE HRESULT IPropertyPage_SetPageSite(IPropertyPage* This,IPropertyPageSite *pPageSite) {
2175    return This->lpVtbl->SetPageSite(This,pPageSite);
2176}
2177static FORCEINLINE HRESULT IPropertyPage_Activate(IPropertyPage* This,HWND hWndParent,LPCRECT pRect,WINBOOL bModal) {
2178    return This->lpVtbl->Activate(This,hWndParent,pRect,bModal);
2179}
2180static FORCEINLINE HRESULT IPropertyPage_Deactivate(IPropertyPage* This) {
2181    return This->lpVtbl->Deactivate(This);
2182}
2183static FORCEINLINE HRESULT IPropertyPage_GetPageInfo(IPropertyPage* This,PROPPAGEINFO *pPageInfo) {
2184    return This->lpVtbl->GetPageInfo(This,pPageInfo);
2185}
2186static FORCEINLINE HRESULT IPropertyPage_SetObjects(IPropertyPage* This,ULONG cObjects,IUnknown **ppUnk) {
2187    return This->lpVtbl->SetObjects(This,cObjects,ppUnk);
2188}
2189static FORCEINLINE HRESULT IPropertyPage_Show(IPropertyPage* This,UINT nCmdShow) {
2190    return This->lpVtbl->Show(This,nCmdShow);
2191}
2192static FORCEINLINE HRESULT IPropertyPage_Move(IPropertyPage* This,LPCRECT pRect) {
2193    return This->lpVtbl->Move(This,pRect);
2194}
2195static FORCEINLINE HRESULT IPropertyPage_IsPageDirty(IPropertyPage* This) {
2196    return This->lpVtbl->IsPageDirty(This);
2197}
2198static FORCEINLINE HRESULT IPropertyPage_Apply(IPropertyPage* This) {
2199    return This->lpVtbl->Apply(This);
2200}
2201static FORCEINLINE HRESULT IPropertyPage_Help(IPropertyPage* This,LPCOLESTR pszHelpDir) {
2202    return This->lpVtbl->Help(This,pszHelpDir);
2203}
2204static FORCEINLINE HRESULT IPropertyPage_TranslateAccelerator(IPropertyPage* This,MSG *pMsg) {
2205    return This->lpVtbl->TranslateAccelerator(This,pMsg);
2206}
2207#endif
2208#endif
2209
2210#endif
2211
2212HRESULT STDMETHODCALLTYPE IPropertyPage_SetPageSite_Proxy(
2213    IPropertyPage* This,
2214    IPropertyPageSite *pPageSite);
2215void __RPC_STUB IPropertyPage_SetPageSite_Stub(
2216    IRpcStubBuffer* This,
2217    IRpcChannelBuffer* pRpcChannelBuffer,
2218    PRPC_MESSAGE pRpcMessage,
2219    DWORD* pdwStubPhase);
2220HRESULT STDMETHODCALLTYPE IPropertyPage_Activate_Proxy(
2221    IPropertyPage* This,
2222    HWND hWndParent,
2223    LPCRECT pRect,
2224    WINBOOL bModal);
2225void __RPC_STUB IPropertyPage_Activate_Stub(
2226    IRpcStubBuffer* This,
2227    IRpcChannelBuffer* pRpcChannelBuffer,
2228    PRPC_MESSAGE pRpcMessage,
2229    DWORD* pdwStubPhase);
2230HRESULT STDMETHODCALLTYPE IPropertyPage_Deactivate_Proxy(
2231    IPropertyPage* This);
2232void __RPC_STUB IPropertyPage_Deactivate_Stub(
2233    IRpcStubBuffer* This,
2234    IRpcChannelBuffer* pRpcChannelBuffer,
2235    PRPC_MESSAGE pRpcMessage,
2236    DWORD* pdwStubPhase);
2237HRESULT STDMETHODCALLTYPE IPropertyPage_GetPageInfo_Proxy(
2238    IPropertyPage* This,
2239    PROPPAGEINFO *pPageInfo);
2240void __RPC_STUB IPropertyPage_GetPageInfo_Stub(
2241    IRpcStubBuffer* This,
2242    IRpcChannelBuffer* pRpcChannelBuffer,
2243    PRPC_MESSAGE pRpcMessage,
2244    DWORD* pdwStubPhase);
2245HRESULT STDMETHODCALLTYPE IPropertyPage_SetObjects_Proxy(
2246    IPropertyPage* This,
2247    ULONG cObjects,
2248    IUnknown **ppUnk);
2249void __RPC_STUB IPropertyPage_SetObjects_Stub(
2250    IRpcStubBuffer* This,
2251    IRpcChannelBuffer* pRpcChannelBuffer,
2252    PRPC_MESSAGE pRpcMessage,
2253    DWORD* pdwStubPhase);
2254HRESULT STDMETHODCALLTYPE IPropertyPage_Show_Proxy(
2255    IPropertyPage* This,
2256    UINT nCmdShow);
2257void __RPC_STUB IPropertyPage_Show_Stub(
2258    IRpcStubBuffer* This,
2259    IRpcChannelBuffer* pRpcChannelBuffer,
2260    PRPC_MESSAGE pRpcMessage,
2261    DWORD* pdwStubPhase);
2262HRESULT STDMETHODCALLTYPE IPropertyPage_Move_Proxy(
2263    IPropertyPage* This,
2264    LPCRECT pRect);
2265void __RPC_STUB IPropertyPage_Move_Stub(
2266    IRpcStubBuffer* This,
2267    IRpcChannelBuffer* pRpcChannelBuffer,
2268    PRPC_MESSAGE pRpcMessage,
2269    DWORD* pdwStubPhase);
2270HRESULT STDMETHODCALLTYPE IPropertyPage_IsPageDirty_Proxy(
2271    IPropertyPage* This);
2272void __RPC_STUB IPropertyPage_IsPageDirty_Stub(
2273    IRpcStubBuffer* This,
2274    IRpcChannelBuffer* pRpcChannelBuffer,
2275    PRPC_MESSAGE pRpcMessage,
2276    DWORD* pdwStubPhase);
2277HRESULT STDMETHODCALLTYPE IPropertyPage_Apply_Proxy(
2278    IPropertyPage* This);
2279void __RPC_STUB IPropertyPage_Apply_Stub(
2280    IRpcStubBuffer* This,
2281    IRpcChannelBuffer* pRpcChannelBuffer,
2282    PRPC_MESSAGE pRpcMessage,
2283    DWORD* pdwStubPhase);
2284HRESULT STDMETHODCALLTYPE IPropertyPage_Help_Proxy(
2285    IPropertyPage* This,
2286    LPCOLESTR pszHelpDir);
2287void __RPC_STUB IPropertyPage_Help_Stub(
2288    IRpcStubBuffer* This,
2289    IRpcChannelBuffer* pRpcChannelBuffer,
2290    PRPC_MESSAGE pRpcMessage,
2291    DWORD* pdwStubPhase);
2292HRESULT STDMETHODCALLTYPE IPropertyPage_TranslateAccelerator_Proxy(
2293    IPropertyPage* This,
2294    MSG *pMsg);
2295void __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
2310typedef IPropertyPage2 *LPPROPERTYPAGE2;
2311
2312DEFINE_GUID(IID_IPropertyPage2, 0x01e44665, 0x24ac, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
2313#if defined(__cplusplus) && !defined(CINTERFACE)
2314MIDL_INTERFACE("01e44665-24ac-101b-84ed-08002b2ec713")
2315IPropertyPage2 : 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
2325typedef 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;
2392interface 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 ***/
2418static FORCEINLINE HRESULT IPropertyPage2_QueryInterface(IPropertyPage2* This,REFIID riid,void **ppvObject) {
2419    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2420}
2421static FORCEINLINE ULONG IPropertyPage2_AddRef(IPropertyPage2* This) {
2422    return This->lpVtbl->AddRef(This);
2423}
2424static FORCEINLINE ULONG IPropertyPage2_Release(IPropertyPage2* This) {
2425    return This->lpVtbl->Release(This);
2426}
2427/*** IPropertyPage methods ***/
2428static FORCEINLINE HRESULT IPropertyPage2_SetPageSite(IPropertyPage2* This,IPropertyPageSite *pPageSite) {
2429    return This->lpVtbl->SetPageSite(This,pPageSite);
2430}
2431static FORCEINLINE HRESULT IPropertyPage2_Activate(IPropertyPage2* This,HWND hWndParent,LPCRECT pRect,WINBOOL bModal) {
2432    return This->lpVtbl->Activate(This,hWndParent,pRect,bModal);
2433}
2434static FORCEINLINE HRESULT IPropertyPage2_Deactivate(IPropertyPage2* This) {
2435    return This->lpVtbl->Deactivate(This);
2436}
2437static FORCEINLINE HRESULT IPropertyPage2_GetPageInfo(IPropertyPage2* This,PROPPAGEINFO *pPageInfo) {
2438    return This->lpVtbl->GetPageInfo(This,pPageInfo);
2439}
2440static FORCEINLINE HRESULT IPropertyPage2_SetObjects(IPropertyPage2* This,ULONG cObjects,IUnknown **ppUnk) {
2441    return This->lpVtbl->SetObjects(This,cObjects,ppUnk);
2442}
2443static FORCEINLINE HRESULT IPropertyPage2_Show(IPropertyPage2* This,UINT nCmdShow) {
2444    return This->lpVtbl->Show(This,nCmdShow);
2445}
2446static FORCEINLINE HRESULT IPropertyPage2_Move(IPropertyPage2* This,LPCRECT pRect) {
2447    return This->lpVtbl->Move(This,pRect);
2448}
2449static FORCEINLINE HRESULT IPropertyPage2_IsPageDirty(IPropertyPage2* This) {
2450    return This->lpVtbl->IsPageDirty(This);
2451}
2452static FORCEINLINE HRESULT IPropertyPage2_Apply(IPropertyPage2* This) {
2453    return This->lpVtbl->Apply(This);
2454}
2455static FORCEINLINE HRESULT IPropertyPage2_Help(IPropertyPage2* This,LPCOLESTR pszHelpDir) {
2456    return This->lpVtbl->Help(This,pszHelpDir);
2457}
2458static FORCEINLINE HRESULT IPropertyPage2_TranslateAccelerator(IPropertyPage2* This,MSG *pMsg) {
2459    return This->lpVtbl->TranslateAccelerator(This,pMsg);
2460}
2461/*** IPropertyPage2 methods ***/
2462static FORCEINLINE HRESULT IPropertyPage2_EditProperty(IPropertyPage2* This,DISPID dispID) {
2463    return This->lpVtbl->EditProperty(This,dispID);
2464}
2465#endif
2466#endif
2467
2468#endif
2469
2470HRESULT STDMETHODCALLTYPE IPropertyPage2_EditProperty_Proxy(
2471    IPropertyPage2* This,
2472    DISPID dispID);
2473void __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
2488typedef IPropertyPageSite *LPPROPERTYPAGESITE;
2489
2490typedef enum tagPROPPAGESTATUS {
2491    PROPPAGESTATUS_DIRTY = 0x1,
2492    PROPPAGESTATUS_VALIDATE = 0x2,
2493    PROPPAGESTATUS_CLEAN = 0x4
2494} PROPPAGESTATUS;
2495
2496DEFINE_GUID(IID_IPropertyPageSite, 0xb196b28c, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2497#if defined(__cplusplus) && !defined(CINTERFACE)
2498MIDL_INTERFACE("b196b28c-bab4-101a-b69c-00aa00341d07")
2499IPropertyPageSite : 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
2518typedef 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;
2552interface 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 ***/
2569static FORCEINLINE HRESULT IPropertyPageSite_QueryInterface(IPropertyPageSite* This,REFIID riid,void **ppvObject) {
2570    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2571}
2572static FORCEINLINE ULONG IPropertyPageSite_AddRef(IPropertyPageSite* This) {
2573    return This->lpVtbl->AddRef(This);
2574}
2575static FORCEINLINE ULONG IPropertyPageSite_Release(IPropertyPageSite* This) {
2576    return This->lpVtbl->Release(This);
2577}
2578/*** IPropertyPageSite methods ***/
2579static FORCEINLINE HRESULT IPropertyPageSite_OnStatusChange(IPropertyPageSite* This,DWORD dwFlags) {
2580    return This->lpVtbl->OnStatusChange(This,dwFlags);
2581}
2582static FORCEINLINE HRESULT IPropertyPageSite_GetLocaleID(IPropertyPageSite* This,LCID *pLocaleID) {
2583    return This->lpVtbl->GetLocaleID(This,pLocaleID);
2584}
2585static FORCEINLINE HRESULT IPropertyPageSite_GetPageContainer(IPropertyPageSite* This,IUnknown **ppUnk) {
2586    return This->lpVtbl->GetPageContainer(This,ppUnk);
2587}
2588static FORCEINLINE HRESULT IPropertyPageSite_TranslateAccelerator(IPropertyPageSite* This,MSG *pMsg) {
2589    return This->lpVtbl->TranslateAccelerator(This,pMsg);
2590}
2591#endif
2592#endif
2593
2594#endif
2595
2596HRESULT STDMETHODCALLTYPE IPropertyPageSite_OnStatusChange_Proxy(
2597    IPropertyPageSite* This,
2598    DWORD dwFlags);
2599void __RPC_STUB IPropertyPageSite_OnStatusChange_Stub(
2600    IRpcStubBuffer* This,
2601    IRpcChannelBuffer* pRpcChannelBuffer,
2602    PRPC_MESSAGE pRpcMessage,
2603    DWORD* pdwStubPhase);
2604HRESULT STDMETHODCALLTYPE IPropertyPageSite_GetLocaleID_Proxy(
2605    IPropertyPageSite* This,
2606    LCID *pLocaleID);
2607void __RPC_STUB IPropertyPageSite_GetLocaleID_Stub(
2608    IRpcStubBuffer* This,
2609    IRpcChannelBuffer* pRpcChannelBuffer,
2610    PRPC_MESSAGE pRpcMessage,
2611    DWORD* pdwStubPhase);
2612HRESULT STDMETHODCALLTYPE IPropertyPageSite_GetPageContainer_Proxy(
2613    IPropertyPageSite* This,
2614    IUnknown **ppUnk);
2615void __RPC_STUB IPropertyPageSite_GetPageContainer_Stub(
2616    IRpcStubBuffer* This,
2617    IRpcChannelBuffer* pRpcChannelBuffer,
2618    PRPC_MESSAGE pRpcMessage,
2619    DWORD* pdwStubPhase);
2620HRESULT STDMETHODCALLTYPE IPropertyPageSite_TranslateAccelerator_Proxy(
2621    IPropertyPageSite* This,
2622    MSG *pMsg);
2623void __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
2638typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
2639
2640DEFINE_GUID(IID_IPropertyNotifySink, 0x9bfbbc02, 0xeff1, 0x101a, 0x84,0xed, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2641#if defined(__cplusplus) && !defined(CINTERFACE)
2642MIDL_INTERFACE("9bfbbc02-eff1-101a-84ed-00aa00341d07")
2643IPropertyNotifySink : 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
2656typedef 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;
2682interface 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 ***/
2697static FORCEINLINE HRESULT IPropertyNotifySink_QueryInterface(IPropertyNotifySink* This,REFIID riid,void **ppvObject) {
2698    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2699}
2700static FORCEINLINE ULONG IPropertyNotifySink_AddRef(IPropertyNotifySink* This) {
2701    return This->lpVtbl->AddRef(This);
2702}
2703static FORCEINLINE ULONG IPropertyNotifySink_Release(IPropertyNotifySink* This) {
2704    return This->lpVtbl->Release(This);
2705}
2706/*** IPropertyNotifySink methods ***/
2707static FORCEINLINE HRESULT IPropertyNotifySink_OnChanged(IPropertyNotifySink* This,DISPID dispID) {
2708    return This->lpVtbl->OnChanged(This,dispID);
2709}
2710static FORCEINLINE HRESULT IPropertyNotifySink_OnRequestEdit(IPropertyNotifySink* This,DISPID dispID) {
2711    return This->lpVtbl->OnRequestEdit(This,dispID);
2712}
2713#endif
2714#endif
2715
2716#endif
2717
2718HRESULT STDMETHODCALLTYPE IPropertyNotifySink_OnChanged_Proxy(
2719    IPropertyNotifySink* This,
2720    DISPID dispID);
2721void __RPC_STUB IPropertyNotifySink_OnChanged_Stub(
2722    IRpcStubBuffer* This,
2723    IRpcChannelBuffer* pRpcChannelBuffer,
2724    PRPC_MESSAGE pRpcMessage,
2725    DWORD* pdwStubPhase);
2726HRESULT STDMETHODCALLTYPE IPropertyNotifySink_OnRequestEdit_Proxy(
2727    IPropertyNotifySink* This,
2728    DISPID dispID);
2729void __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
2744typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
2745
2746typedef struct tagCAUUID {
2747    ULONG cElems;
2748    GUID *pElems;
2749} CAUUID;
2750
2751typedef struct tagCAUUID *LPCAUUID;
2752
2753DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6,0x9c, 0x00,0xaa,0x00,0x34,0x1d,0x07);
2754#if defined(__cplusplus) && !defined(CINTERFACE)
2755MIDL_INTERFACE("b196b28b-bab4-101a-b69c-00aa00341d07")
2756ISpecifyPropertyPages : 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
2766typedef 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;
2788interface 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 ***/
2802static FORCEINLINE HRESULT ISpecifyPropertyPages_QueryInterface(ISpecifyPropertyPages* This,REFIID riid,void **ppvObject) {
2803    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2804}
2805static FORCEINLINE ULONG ISpecifyPropertyPages_AddRef(ISpecifyPropertyPages* This) {
2806    return This->lpVtbl->AddRef(This);
2807}
2808static FORCEINLINE ULONG ISpecifyPropertyPages_Release(ISpecifyPropertyPages* This) {
2809    return This->lpVtbl->Release(This);
2810}
2811/*** ISpecifyPropertyPages methods ***/
2812static FORCEINLINE HRESULT ISpecifyPropertyPages_GetPages(ISpecifyPropertyPages* This,CAUUID *pPages) {
2813    return This->lpVtbl->GetPages(This,pPages);
2814}
2815#endif
2816#endif
2817
2818#endif
2819
2820HRESULT STDMETHODCALLTYPE ISpecifyPropertyPages_GetPages_Proxy(
2821    ISpecifyPropertyPages* This,
2822    CAUUID *pPages);
2823void __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
2838typedef IPersistMemory *LPPERSISTMEMORY;
2839
2840DEFINE_GUID(IID_IPersistMemory, 0xbd1ae5e0, 0xa6ae, 0x11ce, 0xbd,0x37, 0x50,0x42,0x00,0xc1,0x00,0x00);
2841#if defined(__cplusplus) && !defined(CINTERFACE)
2842MIDL_INTERFACE("bd1ae5e0-a6ae-11ce-bd37-504200c10000")
2843IPersistMemory : 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
2868typedef 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;
2912interface 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 ***/
2932static FORCEINLINE HRESULT IPersistMemory_QueryInterface(IPersistMemory* This,REFIID riid,void **ppvObject) {
2933    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2934}
2935static FORCEINLINE ULONG IPersistMemory_AddRef(IPersistMemory* This) {
2936    return This->lpVtbl->AddRef(This);
2937}
2938static FORCEINLINE ULONG IPersistMemory_Release(IPersistMemory* This) {
2939    return This->lpVtbl->Release(This);
2940}
2941/*** IPersist methods ***/
2942static FORCEINLINE HRESULT IPersistMemory_GetClassID(IPersistMemory* This,CLSID *pClassID) {
2943    return This->lpVtbl->GetClassID(This,pClassID);
2944}
2945/*** IPersistMemory methods ***/
2946static FORCEINLINE HRESULT IPersistMemory_IsDirty(IPersistMemory* This) {
2947    return This->lpVtbl->IsDirty(This);
2948}
2949static FORCEINLINE HRESULT IPersistMemory_Load(IPersistMemory* This,LPVOID pMem,ULONG cbSize) {
2950    return This->lpVtbl->Load(This,pMem,cbSize);
2951}
2952static FORCEINLINE HRESULT IPersistMemory_Save(IPersistMemory* This,LPVOID pMem,WINBOOL fClearDirty,ULONG cbSize) {
2953    return This->lpVtbl->Save(This,pMem,fClearDirty,cbSize);
2954}
2955static FORCEINLINE HRESULT IPersistMemory_GetSizeMax(IPersistMemory* This,ULONG *pCbSize) {
2956    return This->lpVtbl->GetSizeMax(This,pCbSize);
2957}
2958static FORCEINLINE HRESULT IPersistMemory_InitNew(IPersistMemory* This) {
2959    return This->lpVtbl->InitNew(This);
2960}
2961#endif
2962#endif
2963
2964#endif
2965
2966HRESULT STDMETHODCALLTYPE IPersistMemory_IsDirty_Proxy(
2967    IPersistMemory* This);
2968void __RPC_STUB IPersistMemory_IsDirty_Stub(
2969    IRpcStubBuffer* This,
2970    IRpcChannelBuffer* pRpcChannelBuffer,
2971    PRPC_MESSAGE pRpcMessage,
2972    DWORD* pdwStubPhase);
2973HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteLoad_Proxy(
2974    IPersistMemory* This,
2975    BYTE *pMem,
2976    ULONG cbSize);
2977void __RPC_STUB IPersistMemory_RemoteLoad_Stub(
2978    IRpcStubBuffer* This,
2979    IRpcChannelBuffer* pRpcChannelBuffer,
2980    PRPC_MESSAGE pRpcMessage,
2981    DWORD* pdwStubPhase);
2982HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteSave_Proxy(
2983    IPersistMemory* This,
2984    BYTE *pMem,
2985    WINBOOL fClearDirty,
2986    ULONG cbSize);
2987void __RPC_STUB IPersistMemory_RemoteSave_Stub(
2988    IRpcStubBuffer* This,
2989    IRpcChannelBuffer* pRpcChannelBuffer,
2990    PRPC_MESSAGE pRpcMessage,
2991    DWORD* pdwStubPhase);
2992HRESULT STDMETHODCALLTYPE IPersistMemory_GetSizeMax_Proxy(
2993    IPersistMemory* This,
2994    ULONG *pCbSize);
2995void __RPC_STUB IPersistMemory_GetSizeMax_Stub(
2996    IRpcStubBuffer* This,
2997    IRpcChannelBuffer* pRpcChannelBuffer,
2998    PRPC_MESSAGE pRpcMessage,
2999    DWORD* pdwStubPhase);
3000HRESULT STDMETHODCALLTYPE IPersistMemory_InitNew_Proxy(
3001    IPersistMemory* This);
3002void __RPC_STUB IPersistMemory_InitNew_Stub(
3003    IRpcStubBuffer* This,
3004    IRpcChannelBuffer* pRpcChannelBuffer,
3005    PRPC_MESSAGE pRpcMessage,
3006    DWORD* pdwStubPhase);
3007HRESULT CALLBACK IPersistMemory_Load_Proxy(
3008    IPersistMemory* This,
3009    LPVOID pMem,
3010    ULONG cbSize);
3011HRESULT __RPC_STUB IPersistMemory_Load_Stub(
3012    IPersistMemory* This,
3013    BYTE *pMem,
3014    ULONG cbSize);
3015HRESULT CALLBACK IPersistMemory_Save_Proxy(
3016    IPersistMemory* This,
3017    LPVOID pMem,
3018    WINBOOL fClearDirty,
3019    ULONG cbSize);
3020HRESULT __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
3035typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
3036
3037DEFINE_GUID(IID_IPersistStreamInit, 0x7fd52380, 0x4e07, 0x101b, 0xae,0x2d, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
3038#if defined(__cplusplus) && !defined(CINTERFACE)
3039MIDL_INTERFACE("7fd52380-4e07-101b-ae2d-08002b2ec713")
3040IPersistStreamInit : 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
3063typedef 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;
3105interface 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 ***/
3125static FORCEINLINE HRESULT IPersistStreamInit_QueryInterface(IPersistStreamInit* This,REFIID riid,void **ppvObject) {
3126    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3127}
3128static FORCEINLINE ULONG IPersistStreamInit_AddRef(IPersistStreamInit* This) {
3129    return This->lpVtbl->AddRef(This);
3130}
3131static FORCEINLINE ULONG IPersistStreamInit_Release(IPersistStreamInit* This) {
3132    return This->lpVtbl->Release(This);
3133}
3134/*** IPersist methods ***/
3135static FORCEINLINE HRESULT IPersistStreamInit_GetClassID(IPersistStreamInit* This,CLSID *pClassID) {
3136    return This->lpVtbl->GetClassID(This,pClassID);
3137}
3138/*** IPersistStreamInit methods ***/
3139static FORCEINLINE HRESULT IPersistStreamInit_IsDirty(IPersistStreamInit* This) {
3140    return This->lpVtbl->IsDirty(This);
3141}
3142static FORCEINLINE HRESULT IPersistStreamInit_Load(IPersistStreamInit* This,LPSTREAM pStm) {
3143    return This->lpVtbl->Load(This,pStm);
3144}
3145static FORCEINLINE HRESULT IPersistStreamInit_Save(IPersistStreamInit* This,LPSTREAM pStm,WINBOOL fClearDirty) {
3146    return This->lpVtbl->Save(This,pStm,fClearDirty);
3147}
3148static FORCEINLINE HRESULT IPersistStreamInit_GetSizeMax(IPersistStreamInit* This,ULARGE_INTEGER *pCbSize) {
3149    return This->lpVtbl->GetSizeMax(This,pCbSize);
3150}
3151static FORCEINLINE HRESULT IPersistStreamInit_InitNew(IPersistStreamInit* This) {
3152    return This->lpVtbl->InitNew(This);
3153}
3154#endif
3155#endif
3156
3157#endif
3158
3159HRESULT STDMETHODCALLTYPE IPersistStreamInit_IsDirty_Proxy(
3160    IPersistStreamInit* This);
3161void __RPC_STUB IPersistStreamInit_IsDirty_Stub(
3162    IRpcStubBuffer* This,
3163    IRpcChannelBuffer* pRpcChannelBuffer,
3164    PRPC_MESSAGE pRpcMessage,
3165    DWORD* pdwStubPhase);
3166HRESULT STDMETHODCALLTYPE IPersistStreamInit_Load_Proxy(
3167    IPersistStreamInit* This,
3168    LPSTREAM pStm);
3169void __RPC_STUB IPersistStreamInit_Load_Stub(
3170    IRpcStubBuffer* This,
3171    IRpcChannelBuffer* pRpcChannelBuffer,
3172    PRPC_MESSAGE pRpcMessage,
3173    DWORD* pdwStubPhase);
3174HRESULT STDMETHODCALLTYPE IPersistStreamInit_Save_Proxy(
3175    IPersistStreamInit* This,
3176    LPSTREAM pStm,
3177    WINBOOL fClearDirty);
3178void __RPC_STUB IPersistStreamInit_Save_Stub(
3179    IRpcStubBuffer* This,
3180    IRpcChannelBuffer* pRpcChannelBuffer,
3181    PRPC_MESSAGE pRpcMessage,
3182    DWORD* pdwStubPhase);
3183HRESULT STDMETHODCALLTYPE IPersistStreamInit_GetSizeMax_Proxy(
3184    IPersistStreamInit* This,
3185    ULARGE_INTEGER *pCbSize);
3186void __RPC_STUB IPersistStreamInit_GetSizeMax_Stub(
3187    IRpcStubBuffer* This,
3188    IRpcChannelBuffer* pRpcChannelBuffer,
3189    PRPC_MESSAGE pRpcMessage,
3190    DWORD* pdwStubPhase);
3191HRESULT STDMETHODCALLTYPE IPersistStreamInit_InitNew_Proxy(
3192    IPersistStreamInit* This);
3193void __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
3208typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
3209
3210DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81,0x35, 0x00,0xaa,0x00,0x4b,0xb8,0x51);
3211#if defined(__cplusplus) && !defined(CINTERFACE)
3212MIDL_INTERFACE("37d84f60-42cb-11ce-8135-00aa004bb851")
3213IPersistPropertyBag : 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
3232typedef 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;
3269interface 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 ***/
3287static FORCEINLINE HRESULT IPersistPropertyBag_QueryInterface(IPersistPropertyBag* This,REFIID riid,void **ppvObject) {
3288    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3289}
3290static FORCEINLINE ULONG IPersistPropertyBag_AddRef(IPersistPropertyBag* This) {
3291    return This->lpVtbl->AddRef(This);
3292}
3293static FORCEINLINE ULONG IPersistPropertyBag_Release(IPersistPropertyBag* This) {
3294    return This->lpVtbl->Release(This);
3295}
3296/*** IPersist methods ***/
3297static FORCEINLINE HRESULT IPersistPropertyBag_GetClassID(IPersistPropertyBag* This,CLSID *pClassID) {
3298    return This->lpVtbl->GetClassID(This,pClassID);
3299}
3300/*** IPersistPropertyBag methods ***/
3301static FORCEINLINE HRESULT IPersistPropertyBag_InitNew(IPersistPropertyBag* This) {
3302    return This->lpVtbl->InitNew(This);
3303}
3304static FORCEINLINE HRESULT IPersistPropertyBag_Load(IPersistPropertyBag* This,IPropertyBag *pPropBag,IErrorLog *pErrorLog) {
3305    return This->lpVtbl->Load(This,pPropBag,pErrorLog);
3306}
3307static 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
3315HRESULT STDMETHODCALLTYPE IPersistPropertyBag_InitNew_Proxy(
3316    IPersistPropertyBag* This);
3317void __RPC_STUB IPersistPropertyBag_InitNew_Stub(
3318    IRpcStubBuffer* This,
3319    IRpcChannelBuffer* pRpcChannelBuffer,
3320    PRPC_MESSAGE pRpcMessage,
3321    DWORD* pdwStubPhase);
3322HRESULT STDMETHODCALLTYPE IPersistPropertyBag_Load_Proxy(
3323    IPersistPropertyBag* This,
3324    IPropertyBag *pPropBag,
3325    IErrorLog *pErrorLog);
3326void __RPC_STUB IPersistPropertyBag_Load_Stub(
3327    IRpcStubBuffer* This,
3328    IRpcChannelBuffer* pRpcChannelBuffer,
3329    PRPC_MESSAGE pRpcMessage,
3330    DWORD* pdwStubPhase);
3331HRESULT STDMETHODCALLTYPE IPersistPropertyBag_Save_Proxy(
3332    IPersistPropertyBag* This,
3333    IPropertyBag *pPropBag,
3334    WINBOOL fClearDirty,
3335    WINBOOL fSaveAllProperties);
3336void __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
3351typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
3352
3353DEFINE_GUID(IID_ISimpleFrameSite, 0x742b0e01, 0x14e6, 0x101b, 0x91,0x4e, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3354#if defined(__cplusplus) && !defined(CINTERFACE)
3355MIDL_INTERFACE("742b0e01-14e6-101b-914e-00aa00300cab")
3356ISimpleFrameSite : 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
3379typedef 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;
3415interface 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 ***/
3430static FORCEINLINE HRESULT ISimpleFrameSite_QueryInterface(ISimpleFrameSite* This,REFIID riid,void **ppvObject) {
3431    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3432}
3433static FORCEINLINE ULONG ISimpleFrameSite_AddRef(ISimpleFrameSite* This) {
3434    return This->lpVtbl->AddRef(This);
3435}
3436static FORCEINLINE ULONG ISimpleFrameSite_Release(ISimpleFrameSite* This) {
3437    return This->lpVtbl->Release(This);
3438}
3439/*** ISimpleFrameSite methods ***/
3440static 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}
3443static 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
3451HRESULT 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);
3459void __RPC_STUB ISimpleFrameSite_PreMessageFilter_Stub(
3460    IRpcStubBuffer* This,
3461    IRpcChannelBuffer* pRpcChannelBuffer,
3462    PRPC_MESSAGE pRpcMessage,
3463    DWORD* pdwStubPhase);
3464HRESULT 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);
3472void __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
3487typedef IFont *LPFONT;
3488
3489#ifndef OLE2ANSI
3490typedef TEXTMETRICW TEXTMETRICOLE;
3491#else
3492typedef TEXTMETRIC TEXTMETRICOLE;
3493#endif
3494
3495typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
3496
3497DEFINE_GUID(IID_IFont, 0xbef6e002, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab);
3498#if defined(__cplusplus) && !defined(CINTERFACE)
3499MIDL_INTERFACE("bef6e002-a874-101a-8bba-00aa00300cab")
3500IFont : 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
3580typedef 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;
3695interface 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 ***/
3732static FORCEINLINE HRESULT IFont_QueryInterface(IFont* This,REFIID riid,void **ppvObject) {
3733    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3734}
3735static FORCEINLINE ULONG IFont_AddRef(IFont* This) {
3736    return This->lpVtbl->AddRef(This);
3737}
3738static FORCEINLINE ULONG IFont_Release(IFont* This) {
3739    return This->lpVtbl->Release(This);
3740}
3741/*** IFont methods ***/
3742static FORCEINLINE HRESULT IFont_get_Name(IFont* This,BSTR *pName) {
3743    return This->lpVtbl->get_Name(This,pName);
3744}
3745static FORCEINLINE HRESULT IFont_put_Name(IFont* This,BSTR name) {
3746    return This->lpVtbl->put_Name(This,name);
3747}
3748static FORCEINLINE HRESULT IFont_get_Size(IFont* This,CY *pSize) {
3749    return This->lpVtbl->get_Size(This,pSize);
3750}
3751static FORCEINLINE HRESULT IFont_put_Size(IFont* This,CY size) {
3752    return This->lpVtbl->put_Size(This,size);
3753}
3754static FORCEINLINE HRESULT IFont_get_Bold(IFont* This,WINBOOL *pBold) {
3755    return This->lpVtbl->get_Bold(This,pBold);
3756}
3757static FORCEINLINE HRESULT IFont_put_Bold(IFont* This,WINBOOL bold) {
3758    return This->lpVtbl->put_Bold(This,bold);
3759}
3760static FORCEINLINE HRESULT IFont_get_Italic(IFont* This,WINBOOL *pItalic) {
3761    return This->lpVtbl->get_Italic(This,pItalic);
3762}
3763static FORCEINLINE HRESULT IFont_put_Italic(IFont* This,WINBOOL italic) {
3764    return This->lpVtbl->put_Italic(This,italic);
3765}
3766static FORCEINLINE HRESULT IFont_get_Underline(IFont* This,WINBOOL *pUnderline) {
3767    return This->lpVtbl->get_Underline(This,pUnderline);
3768}
3769static FORCEINLINE HRESULT IFont_put_Underline(IFont* This,WINBOOL underline) {
3770    return This->lpVtbl->put_Underline(This,underline);
3771}
3772static FORCEINLINE HRESULT IFont_get_Strikethrough(IFont* This,WINBOOL *pStrikethrough) {
3773    return This->lpVtbl->get_Strikethrough(This,pStrikethrough);
3774}
3775static FORCEINLINE HRESULT IFont_put_Strikethrough(IFont* This,WINBOOL strikethrough) {
3776    return This->lpVtbl->put_Strikethrough(This,strikethrough);
3777}
3778static FORCEINLINE HRESULT IFont_get_Weight(IFont* This,SHORT *pWeight) {
3779    return This->lpVtbl->get_Weight(This,pWeight);
3780}
3781static FORCEINLINE HRESULT IFont_put_Weight(IFont* This,SHORT weight) {
3782    return This->lpVtbl->put_Weight(This,weight);
3783}
3784static FORCEINLINE HRESULT IFont_get_Charset(IFont* This,SHORT *pCharset) {
3785    return This->lpVtbl->get_Charset(This,pCharset);
3786}
3787static FORCEINLINE HRESULT IFont_put_Charset(IFont* This,SHORT charset) {
3788    return This->lpVtbl->put_Charset(This,charset);
3789}
3790static FORCEINLINE HRESULT IFont_get_hFont(IFont* This,HFONT *phFont) {
3791    return This->lpVtbl->get_hFont(This,phFont);
3792}
3793static FORCEINLINE HRESULT IFont_Clone(IFont* This,IFont **ppFont) {
3794    return This->lpVtbl->Clone(This,ppFont);
3795}
3796static FORCEINLINE HRESULT IFont_IsEqual(IFont* This,IFont *pFontOther) {
3797    return This->lpVtbl->IsEqual(This,pFontOther);
3798}
3799static FORCEINLINE HRESULT IFont_SetRatio(IFont* This,LONG cyLogical,LONG cyHimetric) {
3800    return This->lpVtbl->SetRatio(This,cyLogical,cyHimetric);
3801}
3802static FORCEINLINE HRESULT IFont_QueryTextMetrics(IFont* This,TEXTMETRICOLE *pTM) {
3803    return This->lpVtbl->QueryTextMetrics(This,pTM);
3804}
3805static FORCEINLINE HRESULT IFont_AddRefHfont(IFont* This,HFONT hFont) {
3806    return This->lpVtbl->AddRefHfont(This,hFont);
3807}
3808static FORCEINLINE HRESULT IFont_ReleaseHfont(IFont* This,HFONT hFont) {
3809    return This->lpVtbl->ReleaseHfont(This,hFont);
3810}
3811static FORCEINLINE HRESULT IFont_SetHdc(IFont* This,HDC hDC) {
3812    return This->lpVtbl->SetHdc(This,hDC);
3813}
3814#endif
3815#endif
3816
3817#endif
3818
3819HRESULT STDMETHODCALLTYPE IFont_get_Name_Proxy(
3820    IFont* This,
3821    BSTR *pName);
3822void __RPC_STUB IFont_get_Name_Stub(
3823    IRpcStubBuffer* This,
3824    IRpcChannelBuffer* pRpcChannelBuffer,
3825    PRPC_MESSAGE pRpcMessage,
3826    DWORD* pdwStubPhase);
3827HRESULT STDMETHODCALLTYPE IFont_put_Name_Proxy(
3828    IFont* This,
3829    BSTR name);
3830void __RPC_STUB IFont_put_Name_Stub(
3831    IRpcStubBuffer* This,
3832    IRpcChannelBuffer* pRpcChannelBuffer,
3833    PRPC_MESSAGE pRpcMessage,
3834    DWORD* pdwStubPhase);
3835HRESULT STDMETHODCALLTYPE IFont_get_Size_Proxy(
3836    IFont* This,
3837    CY *pSize);
3838void __RPC_STUB IFont_get_Size_Stub(
3839    IRpcStubBuffer* This,
3840    IRpcChannelBuffer* pRpcChannelBuffer,
3841    PRPC_MESSAGE pRpcMessage,
3842    DWORD* pdwStubPhase);
3843HRESULT STDMETHODCALLTYPE IFont_put_Size_Proxy(
3844    IFont* This,
3845    CY size);
3846void __RPC_STUB IFont_put_Size_Stub(
3847    IRpcStubBuffer* This,
3848    IRpcChannelBuffer* pRpcChannelBuffer,
3849    PRPC_MESSAGE pRpcMessage,
3850    DWORD* pdwStubPhase);
3851HRESULT STDMETHODCALLTYPE IFont_get_Bold_Proxy(
3852    IFont* This,
3853    WINBOOL *pBold);
3854void __RPC_STUB IFont_get_Bold_Stub(
3855    IRpcStubBuffer* This,
3856    IRpcChannelBuffer* pRpcChannelBuffer,
3857    PRPC_MESSAGE pRpcMessage,
3858    DWORD* pdwStubPhase);
3859HRESULT STDMETHODCALLTYPE IFont_put_Bold_Proxy(
3860    IFont* This,
3861    WINBOOL bold);
3862void __RPC_STUB IFont_put_Bold_Stub(
3863    IRpcStubBuffer* This,
3864    IRpcChannelBuffer* pRpcChannelBuffer,
3865    PRPC_MESSAGE pRpcMessage,
3866    DWORD* pdwStubPhase);
3867HRESULT STDMETHODCALLTYPE IFont_get_Italic_Proxy(
3868    IFont* This,
3869    WINBOOL *pItalic);
3870void __RPC_STUB IFont_get_Italic_Stub(
3871    IRpcStubBuffer* This,
3872    IRpcChannelBuffer* pRpcChannelBuffer,
3873    PRPC_MESSAGE pRpcMessage,
3874    DWORD* pdwStubPhase);
3875HRESULT STDMETHODCALLTYPE IFont_put_Italic_Proxy(
3876    IFont* This,
3877    WINBOOL italic);
3878void __RPC_STUB IFont_put_Italic_Stub(
3879    IRpcStubBuffer* This,
3880    IRpcChannelBuffer* pRpcChannelBuffer,
3881    PRPC_MESSAGE pRpcMessage,
3882    DWORD* pdwStubPhase);
3883HRESULT STDMETHODCALLTYPE IFont_get_Underline_Proxy(
3884    IFont* This,
3885    WINBOOL *pUnderline);
3886void __RPC_STUB IFont_get_Underline_Stub(
3887    IRpcStubBuffer* This,
3888    IRpcChannelBuffer* pRpcChannelBuffer,
3889    PRPC_MESSAGE pRpcMessage,
3890    DWORD* pdwStubPhase);
3891HRESULT STDMETHODCALLTYPE IFont_put_Underline_Proxy(
3892    IFont* This,
3893    WINBOOL underline);
3894void __RPC_STUB IFont_put_Underline_Stub(
3895    IRpcStubBuffer* This,
3896    IRpcChannelBuffer* pRpcChannelBuffer,
3897    PRPC_MESSAGE pRpcMessage,
3898    DWORD* pdwStubPhase);
3899HRESULT STDMETHODCALLTYPE IFont_get_Strikethrough_Proxy(
3900    IFont* This,
3901    WINBOOL *pStrikethrough);
3902void __RPC_STUB IFont_get_Strikethrough_Stub(
3903    IRpcStubBuffer* This,
3904    IRpcChannelBuffer* pRpcChannelBuffer,
3905    PRPC_MESSAGE pRpcMessage,
3906    DWORD* pdwStubPhase);
3907HRESULT STDMETHODCALLTYPE IFont_put_Strikethrough_Proxy(
3908    IFont* This,
3909    WINBOOL strikethrough);
3910void __RPC_STUB IFont_put_Strikethrough_Stub(
3911    IRpcStubBuffer* This,
3912    IRpcChannelBuffer* pRpcChannelBuffer,
3913    PRPC_MESSAGE pRpcMessage,
3914    DWORD* pdwStubPhase);
3915HRESULT STDMETHODCALLTYPE IFont_get_Weight_Proxy(
3916    IFont* This,
3917    SHORT *pWeight);
3918void __RPC_STUB IFont_get_Weight_Stub(
3919    IRpcStubBuffer* This,
3920    IRpcChannelBuffer* pRpcChannelBuffer,
3921    PRPC_MESSAGE pRpcMessage,
3922    DWORD* pdwStubPhase);
3923HRESULT STDMETHODCALLTYPE IFont_put_Weight_Proxy(
3924    IFont* This,
3925    SHORT weight);
3926void __RPC_STUB IFont_put_Weight_Stub(
3927    IRpcStubBuffer* This,
3928    IRpcChannelBuffer* pRpcChannelBuffer,
3929    PRPC_MESSAGE pRpcMessage,
3930    DWORD* pdwStubPhase);
3931HRESULT STDMETHODCALLTYPE IFont_get_Charset_Proxy(
3932    IFont* This,
3933    SHORT *pCharset);
3934void __RPC_STUB IFont_get_Charset_Stub(
3935    IRpcStubBuffer* This,
3936    IRpcChannelBuffer* pRpcChannelBuffer,
3937    PRPC_MESSAGE pRpcMessage,
3938    DWORD* pdwStubPhase);
3939HRESULT STDMETHODCALLTYPE IFont_put_Charset_Proxy(
3940    IFont* This,
3941    SHORT charset);
3942void __RPC_STUB IFont_put_Charset_Stub(
3943    IRpcStubBuffer* This,
3944    IRpcChannelBuffer* pRpcChannelBuffer,
3945    PRPC_MESSAGE pRpcMessage,
3946    DWORD* pdwStubPhase);
3947HRESULT STDMETHODCALLTYPE IFont_get_hFont_Proxy(
3948    IFont* This,
3949    HFONT *phFont);
3950void __RPC_STUB IFont_get_hFont_Stub(
3951    IRpcStubBuffer* This,
3952    IRpcChannelBuffer* pRpcChannelBuffer,
3953    PRPC_MESSAGE pRpcMessage,
3954    DWORD* pdwStubPhase);
3955HRESULT STDMETHODCALLTYPE IFont_Clone_Proxy(
3956    IFont* This,
3957    IFont **ppFont);
3958void __RPC_STUB IFont_Clone_Stub(
3959    IRpcStubBuffer* This,
3960    IRpcChannelBuffer* pRpcChannelBuffer,
3961    PRPC_MESSAGE pRpcMessage,
3962    DWORD* pdwStubPhase);
3963HRESULT STDMETHODCALLTYPE IFont_IsEqual_Proxy(
3964    IFont* This,
3965    IFont *pFontOther);
3966void __RPC_STUB IFont_IsEqual_Stub(
3967    IRpcStubBuffer* This,
3968    IRpcChannelBuffer* pRpcChannelBuffer,
3969    PRPC_MESSAGE pRpcMessage,
3970    DWORD* pdwStubPhase);
3971HRESULT STDMETHODCALLTYPE IFont_SetRatio_Proxy(
3972    IFont* This,
3973    LONG cyLogical,
3974    LONG cyHimetric);
3975void __RPC_STUB IFont_SetRatio_Stub(
3976    IRpcStubBuffer* This,
3977    IRpcChannelBuffer* pRpcChannelBuffer,
3978    PRPC_MESSAGE pRpcMessage,
3979    DWORD* pdwStubPhase);
3980HRESULT STDMETHODCALLTYPE IFont_QueryTextMetrics_Proxy(
3981    IFont* This,
3982    TEXTMETRICOLE *pTM);
3983void __RPC_STUB IFont_QueryTextMetrics_Stub(
3984    IRpcStubBuffer* This,
3985    IRpcChannelBuffer* pRpcChannelBuffer,
3986    PRPC_MESSAGE pRpcMessage,
3987    DWORD* pdwStubPhase);
3988HRESULT STDMETHODCALLTYPE IFont_AddRefHfont_Proxy(
3989    IFont* This,
3990    HFONT hFont);
3991void __RPC_STUB IFont_AddRefHfont_Stub(
3992    IRpcStubBuffer* This,
3993    IRpcChannelBuffer* pRpcChannelBuffer,
3994    PRPC_MESSAGE pRpcMessage,
3995    DWORD* pdwStubPhase);
3996HRESULT STDMETHODCALLTYPE IFont_ReleaseHfont_Proxy(
3997    IFont* This,
3998    HFONT hFont);
3999void __RPC_STUB IFont_ReleaseHfont_Stub(
4000    IRpcStubBuffer* This,
4001    IRpcChannelBuffer* pRpcChannelBuffer,
4002    PRPC_MESSAGE pRpcMessage,
4003    DWORD* pdwStubPhase);
4004HRESULT STDMETHODCALLTYPE IFont_SetHdc_Proxy(
4005    IFont* This,
4006    HDC hDC);
4007void __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
4022typedef IPicture *LPPICTURE;
4023
4024typedef enum tagPictureAttributes {
4025    PICTURE_SCALABLE = 0x1,
4026    PICTURE_TRANSPARENT = 0x2
4027} PICTUREATTRIBUTES;
4028
4029typedef UINT OLE_HANDLE;
4030typedef LONG OLE_XPOS_HIMETRIC;
4031typedef LONG OLE_YPOS_HIMETRIC;
4032typedef LONG OLE_XSIZE_HIMETRIC;
4033typedef LONG OLE_YSIZE_HIMETRIC;
4034
4035DEFINE_GUID(IID_IPicture, 0x7bf80980, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab);
4036#if defined(__cplusplus) && !defined(CINTERFACE)
4037MIDL_INTERFACE("7bf80980-bf32-101a-8bbb-00aa00300cab")
4038IPicture : 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
4100typedef 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;
4186interface 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 ***/
4213static FORCEINLINE HRESULT IPicture_QueryInterface(IPicture* This,REFIID riid,void **ppvObject) {
4214    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4215}
4216static FORCEINLINE ULONG IPicture_AddRef(IPicture* This) {
4217    return This->lpVtbl->AddRef(This);
4218}
4219static FORCEINLINE ULONG IPicture_Release(IPicture* This) {
4220    return This->lpVtbl->Release(This);
4221}
4222/*** IPicture methods ***/
4223static FORCEINLINE HRESULT IPicture_get_Handle(IPicture* This,OLE_HANDLE *pHandle) {
4224    return This->lpVtbl->get_Handle(This,pHandle);
4225}
4226static FORCEINLINE HRESULT IPicture_get_hPal(IPicture* This,OLE_HANDLE *phPal) {
4227    return This->lpVtbl->get_hPal(This,phPal);
4228}
4229static FORCEINLINE HRESULT IPicture_get_Type(IPicture* This,SHORT *pType) {
4230    return This->lpVtbl->get_Type(This,pType);
4231}
4232static FORCEINLINE HRESULT IPicture_get_Width(IPicture* This,OLE_XSIZE_HIMETRIC *pWidth) {
4233    return This->lpVtbl->get_Width(This,pWidth);
4234}
4235static FORCEINLINE HRESULT IPicture_get_Height(IPicture* This,OLE_YSIZE_HIMETRIC *pHeight) {
4236    return This->lpVtbl->get_Height(This,pHeight);
4237}
4238static 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}
4241static FORCEINLINE HRESULT IPicture_set_hPal(IPicture* This,OLE_HANDLE hPal) {
4242    return This->lpVtbl->set_hPal(This,hPal);
4243}
4244static FORCEINLINE HRESULT IPicture_get_CurDC(IPicture* This,HDC *phDC) {
4245    return This->lpVtbl->get_CurDC(This,phDC);
4246}
4247static FORCEINLINE HRESULT IPicture_SelectPicture(IPicture* This,HDC hDCIn,HDC *phDCOut,OLE_HANDLE *phBmpOut) {
4248    return This->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut);
4249}
4250static FORCEINLINE HRESULT IPicture_get_KeepOriginalFormat(IPicture* This,WINBOOL *pKeep) {
4251    return This->lpVtbl->get_KeepOriginalFormat(This,pKeep);
4252}
4253static FORCEINLINE HRESULT IPicture_put_KeepOriginalFormat(IPicture* This,WINBOOL keep) {
4254    return This->lpVtbl->put_KeepOriginalFormat(This,keep);
4255}
4256static FORCEINLINE HRESULT IPicture_PictureChanged(IPicture* This) {
4257    return This->lpVtbl->PictureChanged(This);
4258}
4259static FORCEINLINE HRESULT IPicture_SaveAsFile(IPicture* This,LPSTREAM pStream,WINBOOL fSaveMemCopy,LONG *pCbSize) {
4260    return This->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize);
4261}
4262static 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
4270HRESULT STDMETHODCALLTYPE IPicture_get_Handle_Proxy(
4271    IPicture* This,
4272    OLE_HANDLE *pHandle);
4273void __RPC_STUB IPicture_get_Handle_Stub(
4274    IRpcStubBuffer* This,
4275    IRpcChannelBuffer* pRpcChannelBuffer,
4276    PRPC_MESSAGE pRpcMessage,
4277    DWORD* pdwStubPhase);
4278HRESULT STDMETHODCALLTYPE IPicture_get_hPal_Proxy(
4279    IPicture* This,
4280    OLE_HANDLE *phPal);
4281void __RPC_STUB IPicture_get_hPal_Stub(
4282    IRpcStubBuffer* This,
4283    IRpcChannelBuffer* pRpcChannelBuffer,
4284    PRPC_MESSAGE pRpcMessage,
4285    DWORD* pdwStubPhase);
4286HRESULT STDMETHODCALLTYPE IPicture_get_Type_Proxy(
4287    IPicture* This,
4288    SHORT *pType);
4289void __RPC_STUB IPicture_get_Type_Stub(
4290    IRpcStubBuffer* This,
4291    IRpcChannelBuffer* pRpcChannelBuffer,
4292    PRPC_MESSAGE pRpcMessage,
4293    DWORD* pdwStubPhase);
4294HRESULT STDMETHODCALLTYPE IPicture_get_Width_Proxy(
4295    IPicture* This,
4296    OLE_XSIZE_HIMETRIC *pWidth);
4297void __RPC_STUB IPicture_get_Width_Stub(
4298    IRpcStubBuffer* This,
4299    IRpcChannelBuffer* pRpcChannelBuffer,
4300    PRPC_MESSAGE pRpcMessage,
4301    DWORD* pdwStubPhase);
4302HRESULT STDMETHODCALLTYPE IPicture_get_Height_Proxy(
4303    IPicture* This,
4304    OLE_YSIZE_HIMETRIC *pHeight);
4305void __RPC_STUB IPicture_get_Height_Stub(
4306    IRpcStubBuffer* This,
4307    IRpcChannelBuffer* pRpcChannelBuffer,
4308    PRPC_MESSAGE pRpcMessage,
4309    DWORD* pdwStubPhase);
4310HRESULT 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);
4322void __RPC_STUB IPicture_Render_Stub(
4323    IRpcStubBuffer* This,
4324    IRpcChannelBuffer* pRpcChannelBuffer,
4325    PRPC_MESSAGE pRpcMessage,
4326    DWORD* pdwStubPhase);
4327HRESULT STDMETHODCALLTYPE IPicture_set_hPal_Proxy(
4328    IPicture* This,
4329    OLE_HANDLE hPal);
4330void __RPC_STUB IPicture_set_hPal_Stub(
4331    IRpcStubBuffer* This,
4332    IRpcChannelBuffer* pRpcChannelBuffer,
4333    PRPC_MESSAGE pRpcMessage,
4334    DWORD* pdwStubPhase);
4335HRESULT STDMETHODCALLTYPE IPicture_get_CurDC_Proxy(
4336    IPicture* This,
4337    HDC *phDC);
4338void __RPC_STUB IPicture_get_CurDC_Stub(
4339    IRpcStubBuffer* This,
4340    IRpcChannelBuffer* pRpcChannelBuffer,
4341    PRPC_MESSAGE pRpcMessage,
4342    DWORD* pdwStubPhase);
4343HRESULT STDMETHODCALLTYPE IPicture_SelectPicture_Proxy(
4344    IPicture* This,
4345    HDC hDCIn,
4346    HDC *phDCOut,
4347    OLE_HANDLE *phBmpOut);
4348void __RPC_STUB IPicture_SelectPicture_Stub(
4349    IRpcStubBuffer* This,
4350    IRpcChannelBuffer* pRpcChannelBuffer,
4351    PRPC_MESSAGE pRpcMessage,
4352    DWORD* pdwStubPhase);
4353HRESULT STDMETHODCALLTYPE IPicture_get_KeepOriginalFormat_Proxy(
4354    IPicture* This,
4355    WINBOOL *pKeep);
4356void __RPC_STUB IPicture_get_KeepOriginalFormat_Stub(
4357    IRpcStubBuffer* This,
4358    IRpcChannelBuffer* pRpcChannelBuffer,
4359    PRPC_MESSAGE pRpcMessage,
4360    DWORD* pdwStubPhase);
4361HRESULT STDMETHODCALLTYPE IPicture_put_KeepOriginalFormat_Proxy(
4362    IPicture* This,
4363    WINBOOL keep);
4364void __RPC_STUB IPicture_put_KeepOriginalFormat_Stub(
4365    IRpcStubBuffer* This,
4366    IRpcChannelBuffer* pRpcChannelBuffer,
4367    PRPC_MESSAGE pRpcMessage,
4368    DWORD* pdwStubPhase);
4369HRESULT STDMETHODCALLTYPE IPicture_PictureChanged_Proxy(
4370    IPicture* This);
4371void __RPC_STUB IPicture_PictureChanged_Stub(
4372    IRpcStubBuffer* This,
4373    IRpcChannelBuffer* pRpcChannelBuffer,
4374    PRPC_MESSAGE pRpcMessage,
4375    DWORD* pdwStubPhase);
4376HRESULT STDMETHODCALLTYPE IPicture_SaveAsFile_Proxy(
4377    IPicture* This,
4378    LPSTREAM pStream,
4379    WINBOOL fSaveMemCopy,
4380    LONG *pCbSize);
4381void __RPC_STUB IPicture_SaveAsFile_Stub(
4382    IRpcStubBuffer* This,
4383    IRpcChannelBuffer* pRpcChannelBuffer,
4384    PRPC_MESSAGE pRpcMessage,
4385    DWORD* pdwStubPhase);
4386HRESULT STDMETHODCALLTYPE IPicture_get_Attributes_Proxy(
4387    IPicture* This,
4388    DWORD *pDwAttr);
4389void __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
4404typedef IPicture2 *LPPICTURE2;
4405typedef UINT_PTR HHANDLE;
4406
4407DEFINE_GUID(IID_IPicture2, 0xf5185dd8, 0x2012, 0x4b0b, 0xaa,0xd9, 0xf0,0x52,0xc6,0xbd,0x48,0x2b);
4408#if defined(__cplusplus) && !defined(CINTERFACE)
4409MIDL_INTERFACE("f5185dd8-2012-4b0b-aad9-f052c6bd482b")
4410IPicture2 : 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
4472typedef 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;
4558interface 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 ***/
4585static FORCEINLINE HRESULT IPicture2_QueryInterface(IPicture2* This,REFIID riid,void **ppvObject) {
4586    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4587}
4588static FORCEINLINE ULONG IPicture2_AddRef(IPicture2* This) {
4589    return This->lpVtbl->AddRef(This);
4590}
4591static FORCEINLINE ULONG IPicture2_Release(IPicture2* This) {
4592    return This->lpVtbl->Release(This);
4593}
4594/*** IPicture2 methods ***/
4595static FORCEINLINE HRESULT IPicture2_get_Handle(IPicture2* This,HHANDLE *pHandle) {
4596    return This->lpVtbl->get_Handle(This,pHandle);
4597}
4598static FORCEINLINE HRESULT IPicture2_get_hPal(IPicture2* This,HHANDLE *phPal) {
4599    return This->lpVtbl->get_hPal(This,phPal);
4600}
4601static FORCEINLINE HRESULT IPicture2_get_Type(IPicture2* This,SHORT *pType) {
4602    return This->lpVtbl->get_Type(This,pType);
4603}
4604static FORCEINLINE HRESULT IPicture2_get_Width(IPicture2* This,OLE_XSIZE_HIMETRIC *pWidth) {
4605    return This->lpVtbl->get_Width(This,pWidth);
4606}
4607static FORCEINLINE HRESULT IPicture2_get_Height(IPicture2* This,OLE_YSIZE_HIMETRIC *pHeight) {
4608    return This->lpVtbl->get_Height(This,pHeight);
4609}
4610static 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}
4613static FORCEINLINE HRESULT IPicture2_set_hPal(IPicture2* This,HHANDLE hPal) {
4614    return This->lpVtbl->set_hPal(This,hPal);
4615}
4616static FORCEINLINE HRESULT IPicture2_get_CurDC(IPicture2* This,HDC *phDC) {
4617    return This->lpVtbl->get_CurDC(This,phDC);
4618}
4619static FORCEINLINE HRESULT IPicture2_SelectPicture(IPicture2* This,HDC hDCIn,HDC *phDCOut,HHANDLE *phBmpOut) {
4620    return This->lpVtbl->SelectPicture(This,hDCIn,phDCOut,phBmpOut);
4621}
4622static FORCEINLINE HRESULT IPicture2_get_KeepOriginalFormat(IPicture2* This,WINBOOL *pKeep) {
4623    return This->lpVtbl->get_KeepOriginalFormat(This,pKeep);
4624}
4625static FORCEINLINE HRESULT IPicture2_put_KeepOriginalFormat(IPicture2* This,WINBOOL keep) {
4626    return This->lpVtbl->put_KeepOriginalFormat(This,keep);
4627}
4628static FORCEINLINE HRESULT IPicture2_PictureChanged(IPicture2* This) {
4629    return This->lpVtbl->PictureChanged(This);
4630}
4631static FORCEINLINE HRESULT IPicture2_SaveAsFile(IPicture2* This,LPSTREAM pStream,WINBOOL fSaveMemCopy,LONG *pCbSize) {
4632    return This->lpVtbl->SaveAsFile(This,pStream,fSaveMemCopy,pCbSize);
4633}
4634static 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
4642HRESULT STDMETHODCALLTYPE IPicture2_get_Handle_Proxy(
4643    IPicture2* This,
4644    HHANDLE *pHandle);
4645void __RPC_STUB IPicture2_get_Handle_Stub(
4646    IRpcStubBuffer* This,
4647    IRpcChannelBuffer* pRpcChannelBuffer,
4648    PRPC_MESSAGE pRpcMessage,
4649    DWORD* pdwStubPhase);
4650HRESULT STDMETHODCALLTYPE IPicture2_get_hPal_Proxy(
4651    IPicture2* This,
4652    HHANDLE *phPal);
4653void __RPC_STUB IPicture2_get_hPal_Stub(
4654    IRpcStubBuffer* This,
4655    IRpcChannelBuffer* pRpcChannelBuffer,
4656    PRPC_MESSAGE pRpcMessage,
4657    DWORD* pdwStubPhase);
4658HRESULT STDMETHODCALLTYPE IPicture2_get_Type_Proxy(
4659    IPicture2* This,
4660    SHORT *pType);
4661void __RPC_STUB IPicture2_get_Type_Stub(
4662    IRpcStubBuffer* This,
4663    IRpcChannelBuffer* pRpcChannelBuffer,
4664    PRPC_MESSAGE pRpcMessage,
4665    DWORD* pdwStubPhase);
4666HRESULT STDMETHODCALLTYPE IPicture2_get_Width_Proxy(
4667    IPicture2* This,
4668    OLE_XSIZE_HIMETRIC *pWidth);
4669void __RPC_STUB IPicture2_get_Width_Stub(
4670    IRpcStubBuffer* This,
4671    IRpcChannelBuffer* pRpcChannelBuffer,
4672    PRPC_MESSAGE pRpcMessage,
4673    DWORD* pdwStubPhase);
4674HRESULT STDMETHODCALLTYPE IPicture2_get_Height_Proxy(
4675    IPicture2* This,
4676    OLE_YSIZE_HIMETRIC *pHeight);
4677void __RPC_STUB IPicture2_get_Height_Stub(
4678    IRpcStubBuffer* This,
4679    IRpcChannelBuffer* pRpcChannelBuffer,
4680    PRPC_MESSAGE pRpcMessage,
4681    DWORD* pdwStubPhase);
4682HRESULT 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);
4694void __RPC_STUB IPicture2_Render_Stub(
4695    IRpcStubBuffer* This,
4696    IRpcChannelBuffer* pRpcChannelBuffer,
4697    PRPC_MESSAGE pRpcMessage,
4698    DWORD* pdwStubPhase);
4699HRESULT STDMETHODCALLTYPE IPicture2_set_hPal_Proxy(
4700    IPicture2* This,
4701    HHANDLE hPal);
4702void __RPC_STUB IPicture2_set_hPal_Stub(
4703    IRpcStubBuffer* This,
4704    IRpcChannelBuffer* pRpcChannelBuffer,
4705    PRPC_MESSAGE pRpcMessage,
4706    DWORD* pdwStubPhase);
4707HRESULT STDMETHODCALLTYPE IPicture2_get_CurDC_Proxy(
4708    IPicture2* This,
4709    HDC *phDC);
4710void __RPC_STUB IPicture2_get_CurDC_Stub(
4711    IRpcStubBuffer* This,
4712    IRpcChannelBuffer* pRpcChannelBuffer,
4713    PRPC_MESSAGE pRpcMessage,
4714    DWORD* pdwStubPhase);
4715HRESULT STDMETHODCALLTYPE IPicture2_SelectPicture_Proxy(
4716    IPicture2* This,
4717    HDC hDCIn,
4718    HDC *phDCOut,
4719    HHANDLE *phBmpOut);
4720void __RPC_STUB IPicture2_SelectPicture_Stub(
4721    IRpcStubBuffer* This,
4722    IRpcChannelBuffer* pRpcChannelBuffer,
4723    PRPC_MESSAGE pRpcMessage,
4724    DWORD* pdwStubPhase);
4725HRESULT STDMETHODCALLTYPE IPicture2_get_KeepOriginalFormat_Proxy(
4726    IPicture2* This,
4727    WINBOOL *pKeep);
4728void __RPC_STUB IPicture2_get_KeepOriginalFormat_Stub(
4729    IRpcStubBuffer* This,
4730    IRpcChannelBuffer* pRpcChannelBuffer,
4731    PRPC_MESSAGE pRpcMessage,
4732    DWORD* pdwStubPhase);
4733HRESULT STDMETHODCALLTYPE IPicture2_put_KeepOriginalFormat_Proxy(
4734    IPicture2* This,
4735    WINBOOL keep);
4736void __RPC_STUB IPicture2_put_KeepOriginalFormat_Stub(
4737    IRpcStubBuffer* This,
4738    IRpcChannelBuffer* pRpcChannelBuffer,
4739    PRPC_MESSAGE pRpcMessage,
4740    DWORD* pdwStubPhase);
4741HRESULT STDMETHODCALLTYPE IPicture2_PictureChanged_Proxy(
4742    IPicture2* This);
4743void __RPC_STUB IPicture2_PictureChanged_Stub(
4744    IRpcStubBuffer* This,
4745    IRpcChannelBuffer* pRpcChannelBuffer,
4746    PRPC_MESSAGE pRpcMessage,
4747    DWORD* pdwStubPhase);
4748HRESULT STDMETHODCALLTYPE IPicture2_SaveAsFile_Proxy(
4749    IPicture2* This,
4750    LPSTREAM pStream,
4751    WINBOOL fSaveMemCopy,
4752    LONG *pCbSize);
4753void __RPC_STUB IPicture2_SaveAsFile_Stub(
4754    IRpcStubBuffer* This,
4755    IRpcChannelBuffer* pRpcChannelBuffer,
4756    PRPC_MESSAGE pRpcMessage,
4757    DWORD* pdwStubPhase);
4758HRESULT STDMETHODCALLTYPE IPicture2_get_Attributes_Proxy(
4759    IPicture2* This,
4760    DWORD *pDwAttr);
4761void __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
4776typedef IFontEventsDisp *LPFONTEVENTS;
4777DEFINE_GUID(IID_IFontEventsDisp, 0x4ef6100a, 0xaf88, 0x11d0, 0x98,0x46, 0x00,0xc0,0x4f,0xc2,0x99,0x93);
4778#if defined(__cplusplus) && !defined(CINTERFACE)
4779MIDL_INTERFACE("4ef6100a-af88-11d0-9846-00c04fc29993")
4780IFontEventsDisp : 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
4787typedef 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;
4834interface 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 ***/
4851static FORCEINLINE HRESULT IFontEventsDisp_QueryInterface(IFontEventsDisp* This,REFIID riid,void **ppvObject) {
4852    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4853}
4854static FORCEINLINE ULONG IFontEventsDisp_AddRef(IFontEventsDisp* This) {
4855    return This->lpVtbl->AddRef(This);
4856}
4857static FORCEINLINE ULONG IFontEventsDisp_Release(IFontEventsDisp* This) {
4858    return This->lpVtbl->Release(This);
4859}
4860/*** IDispatch methods ***/
4861static FORCEINLINE HRESULT IFontEventsDisp_GetTypeInfoCount(IFontEventsDisp* This,UINT *pctinfo) {
4862    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4863}
4864static FORCEINLINE HRESULT IFontEventsDisp_GetTypeInfo(IFontEventsDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4865    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4866}
4867static 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}
4870static 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
4888typedef IFontDisp *LPFONTDISP;
4889DEFINE_GUID(IID_IFontDisp, 0xbef6e003, 0xa874, 0x101a, 0x8b,0xba, 0x00,0xaa,0x00,0x30,0x0c,0xab);
4890#if defined(__cplusplus) && !defined(CINTERFACE)
4891MIDL_INTERFACE("bef6e003-a874-101a-8bba-00aa00300cab")
4892IFontDisp : 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
4899typedef 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;
4946interface 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 ***/
4963static FORCEINLINE HRESULT IFontDisp_QueryInterface(IFontDisp* This,REFIID riid,void **ppvObject) {
4964    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4965}
4966static FORCEINLINE ULONG IFontDisp_AddRef(IFontDisp* This) {
4967    return This->lpVtbl->AddRef(This);
4968}
4969static FORCEINLINE ULONG IFontDisp_Release(IFontDisp* This) {
4970    return This->lpVtbl->Release(This);
4971}
4972/*** IDispatch methods ***/
4973static FORCEINLINE HRESULT IFontDisp_GetTypeInfoCount(IFontDisp* This,UINT *pctinfo) {
4974    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4975}
4976static FORCEINLINE HRESULT IFontDisp_GetTypeInfo(IFontDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4977    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4978}
4979static 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}
4982static 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
5000typedef IPictureDisp *LPPICTUREDISP;
5001DEFINE_GUID(IID_IPictureDisp, 0x7bf80981, 0xbf32, 0x101a, 0x8b,0xbb, 0x00,0xaa,0x00,0x30,0x0c,0xab);
5002#if defined(__cplusplus) && !defined(CINTERFACE)
5003MIDL_INTERFACE("7bf80981-bf32-101a-8bbb-00aa00300cab")
5004IPictureDisp : 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
5011typedef 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;
5058interface 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 ***/
5075static FORCEINLINE HRESULT IPictureDisp_QueryInterface(IPictureDisp* This,REFIID riid,void **ppvObject) {
5076    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5077}
5078static FORCEINLINE ULONG IPictureDisp_AddRef(IPictureDisp* This) {
5079    return This->lpVtbl->AddRef(This);
5080}
5081static FORCEINLINE ULONG IPictureDisp_Release(IPictureDisp* This) {
5082    return This->lpVtbl->Release(This);
5083}
5084/*** IDispatch methods ***/
5085static FORCEINLINE HRESULT IPictureDisp_GetTypeInfoCount(IPictureDisp* This,UINT *pctinfo) {
5086    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5087}
5088static FORCEINLINE HRESULT IPictureDisp_GetTypeInfo(IPictureDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5089    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5090}
5091static 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}
5094static 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
5112typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
5113
5114DEFINE_GUID(IID_IOleInPlaceObjectWindowless, 0x1c2056cc, 0x5ef4, 0x101b, 0x8b,0xc8, 0x00,0xaa,0x00,0x3e,0x3b,0x29);
5115#if defined(__cplusplus) && !defined(CINTERFACE)
5116MIDL_INTERFACE("1c2056cc-5ef4-101b-8bc8-00aa003e3b29")
5117IOleInPlaceObjectWindowless : 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
5133typedef 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;
5186interface 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 ***/
5209static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_QueryInterface(IOleInPlaceObjectWindowless* This,REFIID riid,void **ppvObject) {
5210    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5211}
5212static FORCEINLINE ULONG IOleInPlaceObjectWindowless_AddRef(IOleInPlaceObjectWindowless* This) {
5213    return This->lpVtbl->AddRef(This);
5214}
5215static FORCEINLINE ULONG IOleInPlaceObjectWindowless_Release(IOleInPlaceObjectWindowless* This) {
5216    return This->lpVtbl->Release(This);
5217}
5218/*** IOleWindow methods ***/
5219static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_GetWindow(IOleInPlaceObjectWindowless* This,HWND *phwnd) {
5220    return This->lpVtbl->GetWindow(This,phwnd);
5221}
5222static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_ContextSensitiveHelp(IOleInPlaceObjectWindowless* This,WINBOOL fEnterMode) {
5223    return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5224}
5225/*** IOleInPlaceObject methods ***/
5226static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_InPlaceDeactivate(IOleInPlaceObjectWindowless* This) {
5227    return This->lpVtbl->InPlaceDeactivate(This);
5228}
5229static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_UIDeactivate(IOleInPlaceObjectWindowless* This) {
5230    return This->lpVtbl->UIDeactivate(This);
5231}
5232static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_SetObjectRects(IOleInPlaceObjectWindowless* This,LPCRECT lprcPosRect,LPCRECT lprcClipRect) {
5233    return This->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect);
5234}
5235static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_ReactivateAndUndo(IOleInPlaceObjectWindowless* This) {
5236    return This->lpVtbl->ReactivateAndUndo(This);
5237}
5238/*** IOleInPlaceObjectWindowless methods ***/
5239static 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}
5242static FORCEINLINE HRESULT IOleInPlaceObjectWindowless_GetDropTarget(IOleInPlaceObjectWindowless* This,IDropTarget **ppDropTarget) {
5243    return This->lpVtbl->GetDropTarget(This,ppDropTarget);
5244}
5245#endif
5246#endif
5247
5248#endif
5249
5250HRESULT STDMETHODCALLTYPE IOleInPlaceObjectWindowless_OnWindowMessage_Proxy(
5251    IOleInPlaceObjectWindowless* This,
5252    UINT msg,
5253    WPARAM wParam,
5254    LPARAM lParam,
5255    LRESULT *plResult);
5256void __RPC_STUB IOleInPlaceObjectWindowless_OnWindowMessage_Stub(
5257    IRpcStubBuffer* This,
5258    IRpcChannelBuffer* pRpcChannelBuffer,
5259    PRPC_MESSAGE pRpcMessage,
5260    DWORD* pdwStubPhase);
5261HRESULT STDMETHODCALLTYPE IOleInPlaceObjectWindowless_GetDropTarget_Proxy(
5262    IOleInPlaceObjectWindowless* This,
5263    IDropTarget **ppDropTarget);
5264void __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
5279typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
5280
5281typedef enum tagACTIVATEFLAGS {
5282    ACTIVATE_WINDOWLESS = 1
5283} ACTIVATEFLAGS;
5284
5285DEFINE_GUID(IID_IOleInPlaceSiteEx, 0x9c2cad80, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
5286#if defined(__cplusplus) && !defined(CINTERFACE)
5287MIDL_INTERFACE("9c2cad80-3424-11cf-b670-00aa004cd6d8")
5288IOleInPlaceSiteEx : 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
5305typedef 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;
5383interface 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 ***/
5413static FORCEINLINE HRESULT IOleInPlaceSiteEx_QueryInterface(IOleInPlaceSiteEx* This,REFIID riid,void **ppvObject) {
5414    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5415}
5416static FORCEINLINE ULONG IOleInPlaceSiteEx_AddRef(IOleInPlaceSiteEx* This) {
5417    return This->lpVtbl->AddRef(This);
5418}
5419static FORCEINLINE ULONG IOleInPlaceSiteEx_Release(IOleInPlaceSiteEx* This) {
5420    return This->lpVtbl->Release(This);
5421}
5422/*** IOleWindow methods ***/
5423static FORCEINLINE HRESULT IOleInPlaceSiteEx_GetWindow(IOleInPlaceSiteEx* This,HWND *phwnd) {
5424    return This->lpVtbl->GetWindow(This,phwnd);
5425}
5426static FORCEINLINE HRESULT IOleInPlaceSiteEx_ContextSensitiveHelp(IOleInPlaceSiteEx* This,WINBOOL fEnterMode) {
5427    return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5428}
5429/*** IOleInPlaceSite methods ***/
5430static FORCEINLINE HRESULT IOleInPlaceSiteEx_CanInPlaceActivate(IOleInPlaceSiteEx* This) {
5431    return This->lpVtbl->CanInPlaceActivate(This);
5432}
5433static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceActivate(IOleInPlaceSiteEx* This) {
5434    return This->lpVtbl->OnInPlaceActivate(This);
5435}
5436static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnUIActivate(IOleInPlaceSiteEx* This) {
5437    return This->lpVtbl->OnUIActivate(This);
5438}
5439static 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}
5442static FORCEINLINE HRESULT IOleInPlaceSiteEx_Scroll(IOleInPlaceSiteEx* This,SIZE scrollExtant) {
5443    return This->lpVtbl->Scroll(This,scrollExtant);
5444}
5445static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnUIDeactivate(IOleInPlaceSiteEx* This,WINBOOL fUndoable) {
5446    return This->lpVtbl->OnUIDeactivate(This,fUndoable);
5447}
5448static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceDeactivate(IOleInPlaceSiteEx* This) {
5449    return This->lpVtbl->OnInPlaceDeactivate(This);
5450}
5451static FORCEINLINE HRESULT IOleInPlaceSiteEx_DiscardUndoState(IOleInPlaceSiteEx* This) {
5452    return This->lpVtbl->DiscardUndoState(This);
5453}
5454static FORCEINLINE HRESULT IOleInPlaceSiteEx_DeactivateAndUndo(IOleInPlaceSiteEx* This) {
5455    return This->lpVtbl->DeactivateAndUndo(This);
5456}
5457static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnPosRectChange(IOleInPlaceSiteEx* This,LPCRECT lprcPosRect) {
5458    return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
5459}
5460/*** IOleInPlaceSiteEx methods ***/
5461static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceActivateEx(IOleInPlaceSiteEx* This,WINBOOL *pfNoRedraw,DWORD dwFlags) {
5462    return This->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags);
5463}
5464static FORCEINLINE HRESULT IOleInPlaceSiteEx_OnInPlaceDeactivateEx(IOleInPlaceSiteEx* This,WINBOOL fNoRedraw) {
5465    return This->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw);
5466}
5467static FORCEINLINE HRESULT IOleInPlaceSiteEx_RequestUIActivate(IOleInPlaceSiteEx* This) {
5468    return This->lpVtbl->RequestUIActivate(This);
5469}
5470#endif
5471#endif
5472
5473#endif
5474
5475HRESULT STDMETHODCALLTYPE IOleInPlaceSiteEx_OnInPlaceActivateEx_Proxy(
5476    IOleInPlaceSiteEx* This,
5477    WINBOOL *pfNoRedraw,
5478    DWORD dwFlags);
5479void __RPC_STUB IOleInPlaceSiteEx_OnInPlaceActivateEx_Stub(
5480    IRpcStubBuffer* This,
5481    IRpcChannelBuffer* pRpcChannelBuffer,
5482    PRPC_MESSAGE pRpcMessage,
5483    DWORD* pdwStubPhase);
5484HRESULT STDMETHODCALLTYPE IOleInPlaceSiteEx_OnInPlaceDeactivateEx_Proxy(
5485    IOleInPlaceSiteEx* This,
5486    WINBOOL fNoRedraw);
5487void __RPC_STUB IOleInPlaceSiteEx_OnInPlaceDeactivateEx_Stub(
5488    IRpcStubBuffer* This,
5489    IRpcChannelBuffer* pRpcChannelBuffer,
5490    PRPC_MESSAGE pRpcMessage,
5491    DWORD* pdwStubPhase);
5492HRESULT STDMETHODCALLTYPE IOleInPlaceSiteEx_RequestUIActivate_Proxy(
5493    IOleInPlaceSiteEx* This);
5494void __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
5509typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
5510
5511typedef enum tagOLEDCFLAGS {
5512    OLEDC_NODRAW = 0x1,
5513    OLEDC_PAINTBKGND = 0x2,
5514    OLEDC_OFFSCREEN = 0x4
5515} OLEDCFLAGS;
5516
5517DEFINE_GUID(IID_IOleInPlaceSiteWindowless, 0x922eada0, 0x3424, 0x11cf, 0xb6,0x70, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
5518#if defined(__cplusplus) && !defined(CINTERFACE)
5519MIDL_INTERFACE("922eada0-3424-11cf-b670-00aa004cd6d8")
5520IOleInPlaceSiteWindowless : 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
5573typedef 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;
5707interface 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 ***/
5750static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_QueryInterface(IOleInPlaceSiteWindowless* This,REFIID riid,void **ppvObject) {
5751    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5752}
5753static FORCEINLINE ULONG IOleInPlaceSiteWindowless_AddRef(IOleInPlaceSiteWindowless* This) {
5754    return This->lpVtbl->AddRef(This);
5755}
5756static FORCEINLINE ULONG IOleInPlaceSiteWindowless_Release(IOleInPlaceSiteWindowless* This) {
5757    return This->lpVtbl->Release(This);
5758}
5759/*** IOleWindow methods ***/
5760static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetWindow(IOleInPlaceSiteWindowless* This,HWND *phwnd) {
5761    return This->lpVtbl->GetWindow(This,phwnd);
5762}
5763static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ContextSensitiveHelp(IOleInPlaceSiteWindowless* This,WINBOOL fEnterMode) {
5764    return This->lpVtbl->ContextSensitiveHelp(This,fEnterMode);
5765}
5766/*** IOleInPlaceSite methods ***/
5767static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_CanInPlaceActivate(IOleInPlaceSiteWindowless* This) {
5768    return This->lpVtbl->CanInPlaceActivate(This);
5769}
5770static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceActivate(IOleInPlaceSiteWindowless* This) {
5771    return This->lpVtbl->OnInPlaceActivate(This);
5772}
5773static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnUIActivate(IOleInPlaceSiteWindowless* This) {
5774    return This->lpVtbl->OnUIActivate(This);
5775}
5776static 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}
5779static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_Scroll(IOleInPlaceSiteWindowless* This,SIZE scrollExtant) {
5780    return This->lpVtbl->Scroll(This,scrollExtant);
5781}
5782static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnUIDeactivate(IOleInPlaceSiteWindowless* This,WINBOOL fUndoable) {
5783    return This->lpVtbl->OnUIDeactivate(This,fUndoable);
5784}
5785static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceDeactivate(IOleInPlaceSiteWindowless* This) {
5786    return This->lpVtbl->OnInPlaceDeactivate(This);
5787}
5788static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_DiscardUndoState(IOleInPlaceSiteWindowless* This) {
5789    return This->lpVtbl->DiscardUndoState(This);
5790}
5791static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_DeactivateAndUndo(IOleInPlaceSiteWindowless* This) {
5792    return This->lpVtbl->DeactivateAndUndo(This);
5793}
5794static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnPosRectChange(IOleInPlaceSiteWindowless* This,LPCRECT lprcPosRect) {
5795    return This->lpVtbl->OnPosRectChange(This,lprcPosRect);
5796}
5797/*** IOleInPlaceSiteEx methods ***/
5798static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceActivateEx(IOleInPlaceSiteWindowless* This,WINBOOL *pfNoRedraw,DWORD dwFlags) {
5799    return This->lpVtbl->OnInPlaceActivateEx(This,pfNoRedraw,dwFlags);
5800}
5801static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_OnInPlaceDeactivateEx(IOleInPlaceSiteWindowless* This,WINBOOL fNoRedraw) {
5802    return This->lpVtbl->OnInPlaceDeactivateEx(This,fNoRedraw);
5803}
5804static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_RequestUIActivate(IOleInPlaceSiteWindowless* This) {
5805    return This->lpVtbl->RequestUIActivate(This);
5806}
5807/*** IOleInPlaceSiteWindowless methods ***/
5808static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_CanWindowlessActivate(IOleInPlaceSiteWindowless* This) {
5809    return This->lpVtbl->CanWindowlessActivate(This);
5810}
5811static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetCapture(IOleInPlaceSiteWindowless* This) {
5812    return This->lpVtbl->GetCapture(This);
5813}
5814static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_SetCapture(IOleInPlaceSiteWindowless* This,WINBOOL fCapture) {
5815    return This->lpVtbl->SetCapture(This,fCapture);
5816}
5817static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetFocus(IOleInPlaceSiteWindowless* This) {
5818    return This->lpVtbl->GetFocus(This);
5819}
5820static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_SetFocus(IOleInPlaceSiteWindowless* This,WINBOOL fFocus) {
5821    return This->lpVtbl->SetFocus(This,fFocus);
5822}
5823static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_GetDC(IOleInPlaceSiteWindowless* This,LPCRECT pRect,DWORD grfFlags,HDC *phDC) {
5824    return This->lpVtbl->GetDC(This,pRect,grfFlags,phDC);
5825}
5826static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_ReleaseDC(IOleInPlaceSiteWindowless* This,HDC hDC) {
5827    return This->lpVtbl->ReleaseDC(This,hDC);
5828}
5829static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_InvalidateRect(IOleInPlaceSiteWindowless* This,LPCRECT pRect,WINBOOL fErase) {
5830    return This->lpVtbl->InvalidateRect(This,pRect,fErase);
5831}
5832static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_InvalidateRgn(IOleInPlaceSiteWindowless* This,HRGN hRGN,WINBOOL fErase) {
5833    return This->lpVtbl->InvalidateRgn(This,hRGN,fErase);
5834}
5835static 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}
5838static FORCEINLINE HRESULT IOleInPlaceSiteWindowless_AdjustRect(IOleInPlaceSiteWindowless* This,LPRECT prc) {
5839    return This->lpVtbl->AdjustRect(This,prc);
5840}
5841static 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
5849HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_CanWindowlessActivate_Proxy(
5850    IOleInPlaceSiteWindowless* This);
5851void __RPC_STUB IOleInPlaceSiteWindowless_CanWindowlessActivate_Stub(
5852    IRpcStubBuffer* This,
5853    IRpcChannelBuffer* pRpcChannelBuffer,
5854    PRPC_MESSAGE pRpcMessage,
5855    DWORD* pdwStubPhase);
5856HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_GetCapture_Proxy(
5857    IOleInPlaceSiteWindowless* This);
5858void __RPC_STUB IOleInPlaceSiteWindowless_GetCapture_Stub(
5859    IRpcStubBuffer* This,
5860    IRpcChannelBuffer* pRpcChannelBuffer,
5861    PRPC_MESSAGE pRpcMessage,
5862    DWORD* pdwStubPhase);
5863HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_SetCapture_Proxy(
5864    IOleInPlaceSiteWindowless* This,
5865    WINBOOL fCapture);
5866void __RPC_STUB IOleInPlaceSiteWindowless_SetCapture_Stub(
5867    IRpcStubBuffer* This,
5868    IRpcChannelBuffer* pRpcChannelBuffer,
5869    PRPC_MESSAGE pRpcMessage,
5870    DWORD* pdwStubPhase);
5871HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_GetFocus_Proxy(
5872    IOleInPlaceSiteWindowless* This);
5873void __RPC_STUB IOleInPlaceSiteWindowless_GetFocus_Stub(
5874    IRpcStubBuffer* This,
5875    IRpcChannelBuffer* pRpcChannelBuffer,
5876    PRPC_MESSAGE pRpcMessage,
5877    DWORD* pdwStubPhase);
5878HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_SetFocus_Proxy(
5879    IOleInPlaceSiteWindowless* This,
5880    WINBOOL fFocus);
5881void __RPC_STUB IOleInPlaceSiteWindowless_SetFocus_Stub(
5882    IRpcStubBuffer* This,
5883    IRpcChannelBuffer* pRpcChannelBuffer,
5884    PRPC_MESSAGE pRpcMessage,
5885    DWORD* pdwStubPhase);
5886HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_GetDC_Proxy(
5887    IOleInPlaceSiteWindowless* This,
5888    LPCRECT pRect,
5889    DWORD grfFlags,
5890    HDC *phDC);
5891void __RPC_STUB IOleInPlaceSiteWindowless_GetDC_Stub(
5892    IRpcStubBuffer* This,
5893    IRpcChannelBuffer* pRpcChannelBuffer,
5894    PRPC_MESSAGE pRpcMessage,
5895    DWORD* pdwStubPhase);
5896HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_ReleaseDC_Proxy(
5897    IOleInPlaceSiteWindowless* This,
5898    HDC hDC);
5899void __RPC_STUB IOleInPlaceSiteWindowless_ReleaseDC_Stub(
5900    IRpcStubBuffer* This,
5901    IRpcChannelBuffer* pRpcChannelBuffer,
5902    PRPC_MESSAGE pRpcMessage,
5903    DWORD* pdwStubPhase);
5904HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_InvalidateRect_Proxy(
5905    IOleInPlaceSiteWindowless* This,
5906    LPCRECT pRect,
5907    WINBOOL fErase);
5908void __RPC_STUB IOleInPlaceSiteWindowless_InvalidateRect_Stub(
5909    IRpcStubBuffer* This,
5910    IRpcChannelBuffer* pRpcChannelBuffer,
5911    PRPC_MESSAGE pRpcMessage,
5912    DWORD* pdwStubPhase);
5913HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_InvalidateRgn_Proxy(
5914    IOleInPlaceSiteWindowless* This,
5915    HRGN hRGN,
5916    WINBOOL fErase);
5917void __RPC_STUB IOleInPlaceSiteWindowless_InvalidateRgn_Stub(
5918    IRpcStubBuffer* This,
5919    IRpcChannelBuffer* pRpcChannelBuffer,
5920    PRPC_MESSAGE pRpcMessage,
5921    DWORD* pdwStubPhase);
5922HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_ScrollRect_Proxy(
5923    IOleInPlaceSiteWindowless* This,
5924    INT dx,
5925    INT dy,
5926    LPCRECT pRectScroll,
5927    LPCRECT pRectClip);
5928void __RPC_STUB IOleInPlaceSiteWindowless_ScrollRect_Stub(
5929    IRpcStubBuffer* This,
5930    IRpcChannelBuffer* pRpcChannelBuffer,
5931    PRPC_MESSAGE pRpcMessage,
5932    DWORD* pdwStubPhase);
5933HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_AdjustRect_Proxy(
5934    IOleInPlaceSiteWindowless* This,
5935    LPRECT prc);
5936void __RPC_STUB IOleInPlaceSiteWindowless_AdjustRect_Stub(
5937    IRpcStubBuffer* This,
5938    IRpcChannelBuffer* pRpcChannelBuffer,
5939    PRPC_MESSAGE pRpcMessage,
5940    DWORD* pdwStubPhase);
5941HRESULT STDMETHODCALLTYPE IOleInPlaceSiteWindowless_OnDefWindowMessage_Proxy(
5942    IOleInPlaceSiteWindowless* This,
5943    UINT msg,
5944    WPARAM wParam,
5945    LPARAM lParam,
5946    LRESULT *plResult);
5947void __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
5962typedef IViewObjectEx *LPVIEWOBJECTEX;
5963
5964typedef 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
5973typedef enum tagHITRESULT {
5974    HITRESULT_OUTSIDE = 0,
5975    HITRESULT_TRANSPARENT = 1,
5976    HITRESULT_CLOSE = 2,
5977    HITRESULT_HIT = 3
5978} HITRESULT;
5979
5980typedef enum tagDVASPECT2 {
5981    DVASPECT_OPAQUE = 16,
5982    DVASPECT_TRANSPARENT = 32
5983} DVASPECT2;
5984
5985typedef struct tagExtentInfo {
5986    ULONG cb;
5987    DWORD dwExtentMode;
5988    SIZEL sizelProposed;
5989} DVEXTENTINFO;
5990
5991typedef enum tagExtentMode {
5992    DVEXTENT_CONTENT = 0,
5993    DVEXTENT_INTEGRAL = 1
5994} DVEXTENTMODE;
5995
5996typedef enum tagAspectInfoFlag {
5997    DVASPECTINFOFLAG_CANOPTIMIZE = 1
5998} DVASPECTINFOFLAG;
5999
6000typedef struct tagAspectInfo {
6001    ULONG cb;
6002    DWORD dwFlags;
6003} DVASPECTINFO;
6004
6005DEFINE_GUID(IID_IViewObjectEx, 0x3af24292, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8);
6006#if defined(__cplusplus) && !defined(CINTERFACE)
6007MIDL_INTERFACE("3af24292-0c96-11ce-a0cf-00aa00600ab8")
6008IViewObjectEx : 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
6044typedef 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;
6150interface 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 ***/
6177static FORCEINLINE HRESULT IViewObjectEx_QueryInterface(IViewObjectEx* This,REFIID riid,void **ppvObject) {
6178    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6179}
6180static FORCEINLINE ULONG IViewObjectEx_AddRef(IViewObjectEx* This) {
6181    return This->lpVtbl->AddRef(This);
6182}
6183static FORCEINLINE ULONG IViewObjectEx_Release(IViewObjectEx* This) {
6184    return This->lpVtbl->Release(This);
6185}
6186/*** IViewObject methods ***/
6187static 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}
6190static 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}
6193static 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}
6196static FORCEINLINE HRESULT IViewObjectEx_Unfreeze(IViewObjectEx* This,DWORD dwFreeze) {
6197    return This->lpVtbl->Unfreeze(This,dwFreeze);
6198}
6199static FORCEINLINE HRESULT IViewObjectEx_SetAdvise(IViewObjectEx* This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink) {
6200    return This->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink);
6201}
6202static 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 ***/
6206static 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 ***/
6210static FORCEINLINE HRESULT IViewObjectEx_GetRect(IViewObjectEx* This,DWORD dwAspect,LPRECTL pRect) {
6211    return This->lpVtbl->GetRect(This,dwAspect,pRect);
6212}
6213static FORCEINLINE HRESULT IViewObjectEx_GetViewStatus(IViewObjectEx* This,DWORD *pdwStatus) {
6214    return This->lpVtbl->GetViewStatus(This,pdwStatus);
6215}
6216static 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}
6219static 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}
6222static 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
6230HRESULT STDMETHODCALLTYPE IViewObjectEx_GetRect_Proxy(
6231    IViewObjectEx* This,
6232    DWORD dwAspect,
6233    LPRECTL pRect);
6234void __RPC_STUB IViewObjectEx_GetRect_Stub(
6235    IRpcStubBuffer* This,
6236    IRpcChannelBuffer* pRpcChannelBuffer,
6237    PRPC_MESSAGE pRpcMessage,
6238    DWORD* pdwStubPhase);
6239HRESULT STDMETHODCALLTYPE IViewObjectEx_GetViewStatus_Proxy(
6240    IViewObjectEx* This,
6241    DWORD *pdwStatus);
6242void __RPC_STUB IViewObjectEx_GetViewStatus_Stub(
6243    IRpcStubBuffer* This,
6244    IRpcChannelBuffer* pRpcChannelBuffer,
6245    PRPC_MESSAGE pRpcMessage,
6246    DWORD* pdwStubPhase);
6247HRESULT STDMETHODCALLTYPE IViewObjectEx_QueryHitPoint_Proxy(
6248    IViewObjectEx* This,
6249    DWORD dwAspect,
6250    LPCRECT pRectBounds,
6251    POINT ptlLoc,
6252    LONG lCloseHint,
6253    DWORD *pHitResult);
6254void __RPC_STUB IViewObjectEx_QueryHitPoint_Stub(
6255    IRpcStubBuffer* This,
6256    IRpcChannelBuffer* pRpcChannelBuffer,
6257    PRPC_MESSAGE pRpcMessage,
6258    DWORD* pdwStubPhase);
6259HRESULT STDMETHODCALLTYPE IViewObjectEx_QueryHitRect_Proxy(
6260    IViewObjectEx* This,
6261    DWORD dwAspect,
6262    LPCRECT pRectBounds,
6263    LPCRECT pRectLoc,
6264    LONG lCloseHint,
6265    DWORD *pHitResult);
6266void __RPC_STUB IViewObjectEx_QueryHitRect_Stub(
6267    IRpcStubBuffer* This,
6268    IRpcChannelBuffer* pRpcChannelBuffer,
6269    PRPC_MESSAGE pRpcMessage,
6270    DWORD* pdwStubPhase);
6271HRESULT 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);
6279void __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
6294typedef IOleUndoUnit *LPOLEUNDOUNIT;
6295
6296DEFINE_GUID(IID_IOleUndoUnit, 0x894ad3b0, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6297#if defined(__cplusplus) && !defined(CINTERFACE)
6298MIDL_INTERFACE("894ad3b0-ef97-11ce-9bc9-00aa00608e01")
6299IOleUndoUnit : 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
6319typedef 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;
6353interface 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 ***/
6370static FORCEINLINE HRESULT IOleUndoUnit_QueryInterface(IOleUndoUnit* This,REFIID riid,void **ppvObject) {
6371    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6372}
6373static FORCEINLINE ULONG IOleUndoUnit_AddRef(IOleUndoUnit* This) {
6374    return This->lpVtbl->AddRef(This);
6375}
6376static FORCEINLINE ULONG IOleUndoUnit_Release(IOleUndoUnit* This) {
6377    return This->lpVtbl->Release(This);
6378}
6379/*** IOleUndoUnit methods ***/
6380static FORCEINLINE HRESULT IOleUndoUnit_Do(IOleUndoUnit* This,IOleUndoManager *pUndoManager) {
6381    return This->lpVtbl->Do(This,pUndoManager);
6382}
6383static FORCEINLINE HRESULT IOleUndoUnit_GetDescription(IOleUndoUnit* This,BSTR *pBstr) {
6384    return This->lpVtbl->GetDescription(This,pBstr);
6385}
6386static FORCEINLINE HRESULT IOleUndoUnit_GetUnitType(IOleUndoUnit* This,CLSID *pClsid,LONG *plID) {
6387    return This->lpVtbl->GetUnitType(This,pClsid,plID);
6388}
6389static FORCEINLINE HRESULT IOleUndoUnit_OnNextAdd(IOleUndoUnit* This) {
6390    return This->lpVtbl->OnNextAdd(This);
6391}
6392#endif
6393#endif
6394
6395#endif
6396
6397HRESULT STDMETHODCALLTYPE IOleUndoUnit_Do_Proxy(
6398    IOleUndoUnit* This,
6399    IOleUndoManager *pUndoManager);
6400void __RPC_STUB IOleUndoUnit_Do_Stub(
6401    IRpcStubBuffer* This,
6402    IRpcChannelBuffer* pRpcChannelBuffer,
6403    PRPC_MESSAGE pRpcMessage,
6404    DWORD* pdwStubPhase);
6405HRESULT STDMETHODCALLTYPE IOleUndoUnit_GetDescription_Proxy(
6406    IOleUndoUnit* This,
6407    BSTR *pBstr);
6408void __RPC_STUB IOleUndoUnit_GetDescription_Stub(
6409    IRpcStubBuffer* This,
6410    IRpcChannelBuffer* pRpcChannelBuffer,
6411    PRPC_MESSAGE pRpcMessage,
6412    DWORD* pdwStubPhase);
6413HRESULT STDMETHODCALLTYPE IOleUndoUnit_GetUnitType_Proxy(
6414    IOleUndoUnit* This,
6415    CLSID *pClsid,
6416    LONG *plID);
6417void __RPC_STUB IOleUndoUnit_GetUnitType_Stub(
6418    IRpcStubBuffer* This,
6419    IRpcChannelBuffer* pRpcChannelBuffer,
6420    PRPC_MESSAGE pRpcMessage,
6421    DWORD* pdwStubPhase);
6422HRESULT STDMETHODCALLTYPE IOleUndoUnit_OnNextAdd_Proxy(
6423    IOleUndoUnit* This);
6424void __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
6439typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
6440
6441DEFINE_GUID(IID_IOleParentUndoUnit, 0xa1faf330, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6442#if defined(__cplusplus) && !defined(CINTERFACE)
6443MIDL_INTERFACE("a1faf330-ef97-11ce-9bc9-00aa00608e01")
6444IOleParentUndoUnit : 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
6467typedef 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;
6523interface 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 ***/
6546static FORCEINLINE HRESULT IOleParentUndoUnit_QueryInterface(IOleParentUndoUnit* This,REFIID riid,void **ppvObject) {
6547    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6548}
6549static FORCEINLINE ULONG IOleParentUndoUnit_AddRef(IOleParentUndoUnit* This) {
6550    return This->lpVtbl->AddRef(This);
6551}
6552static FORCEINLINE ULONG IOleParentUndoUnit_Release(IOleParentUndoUnit* This) {
6553    return This->lpVtbl->Release(This);
6554}
6555/*** IOleUndoUnit methods ***/
6556static FORCEINLINE HRESULT IOleParentUndoUnit_Do(IOleParentUndoUnit* This,IOleUndoManager *pUndoManager) {
6557    return This->lpVtbl->Do(This,pUndoManager);
6558}
6559static FORCEINLINE HRESULT IOleParentUndoUnit_GetDescription(IOleParentUndoUnit* This,BSTR *pBstr) {
6560    return This->lpVtbl->GetDescription(This,pBstr);
6561}
6562static FORCEINLINE HRESULT IOleParentUndoUnit_GetUnitType(IOleParentUndoUnit* This,CLSID *pClsid,LONG *plID) {
6563    return This->lpVtbl->GetUnitType(This,pClsid,plID);
6564}
6565static FORCEINLINE HRESULT IOleParentUndoUnit_OnNextAdd(IOleParentUndoUnit* This) {
6566    return This->lpVtbl->OnNextAdd(This);
6567}
6568/*** IOleParentUndoUnit methods ***/
6569static FORCEINLINE HRESULT IOleParentUndoUnit_Open(IOleParentUndoUnit* This,IOleParentUndoUnit *pPUU) {
6570    return This->lpVtbl->Open(This,pPUU);
6571}
6572static FORCEINLINE HRESULT IOleParentUndoUnit_Close(IOleParentUndoUnit* This,IOleParentUndoUnit *pPUU,WINBOOL fCommit) {
6573    return This->lpVtbl->Close(This,pPUU,fCommit);
6574}
6575static FORCEINLINE HRESULT IOleParentUndoUnit_Add(IOleParentUndoUnit* This,IOleUndoUnit *pUU) {
6576    return This->lpVtbl->Add(This,pUU);
6577}
6578static FORCEINLINE HRESULT IOleParentUndoUnit_FindUnit(IOleParentUndoUnit* This,IOleUndoUnit *pUU) {
6579    return This->lpVtbl->FindUnit(This,pUU);
6580}
6581static FORCEINLINE HRESULT IOleParentUndoUnit_GetParentState(IOleParentUndoUnit* This,DWORD *pdwState) {
6582    return This->lpVtbl->GetParentState(This,pdwState);
6583}
6584#endif
6585#endif
6586
6587#endif
6588
6589HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_Open_Proxy(
6590    IOleParentUndoUnit* This,
6591    IOleParentUndoUnit *pPUU);
6592void __RPC_STUB IOleParentUndoUnit_Open_Stub(
6593    IRpcStubBuffer* This,
6594    IRpcChannelBuffer* pRpcChannelBuffer,
6595    PRPC_MESSAGE pRpcMessage,
6596    DWORD* pdwStubPhase);
6597HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_Close_Proxy(
6598    IOleParentUndoUnit* This,
6599    IOleParentUndoUnit *pPUU,
6600    WINBOOL fCommit);
6601void __RPC_STUB IOleParentUndoUnit_Close_Stub(
6602    IRpcStubBuffer* This,
6603    IRpcChannelBuffer* pRpcChannelBuffer,
6604    PRPC_MESSAGE pRpcMessage,
6605    DWORD* pdwStubPhase);
6606HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_Add_Proxy(
6607    IOleParentUndoUnit* This,
6608    IOleUndoUnit *pUU);
6609void __RPC_STUB IOleParentUndoUnit_Add_Stub(
6610    IRpcStubBuffer* This,
6611    IRpcChannelBuffer* pRpcChannelBuffer,
6612    PRPC_MESSAGE pRpcMessage,
6613    DWORD* pdwStubPhase);
6614HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_FindUnit_Proxy(
6615    IOleParentUndoUnit* This,
6616    IOleUndoUnit *pUU);
6617void __RPC_STUB IOleParentUndoUnit_FindUnit_Stub(
6618    IRpcStubBuffer* This,
6619    IRpcChannelBuffer* pRpcChannelBuffer,
6620    PRPC_MESSAGE pRpcMessage,
6621    DWORD* pdwStubPhase);
6622HRESULT STDMETHODCALLTYPE IOleParentUndoUnit_GetParentState_Proxy(
6623    IOleParentUndoUnit* This,
6624    DWORD *pdwState);
6625void __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
6640typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
6641
6642DEFINE_GUID(IID_IEnumOleUndoUnits, 0xb3e7c340, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6643#if defined(__cplusplus) && !defined(CINTERFACE)
6644MIDL_INTERFACE("b3e7c340-ef97-11ce-9bc9-00aa00608e01")
6645IEnumOleUndoUnits : 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
6666typedef 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;
6701interface 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 ***/
6718static FORCEINLINE HRESULT IEnumOleUndoUnits_QueryInterface(IEnumOleUndoUnits* This,REFIID riid,void **ppvObject) {
6719    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6720}
6721static FORCEINLINE ULONG IEnumOleUndoUnits_AddRef(IEnumOleUndoUnits* This) {
6722    return This->lpVtbl->AddRef(This);
6723}
6724static FORCEINLINE ULONG IEnumOleUndoUnits_Release(IEnumOleUndoUnits* This) {
6725    return This->lpVtbl->Release(This);
6726}
6727/*** IEnumOleUndoUnits methods ***/
6728static FORCEINLINE HRESULT IEnumOleUndoUnits_Next(IEnumOleUndoUnits* This,ULONG cElt,IOleUndoUnit **rgElt,ULONG *pcEltFetched) {
6729    return This->lpVtbl->Next(This,cElt,rgElt,pcEltFetched);
6730}
6731static FORCEINLINE HRESULT IEnumOleUndoUnits_Skip(IEnumOleUndoUnits* This,ULONG cElt) {
6732    return This->lpVtbl->Skip(This,cElt);
6733}
6734static FORCEINLINE HRESULT IEnumOleUndoUnits_Reset(IEnumOleUndoUnits* This) {
6735    return This->lpVtbl->Reset(This);
6736}
6737static FORCEINLINE HRESULT IEnumOleUndoUnits_Clone(IEnumOleUndoUnits* This,IEnumOleUndoUnits **ppEnum) {
6738    return This->lpVtbl->Clone(This,ppEnum);
6739}
6740#endif
6741#endif
6742
6743#endif
6744
6745HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_RemoteNext_Proxy(
6746    IEnumOleUndoUnits* This,
6747    ULONG cElt,
6748    IOleUndoUnit **rgElt,
6749    ULONG *pcEltFetched);
6750void __RPC_STUB IEnumOleUndoUnits_RemoteNext_Stub(
6751    IRpcStubBuffer* This,
6752    IRpcChannelBuffer* pRpcChannelBuffer,
6753    PRPC_MESSAGE pRpcMessage,
6754    DWORD* pdwStubPhase);
6755HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_Skip_Proxy(
6756    IEnumOleUndoUnits* This,
6757    ULONG cElt);
6758void __RPC_STUB IEnumOleUndoUnits_Skip_Stub(
6759    IRpcStubBuffer* This,
6760    IRpcChannelBuffer* pRpcChannelBuffer,
6761    PRPC_MESSAGE pRpcMessage,
6762    DWORD* pdwStubPhase);
6763HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_Reset_Proxy(
6764    IEnumOleUndoUnits* This);
6765void __RPC_STUB IEnumOleUndoUnits_Reset_Stub(
6766    IRpcStubBuffer* This,
6767    IRpcChannelBuffer* pRpcChannelBuffer,
6768    PRPC_MESSAGE pRpcMessage,
6769    DWORD* pdwStubPhase);
6770HRESULT STDMETHODCALLTYPE IEnumOleUndoUnits_Clone_Proxy(
6771    IEnumOleUndoUnits* This,
6772    IEnumOleUndoUnits **ppEnum);
6773void __RPC_STUB IEnumOleUndoUnits_Clone_Stub(
6774    IRpcStubBuffer* This,
6775    IRpcChannelBuffer* pRpcChannelBuffer,
6776    PRPC_MESSAGE pRpcMessage,
6777    DWORD* pdwStubPhase);
6778HRESULT CALLBACK IEnumOleUndoUnits_Next_Proxy(
6779    IEnumOleUndoUnits* This,
6780    ULONG cElt,
6781    IOleUndoUnit **rgElt,
6782    ULONG *pcEltFetched);
6783HRESULT __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
6800typedef IOleUndoManager *LPOLEUNDOMANAGER;
6801
6802DEFINE_GUID(IID_IOleUndoManager, 0xd001f200, 0xef97, 0x11ce, 0x9b,0xc9, 0x00,0xaa,0x00,0x60,0x8e,0x01);
6803#if defined(__cplusplus) && !defined(CINTERFACE)
6804MIDL_INTERFACE("d001f200-ef97-11ce-9bc9-00aa00608e01")
6805IOleUndoManager : 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
6849typedef 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;
6916interface 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 ***/
6941static FORCEINLINE HRESULT IOleUndoManager_QueryInterface(IOleUndoManager* This,REFIID riid,void **ppvObject) {
6942    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6943}
6944static FORCEINLINE ULONG IOleUndoManager_AddRef(IOleUndoManager* This) {
6945    return This->lpVtbl->AddRef(This);
6946}
6947static FORCEINLINE ULONG IOleUndoManager_Release(IOleUndoManager* This) {
6948    return This->lpVtbl->Release(This);
6949}
6950/*** IOleUndoManager methods ***/
6951static FORCEINLINE HRESULT IOleUndoManager_Open(IOleUndoManager* This,IOleParentUndoUnit *pPUU) {
6952    return This->lpVtbl->Open(This,pPUU);
6953}
6954static FORCEINLINE HRESULT IOleUndoManager_Close(IOleUndoManager* This,IOleParentUndoUnit *pPUU,WINBOOL fCommit) {
6955    return This->lpVtbl->Close(This,pPUU,fCommit);
6956}
6957static FORCEINLINE HRESULT IOleUndoManager_Add(IOleUndoManager* This,IOleUndoUnit *pUU) {
6958    return This->lpVtbl->Add(This,pUU);
6959}
6960static FORCEINLINE HRESULT IOleUndoManager_GetOpenParentState(IOleUndoManager* This,DWORD *pdwState) {
6961    return This->lpVtbl->GetOpenParentState(This,pdwState);
6962}
6963static FORCEINLINE HRESULT IOleUndoManager_DiscardFrom(IOleUndoManager* This,IOleUndoUnit *pUU) {
6964    return This->lpVtbl->DiscardFrom(This,pUU);
6965}
6966static FORCEINLINE HRESULT IOleUndoManager_UndoTo(IOleUndoManager* This,IOleUndoUnit *pUU) {
6967    return This->lpVtbl->UndoTo(This,pUU);
6968}
6969static FORCEINLINE HRESULT IOleUndoManager_RedoTo(IOleUndoManager* This,IOleUndoUnit *pUU) {
6970    return This->lpVtbl->RedoTo(This,pUU);
6971}
6972static FORCEINLINE HRESULT IOleUndoManager_EnumUndoable(IOleUndoManager* This,IEnumOleUndoUnits **ppEnum) {
6973    return This->lpVtbl->EnumUndoable(This,ppEnum);
6974}
6975static FORCEINLINE HRESULT IOleUndoManager_EnumRedoable(IOleUndoManager* This,IEnumOleUndoUnits **ppEnum) {
6976    return This->lpVtbl->EnumRedoable(This,ppEnum);
6977}
6978static FORCEINLINE HRESULT IOleUndoManager_GetLastUndoDescription(IOleUndoManager* This,BSTR *pBstr) {
6979    return This->lpVtbl->GetLastUndoDescription(This,pBstr);
6980}
6981static FORCEINLINE HRESULT IOleUndoManager_GetLastRedoDescription(IOleUndoManager* This,BSTR *pBstr) {
6982    return This->lpVtbl->GetLastRedoDescription(This,pBstr);
6983}
6984static FORCEINLINE HRESULT IOleUndoManager_Enable(IOleUndoManager* This,WINBOOL fEnable) {
6985    return This->lpVtbl->Enable(This,fEnable);
6986}
6987#endif
6988#endif
6989
6990#endif
6991
6992HRESULT STDMETHODCALLTYPE IOleUndoManager_Open_Proxy(
6993    IOleUndoManager* This,
6994    IOleParentUndoUnit *pPUU);
6995void __RPC_STUB IOleUndoManager_Open_Stub(
6996    IRpcStubBuffer* This,
6997    IRpcChannelBuffer* pRpcChannelBuffer,
6998    PRPC_MESSAGE pRpcMessage,
6999    DWORD* pdwStubPhase);
7000HRESULT STDMETHODCALLTYPE IOleUndoManager_Close_Proxy(
7001    IOleUndoManager* This,
7002    IOleParentUndoUnit *pPUU,
7003    WINBOOL fCommit);
7004void __RPC_STUB IOleUndoManager_Close_Stub(
7005    IRpcStubBuffer* This,
7006    IRpcChannelBuffer* pRpcChannelBuffer,
7007    PRPC_MESSAGE pRpcMessage,
7008    DWORD* pdwStubPhase);
7009HRESULT STDMETHODCALLTYPE IOleUndoManager_Add_Proxy(
7010    IOleUndoManager* This,
7011    IOleUndoUnit *pUU);
7012void __RPC_STUB IOleUndoManager_Add_Stub(
7013    IRpcStubBuffer* This,
7014    IRpcChannelBuffer* pRpcChannelBuffer,
7015    PRPC_MESSAGE pRpcMessage,
7016    DWORD* pdwStubPhase);
7017HRESULT STDMETHODCALLTYPE IOleUndoManager_GetOpenParentState_Proxy(
7018    IOleUndoManager* This,
7019    DWORD *pdwState);
7020void __RPC_STUB IOleUndoManager_GetOpenParentState_Stub(
7021    IRpcStubBuffer* This,
7022    IRpcChannelBuffer* pRpcChannelBuffer,
7023    PRPC_MESSAGE pRpcMessage,
7024    DWORD* pdwStubPhase);
7025HRESULT STDMETHODCALLTYPE IOleUndoManager_DiscardFrom_Proxy(
7026    IOleUndoManager* This,
7027    IOleUndoUnit *pUU);
7028void __RPC_STUB IOleUndoManager_DiscardFrom_Stub(
7029    IRpcStubBuffer* This,
7030    IRpcChannelBuffer* pRpcChannelBuffer,
7031    PRPC_MESSAGE pRpcMessage,
7032    DWORD* pdwStubPhase);
7033HRESULT STDMETHODCALLTYPE IOleUndoManager_UndoTo_Proxy(
7034    IOleUndoManager* This,
7035    IOleUndoUnit *pUU);
7036void __RPC_STUB IOleUndoManager_UndoTo_Stub(
7037    IRpcStubBuffer* This,
7038    IRpcChannelBuffer* pRpcChannelBuffer,
7039    PRPC_MESSAGE pRpcMessage,
7040    DWORD* pdwStubPhase);
7041HRESULT STDMETHODCALLTYPE IOleUndoManager_RedoTo_Proxy(
7042    IOleUndoManager* This,
7043    IOleUndoUnit *pUU);
7044void __RPC_STUB IOleUndoManager_RedoTo_Stub(
7045    IRpcStubBuffer* This,
7046    IRpcChannelBuffer* pRpcChannelBuffer,
7047    PRPC_MESSAGE pRpcMessage,
7048    DWORD* pdwStubPhase);
7049HRESULT STDMETHODCALLTYPE IOleUndoManager_EnumUndoable_Proxy(
7050    IOleUndoManager* This,
7051    IEnumOleUndoUnits **ppEnum);
7052void __RPC_STUB IOleUndoManager_EnumUndoable_Stub(
7053    IRpcStubBuffer* This,
7054    IRpcChannelBuffer* pRpcChannelBuffer,
7055    PRPC_MESSAGE pRpcMessage,
7056    DWORD* pdwStubPhase);
7057HRESULT STDMETHODCALLTYPE IOleUndoManager_EnumRedoable_Proxy(
7058    IOleUndoManager* This,
7059    IEnumOleUndoUnits **ppEnum);
7060void __RPC_STUB IOleUndoManager_EnumRedoable_Stub(
7061    IRpcStubBuffer* This,
7062    IRpcChannelBuffer* pRpcChannelBuffer,
7063    PRPC_MESSAGE pRpcMessage,
7064    DWORD* pdwStubPhase);
7065HRESULT STDMETHODCALLTYPE IOleUndoManager_GetLastUndoDescription_Proxy(
7066    IOleUndoManager* This,
7067    BSTR *pBstr);
7068void __RPC_STUB IOleUndoManager_GetLastUndoDescription_Stub(
7069    IRpcStubBuffer* This,
7070    IRpcChannelBuffer* pRpcChannelBuffer,
7071    PRPC_MESSAGE pRpcMessage,
7072    DWORD* pdwStubPhase);
7073HRESULT STDMETHODCALLTYPE IOleUndoManager_GetLastRedoDescription_Proxy(
7074    IOleUndoManager* This,
7075    BSTR *pBstr);
7076void __RPC_STUB IOleUndoManager_GetLastRedoDescription_Stub(
7077    IRpcStubBuffer* This,
7078    IRpcChannelBuffer* pRpcChannelBuffer,
7079    PRPC_MESSAGE pRpcMessage,
7080    DWORD* pdwStubPhase);
7081HRESULT STDMETHODCALLTYPE IOleUndoManager_Enable_Proxy(
7082    IOleUndoManager* This,
7083    WINBOOL fEnable);
7084void __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
7099typedef IPointerInactive *LPPOINTERINACTIVE;
7100
7101typedef enum tagPOINTERINACTIVE {
7102    POINTERINACTIVE_ACTIVATEONENTRY = 1,
7103    POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
7104    POINTERINACTIVE_ACTIVATEONDRAG = 4
7105} POINTERINACTIVE;
7106
7107DEFINE_GUID(IID_IPointerInactive, 0x55980ba0, 0x35aa, 0x11cf, 0xb6,0x71, 0x00,0xaa,0x00,0x4c,0xd6,0xd8);
7108#if defined(__cplusplus) && !defined(CINTERFACE)
7109MIDL_INTERFACE("55980ba0-35aa-11cf-b671-00aa004cd6d8")
7110IPointerInactive : 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
7133typedef 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;
7170interface 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 ***/
7186static FORCEINLINE HRESULT IPointerInactive_QueryInterface(IPointerInactive* This,REFIID riid,void **ppvObject) {
7187    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7188}
7189static FORCEINLINE ULONG IPointerInactive_AddRef(IPointerInactive* This) {
7190    return This->lpVtbl->AddRef(This);
7191}
7192static FORCEINLINE ULONG IPointerInactive_Release(IPointerInactive* This) {
7193    return This->lpVtbl->Release(This);
7194}
7195/*** IPointerInactive methods ***/
7196static FORCEINLINE HRESULT IPointerInactive_GetActivationPolicy(IPointerInactive* This,DWORD *pdwPolicy) {
7197    return This->lpVtbl->GetActivationPolicy(This,pdwPolicy);
7198}
7199static 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}
7202static 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
7210HRESULT STDMETHODCALLTYPE IPointerInactive_GetActivationPolicy_Proxy(
7211    IPointerInactive* This,
7212    DWORD *pdwPolicy);
7213void __RPC_STUB IPointerInactive_GetActivationPolicy_Stub(
7214    IRpcStubBuffer* This,
7215    IRpcChannelBuffer* pRpcChannelBuffer,
7216    PRPC_MESSAGE pRpcMessage,
7217    DWORD* pdwStubPhase);
7218HRESULT STDMETHODCALLTYPE IPointerInactive_OnInactiveMouseMove_Proxy(
7219    IPointerInactive* This,
7220    LPCRECT pRectBounds,
7221    LONG x,
7222    LONG y,
7223    DWORD grfKeyState);
7224void __RPC_STUB IPointerInactive_OnInactiveMouseMove_Stub(
7225    IRpcStubBuffer* This,
7226    IRpcChannelBuffer* pRpcChannelBuffer,
7227    PRPC_MESSAGE pRpcMessage,
7228    DWORD* pdwStubPhase);
7229HRESULT STDMETHODCALLTYPE IPointerInactive_OnInactiveSetCursor_Proxy(
7230    IPointerInactive* This,
7231    LPCRECT pRectBounds,
7232    LONG x,
7233    LONG y,
7234    DWORD dwMouseMsg,
7235    WINBOOL fSetAlways);
7236void __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
7251typedef IObjectWithSite *LPOBJECTWITHSITE;
7252
7253DEFINE_GUID(IID_IObjectWithSite, 0xfc4801a3, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
7254#if defined(__cplusplus) && !defined(CINTERFACE)
7255MIDL_INTERFACE("fc4801a3-2ba9-11cf-a229-00aa003d7352")
7256IObjectWithSite : 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
7270typedef 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;
7297interface 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 ***/
7312static FORCEINLINE HRESULT IObjectWithSite_QueryInterface(IObjectWithSite* This,REFIID riid,void **ppvObject) {
7313    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7314}
7315static FORCEINLINE ULONG IObjectWithSite_AddRef(IObjectWithSite* This) {
7316    return This->lpVtbl->AddRef(This);
7317}
7318static FORCEINLINE ULONG IObjectWithSite_Release(IObjectWithSite* This) {
7319    return This->lpVtbl->Release(This);
7320}
7321/*** IObjectWithSite methods ***/
7322static FORCEINLINE HRESULT IObjectWithSite_SetSite(IObjectWithSite* This,IUnknown *pUnkSite) {
7323    return This->lpVtbl->SetSite(This,pUnkSite);
7324}
7325static 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
7333HRESULT STDMETHODCALLTYPE IObjectWithSite_SetSite_Proxy(
7334    IObjectWithSite* This,
7335    IUnknown *pUnkSite);
7336void __RPC_STUB IObjectWithSite_SetSite_Stub(
7337    IRpcStubBuffer* This,
7338    IRpcChannelBuffer* pRpcChannelBuffer,
7339    PRPC_MESSAGE pRpcMessage,
7340    DWORD* pdwStubPhase);
7341HRESULT STDMETHODCALLTYPE IObjectWithSite_GetSite_Proxy(
7342    IObjectWithSite* This,
7343    REFIID riid,
7344    void **ppvSite);
7345void __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
7362typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
7363
7364typedef struct tagCALPOLESTR {
7365    ULONG cElems;
7366    LPOLESTR *pElems;
7367} CALPOLESTR;
7368
7369typedef struct tagCALPOLESTR *LPCALPOLESTR;
7370
7371typedef struct tagCADWORD {
7372    ULONG cElems;
7373    DWORD *pElems;
7374} CADWORD;
7375
7376typedef struct tagCADWORD *LPCADWORD;
7377
7378DEFINE_GUID(IID_IPerPropertyBrowsing, 0x376bd3aa, 0x3845, 0x101b, 0x84,0xed, 0x08,0x00,0x2b,0x2e,0xc7,0x13);
7379#if defined(__cplusplus) && !defined(CINTERFACE)
7380MIDL_INTERFACE("376bd3aa-3845-101b-84ed-08002b2ec713")
7381IPerPropertyBrowsing : 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
7406typedef 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;
7446interface 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 ***/
7463static FORCEINLINE HRESULT IPerPropertyBrowsing_QueryInterface(IPerPropertyBrowsing* This,REFIID riid,void **ppvObject) {
7464    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7465}
7466static FORCEINLINE ULONG IPerPropertyBrowsing_AddRef(IPerPropertyBrowsing* This) {
7467    return This->lpVtbl->AddRef(This);
7468}
7469static FORCEINLINE ULONG IPerPropertyBrowsing_Release(IPerPropertyBrowsing* This) {
7470    return This->lpVtbl->Release(This);
7471}
7472/*** IPerPropertyBrowsing methods ***/
7473static FORCEINLINE HRESULT IPerPropertyBrowsing_GetDisplayString(IPerPropertyBrowsing* This,DISPID dispID,BSTR *pBstr) {
7474    return This->lpVtbl->GetDisplayString(This,dispID,pBstr);
7475}
7476static FORCEINLINE HRESULT IPerPropertyBrowsing_MapPropertyToPage(IPerPropertyBrowsing* This,DISPID dispID,CLSID *pClsid) {
7477    return This->lpVtbl->MapPropertyToPage(This,dispID,pClsid);
7478}
7479static FORCEINLINE HRESULT IPerPropertyBrowsing_GetPredefinedStrings(IPerPropertyBrowsing* This,DISPID dispID,CALPOLESTR *pCaStringsOut,CADWORD *pCaCookiesOut) {
7480    return This->lpVtbl->GetPredefinedStrings(This,dispID,pCaStringsOut,pCaCookiesOut);
7481}
7482static 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
7490HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_GetDisplayString_Proxy(
7491    IPerPropertyBrowsing* This,
7492    DISPID dispID,
7493    BSTR *pBstr);
7494void __RPC_STUB IPerPropertyBrowsing_GetDisplayString_Stub(
7495    IRpcStubBuffer* This,
7496    IRpcChannelBuffer* pRpcChannelBuffer,
7497    PRPC_MESSAGE pRpcMessage,
7498    DWORD* pdwStubPhase);
7499HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_MapPropertyToPage_Proxy(
7500    IPerPropertyBrowsing* This,
7501    DISPID dispID,
7502    CLSID *pClsid);
7503void __RPC_STUB IPerPropertyBrowsing_MapPropertyToPage_Stub(
7504    IRpcStubBuffer* This,
7505    IRpcChannelBuffer* pRpcChannelBuffer,
7506    PRPC_MESSAGE pRpcMessage,
7507    DWORD* pdwStubPhase);
7508HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_GetPredefinedStrings_Proxy(
7509    IPerPropertyBrowsing* This,
7510    DISPID dispID,
7511    CALPOLESTR *pCaStringsOut,
7512    CADWORD *pCaCookiesOut);
7513void __RPC_STUB IPerPropertyBrowsing_GetPredefinedStrings_Stub(
7514    IRpcStubBuffer* This,
7515    IRpcChannelBuffer* pRpcChannelBuffer,
7516    PRPC_MESSAGE pRpcMessage,
7517    DWORD* pdwStubPhase);
7518HRESULT STDMETHODCALLTYPE IPerPropertyBrowsing_GetPredefinedValue_Proxy(
7519    IPerPropertyBrowsing* This,
7520    DISPID dispID,
7521    DWORD dwCookie,
7522    VARIANT *pVarOut);
7523void __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
7540typedef IPropertyBag2 *LPPROPERTYBAG2;
7541
7542typedef 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
7552typedef struct tagPROPBAG2 {
7553    DWORD dwType;
7554    VARTYPE vt;
7555    CLIPFORMAT cfType;
7556    DWORD dwHint;
7557    LPOLESTR pstrName;
7558    CLSID clsid;
7559} PROPBAG2;
7560
7561DEFINE_GUID(IID_IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04);
7562#if defined(__cplusplus) && !defined(CINTERFACE)
7563MIDL_INTERFACE("22f55882-280b-11d0-a8a9-00a0c90c2004")
7564IPropertyBag2 : 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
7598typedef 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;
7648interface 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 ***/
7666static FORCEINLINE HRESULT IPropertyBag2_QueryInterface(IPropertyBag2* This,REFIID riid,void **ppvObject) {
7667    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7668}
7669static FORCEINLINE ULONG IPropertyBag2_AddRef(IPropertyBag2* This) {
7670    return This->lpVtbl->AddRef(This);
7671}
7672static FORCEINLINE ULONG IPropertyBag2_Release(IPropertyBag2* This) {
7673    return This->lpVtbl->Release(This);
7674}
7675/*** IPropertyBag2 methods ***/
7676static 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}
7679static FORCEINLINE HRESULT IPropertyBag2_Write(IPropertyBag2* This,ULONG cProperties,PROPBAG2 *pPropBag,VARIANT *pvarValue) {
7680    return This->lpVtbl->Write(This,cProperties,pPropBag,pvarValue);
7681}
7682static FORCEINLINE HRESULT IPropertyBag2_CountProperties(IPropertyBag2* This,ULONG *pcProperties) {
7683    return This->lpVtbl->CountProperties(This,pcProperties);
7684}
7685static 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}
7688static 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
7696HRESULT STDMETHODCALLTYPE IPropertyBag2_Read_Proxy(
7697    IPropertyBag2* This,
7698    ULONG cProperties,
7699    PROPBAG2 *pPropBag,
7700    IErrorLog *pErrLog,
7701    VARIANT *pvarValue,
7702    HRESULT *phrError);
7703void __RPC_STUB IPropertyBag2_Read_Stub(
7704    IRpcStubBuffer* This,
7705    IRpcChannelBuffer* pRpcChannelBuffer,
7706    PRPC_MESSAGE pRpcMessage,
7707    DWORD* pdwStubPhase);
7708HRESULT STDMETHODCALLTYPE IPropertyBag2_Write_Proxy(
7709    IPropertyBag2* This,
7710    ULONG cProperties,
7711    PROPBAG2 *pPropBag,
7712    VARIANT *pvarValue);
7713void __RPC_STUB IPropertyBag2_Write_Stub(
7714    IRpcStubBuffer* This,
7715    IRpcChannelBuffer* pRpcChannelBuffer,
7716    PRPC_MESSAGE pRpcMessage,
7717    DWORD* pdwStubPhase);
7718HRESULT STDMETHODCALLTYPE IPropertyBag2_CountProperties_Proxy(
7719    IPropertyBag2* This,
7720    ULONG *pcProperties);
7721void __RPC_STUB IPropertyBag2_CountProperties_Stub(
7722    IRpcStubBuffer* This,
7723    IRpcChannelBuffer* pRpcChannelBuffer,
7724    PRPC_MESSAGE pRpcMessage,
7725    DWORD* pdwStubPhase);
7726HRESULT STDMETHODCALLTYPE IPropertyBag2_GetPropertyInfo_Proxy(
7727    IPropertyBag2* This,
7728    ULONG iProperty,
7729    ULONG cProperties,
7730    PROPBAG2 *pPropBag,
7731    ULONG *pcProperties);
7732void __RPC_STUB IPropertyBag2_GetPropertyInfo_Stub(
7733    IRpcStubBuffer* This,
7734    IRpcChannelBuffer* pRpcChannelBuffer,
7735    PRPC_MESSAGE pRpcMessage,
7736    DWORD* pdwStubPhase);
7737HRESULT STDMETHODCALLTYPE IPropertyBag2_LoadObject_Proxy(
7738    IPropertyBag2* This,
7739    LPCOLESTR pstrName,
7740    DWORD dwHint,
7741    IUnknown *pUnkObject,
7742    IErrorLog *pErrLog);
7743void __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
7760typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
7761
7762DEFINE_GUID(IID_IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8,0xa9, 0x00,0xa0,0xc9,0x0c,0x20,0x04);
7763#if defined(__cplusplus) && !defined(CINTERFACE)
7764MIDL_INTERFACE("22f55881-280b-11d0-a8a9-00a0c90c2004")
7765IPersistPropertyBag2 : 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
7787typedef 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;
7827interface 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 ***/
7846static FORCEINLINE HRESULT IPersistPropertyBag2_QueryInterface(IPersistPropertyBag2* This,REFIID riid,void **ppvObject) {
7847    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7848}
7849static FORCEINLINE ULONG IPersistPropertyBag2_AddRef(IPersistPropertyBag2* This) {
7850    return This->lpVtbl->AddRef(This);
7851}
7852static FORCEINLINE ULONG IPersistPropertyBag2_Release(IPersistPropertyBag2* This) {
7853    return This->lpVtbl->Release(This);
7854}
7855/*** IPersist methods ***/
7856static FORCEINLINE HRESULT IPersistPropertyBag2_GetClassID(IPersistPropertyBag2* This,CLSID *pClassID) {
7857    return This->lpVtbl->GetClassID(This,pClassID);
7858}
7859/*** IPersistPropertyBag2 methods ***/
7860static FORCEINLINE HRESULT IPersistPropertyBag2_InitNew(IPersistPropertyBag2* This) {
7861    return This->lpVtbl->InitNew(This);
7862}
7863static FORCEINLINE HRESULT IPersistPropertyBag2_Load(IPersistPropertyBag2* This,IPropertyBag2 *pPropBag,IErrorLog *pErrLog) {
7864    return This->lpVtbl->Load(This,pPropBag,pErrLog);
7865}
7866static FORCEINLINE HRESULT IPersistPropertyBag2_Save(IPersistPropertyBag2* This,IPropertyBag2 *pPropBag,WINBOOL fClearDirty,WINBOOL fSaveAllProperties) {
7867    return This->lpVtbl->Save(This,pPropBag,fClearDirty,fSaveAllProperties);
7868}
7869static FORCEINLINE HRESULT IPersistPropertyBag2_IsDirty(IPersistPropertyBag2* This) {
7870    return This->lpVtbl->IsDirty(This);
7871}
7872#endif
7873#endif
7874
7875#endif
7876
7877HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_InitNew_Proxy(
7878    IPersistPropertyBag2* This);
7879void __RPC_STUB IPersistPropertyBag2_InitNew_Stub(
7880    IRpcStubBuffer* This,
7881    IRpcChannelBuffer* pRpcChannelBuffer,
7882    PRPC_MESSAGE pRpcMessage,
7883    DWORD* pdwStubPhase);
7884HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_Load_Proxy(
7885    IPersistPropertyBag2* This,
7886    IPropertyBag2 *pPropBag,
7887    IErrorLog *pErrLog);
7888void __RPC_STUB IPersistPropertyBag2_Load_Stub(
7889    IRpcStubBuffer* This,
7890    IRpcChannelBuffer* pRpcChannelBuffer,
7891    PRPC_MESSAGE pRpcMessage,
7892    DWORD* pdwStubPhase);
7893HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_Save_Proxy(
7894    IPersistPropertyBag2* This,
7895    IPropertyBag2 *pPropBag,
7896    WINBOOL fClearDirty,
7897    WINBOOL fSaveAllProperties);
7898void __RPC_STUB IPersistPropertyBag2_Save_Stub(
7899    IRpcStubBuffer* This,
7900    IRpcChannelBuffer* pRpcChannelBuffer,
7901    PRPC_MESSAGE pRpcMessage,
7902    DWORD* pdwStubPhase);
7903HRESULT STDMETHODCALLTYPE IPersistPropertyBag2_IsDirty_Proxy(
7904    IPersistPropertyBag2* This);
7905void __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
7922typedef IAdviseSinkEx *LPADVISESINKEX;
7923
7924DEFINE_GUID(IID_IAdviseSinkEx, 0x3af24290, 0x0c96, 0x11ce, 0xa0,0xcf, 0x00,0xaa,0x00,0x60,0x0a,0xb8);
7925#if defined(__cplusplus) && !defined(CINTERFACE)
7926MIDL_INTERFACE("3af24290-0c96-11ce-a0cf-00aa00600ab8")
7927IAdviseSinkEx : 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
7937typedef 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;
7980interface 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 ***/
8000static FORCEINLINE HRESULT IAdviseSinkEx_QueryInterface(IAdviseSinkEx* This,REFIID riid,void **ppvObject) {
8001    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8002}
8003static FORCEINLINE ULONG IAdviseSinkEx_AddRef(IAdviseSinkEx* This) {
8004    return This->lpVtbl->AddRef(This);
8005}
8006static FORCEINLINE ULONG IAdviseSinkEx_Release(IAdviseSinkEx* This) {
8007    return This->lpVtbl->Release(This);
8008}
8009/*** IAdviseSink methods ***/
8010static FORCEINLINE void IAdviseSinkEx_OnDataChange(IAdviseSinkEx* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
8011    This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
8012}
8013static FORCEINLINE void IAdviseSinkEx_OnViewChange(IAdviseSinkEx* This,DWORD dwAspect,LONG lindex) {
8014    This->lpVtbl->OnViewChange(This,dwAspect,lindex);
8015}
8016static FORCEINLINE void IAdviseSinkEx_OnRename(IAdviseSinkEx* This,IMoniker *pmk) {
8017    This->lpVtbl->OnRename(This,pmk);
8018}
8019static FORCEINLINE void IAdviseSinkEx_OnSave(IAdviseSinkEx* This) {
8020    This->lpVtbl->OnSave(This);
8021}
8022static FORCEINLINE void IAdviseSinkEx_OnClose(IAdviseSinkEx* This) {
8023    This->lpVtbl->OnClose(This);
8024}
8025/*** IAdviseSinkEx methods ***/
8026static FORCEINLINE void IAdviseSinkEx_OnViewStatusChange(IAdviseSinkEx* This,DWORD dwViewStatus) {
8027    This->lpVtbl->OnViewStatusChange(This,dwViewStatus);
8028}
8029#endif
8030#endif
8031
8032#endif
8033
8034HRESULT STDMETHODCALLTYPE IAdviseSinkEx_RemoteOnViewStatusChange_Proxy(
8035    IAdviseSinkEx* This,
8036    DWORD dwViewStatus);
8037void __RPC_STUB IAdviseSinkEx_RemoteOnViewStatusChange_Stub(
8038    IRpcStubBuffer* This,
8039    IRpcChannelBuffer* pRpcChannelBuffer,
8040    PRPC_MESSAGE pRpcMessage,
8041    DWORD* pdwStubPhase);
8042void CALLBACK IAdviseSinkEx_OnViewStatusChange_Proxy(
8043    IAdviseSinkEx* This,
8044    DWORD dwViewStatus);
8045HRESULT __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
8060typedef IQuickActivate *LPQUICKACTIVATE;
8061
8062typedef 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
8073typedef DWORD OLE_COLOR;
8074
8075typedef 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
8094typedef struct tagQACONTROL {
8095    ULONG cbSize;
8096    DWORD dwMiscStatus;
8097    DWORD dwViewStatus;
8098    DWORD dwEventCookie;
8099    DWORD dwPropNotifyCookie;
8100    DWORD dwPointerActivationPolicy;
8101} QACONTROL;
8102
8103DEFINE_GUID(IID_IQuickActivate, 0xcf51ed10, 0x62fe, 0x11cf, 0xbf,0x86, 0x00,0xa0,0xc9,0x03,0x48,0x36);
8104#if defined(__cplusplus) && !defined(CINTERFACE)
8105MIDL_INTERFACE("cf51ed10-62fe-11cf-bf86-00a0c9034836")
8106IQuickActivate : 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
8123typedef 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;
8154interface 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 ***/
8170static FORCEINLINE HRESULT IQuickActivate_QueryInterface(IQuickActivate* This,REFIID riid,void **ppvObject) {
8171    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8172}
8173static FORCEINLINE ULONG IQuickActivate_AddRef(IQuickActivate* This) {
8174    return This->lpVtbl->AddRef(This);
8175}
8176static FORCEINLINE ULONG IQuickActivate_Release(IQuickActivate* This) {
8177    return This->lpVtbl->Release(This);
8178}
8179/*** IQuickActivate methods ***/
8180static FORCEINLINE HRESULT IQuickActivate_QuickActivate(IQuickActivate* This,QACONTAINER *pQaContainer,QACONTROL *pQaControl) {
8181    return This->lpVtbl->QuickActivate(This,pQaContainer,pQaControl);
8182}
8183static FORCEINLINE HRESULT IQuickActivate_SetContentExtent(IQuickActivate* This,LPSIZEL pSizel) {
8184    return This->lpVtbl->SetContentExtent(This,pSizel);
8185}
8186static FORCEINLINE HRESULT IQuickActivate_GetContentExtent(IQuickActivate* This,LPSIZEL pSizel) {
8187    return This->lpVtbl->GetContentExtent(This,pSizel);
8188}
8189#endif
8190#endif
8191
8192#endif
8193
8194HRESULT STDMETHODCALLTYPE IQuickActivate_RemoteQuickActivate_Proxy(
8195    IQuickActivate* This,
8196    QACONTAINER *pQaContainer,
8197    QACONTROL *pQaControl);
8198void __RPC_STUB IQuickActivate_RemoteQuickActivate_Stub(
8199    IRpcStubBuffer* This,
8200    IRpcChannelBuffer* pRpcChannelBuffer,
8201    PRPC_MESSAGE pRpcMessage,
8202    DWORD* pdwStubPhase);
8203HRESULT STDMETHODCALLTYPE IQuickActivate_SetContentExtent_Proxy(
8204    IQuickActivate* This,
8205    LPSIZEL pSizel);
8206void __RPC_STUB IQuickActivate_SetContentExtent_Stub(
8207    IRpcStubBuffer* This,
8208    IRpcChannelBuffer* pRpcChannelBuffer,
8209    PRPC_MESSAGE pRpcMessage,
8210    DWORD* pdwStubPhase);
8211HRESULT STDMETHODCALLTYPE IQuickActivate_GetContentExtent_Proxy(
8212    IQuickActivate* This,
8213    LPSIZEL pSizel);
8214void __RPC_STUB IQuickActivate_GetContentExtent_Stub(
8215    IRpcStubBuffer* This,
8216    IRpcChannelBuffer* pRpcChannelBuffer,
8217    PRPC_MESSAGE pRpcMessage,
8218    DWORD* pdwStubPhase);
8219HRESULT CALLBACK IQuickActivate_QuickActivate_Proxy(
8220    IQuickActivate* This,
8221    QACONTAINER *pQaContainer,
8222    QACONTROL *pQaControl);
8223HRESULT __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
8233ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
8234unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
8235unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
8236void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
8237ULONG           __RPC_USER HACCEL_UserSize     (ULONG *, ULONG, HACCEL *);
8238unsigned char * __RPC_USER HACCEL_UserMarshal  (ULONG *, unsigned char *, HACCEL *);
8239unsigned char * __RPC_USER HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
8240void            __RPC_USER HACCEL_UserFree     (ULONG *, HACCEL *);
8241ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
8242unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
8243unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
8244void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
8245ULONG           __RPC_USER HFONT_UserSize     (ULONG *, ULONG, HFONT *);
8246unsigned char * __RPC_USER HFONT_UserMarshal  (ULONG *, unsigned char *, HFONT *);
8247unsigned char * __RPC_USER HFONT_UserUnmarshal(ULONG *, unsigned char *, HFONT *);
8248void            __RPC_USER HFONT_UserFree     (ULONG *, HFONT *);
8249ULONG           __RPC_USER HDC_UserSize     (ULONG *, ULONG, HDC *);
8250unsigned char * __RPC_USER HDC_UserMarshal  (ULONG *, unsigned char *, HDC *);
8251unsigned char * __RPC_USER HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
8252void            __RPC_USER HDC_UserFree     (ULONG *, HDC *);
8253ULONG           __RPC_USER HRGN_UserSize     (ULONG *, ULONG, HRGN *);
8254unsigned char * __RPC_USER HRGN_UserMarshal  (ULONG *, unsigned char *, HRGN *);
8255unsigned char * __RPC_USER HRGN_UserUnmarshal(ULONG *, unsigned char *, HRGN *);
8256void            __RPC_USER HRGN_UserFree     (ULONG *, HRGN *);
8257ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
8258unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
8259unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
8260void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
8261ULONG           __RPC_USER CLIPFORMAT_UserSize     (ULONG *, ULONG, CLIPFORMAT *);
8262unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (ULONG *, unsigned char *, CLIPFORMAT *);
8263unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
8264void            __RPC_USER CLIPFORMAT_UserFree     (ULONG *, CLIPFORMAT *);
8265ULONG           __RPC_USER HPALETTE_UserSize     (ULONG *, ULONG, HPALETTE *);
8266unsigned char * __RPC_USER HPALETTE_UserMarshal  (ULONG *, unsigned char *, HPALETTE *);
8267unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
8268void            __RPC_USER HPALETTE_UserFree     (ULONG *, HPALETTE *);
8269
8270/* End additional prototypes */
8271
8272#ifdef __cplusplus
8273}
8274#endif
8275
8276#endif /* __ocidl_h__ */
8277