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