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