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