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