master
   1/*** Autogenerated by WIDL 10.4 from include/wuapi.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 __wuapi_h__
  17#define __wuapi_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IAutomaticUpdatesSettings_FWD_DEFINED__
  22#define __IAutomaticUpdatesSettings_FWD_DEFINED__
  23typedef interface IAutomaticUpdatesSettings IAutomaticUpdatesSettings;
  24#ifdef __cplusplus
  25interface IAutomaticUpdatesSettings;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IAutomaticUpdates_FWD_DEFINED__
  30#define __IAutomaticUpdates_FWD_DEFINED__
  31typedef interface IAutomaticUpdates IAutomaticUpdates;
  32#ifdef __cplusplus
  33interface IAutomaticUpdates;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IWebProxy_FWD_DEFINED__
  38#define __IWebProxy_FWD_DEFINED__
  39typedef interface IWebProxy IWebProxy;
  40#ifdef __cplusplus
  41interface IWebProxy;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IUpdateSession_FWD_DEFINED__
  46#define __IUpdateSession_FWD_DEFINED__
  47typedef interface IUpdateSession IUpdateSession;
  48#ifdef __cplusplus
  49interface IUpdateSession;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IImageInformation_FWD_DEFINED__
  54#define __IImageInformation_FWD_DEFINED__
  55typedef interface IImageInformation IImageInformation;
  56#ifdef __cplusplus
  57interface IImageInformation;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __ICategory_FWD_DEFINED__
  62#define __ICategory_FWD_DEFINED__
  63typedef interface ICategory ICategory;
  64#ifdef __cplusplus
  65interface ICategory;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __ICategoryCollection_FWD_DEFINED__
  70#define __ICategoryCollection_FWD_DEFINED__
  71typedef interface ICategoryCollection ICategoryCollection;
  72#ifdef __cplusplus
  73interface ICategoryCollection;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __IStringCollection_FWD_DEFINED__
  78#define __IStringCollection_FWD_DEFINED__
  79typedef interface IStringCollection IStringCollection;
  80#ifdef __cplusplus
  81interface IStringCollection;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __IUpdateException_FWD_DEFINED__
  86#define __IUpdateException_FWD_DEFINED__
  87typedef interface IUpdateException IUpdateException;
  88#ifdef __cplusplus
  89interface IUpdateException;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __IUpdateExceptionCollection_FWD_DEFINED__
  94#define __IUpdateExceptionCollection_FWD_DEFINED__
  95typedef interface IUpdateExceptionCollection IUpdateExceptionCollection;
  96#ifdef __cplusplus
  97interface IUpdateExceptionCollection;
  98#endif /* __cplusplus */
  99#endif
 100
 101#ifndef __IUpdateIdentity_FWD_DEFINED__
 102#define __IUpdateIdentity_FWD_DEFINED__
 103typedef interface IUpdateIdentity IUpdateIdentity;
 104#ifdef __cplusplus
 105interface IUpdateIdentity;
 106#endif /* __cplusplus */
 107#endif
 108
 109#ifndef __IInstallationBehavior_FWD_DEFINED__
 110#define __IInstallationBehavior_FWD_DEFINED__
 111typedef interface IInstallationBehavior IInstallationBehavior;
 112#ifdef __cplusplus
 113interface IInstallationBehavior;
 114#endif /* __cplusplus */
 115#endif
 116
 117#ifndef __IUpdateDownloadContent_FWD_DEFINED__
 118#define __IUpdateDownloadContent_FWD_DEFINED__
 119typedef interface IUpdateDownloadContent IUpdateDownloadContent;
 120#ifdef __cplusplus
 121interface IUpdateDownloadContent;
 122#endif /* __cplusplus */
 123#endif
 124
 125#ifndef __IUpdateDownloadContentCollection_FWD_DEFINED__
 126#define __IUpdateDownloadContentCollection_FWD_DEFINED__
 127typedef interface IUpdateDownloadContentCollection IUpdateDownloadContentCollection;
 128#ifdef __cplusplus
 129interface IUpdateDownloadContentCollection;
 130#endif /* __cplusplus */
 131#endif
 132
 133#ifndef __IUpdate_FWD_DEFINED__
 134#define __IUpdate_FWD_DEFINED__
 135typedef interface IUpdate IUpdate;
 136#ifdef __cplusplus
 137interface IUpdate;
 138#endif /* __cplusplus */
 139#endif
 140
 141#ifndef __IUpdateCollection_FWD_DEFINED__
 142#define __IUpdateCollection_FWD_DEFINED__
 143typedef interface IUpdateCollection IUpdateCollection;
 144#ifdef __cplusplus
 145interface IUpdateCollection;
 146#endif /* __cplusplus */
 147#endif
 148
 149#ifndef __ISearchJob_FWD_DEFINED__
 150#define __ISearchJob_FWD_DEFINED__
 151typedef interface ISearchJob ISearchJob;
 152#ifdef __cplusplus
 153interface ISearchJob;
 154#endif /* __cplusplus */
 155#endif
 156
 157#ifndef __ISearchResult_FWD_DEFINED__
 158#define __ISearchResult_FWD_DEFINED__
 159typedef interface ISearchResult ISearchResult;
 160#ifdef __cplusplus
 161interface ISearchResult;
 162#endif /* __cplusplus */
 163#endif
 164
 165#ifndef __IUpdateHistoryEntry_FWD_DEFINED__
 166#define __IUpdateHistoryEntry_FWD_DEFINED__
 167typedef interface IUpdateHistoryEntry IUpdateHistoryEntry;
 168#ifdef __cplusplus
 169interface IUpdateHistoryEntry;
 170#endif /* __cplusplus */
 171#endif
 172
 173#ifndef __IUpdateHistoryEntryCollection_FWD_DEFINED__
 174#define __IUpdateHistoryEntryCollection_FWD_DEFINED__
 175typedef interface IUpdateHistoryEntryCollection IUpdateHistoryEntryCollection;
 176#ifdef __cplusplus
 177interface IUpdateHistoryEntryCollection;
 178#endif /* __cplusplus */
 179#endif
 180
 181#ifndef __IUpdateSearcher_FWD_DEFINED__
 182#define __IUpdateSearcher_FWD_DEFINED__
 183typedef interface IUpdateSearcher IUpdateSearcher;
 184#ifdef __cplusplus
 185interface IUpdateSearcher;
 186#endif /* __cplusplus */
 187#endif
 188
 189#ifndef __IUpdateDownloadResult_FWD_DEFINED__
 190#define __IUpdateDownloadResult_FWD_DEFINED__
 191typedef interface IUpdateDownloadResult IUpdateDownloadResult;
 192#ifdef __cplusplus
 193interface IUpdateDownloadResult;
 194#endif /* __cplusplus */
 195#endif
 196
 197#ifndef __IDownloadProgress_FWD_DEFINED__
 198#define __IDownloadProgress_FWD_DEFINED__
 199typedef interface IDownloadProgress IDownloadProgress;
 200#ifdef __cplusplus
 201interface IDownloadProgress;
 202#endif /* __cplusplus */
 203#endif
 204
 205#ifndef __IDownloadJob_FWD_DEFINED__
 206#define __IDownloadJob_FWD_DEFINED__
 207typedef interface IDownloadJob IDownloadJob;
 208#ifdef __cplusplus
 209interface IDownloadJob;
 210#endif /* __cplusplus */
 211#endif
 212
 213#ifndef __IDownloadResult_FWD_DEFINED__
 214#define __IDownloadResult_FWD_DEFINED__
 215typedef interface IDownloadResult IDownloadResult;
 216#ifdef __cplusplus
 217interface IDownloadResult;
 218#endif /* __cplusplus */
 219#endif
 220
 221#ifndef __IUpdateDownloader_FWD_DEFINED__
 222#define __IUpdateDownloader_FWD_DEFINED__
 223typedef interface IUpdateDownloader IUpdateDownloader;
 224#ifdef __cplusplus
 225interface IUpdateDownloader;
 226#endif /* __cplusplus */
 227#endif
 228
 229#ifndef __IUpdateInstallationResult_FWD_DEFINED__
 230#define __IUpdateInstallationResult_FWD_DEFINED__
 231typedef interface IUpdateInstallationResult IUpdateInstallationResult;
 232#ifdef __cplusplus
 233interface IUpdateInstallationResult;
 234#endif /* __cplusplus */
 235#endif
 236
 237#ifndef __IInstallationProgress_FWD_DEFINED__
 238#define __IInstallationProgress_FWD_DEFINED__
 239typedef interface IInstallationProgress IInstallationProgress;
 240#ifdef __cplusplus
 241interface IInstallationProgress;
 242#endif /* __cplusplus */
 243#endif
 244
 245#ifndef __IInstallationJob_FWD_DEFINED__
 246#define __IInstallationJob_FWD_DEFINED__
 247typedef interface IInstallationJob IInstallationJob;
 248#ifdef __cplusplus
 249interface IInstallationJob;
 250#endif /* __cplusplus */
 251#endif
 252
 253#ifndef __IInstallationResult_FWD_DEFINED__
 254#define __IInstallationResult_FWD_DEFINED__
 255typedef interface IInstallationResult IInstallationResult;
 256#ifdef __cplusplus
 257interface IInstallationResult;
 258#endif /* __cplusplus */
 259#endif
 260
 261#ifndef __IUpdateInstaller_FWD_DEFINED__
 262#define __IUpdateInstaller_FWD_DEFINED__
 263typedef interface IUpdateInstaller IUpdateInstaller;
 264#ifdef __cplusplus
 265interface IUpdateInstaller;
 266#endif /* __cplusplus */
 267#endif
 268
 269#ifndef __ISystemInformation_FWD_DEFINED__
 270#define __ISystemInformation_FWD_DEFINED__
 271typedef interface ISystemInformation ISystemInformation;
 272#ifdef __cplusplus
 273interface ISystemInformation;
 274#endif /* __cplusplus */
 275#endif
 276
 277#ifndef __IWindowsUpdateAgentInfo_FWD_DEFINED__
 278#define __IWindowsUpdateAgentInfo_FWD_DEFINED__
 279typedef interface IWindowsUpdateAgentInfo IWindowsUpdateAgentInfo;
 280#ifdef __cplusplus
 281interface IWindowsUpdateAgentInfo;
 282#endif /* __cplusplus */
 283#endif
 284
 285#ifndef __AutomaticUpdates_FWD_DEFINED__
 286#define __AutomaticUpdates_FWD_DEFINED__
 287#ifdef __cplusplus
 288typedef class AutomaticUpdates AutomaticUpdates;
 289#else
 290typedef struct AutomaticUpdates AutomaticUpdates;
 291#endif /* defined __cplusplus */
 292#endif /* defined __AutomaticUpdates_FWD_DEFINED__ */
 293
 294#ifndef __UpdateInstaller_FWD_DEFINED__
 295#define __UpdateInstaller_FWD_DEFINED__
 296#ifdef __cplusplus
 297typedef class UpdateInstaller UpdateInstaller;
 298#else
 299typedef struct UpdateInstaller UpdateInstaller;
 300#endif /* defined __cplusplus */
 301#endif /* defined __UpdateInstaller_FWD_DEFINED__ */
 302
 303#ifndef __UpdateSession_FWD_DEFINED__
 304#define __UpdateSession_FWD_DEFINED__
 305#ifdef __cplusplus
 306typedef class UpdateSession UpdateSession;
 307#else
 308typedef struct UpdateSession UpdateSession;
 309#endif /* defined __cplusplus */
 310#endif /* defined __UpdateSession_FWD_DEFINED__ */
 311
 312#ifndef __SystemInformation_FWD_DEFINED__
 313#define __SystemInformation_FWD_DEFINED__
 314#ifdef __cplusplus
 315typedef class SystemInformation SystemInformation;
 316#else
 317typedef struct SystemInformation SystemInformation;
 318#endif /* defined __cplusplus */
 319#endif /* defined __SystemInformation_FWD_DEFINED__ */
 320
 321#ifndef __WindowsUpdateAgentInfo_FWD_DEFINED__
 322#define __WindowsUpdateAgentInfo_FWD_DEFINED__
 323#ifdef __cplusplus
 324typedef class WindowsUpdateAgentInfo WindowsUpdateAgentInfo;
 325#else
 326typedef struct WindowsUpdateAgentInfo WindowsUpdateAgentInfo;
 327#endif /* defined __cplusplus */
 328#endif /* defined __WindowsUpdateAgentInfo_FWD_DEFINED__ */
 329
 330/* Headers for imported files */
 331
 332#include <oaidl.h>
 333
 334#ifdef __cplusplus
 335extern "C" {
 336#endif
 337
 338#ifndef __WUApiLib_LIBRARY_DEFINED__
 339#define __WUApiLib_LIBRARY_DEFINED__
 340
 341DEFINE_GUID(LIBID_WUApiLib, 0xb596cc9f, 0x56e5, 0x419e, 0xa6,0x22, 0xe0,0x1b,0xb4,0x57,0x43,0x1e);
 342
 343#ifndef __ICategoryCollection_FWD_DEFINED__
 344#define __ICategoryCollection_FWD_DEFINED__
 345typedef interface ICategoryCollection ICategoryCollection;
 346#ifdef __cplusplus
 347interface ICategoryCollection;
 348#endif /* __cplusplus */
 349#endif
 350
 351#ifndef __IStringCollection_FWD_DEFINED__
 352#define __IStringCollection_FWD_DEFINED__
 353typedef interface IStringCollection IStringCollection;
 354#ifdef __cplusplus
 355interface IStringCollection;
 356#endif /* __cplusplus */
 357#endif
 358
 359#ifndef __IUpdateCollection_FWD_DEFINED__
 360#define __IUpdateCollection_FWD_DEFINED__
 361typedef interface IUpdateCollection IUpdateCollection;
 362#ifdef __cplusplus
 363interface IUpdateCollection;
 364#endif /* __cplusplus */
 365#endif
 366
 367#ifndef __IUpdateDownloader_FWD_DEFINED__
 368#define __IUpdateDownloader_FWD_DEFINED__
 369typedef interface IUpdateDownloader IUpdateDownloader;
 370#ifdef __cplusplus
 371interface IUpdateDownloader;
 372#endif /* __cplusplus */
 373#endif
 374
 375#ifndef __IUpdateInstaller_FWD_DEFINED__
 376#define __IUpdateInstaller_FWD_DEFINED__
 377typedef interface IUpdateInstaller IUpdateInstaller;
 378#ifdef __cplusplus
 379interface IUpdateInstaller;
 380#endif /* __cplusplus */
 381#endif
 382
 383#ifndef __IUpdateSearcher_FWD_DEFINED__
 384#define __IUpdateSearcher_FWD_DEFINED__
 385typedef interface IUpdateSearcher IUpdateSearcher;
 386#ifdef __cplusplus
 387interface IUpdateSearcher;
 388#endif /* __cplusplus */
 389#endif
 390
 391typedef enum tagDownloadPriority {
 392    dpLow = 1,
 393    dpNormal = 2,
 394    dpHigh = 3
 395} DownloadPriority;
 396typedef enum tagServerSelection {
 397    ssDefault = 0,
 398    ssManagedServer = 1,
 399    ssWindowsUpdate = 2,
 400    ssOthers = 3
 401} ServerSelection;
 402typedef enum tagAutomaticUpdatesNotificationLevel {
 403    aunlNotConfigured = 0,
 404    aunlDisabled = 1,
 405    aunlNotifyBeforeDownload = 2,
 406    aunlNotifyBeforeInstallation = 3,
 407    aunlScheduledInstallation = 4
 408} AutomaticUpdatesNotificationLevel;
 409typedef enum tagAutomaticUpdatesScheduledInstallationDay {
 410    ausidEveryDay = 0,
 411    ausidEverySunday = 1,
 412    ausidEveryMonday = 2,
 413    ausidEveryTuesday = 3,
 414    ausidEveryWednesday = 4,
 415    ausidEveryThursday = 5,
 416    ausidEveryFriday = 6,
 417    ausidEverySaturday = 7
 418} AutomaticUpdatesScheduledInstallationDay;
 419typedef enum tagDownloadPhase {
 420    dphInitializing = 0,
 421    dphDownloading = 1,
 422    dphVerifying = 2
 423} DownloadPhase;
 424typedef enum tagOperationResultCode {
 425    orcNotStarted = 0,
 426    orcInProgress = 1,
 427    orcSucceeded = 2,
 428    orcSucceededWithErrors = 3,
 429    orcFailed = 4,
 430    orcAborted = 5
 431} OperationResultCode;
 432typedef enum tagUpdateExceptionContext {
 433    uecGeneral = 1,
 434    uecWindowsDriver = 2,
 435    uecWindowsInstaller = 3
 436} UpdateExceptionContext;
 437typedef enum tagInstallationImpact {
 438    iiNormal = 0,
 439    iiMinor = 1,
 440    iiRequiresExclusiveHandling = 2
 441} InstallationImpact;
 442typedef enum tagInstallationRebootBehavior {
 443    irbNeverReboots = 0,
 444    irbAlwaysRequiresReboot = 1,
 445    irbCanRequestReboot = 2
 446} InstallationRebootBehavior;
 447typedef enum tagUpdateType {
 448    utSoftware = 1,
 449    utDriver = 2
 450} UpdateType;
 451typedef enum tagUpdateOperation {
 452    uoInstallation = 1,
 453    uoUninstallation = 2
 454} UpdateOperation;
 455typedef enum tagDeploymentAction {
 456    daNone = 0,
 457    daInstallation = 1,
 458    daUninstallation = 2,
 459    daDetection = 3
 460} DeploymentAction;
 461/*****************************************************************************
 462 * IAutomaticUpdatesSettings interface
 463 */
 464#ifndef __IAutomaticUpdatesSettings_INTERFACE_DEFINED__
 465#define __IAutomaticUpdatesSettings_INTERFACE_DEFINED__
 466
 467DEFINE_GUID(IID_IAutomaticUpdatesSettings, 0x2ee48f22, 0xaf3c, 0x405f, 0x89,0x70, 0xf7,0x1b,0xe1,0x2e,0xe9,0xa2);
 468#if defined(__cplusplus) && !defined(CINTERFACE)
 469MIDL_INTERFACE("2ee48f22-af3c-405f-8970-f71be12ee9a2")
 470IAutomaticUpdatesSettings : public IDispatch
 471{
 472    virtual HRESULT STDMETHODCALLTYPE get_NotificationLevel(
 473        AutomaticUpdatesNotificationLevel *retval) = 0;
 474
 475    virtual HRESULT STDMETHODCALLTYPE put_NotificationLevel(
 476        AutomaticUpdatesNotificationLevel value) = 0;
 477
 478    virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(
 479        VARIANT_BOOL *retval) = 0;
 480
 481    virtual HRESULT STDMETHODCALLTYPE get_Required(
 482        VARIANT_BOOL *retval) = 0;
 483
 484    virtual HRESULT STDMETHODCALLTYPE get_ScheduledInstallationDay(
 485        AutomaticUpdatesScheduledInstallationDay *retval) = 0;
 486
 487    virtual HRESULT STDMETHODCALLTYPE put_ScheduledInstallationDay(
 488        AutomaticUpdatesScheduledInstallationDay value) = 0;
 489
 490    virtual HRESULT STDMETHODCALLTYPE get_ScheduledInstallationTime(
 491        LONG *retval) = 0;
 492
 493    virtual HRESULT STDMETHODCALLTYPE put_ScheduledInstallationTime(
 494        LONG value) = 0;
 495
 496    virtual HRESULT STDMETHODCALLTYPE Refresh(
 497        ) = 0;
 498
 499    virtual HRESULT STDMETHODCALLTYPE Save(
 500        ) = 0;
 501
 502};
 503#ifdef __CRT_UUID_DECL
 504__CRT_UUID_DECL(IAutomaticUpdatesSettings, 0x2ee48f22, 0xaf3c, 0x405f, 0x89,0x70, 0xf7,0x1b,0xe1,0x2e,0xe9,0xa2)
 505#endif
 506#else
 507typedef struct IAutomaticUpdatesSettingsVtbl {
 508    BEGIN_INTERFACE
 509
 510    /*** IUnknown methods ***/
 511    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 512        IAutomaticUpdatesSettings *This,
 513        REFIID riid,
 514        void **ppvObject);
 515
 516    ULONG (STDMETHODCALLTYPE *AddRef)(
 517        IAutomaticUpdatesSettings *This);
 518
 519    ULONG (STDMETHODCALLTYPE *Release)(
 520        IAutomaticUpdatesSettings *This);
 521
 522    /*** IDispatch methods ***/
 523    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 524        IAutomaticUpdatesSettings *This,
 525        UINT *pctinfo);
 526
 527    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 528        IAutomaticUpdatesSettings *This,
 529        UINT iTInfo,
 530        LCID lcid,
 531        ITypeInfo **ppTInfo);
 532
 533    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 534        IAutomaticUpdatesSettings *This,
 535        REFIID riid,
 536        LPOLESTR *rgszNames,
 537        UINT cNames,
 538        LCID lcid,
 539        DISPID *rgDispId);
 540
 541    HRESULT (STDMETHODCALLTYPE *Invoke)(
 542        IAutomaticUpdatesSettings *This,
 543        DISPID dispIdMember,
 544        REFIID riid,
 545        LCID lcid,
 546        WORD wFlags,
 547        DISPPARAMS *pDispParams,
 548        VARIANT *pVarResult,
 549        EXCEPINFO *pExcepInfo,
 550        UINT *puArgErr);
 551
 552    /*** IAutomaticUpdatesSettings methods ***/
 553    HRESULT (STDMETHODCALLTYPE *get_NotificationLevel)(
 554        IAutomaticUpdatesSettings *This,
 555        AutomaticUpdatesNotificationLevel *retval);
 556
 557    HRESULT (STDMETHODCALLTYPE *put_NotificationLevel)(
 558        IAutomaticUpdatesSettings *This,
 559        AutomaticUpdatesNotificationLevel value);
 560
 561    HRESULT (STDMETHODCALLTYPE *get_ReadOnly)(
 562        IAutomaticUpdatesSettings *This,
 563        VARIANT_BOOL *retval);
 564
 565    HRESULT (STDMETHODCALLTYPE *get_Required)(
 566        IAutomaticUpdatesSettings *This,
 567        VARIANT_BOOL *retval);
 568
 569    HRESULT (STDMETHODCALLTYPE *get_ScheduledInstallationDay)(
 570        IAutomaticUpdatesSettings *This,
 571        AutomaticUpdatesScheduledInstallationDay *retval);
 572
 573    HRESULT (STDMETHODCALLTYPE *put_ScheduledInstallationDay)(
 574        IAutomaticUpdatesSettings *This,
 575        AutomaticUpdatesScheduledInstallationDay value);
 576
 577    HRESULT (STDMETHODCALLTYPE *get_ScheduledInstallationTime)(
 578        IAutomaticUpdatesSettings *This,
 579        LONG *retval);
 580
 581    HRESULT (STDMETHODCALLTYPE *put_ScheduledInstallationTime)(
 582        IAutomaticUpdatesSettings *This,
 583        LONG value);
 584
 585    HRESULT (STDMETHODCALLTYPE *Refresh)(
 586        IAutomaticUpdatesSettings *This);
 587
 588    HRESULT (STDMETHODCALLTYPE *Save)(
 589        IAutomaticUpdatesSettings *This);
 590
 591    END_INTERFACE
 592} IAutomaticUpdatesSettingsVtbl;
 593
 594interface IAutomaticUpdatesSettings {
 595    CONST_VTBL IAutomaticUpdatesSettingsVtbl* lpVtbl;
 596};
 597
 598#ifdef COBJMACROS
 599#ifndef WIDL_C_INLINE_WRAPPERS
 600/*** IUnknown methods ***/
 601#define IAutomaticUpdatesSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 602#define IAutomaticUpdatesSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
 603#define IAutomaticUpdatesSettings_Release(This) (This)->lpVtbl->Release(This)
 604/*** IDispatch methods ***/
 605#define IAutomaticUpdatesSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 606#define IAutomaticUpdatesSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 607#define IAutomaticUpdatesSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 608#define IAutomaticUpdatesSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 609/*** IAutomaticUpdatesSettings methods ***/
 610#define IAutomaticUpdatesSettings_get_NotificationLevel(This,retval) (This)->lpVtbl->get_NotificationLevel(This,retval)
 611#define IAutomaticUpdatesSettings_put_NotificationLevel(This,value) (This)->lpVtbl->put_NotificationLevel(This,value)
 612#define IAutomaticUpdatesSettings_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval)
 613#define IAutomaticUpdatesSettings_get_Required(This,retval) (This)->lpVtbl->get_Required(This,retval)
 614#define IAutomaticUpdatesSettings_get_ScheduledInstallationDay(This,retval) (This)->lpVtbl->get_ScheduledInstallationDay(This,retval)
 615#define IAutomaticUpdatesSettings_put_ScheduledInstallationDay(This,value) (This)->lpVtbl->put_ScheduledInstallationDay(This,value)
 616#define IAutomaticUpdatesSettings_get_ScheduledInstallationTime(This,retval) (This)->lpVtbl->get_ScheduledInstallationTime(This,retval)
 617#define IAutomaticUpdatesSettings_put_ScheduledInstallationTime(This,value) (This)->lpVtbl->put_ScheduledInstallationTime(This,value)
 618#define IAutomaticUpdatesSettings_Refresh(This) (This)->lpVtbl->Refresh(This)
 619#define IAutomaticUpdatesSettings_Save(This) (This)->lpVtbl->Save(This)
 620#else
 621/*** IUnknown methods ***/
 622static inline HRESULT IAutomaticUpdatesSettings_QueryInterface(IAutomaticUpdatesSettings* This,REFIID riid,void **ppvObject) {
 623    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 624}
 625static inline ULONG IAutomaticUpdatesSettings_AddRef(IAutomaticUpdatesSettings* This) {
 626    return This->lpVtbl->AddRef(This);
 627}
 628static inline ULONG IAutomaticUpdatesSettings_Release(IAutomaticUpdatesSettings* This) {
 629    return This->lpVtbl->Release(This);
 630}
 631/*** IDispatch methods ***/
 632static inline HRESULT IAutomaticUpdatesSettings_GetTypeInfoCount(IAutomaticUpdatesSettings* This,UINT *pctinfo) {
 633    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 634}
 635static inline HRESULT IAutomaticUpdatesSettings_GetTypeInfo(IAutomaticUpdatesSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 636    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 637}
 638static inline HRESULT IAutomaticUpdatesSettings_GetIDsOfNames(IAutomaticUpdatesSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 639    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 640}
 641static inline HRESULT IAutomaticUpdatesSettings_Invoke(IAutomaticUpdatesSettings* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 642    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 643}
 644/*** IAutomaticUpdatesSettings methods ***/
 645static inline HRESULT IAutomaticUpdatesSettings_get_NotificationLevel(IAutomaticUpdatesSettings* This,AutomaticUpdatesNotificationLevel *retval) {
 646    return This->lpVtbl->get_NotificationLevel(This,retval);
 647}
 648static inline HRESULT IAutomaticUpdatesSettings_put_NotificationLevel(IAutomaticUpdatesSettings* This,AutomaticUpdatesNotificationLevel value) {
 649    return This->lpVtbl->put_NotificationLevel(This,value);
 650}
 651static inline HRESULT IAutomaticUpdatesSettings_get_ReadOnly(IAutomaticUpdatesSettings* This,VARIANT_BOOL *retval) {
 652    return This->lpVtbl->get_ReadOnly(This,retval);
 653}
 654static inline HRESULT IAutomaticUpdatesSettings_get_Required(IAutomaticUpdatesSettings* This,VARIANT_BOOL *retval) {
 655    return This->lpVtbl->get_Required(This,retval);
 656}
 657static inline HRESULT IAutomaticUpdatesSettings_get_ScheduledInstallationDay(IAutomaticUpdatesSettings* This,AutomaticUpdatesScheduledInstallationDay *retval) {
 658    return This->lpVtbl->get_ScheduledInstallationDay(This,retval);
 659}
 660static inline HRESULT IAutomaticUpdatesSettings_put_ScheduledInstallationDay(IAutomaticUpdatesSettings* This,AutomaticUpdatesScheduledInstallationDay value) {
 661    return This->lpVtbl->put_ScheduledInstallationDay(This,value);
 662}
 663static inline HRESULT IAutomaticUpdatesSettings_get_ScheduledInstallationTime(IAutomaticUpdatesSettings* This,LONG *retval) {
 664    return This->lpVtbl->get_ScheduledInstallationTime(This,retval);
 665}
 666static inline HRESULT IAutomaticUpdatesSettings_put_ScheduledInstallationTime(IAutomaticUpdatesSettings* This,LONG value) {
 667    return This->lpVtbl->put_ScheduledInstallationTime(This,value);
 668}
 669static inline HRESULT IAutomaticUpdatesSettings_Refresh(IAutomaticUpdatesSettings* This) {
 670    return This->lpVtbl->Refresh(This);
 671}
 672static inline HRESULT IAutomaticUpdatesSettings_Save(IAutomaticUpdatesSettings* This) {
 673    return This->lpVtbl->Save(This);
 674}
 675#endif
 676#endif
 677
 678#endif
 679
 680
 681#endif  /* __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ */
 682
 683/*****************************************************************************
 684 * IAutomaticUpdates interface
 685 */
 686#ifndef __IAutomaticUpdates_INTERFACE_DEFINED__
 687#define __IAutomaticUpdates_INTERFACE_DEFINED__
 688
 689DEFINE_GUID(IID_IAutomaticUpdates, 0x673425bf, 0xc082, 0x4c7c, 0xbd,0xfd, 0x56,0x94,0x64,0xb8,0xe0,0xce);
 690#if defined(__cplusplus) && !defined(CINTERFACE)
 691MIDL_INTERFACE("673425bf-c082-4c7c-bdfd-569464b8e0ce")
 692IAutomaticUpdates : public IDispatch
 693{
 694    virtual HRESULT STDMETHODCALLTYPE DetectNow(
 695        ) = 0;
 696
 697    virtual HRESULT STDMETHODCALLTYPE Pause(
 698        ) = 0;
 699
 700    virtual HRESULT STDMETHODCALLTYPE Resume(
 701        ) = 0;
 702
 703    virtual HRESULT STDMETHODCALLTYPE ShowSettingsDialog(
 704        ) = 0;
 705
 706    virtual HRESULT STDMETHODCALLTYPE get_Settings(
 707        IAutomaticUpdatesSettings **retval) = 0;
 708
 709    virtual HRESULT STDMETHODCALLTYPE get_ServiceEnabled(
 710        VARIANT_BOOL *retval) = 0;
 711
 712    virtual HRESULT STDMETHODCALLTYPE EnableService(
 713        ) = 0;
 714
 715};
 716#ifdef __CRT_UUID_DECL
 717__CRT_UUID_DECL(IAutomaticUpdates, 0x673425bf, 0xc082, 0x4c7c, 0xbd,0xfd, 0x56,0x94,0x64,0xb8,0xe0,0xce)
 718#endif
 719#else
 720typedef struct IAutomaticUpdatesVtbl {
 721    BEGIN_INTERFACE
 722
 723    /*** IUnknown methods ***/
 724    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 725        IAutomaticUpdates *This,
 726        REFIID riid,
 727        void **ppvObject);
 728
 729    ULONG (STDMETHODCALLTYPE *AddRef)(
 730        IAutomaticUpdates *This);
 731
 732    ULONG (STDMETHODCALLTYPE *Release)(
 733        IAutomaticUpdates *This);
 734
 735    /*** IDispatch methods ***/
 736    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 737        IAutomaticUpdates *This,
 738        UINT *pctinfo);
 739
 740    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 741        IAutomaticUpdates *This,
 742        UINT iTInfo,
 743        LCID lcid,
 744        ITypeInfo **ppTInfo);
 745
 746    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 747        IAutomaticUpdates *This,
 748        REFIID riid,
 749        LPOLESTR *rgszNames,
 750        UINT cNames,
 751        LCID lcid,
 752        DISPID *rgDispId);
 753
 754    HRESULT (STDMETHODCALLTYPE *Invoke)(
 755        IAutomaticUpdates *This,
 756        DISPID dispIdMember,
 757        REFIID riid,
 758        LCID lcid,
 759        WORD wFlags,
 760        DISPPARAMS *pDispParams,
 761        VARIANT *pVarResult,
 762        EXCEPINFO *pExcepInfo,
 763        UINT *puArgErr);
 764
 765    /*** IAutomaticUpdates methods ***/
 766    HRESULT (STDMETHODCALLTYPE *DetectNow)(
 767        IAutomaticUpdates *This);
 768
 769    HRESULT (STDMETHODCALLTYPE *Pause)(
 770        IAutomaticUpdates *This);
 771
 772    HRESULT (STDMETHODCALLTYPE *Resume)(
 773        IAutomaticUpdates *This);
 774
 775    HRESULT (STDMETHODCALLTYPE *ShowSettingsDialog)(
 776        IAutomaticUpdates *This);
 777
 778    HRESULT (STDMETHODCALLTYPE *get_Settings)(
 779        IAutomaticUpdates *This,
 780        IAutomaticUpdatesSettings **retval);
 781
 782    HRESULT (STDMETHODCALLTYPE *get_ServiceEnabled)(
 783        IAutomaticUpdates *This,
 784        VARIANT_BOOL *retval);
 785
 786    HRESULT (STDMETHODCALLTYPE *EnableService)(
 787        IAutomaticUpdates *This);
 788
 789    END_INTERFACE
 790} IAutomaticUpdatesVtbl;
 791
 792interface IAutomaticUpdates {
 793    CONST_VTBL IAutomaticUpdatesVtbl* lpVtbl;
 794};
 795
 796#ifdef COBJMACROS
 797#ifndef WIDL_C_INLINE_WRAPPERS
 798/*** IUnknown methods ***/
 799#define IAutomaticUpdates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 800#define IAutomaticUpdates_AddRef(This) (This)->lpVtbl->AddRef(This)
 801#define IAutomaticUpdates_Release(This) (This)->lpVtbl->Release(This)
 802/*** IDispatch methods ***/
 803#define IAutomaticUpdates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 804#define IAutomaticUpdates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 805#define IAutomaticUpdates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 806#define IAutomaticUpdates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 807/*** IAutomaticUpdates methods ***/
 808#define IAutomaticUpdates_DetectNow(This) (This)->lpVtbl->DetectNow(This)
 809#define IAutomaticUpdates_Pause(This) (This)->lpVtbl->Pause(This)
 810#define IAutomaticUpdates_Resume(This) (This)->lpVtbl->Resume(This)
 811#define IAutomaticUpdates_ShowSettingsDialog(This) (This)->lpVtbl->ShowSettingsDialog(This)
 812#define IAutomaticUpdates_get_Settings(This,retval) (This)->lpVtbl->get_Settings(This,retval)
 813#define IAutomaticUpdates_get_ServiceEnabled(This,retval) (This)->lpVtbl->get_ServiceEnabled(This,retval)
 814#define IAutomaticUpdates_EnableService(This) (This)->lpVtbl->EnableService(This)
 815#else
 816/*** IUnknown methods ***/
 817static inline HRESULT IAutomaticUpdates_QueryInterface(IAutomaticUpdates* This,REFIID riid,void **ppvObject) {
 818    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 819}
 820static inline ULONG IAutomaticUpdates_AddRef(IAutomaticUpdates* This) {
 821    return This->lpVtbl->AddRef(This);
 822}
 823static inline ULONG IAutomaticUpdates_Release(IAutomaticUpdates* This) {
 824    return This->lpVtbl->Release(This);
 825}
 826/*** IDispatch methods ***/
 827static inline HRESULT IAutomaticUpdates_GetTypeInfoCount(IAutomaticUpdates* This,UINT *pctinfo) {
 828    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 829}
 830static inline HRESULT IAutomaticUpdates_GetTypeInfo(IAutomaticUpdates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 831    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 832}
 833static inline HRESULT IAutomaticUpdates_GetIDsOfNames(IAutomaticUpdates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 834    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 835}
 836static inline HRESULT IAutomaticUpdates_Invoke(IAutomaticUpdates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 837    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 838}
 839/*** IAutomaticUpdates methods ***/
 840static inline HRESULT IAutomaticUpdates_DetectNow(IAutomaticUpdates* This) {
 841    return This->lpVtbl->DetectNow(This);
 842}
 843static inline HRESULT IAutomaticUpdates_Pause(IAutomaticUpdates* This) {
 844    return This->lpVtbl->Pause(This);
 845}
 846static inline HRESULT IAutomaticUpdates_Resume(IAutomaticUpdates* This) {
 847    return This->lpVtbl->Resume(This);
 848}
 849static inline HRESULT IAutomaticUpdates_ShowSettingsDialog(IAutomaticUpdates* This) {
 850    return This->lpVtbl->ShowSettingsDialog(This);
 851}
 852static inline HRESULT IAutomaticUpdates_get_Settings(IAutomaticUpdates* This,IAutomaticUpdatesSettings **retval) {
 853    return This->lpVtbl->get_Settings(This,retval);
 854}
 855static inline HRESULT IAutomaticUpdates_get_ServiceEnabled(IAutomaticUpdates* This,VARIANT_BOOL *retval) {
 856    return This->lpVtbl->get_ServiceEnabled(This,retval);
 857}
 858static inline HRESULT IAutomaticUpdates_EnableService(IAutomaticUpdates* This) {
 859    return This->lpVtbl->EnableService(This);
 860}
 861#endif
 862#endif
 863
 864#endif
 865
 866
 867#endif  /* __IAutomaticUpdates_INTERFACE_DEFINED__ */
 868
 869/*****************************************************************************
 870 * IWebProxy interface
 871 */
 872#ifndef __IWebProxy_INTERFACE_DEFINED__
 873#define __IWebProxy_INTERFACE_DEFINED__
 874
 875DEFINE_GUID(IID_IWebProxy, 0x174c81fe, 0xaecd, 0x4dae, 0xb8,0xa0, 0x2c,0x63,0x18,0xdd,0x86,0xa8);
 876#if defined(__cplusplus) && !defined(CINTERFACE)
 877MIDL_INTERFACE("174c81fe-aecd-4dae-b8a0-2c6318dd86a8")
 878IWebProxy : public IDispatch
 879{
 880    virtual HRESULT STDMETHODCALLTYPE get_Address(
 881        BSTR *retval) = 0;
 882
 883    virtual HRESULT STDMETHODCALLTYPE put_Address(
 884        BSTR value) = 0;
 885
 886    virtual HRESULT STDMETHODCALLTYPE get_BypassList(
 887        IStringCollection **retval) = 0;
 888
 889    virtual HRESULT STDMETHODCALLTYPE put_BypassList(
 890        IStringCollection *value) = 0;
 891
 892    virtual HRESULT STDMETHODCALLTYPE get_BypassProxyOnLocal(
 893        VARIANT_BOOL *retval) = 0;
 894
 895    virtual HRESULT STDMETHODCALLTYPE put_BypassProxyOnLocal(
 896        VARIANT_BOOL value) = 0;
 897
 898    virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(
 899        VARIANT_BOOL *retval) = 0;
 900
 901    virtual HRESULT STDMETHODCALLTYPE get_UserName(
 902        BSTR *retval) = 0;
 903
 904    virtual HRESULT STDMETHODCALLTYPE put_UserName(
 905        BSTR value) = 0;
 906
 907    virtual HRESULT STDMETHODCALLTYPE SetPassword(
 908        BSTR value) = 0;
 909
 910    virtual HRESULT STDMETHODCALLTYPE PromptForCredentials(
 911        IUnknown *parentWindow,
 912        BSTR title) = 0;
 913
 914    virtual HRESULT STDMETHODCALLTYPE PromptForCredentialsFromHwnd(
 915        HWND parentWindow,
 916        BSTR title) = 0;
 917
 918    virtual HRESULT STDMETHODCALLTYPE get_AutoDetect(
 919        VARIANT_BOOL *retval) = 0;
 920
 921    virtual HRESULT STDMETHODCALLTYPE put_AutoDetect(
 922        VARIANT_BOOL value) = 0;
 923
 924};
 925#ifdef __CRT_UUID_DECL
 926__CRT_UUID_DECL(IWebProxy, 0x174c81fe, 0xaecd, 0x4dae, 0xb8,0xa0, 0x2c,0x63,0x18,0xdd,0x86,0xa8)
 927#endif
 928#else
 929typedef struct IWebProxyVtbl {
 930    BEGIN_INTERFACE
 931
 932    /*** IUnknown methods ***/
 933    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 934        IWebProxy *This,
 935        REFIID riid,
 936        void **ppvObject);
 937
 938    ULONG (STDMETHODCALLTYPE *AddRef)(
 939        IWebProxy *This);
 940
 941    ULONG (STDMETHODCALLTYPE *Release)(
 942        IWebProxy *This);
 943
 944    /*** IDispatch methods ***/
 945    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 946        IWebProxy *This,
 947        UINT *pctinfo);
 948
 949    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 950        IWebProxy *This,
 951        UINT iTInfo,
 952        LCID lcid,
 953        ITypeInfo **ppTInfo);
 954
 955    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 956        IWebProxy *This,
 957        REFIID riid,
 958        LPOLESTR *rgszNames,
 959        UINT cNames,
 960        LCID lcid,
 961        DISPID *rgDispId);
 962
 963    HRESULT (STDMETHODCALLTYPE *Invoke)(
 964        IWebProxy *This,
 965        DISPID dispIdMember,
 966        REFIID riid,
 967        LCID lcid,
 968        WORD wFlags,
 969        DISPPARAMS *pDispParams,
 970        VARIANT *pVarResult,
 971        EXCEPINFO *pExcepInfo,
 972        UINT *puArgErr);
 973
 974    /*** IWebProxy methods ***/
 975    HRESULT (STDMETHODCALLTYPE *get_Address)(
 976        IWebProxy *This,
 977        BSTR *retval);
 978
 979    HRESULT (STDMETHODCALLTYPE *put_Address)(
 980        IWebProxy *This,
 981        BSTR value);
 982
 983    HRESULT (STDMETHODCALLTYPE *get_BypassList)(
 984        IWebProxy *This,
 985        IStringCollection **retval);
 986
 987    HRESULT (STDMETHODCALLTYPE *put_BypassList)(
 988        IWebProxy *This,
 989        IStringCollection *value);
 990
 991    HRESULT (STDMETHODCALLTYPE *get_BypassProxyOnLocal)(
 992        IWebProxy *This,
 993        VARIANT_BOOL *retval);
 994
 995    HRESULT (STDMETHODCALLTYPE *put_BypassProxyOnLocal)(
 996        IWebProxy *This,
 997        VARIANT_BOOL value);
 998
 999    HRESULT (STDMETHODCALLTYPE *get_ReadOnly)(
1000        IWebProxy *This,
1001        VARIANT_BOOL *retval);
1002
1003    HRESULT (STDMETHODCALLTYPE *get_UserName)(
1004        IWebProxy *This,
1005        BSTR *retval);
1006
1007    HRESULT (STDMETHODCALLTYPE *put_UserName)(
1008        IWebProxy *This,
1009        BSTR value);
1010
1011    HRESULT (STDMETHODCALLTYPE *SetPassword)(
1012        IWebProxy *This,
1013        BSTR value);
1014
1015    HRESULT (STDMETHODCALLTYPE *PromptForCredentials)(
1016        IWebProxy *This,
1017        IUnknown *parentWindow,
1018        BSTR title);
1019
1020    HRESULT (STDMETHODCALLTYPE *PromptForCredentialsFromHwnd)(
1021        IWebProxy *This,
1022        HWND parentWindow,
1023        BSTR title);
1024
1025    HRESULT (STDMETHODCALLTYPE *get_AutoDetect)(
1026        IWebProxy *This,
1027        VARIANT_BOOL *retval);
1028
1029    HRESULT (STDMETHODCALLTYPE *put_AutoDetect)(
1030        IWebProxy *This,
1031        VARIANT_BOOL value);
1032
1033    END_INTERFACE
1034} IWebProxyVtbl;
1035
1036interface IWebProxy {
1037    CONST_VTBL IWebProxyVtbl* lpVtbl;
1038};
1039
1040#ifdef COBJMACROS
1041#ifndef WIDL_C_INLINE_WRAPPERS
1042/*** IUnknown methods ***/
1043#define IWebProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1044#define IWebProxy_AddRef(This) (This)->lpVtbl->AddRef(This)
1045#define IWebProxy_Release(This) (This)->lpVtbl->Release(This)
1046/*** IDispatch methods ***/
1047#define IWebProxy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1048#define IWebProxy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1049#define IWebProxy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1050#define IWebProxy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1051/*** IWebProxy methods ***/
1052#define IWebProxy_get_Address(This,retval) (This)->lpVtbl->get_Address(This,retval)
1053#define IWebProxy_put_Address(This,value) (This)->lpVtbl->put_Address(This,value)
1054#define IWebProxy_get_BypassList(This,retval) (This)->lpVtbl->get_BypassList(This,retval)
1055#define IWebProxy_put_BypassList(This,value) (This)->lpVtbl->put_BypassList(This,value)
1056#define IWebProxy_get_BypassProxyOnLocal(This,retval) (This)->lpVtbl->get_BypassProxyOnLocal(This,retval)
1057#define IWebProxy_put_BypassProxyOnLocal(This,value) (This)->lpVtbl->put_BypassProxyOnLocal(This,value)
1058#define IWebProxy_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval)
1059#define IWebProxy_get_UserName(This,retval) (This)->lpVtbl->get_UserName(This,retval)
1060#define IWebProxy_put_UserName(This,value) (This)->lpVtbl->put_UserName(This,value)
1061#define IWebProxy_SetPassword(This,value) (This)->lpVtbl->SetPassword(This,value)
1062#define IWebProxy_PromptForCredentials(This,parentWindow,title) (This)->lpVtbl->PromptForCredentials(This,parentWindow,title)
1063#define IWebProxy_PromptForCredentialsFromHwnd(This,parentWindow,title) (This)->lpVtbl->PromptForCredentialsFromHwnd(This,parentWindow,title)
1064#define IWebProxy_get_AutoDetect(This,retval) (This)->lpVtbl->get_AutoDetect(This,retval)
1065#define IWebProxy_put_AutoDetect(This,value) (This)->lpVtbl->put_AutoDetect(This,value)
1066#else
1067/*** IUnknown methods ***/
1068static inline HRESULT IWebProxy_QueryInterface(IWebProxy* This,REFIID riid,void **ppvObject) {
1069    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1070}
1071static inline ULONG IWebProxy_AddRef(IWebProxy* This) {
1072    return This->lpVtbl->AddRef(This);
1073}
1074static inline ULONG IWebProxy_Release(IWebProxy* This) {
1075    return This->lpVtbl->Release(This);
1076}
1077/*** IDispatch methods ***/
1078static inline HRESULT IWebProxy_GetTypeInfoCount(IWebProxy* This,UINT *pctinfo) {
1079    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1080}
1081static inline HRESULT IWebProxy_GetTypeInfo(IWebProxy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1082    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1083}
1084static inline HRESULT IWebProxy_GetIDsOfNames(IWebProxy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1085    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1086}
1087static inline HRESULT IWebProxy_Invoke(IWebProxy* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1088    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1089}
1090/*** IWebProxy methods ***/
1091static inline HRESULT IWebProxy_get_Address(IWebProxy* This,BSTR *retval) {
1092    return This->lpVtbl->get_Address(This,retval);
1093}
1094static inline HRESULT IWebProxy_put_Address(IWebProxy* This,BSTR value) {
1095    return This->lpVtbl->put_Address(This,value);
1096}
1097static inline HRESULT IWebProxy_get_BypassList(IWebProxy* This,IStringCollection **retval) {
1098    return This->lpVtbl->get_BypassList(This,retval);
1099}
1100static inline HRESULT IWebProxy_put_BypassList(IWebProxy* This,IStringCollection *value) {
1101    return This->lpVtbl->put_BypassList(This,value);
1102}
1103static inline HRESULT IWebProxy_get_BypassProxyOnLocal(IWebProxy* This,VARIANT_BOOL *retval) {
1104    return This->lpVtbl->get_BypassProxyOnLocal(This,retval);
1105}
1106static inline HRESULT IWebProxy_put_BypassProxyOnLocal(IWebProxy* This,VARIANT_BOOL value) {
1107    return This->lpVtbl->put_BypassProxyOnLocal(This,value);
1108}
1109static inline HRESULT IWebProxy_get_ReadOnly(IWebProxy* This,VARIANT_BOOL *retval) {
1110    return This->lpVtbl->get_ReadOnly(This,retval);
1111}
1112static inline HRESULT IWebProxy_get_UserName(IWebProxy* This,BSTR *retval) {
1113    return This->lpVtbl->get_UserName(This,retval);
1114}
1115static inline HRESULT IWebProxy_put_UserName(IWebProxy* This,BSTR value) {
1116    return This->lpVtbl->put_UserName(This,value);
1117}
1118static inline HRESULT IWebProxy_SetPassword(IWebProxy* This,BSTR value) {
1119    return This->lpVtbl->SetPassword(This,value);
1120}
1121static inline HRESULT IWebProxy_PromptForCredentials(IWebProxy* This,IUnknown *parentWindow,BSTR title) {
1122    return This->lpVtbl->PromptForCredentials(This,parentWindow,title);
1123}
1124static inline HRESULT IWebProxy_PromptForCredentialsFromHwnd(IWebProxy* This,HWND parentWindow,BSTR title) {
1125    return This->lpVtbl->PromptForCredentialsFromHwnd(This,parentWindow,title);
1126}
1127static inline HRESULT IWebProxy_get_AutoDetect(IWebProxy* This,VARIANT_BOOL *retval) {
1128    return This->lpVtbl->get_AutoDetect(This,retval);
1129}
1130static inline HRESULT IWebProxy_put_AutoDetect(IWebProxy* This,VARIANT_BOOL value) {
1131    return This->lpVtbl->put_AutoDetect(This,value);
1132}
1133#endif
1134#endif
1135
1136#endif
1137
1138
1139#endif  /* __IWebProxy_INTERFACE_DEFINED__ */
1140
1141/*****************************************************************************
1142 * IUpdateSession interface
1143 */
1144#ifndef __IUpdateSession_INTERFACE_DEFINED__
1145#define __IUpdateSession_INTERFACE_DEFINED__
1146
1147DEFINE_GUID(IID_IUpdateSession, 0x816858a4, 0x260d, 0x4260, 0x93,0x3a, 0x25,0x85,0xf1,0xab,0xc7,0x6b);
1148#if defined(__cplusplus) && !defined(CINTERFACE)
1149MIDL_INTERFACE("816858a4-260d-4260-933a-2585f1abc76b")
1150IUpdateSession : public IDispatch
1151{
1152    virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID(
1153        BSTR *retval) = 0;
1154
1155    virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID(
1156        BSTR value) = 0;
1157
1158    virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(
1159        VARIANT_BOOL *retval) = 0;
1160
1161    virtual HRESULT STDMETHODCALLTYPE get_WebProxy(
1162        IWebProxy **retval) = 0;
1163
1164    virtual HRESULT STDMETHODCALLTYPE put_WebProxy(
1165        IWebProxy *value) = 0;
1166
1167    virtual HRESULT STDMETHODCALLTYPE CreateUpdateSearcher(
1168        IUpdateSearcher **retval) = 0;
1169
1170    virtual HRESULT STDMETHODCALLTYPE CreateUpdateDownloader(
1171        IUpdateDownloader **retval) = 0;
1172
1173    virtual HRESULT STDMETHODCALLTYPE CreateUpdateInstaller(
1174        IUpdateInstaller **retval) = 0;
1175
1176};
1177#ifdef __CRT_UUID_DECL
1178__CRT_UUID_DECL(IUpdateSession, 0x816858a4, 0x260d, 0x4260, 0x93,0x3a, 0x25,0x85,0xf1,0xab,0xc7,0x6b)
1179#endif
1180#else
1181typedef struct IUpdateSessionVtbl {
1182    BEGIN_INTERFACE
1183
1184    /*** IUnknown methods ***/
1185    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1186        IUpdateSession *This,
1187        REFIID riid,
1188        void **ppvObject);
1189
1190    ULONG (STDMETHODCALLTYPE *AddRef)(
1191        IUpdateSession *This);
1192
1193    ULONG (STDMETHODCALLTYPE *Release)(
1194        IUpdateSession *This);
1195
1196    /*** IDispatch methods ***/
1197    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1198        IUpdateSession *This,
1199        UINT *pctinfo);
1200
1201    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1202        IUpdateSession *This,
1203        UINT iTInfo,
1204        LCID lcid,
1205        ITypeInfo **ppTInfo);
1206
1207    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1208        IUpdateSession *This,
1209        REFIID riid,
1210        LPOLESTR *rgszNames,
1211        UINT cNames,
1212        LCID lcid,
1213        DISPID *rgDispId);
1214
1215    HRESULT (STDMETHODCALLTYPE *Invoke)(
1216        IUpdateSession *This,
1217        DISPID dispIdMember,
1218        REFIID riid,
1219        LCID lcid,
1220        WORD wFlags,
1221        DISPPARAMS *pDispParams,
1222        VARIANT *pVarResult,
1223        EXCEPINFO *pExcepInfo,
1224        UINT *puArgErr);
1225
1226    /*** IUpdateSession methods ***/
1227    HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)(
1228        IUpdateSession *This,
1229        BSTR *retval);
1230
1231    HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)(
1232        IUpdateSession *This,
1233        BSTR value);
1234
1235    HRESULT (STDMETHODCALLTYPE *get_ReadOnly)(
1236        IUpdateSession *This,
1237        VARIANT_BOOL *retval);
1238
1239    HRESULT (STDMETHODCALLTYPE *get_WebProxy)(
1240        IUpdateSession *This,
1241        IWebProxy **retval);
1242
1243    HRESULT (STDMETHODCALLTYPE *put_WebProxy)(
1244        IUpdateSession *This,
1245        IWebProxy *value);
1246
1247    HRESULT (STDMETHODCALLTYPE *CreateUpdateSearcher)(
1248        IUpdateSession *This,
1249        IUpdateSearcher **retval);
1250
1251    HRESULT (STDMETHODCALLTYPE *CreateUpdateDownloader)(
1252        IUpdateSession *This,
1253        IUpdateDownloader **retval);
1254
1255    HRESULT (STDMETHODCALLTYPE *CreateUpdateInstaller)(
1256        IUpdateSession *This,
1257        IUpdateInstaller **retval);
1258
1259    END_INTERFACE
1260} IUpdateSessionVtbl;
1261
1262interface IUpdateSession {
1263    CONST_VTBL IUpdateSessionVtbl* lpVtbl;
1264};
1265
1266#ifdef COBJMACROS
1267#ifndef WIDL_C_INLINE_WRAPPERS
1268/*** IUnknown methods ***/
1269#define IUpdateSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1270#define IUpdateSession_AddRef(This) (This)->lpVtbl->AddRef(This)
1271#define IUpdateSession_Release(This) (This)->lpVtbl->Release(This)
1272/*** IDispatch methods ***/
1273#define IUpdateSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1274#define IUpdateSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1275#define IUpdateSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1276#define IUpdateSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1277/*** IUpdateSession methods ***/
1278#define IUpdateSession_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval)
1279#define IUpdateSession_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value)
1280#define IUpdateSession_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval)
1281#define IUpdateSession_get_WebProxy(This,retval) (This)->lpVtbl->get_WebProxy(This,retval)
1282#define IUpdateSession_put_WebProxy(This,value) (This)->lpVtbl->put_WebProxy(This,value)
1283#define IUpdateSession_CreateUpdateSearcher(This,retval) (This)->lpVtbl->CreateUpdateSearcher(This,retval)
1284#define IUpdateSession_CreateUpdateDownloader(This,retval) (This)->lpVtbl->CreateUpdateDownloader(This,retval)
1285#define IUpdateSession_CreateUpdateInstaller(This,retval) (This)->lpVtbl->CreateUpdateInstaller(This,retval)
1286#else
1287/*** IUnknown methods ***/
1288static inline HRESULT IUpdateSession_QueryInterface(IUpdateSession* This,REFIID riid,void **ppvObject) {
1289    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1290}
1291static inline ULONG IUpdateSession_AddRef(IUpdateSession* This) {
1292    return This->lpVtbl->AddRef(This);
1293}
1294static inline ULONG IUpdateSession_Release(IUpdateSession* This) {
1295    return This->lpVtbl->Release(This);
1296}
1297/*** IDispatch methods ***/
1298static inline HRESULT IUpdateSession_GetTypeInfoCount(IUpdateSession* This,UINT *pctinfo) {
1299    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1300}
1301static inline HRESULT IUpdateSession_GetTypeInfo(IUpdateSession* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1302    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1303}
1304static inline HRESULT IUpdateSession_GetIDsOfNames(IUpdateSession* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1305    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1306}
1307static inline HRESULT IUpdateSession_Invoke(IUpdateSession* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1308    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1309}
1310/*** IUpdateSession methods ***/
1311static inline HRESULT IUpdateSession_get_ClientApplicationID(IUpdateSession* This,BSTR *retval) {
1312    return This->lpVtbl->get_ClientApplicationID(This,retval);
1313}
1314static inline HRESULT IUpdateSession_put_ClientApplicationID(IUpdateSession* This,BSTR value) {
1315    return This->lpVtbl->put_ClientApplicationID(This,value);
1316}
1317static inline HRESULT IUpdateSession_get_ReadOnly(IUpdateSession* This,VARIANT_BOOL *retval) {
1318    return This->lpVtbl->get_ReadOnly(This,retval);
1319}
1320static inline HRESULT IUpdateSession_get_WebProxy(IUpdateSession* This,IWebProxy **retval) {
1321    return This->lpVtbl->get_WebProxy(This,retval);
1322}
1323static inline HRESULT IUpdateSession_put_WebProxy(IUpdateSession* This,IWebProxy *value) {
1324    return This->lpVtbl->put_WebProxy(This,value);
1325}
1326static inline HRESULT IUpdateSession_CreateUpdateSearcher(IUpdateSession* This,IUpdateSearcher **retval) {
1327    return This->lpVtbl->CreateUpdateSearcher(This,retval);
1328}
1329static inline HRESULT IUpdateSession_CreateUpdateDownloader(IUpdateSession* This,IUpdateDownloader **retval) {
1330    return This->lpVtbl->CreateUpdateDownloader(This,retval);
1331}
1332static inline HRESULT IUpdateSession_CreateUpdateInstaller(IUpdateSession* This,IUpdateInstaller **retval) {
1333    return This->lpVtbl->CreateUpdateInstaller(This,retval);
1334}
1335#endif
1336#endif
1337
1338#endif
1339
1340
1341#endif  /* __IUpdateSession_INTERFACE_DEFINED__ */
1342
1343/*****************************************************************************
1344 * IImageInformation interface
1345 */
1346#ifndef __IImageInformation_INTERFACE_DEFINED__
1347#define __IImageInformation_INTERFACE_DEFINED__
1348
1349DEFINE_GUID(IID_IImageInformation, 0x7c907864, 0x346c, 0x4aeb, 0x8f,0x3f, 0x57,0xda,0x28,0x9f,0x96,0x9f);
1350#if defined(__cplusplus) && !defined(CINTERFACE)
1351MIDL_INTERFACE("7c907864-346c-4aeb-8f3f-57da289f969f")
1352IImageInformation : public IDispatch
1353{
1354    virtual HRESULT STDMETHODCALLTYPE get_AltText(
1355        BSTR *retval) = 0;
1356
1357    virtual HRESULT STDMETHODCALLTYPE get_Height(
1358        LONG *retval) = 0;
1359
1360    virtual HRESULT STDMETHODCALLTYPE get_Source(
1361        BSTR *retval) = 0;
1362
1363    virtual HRESULT STDMETHODCALLTYPE get_Width(
1364        LONG *retval) = 0;
1365
1366};
1367#ifdef __CRT_UUID_DECL
1368__CRT_UUID_DECL(IImageInformation, 0x7c907864, 0x346c, 0x4aeb, 0x8f,0x3f, 0x57,0xda,0x28,0x9f,0x96,0x9f)
1369#endif
1370#else
1371typedef struct IImageInformationVtbl {
1372    BEGIN_INTERFACE
1373
1374    /*** IUnknown methods ***/
1375    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1376        IImageInformation *This,
1377        REFIID riid,
1378        void **ppvObject);
1379
1380    ULONG (STDMETHODCALLTYPE *AddRef)(
1381        IImageInformation *This);
1382
1383    ULONG (STDMETHODCALLTYPE *Release)(
1384        IImageInformation *This);
1385
1386    /*** IDispatch methods ***/
1387    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1388        IImageInformation *This,
1389        UINT *pctinfo);
1390
1391    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1392        IImageInformation *This,
1393        UINT iTInfo,
1394        LCID lcid,
1395        ITypeInfo **ppTInfo);
1396
1397    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1398        IImageInformation *This,
1399        REFIID riid,
1400        LPOLESTR *rgszNames,
1401        UINT cNames,
1402        LCID lcid,
1403        DISPID *rgDispId);
1404
1405    HRESULT (STDMETHODCALLTYPE *Invoke)(
1406        IImageInformation *This,
1407        DISPID dispIdMember,
1408        REFIID riid,
1409        LCID lcid,
1410        WORD wFlags,
1411        DISPPARAMS *pDispParams,
1412        VARIANT *pVarResult,
1413        EXCEPINFO *pExcepInfo,
1414        UINT *puArgErr);
1415
1416    /*** IImageInformation methods ***/
1417    HRESULT (STDMETHODCALLTYPE *get_AltText)(
1418        IImageInformation *This,
1419        BSTR *retval);
1420
1421    HRESULT (STDMETHODCALLTYPE *get_Height)(
1422        IImageInformation *This,
1423        LONG *retval);
1424
1425    HRESULT (STDMETHODCALLTYPE *get_Source)(
1426        IImageInformation *This,
1427        BSTR *retval);
1428
1429    HRESULT (STDMETHODCALLTYPE *get_Width)(
1430        IImageInformation *This,
1431        LONG *retval);
1432
1433    END_INTERFACE
1434} IImageInformationVtbl;
1435
1436interface IImageInformation {
1437    CONST_VTBL IImageInformationVtbl* lpVtbl;
1438};
1439
1440#ifdef COBJMACROS
1441#ifndef WIDL_C_INLINE_WRAPPERS
1442/*** IUnknown methods ***/
1443#define IImageInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1444#define IImageInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
1445#define IImageInformation_Release(This) (This)->lpVtbl->Release(This)
1446/*** IDispatch methods ***/
1447#define IImageInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1448#define IImageInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1449#define IImageInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1450#define IImageInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1451/*** IImageInformation methods ***/
1452#define IImageInformation_get_AltText(This,retval) (This)->lpVtbl->get_AltText(This,retval)
1453#define IImageInformation_get_Height(This,retval) (This)->lpVtbl->get_Height(This,retval)
1454#define IImageInformation_get_Source(This,retval) (This)->lpVtbl->get_Source(This,retval)
1455#define IImageInformation_get_Width(This,retval) (This)->lpVtbl->get_Width(This,retval)
1456#else
1457/*** IUnknown methods ***/
1458static inline HRESULT IImageInformation_QueryInterface(IImageInformation* This,REFIID riid,void **ppvObject) {
1459    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1460}
1461static inline ULONG IImageInformation_AddRef(IImageInformation* This) {
1462    return This->lpVtbl->AddRef(This);
1463}
1464static inline ULONG IImageInformation_Release(IImageInformation* This) {
1465    return This->lpVtbl->Release(This);
1466}
1467/*** IDispatch methods ***/
1468static inline HRESULT IImageInformation_GetTypeInfoCount(IImageInformation* This,UINT *pctinfo) {
1469    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1470}
1471static inline HRESULT IImageInformation_GetTypeInfo(IImageInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1472    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1473}
1474static inline HRESULT IImageInformation_GetIDsOfNames(IImageInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1475    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1476}
1477static inline HRESULT IImageInformation_Invoke(IImageInformation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1478    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1479}
1480/*** IImageInformation methods ***/
1481static inline HRESULT IImageInformation_get_AltText(IImageInformation* This,BSTR *retval) {
1482    return This->lpVtbl->get_AltText(This,retval);
1483}
1484static inline HRESULT IImageInformation_get_Height(IImageInformation* This,LONG *retval) {
1485    return This->lpVtbl->get_Height(This,retval);
1486}
1487static inline HRESULT IImageInformation_get_Source(IImageInformation* This,BSTR *retval) {
1488    return This->lpVtbl->get_Source(This,retval);
1489}
1490static inline HRESULT IImageInformation_get_Width(IImageInformation* This,LONG *retval) {
1491    return This->lpVtbl->get_Width(This,retval);
1492}
1493#endif
1494#endif
1495
1496#endif
1497
1498
1499#endif  /* __IImageInformation_INTERFACE_DEFINED__ */
1500
1501/*****************************************************************************
1502 * ICategory interface
1503 */
1504#ifndef __ICategory_INTERFACE_DEFINED__
1505#define __ICategory_INTERFACE_DEFINED__
1506
1507DEFINE_GUID(IID_ICategory, 0x81ddc1b8, 0x9d35, 0x47a6, 0xb4,0x71, 0x5b,0x80,0xf5,0x19,0x22,0x3b);
1508#if defined(__cplusplus) && !defined(CINTERFACE)
1509MIDL_INTERFACE("81ddc1b8-9d35-47a6-b471-5b80f519223b")
1510ICategory : public IDispatch
1511{
1512    virtual HRESULT STDMETHODCALLTYPE get_Name(
1513        BSTR *retval) = 0;
1514
1515    virtual HRESULT STDMETHODCALLTYPE get_CategoryID(
1516        BSTR *retval) = 0;
1517
1518    virtual HRESULT STDMETHODCALLTYPE get_Children(
1519        ICategoryCollection **retval) = 0;
1520
1521    virtual HRESULT STDMETHODCALLTYPE get_Description(
1522        BSTR *retval) = 0;
1523
1524    virtual HRESULT STDMETHODCALLTYPE get_Image(
1525        IImageInformation **retval) = 0;
1526
1527    virtual HRESULT STDMETHODCALLTYPE get_Order(
1528        LONG *retval) = 0;
1529
1530    virtual HRESULT STDMETHODCALLTYPE get_Parent(
1531        ICategory **retval) = 0;
1532
1533    virtual HRESULT STDMETHODCALLTYPE get_Type(
1534        BSTR *retval) = 0;
1535
1536    virtual HRESULT STDMETHODCALLTYPE get_Updates(
1537        IUpdateCollection **retval) = 0;
1538
1539};
1540#ifdef __CRT_UUID_DECL
1541__CRT_UUID_DECL(ICategory, 0x81ddc1b8, 0x9d35, 0x47a6, 0xb4,0x71, 0x5b,0x80,0xf5,0x19,0x22,0x3b)
1542#endif
1543#else
1544typedef struct ICategoryVtbl {
1545    BEGIN_INTERFACE
1546
1547    /*** IUnknown methods ***/
1548    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1549        ICategory *This,
1550        REFIID riid,
1551        void **ppvObject);
1552
1553    ULONG (STDMETHODCALLTYPE *AddRef)(
1554        ICategory *This);
1555
1556    ULONG (STDMETHODCALLTYPE *Release)(
1557        ICategory *This);
1558
1559    /*** IDispatch methods ***/
1560    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1561        ICategory *This,
1562        UINT *pctinfo);
1563
1564    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1565        ICategory *This,
1566        UINT iTInfo,
1567        LCID lcid,
1568        ITypeInfo **ppTInfo);
1569
1570    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1571        ICategory *This,
1572        REFIID riid,
1573        LPOLESTR *rgszNames,
1574        UINT cNames,
1575        LCID lcid,
1576        DISPID *rgDispId);
1577
1578    HRESULT (STDMETHODCALLTYPE *Invoke)(
1579        ICategory *This,
1580        DISPID dispIdMember,
1581        REFIID riid,
1582        LCID lcid,
1583        WORD wFlags,
1584        DISPPARAMS *pDispParams,
1585        VARIANT *pVarResult,
1586        EXCEPINFO *pExcepInfo,
1587        UINT *puArgErr);
1588
1589    /*** ICategory methods ***/
1590    HRESULT (STDMETHODCALLTYPE *get_Name)(
1591        ICategory *This,
1592        BSTR *retval);
1593
1594    HRESULT (STDMETHODCALLTYPE *get_CategoryID)(
1595        ICategory *This,
1596        BSTR *retval);
1597
1598    HRESULT (STDMETHODCALLTYPE *get_Children)(
1599        ICategory *This,
1600        ICategoryCollection **retval);
1601
1602    HRESULT (STDMETHODCALLTYPE *get_Description)(
1603        ICategory *This,
1604        BSTR *retval);
1605
1606    HRESULT (STDMETHODCALLTYPE *get_Image)(
1607        ICategory *This,
1608        IImageInformation **retval);
1609
1610    HRESULT (STDMETHODCALLTYPE *get_Order)(
1611        ICategory *This,
1612        LONG *retval);
1613
1614    HRESULT (STDMETHODCALLTYPE *get_Parent)(
1615        ICategory *This,
1616        ICategory **retval);
1617
1618    HRESULT (STDMETHODCALLTYPE *get_Type)(
1619        ICategory *This,
1620        BSTR *retval);
1621
1622    HRESULT (STDMETHODCALLTYPE *get_Updates)(
1623        ICategory *This,
1624        IUpdateCollection **retval);
1625
1626    END_INTERFACE
1627} ICategoryVtbl;
1628
1629interface ICategory {
1630    CONST_VTBL ICategoryVtbl* lpVtbl;
1631};
1632
1633#ifdef COBJMACROS
1634#ifndef WIDL_C_INLINE_WRAPPERS
1635/*** IUnknown methods ***/
1636#define ICategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1637#define ICategory_AddRef(This) (This)->lpVtbl->AddRef(This)
1638#define ICategory_Release(This) (This)->lpVtbl->Release(This)
1639/*** IDispatch methods ***/
1640#define ICategory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1641#define ICategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1642#define ICategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1643#define ICategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1644/*** ICategory methods ***/
1645#define ICategory_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
1646#define ICategory_get_CategoryID(This,retval) (This)->lpVtbl->get_CategoryID(This,retval)
1647#define ICategory_get_Children(This,retval) (This)->lpVtbl->get_Children(This,retval)
1648#define ICategory_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
1649#define ICategory_get_Image(This,retval) (This)->lpVtbl->get_Image(This,retval)
1650#define ICategory_get_Order(This,retval) (This)->lpVtbl->get_Order(This,retval)
1651#define ICategory_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
1652#define ICategory_get_Type(This,retval) (This)->lpVtbl->get_Type(This,retval)
1653#define ICategory_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval)
1654#else
1655/*** IUnknown methods ***/
1656static inline HRESULT ICategory_QueryInterface(ICategory* This,REFIID riid,void **ppvObject) {
1657    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1658}
1659static inline ULONG ICategory_AddRef(ICategory* This) {
1660    return This->lpVtbl->AddRef(This);
1661}
1662static inline ULONG ICategory_Release(ICategory* This) {
1663    return This->lpVtbl->Release(This);
1664}
1665/*** IDispatch methods ***/
1666static inline HRESULT ICategory_GetTypeInfoCount(ICategory* This,UINT *pctinfo) {
1667    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1668}
1669static inline HRESULT ICategory_GetTypeInfo(ICategory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1670    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1671}
1672static inline HRESULT ICategory_GetIDsOfNames(ICategory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1673    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1674}
1675static inline HRESULT ICategory_Invoke(ICategory* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1676    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1677}
1678/*** ICategory methods ***/
1679static inline HRESULT ICategory_get_Name(ICategory* This,BSTR *retval) {
1680    return This->lpVtbl->get_Name(This,retval);
1681}
1682static inline HRESULT ICategory_get_CategoryID(ICategory* This,BSTR *retval) {
1683    return This->lpVtbl->get_CategoryID(This,retval);
1684}
1685static inline HRESULT ICategory_get_Children(ICategory* This,ICategoryCollection **retval) {
1686    return This->lpVtbl->get_Children(This,retval);
1687}
1688static inline HRESULT ICategory_get_Description(ICategory* This,BSTR *retval) {
1689    return This->lpVtbl->get_Description(This,retval);
1690}
1691static inline HRESULT ICategory_get_Image(ICategory* This,IImageInformation **retval) {
1692    return This->lpVtbl->get_Image(This,retval);
1693}
1694static inline HRESULT ICategory_get_Order(ICategory* This,LONG *retval) {
1695    return This->lpVtbl->get_Order(This,retval);
1696}
1697static inline HRESULT ICategory_get_Parent(ICategory* This,ICategory **retval) {
1698    return This->lpVtbl->get_Parent(This,retval);
1699}
1700static inline HRESULT ICategory_get_Type(ICategory* This,BSTR *retval) {
1701    return This->lpVtbl->get_Type(This,retval);
1702}
1703static inline HRESULT ICategory_get_Updates(ICategory* This,IUpdateCollection **retval) {
1704    return This->lpVtbl->get_Updates(This,retval);
1705}
1706#endif
1707#endif
1708
1709#endif
1710
1711
1712#endif  /* __ICategory_INTERFACE_DEFINED__ */
1713
1714/*****************************************************************************
1715 * ICategoryCollection interface
1716 */
1717#ifndef __ICategoryCollection_INTERFACE_DEFINED__
1718#define __ICategoryCollection_INTERFACE_DEFINED__
1719
1720DEFINE_GUID(IID_ICategoryCollection, 0x3a56bfb8, 0x576c, 0x43f7, 0x93,0x35, 0xfe,0x48,0x38,0xfd,0x7e,0x37);
1721#if defined(__cplusplus) && !defined(CINTERFACE)
1722MIDL_INTERFACE("3a56bfb8-576c-43f7-9335-fe4838fd7e37")
1723ICategoryCollection : public IDispatch
1724{
1725    virtual HRESULT STDMETHODCALLTYPE get_Item(
1726        LONG index,
1727        ICategory **retval) = 0;
1728
1729    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
1730        IUnknown **retval) = 0;
1731
1732    virtual HRESULT STDMETHODCALLTYPE get_Count(
1733        LONG *retval) = 0;
1734
1735};
1736#ifdef __CRT_UUID_DECL
1737__CRT_UUID_DECL(ICategoryCollection, 0x3a56bfb8, 0x576c, 0x43f7, 0x93,0x35, 0xfe,0x48,0x38,0xfd,0x7e,0x37)
1738#endif
1739#else
1740typedef struct ICategoryCollectionVtbl {
1741    BEGIN_INTERFACE
1742
1743    /*** IUnknown methods ***/
1744    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1745        ICategoryCollection *This,
1746        REFIID riid,
1747        void **ppvObject);
1748
1749    ULONG (STDMETHODCALLTYPE *AddRef)(
1750        ICategoryCollection *This);
1751
1752    ULONG (STDMETHODCALLTYPE *Release)(
1753        ICategoryCollection *This);
1754
1755    /*** IDispatch methods ***/
1756    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1757        ICategoryCollection *This,
1758        UINT *pctinfo);
1759
1760    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1761        ICategoryCollection *This,
1762        UINT iTInfo,
1763        LCID lcid,
1764        ITypeInfo **ppTInfo);
1765
1766    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1767        ICategoryCollection *This,
1768        REFIID riid,
1769        LPOLESTR *rgszNames,
1770        UINT cNames,
1771        LCID lcid,
1772        DISPID *rgDispId);
1773
1774    HRESULT (STDMETHODCALLTYPE *Invoke)(
1775        ICategoryCollection *This,
1776        DISPID dispIdMember,
1777        REFIID riid,
1778        LCID lcid,
1779        WORD wFlags,
1780        DISPPARAMS *pDispParams,
1781        VARIANT *pVarResult,
1782        EXCEPINFO *pExcepInfo,
1783        UINT *puArgErr);
1784
1785    /*** ICategoryCollection methods ***/
1786    HRESULT (STDMETHODCALLTYPE *get_Item)(
1787        ICategoryCollection *This,
1788        LONG index,
1789        ICategory **retval);
1790
1791    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
1792        ICategoryCollection *This,
1793        IUnknown **retval);
1794
1795    HRESULT (STDMETHODCALLTYPE *get_Count)(
1796        ICategoryCollection *This,
1797        LONG *retval);
1798
1799    END_INTERFACE
1800} ICategoryCollectionVtbl;
1801
1802interface ICategoryCollection {
1803    CONST_VTBL ICategoryCollectionVtbl* lpVtbl;
1804};
1805
1806#ifdef COBJMACROS
1807#ifndef WIDL_C_INLINE_WRAPPERS
1808/*** IUnknown methods ***/
1809#define ICategoryCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1810#define ICategoryCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
1811#define ICategoryCollection_Release(This) (This)->lpVtbl->Release(This)
1812/*** IDispatch methods ***/
1813#define ICategoryCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1814#define ICategoryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1815#define ICategoryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1816#define ICategoryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1817/*** ICategoryCollection methods ***/
1818#define ICategoryCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval)
1819#define ICategoryCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
1820#define ICategoryCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
1821#else
1822/*** IUnknown methods ***/
1823static inline HRESULT ICategoryCollection_QueryInterface(ICategoryCollection* This,REFIID riid,void **ppvObject) {
1824    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1825}
1826static inline ULONG ICategoryCollection_AddRef(ICategoryCollection* This) {
1827    return This->lpVtbl->AddRef(This);
1828}
1829static inline ULONG ICategoryCollection_Release(ICategoryCollection* This) {
1830    return This->lpVtbl->Release(This);
1831}
1832/*** IDispatch methods ***/
1833static inline HRESULT ICategoryCollection_GetTypeInfoCount(ICategoryCollection* This,UINT *pctinfo) {
1834    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1835}
1836static inline HRESULT ICategoryCollection_GetTypeInfo(ICategoryCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1837    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1838}
1839static inline HRESULT ICategoryCollection_GetIDsOfNames(ICategoryCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1840    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1841}
1842static inline HRESULT ICategoryCollection_Invoke(ICategoryCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1843    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1844}
1845/*** ICategoryCollection methods ***/
1846static inline HRESULT ICategoryCollection_get_Item(ICategoryCollection* This,LONG index,ICategory **retval) {
1847    return This->lpVtbl->get_Item(This,index,retval);
1848}
1849static inline HRESULT ICategoryCollection_get__NewEnum(ICategoryCollection* This,IUnknown **retval) {
1850    return This->lpVtbl->get__NewEnum(This,retval);
1851}
1852static inline HRESULT ICategoryCollection_get_Count(ICategoryCollection* This,LONG *retval) {
1853    return This->lpVtbl->get_Count(This,retval);
1854}
1855#endif
1856#endif
1857
1858#endif
1859
1860
1861#endif  /* __ICategoryCollection_INTERFACE_DEFINED__ */
1862
1863/*****************************************************************************
1864 * IStringCollection interface
1865 */
1866#ifndef __IStringCollection_INTERFACE_DEFINED__
1867#define __IStringCollection_INTERFACE_DEFINED__
1868
1869DEFINE_GUID(IID_IStringCollection, 0xeff90582, 0x2ddc, 0x480f, 0xa0,0x6d, 0x60,0xf3,0xfb,0xc3,0x62,0xc3);
1870#if defined(__cplusplus) && !defined(CINTERFACE)
1871MIDL_INTERFACE("eff90582-2ddc-480f-a06d-60f3fbc362c3")
1872IStringCollection : public IDispatch
1873{
1874    virtual HRESULT STDMETHODCALLTYPE get_Item(
1875        LONG index,
1876        BSTR *retval) = 0;
1877
1878    virtual HRESULT STDMETHODCALLTYPE put_Item(
1879        LONG index,
1880        BSTR value) = 0;
1881
1882    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
1883        IUnknown **retval) = 0;
1884
1885    virtual HRESULT STDMETHODCALLTYPE get_Count(
1886        LONG *retval) = 0;
1887
1888    virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(
1889        VARIANT_BOOL *retval) = 0;
1890
1891    virtual HRESULT STDMETHODCALLTYPE Add(
1892        BSTR value,
1893        LONG *retval) = 0;
1894
1895    virtual HRESULT STDMETHODCALLTYPE Clear(
1896        ) = 0;
1897
1898    virtual HRESULT STDMETHODCALLTYPE Copy(
1899        IStringCollection **retval) = 0;
1900
1901    virtual HRESULT STDMETHODCALLTYPE Insert(
1902        LONG index,
1903        BSTR value) = 0;
1904
1905    virtual HRESULT STDMETHODCALLTYPE RemoveAt(
1906        LONG index) = 0;
1907
1908};
1909#ifdef __CRT_UUID_DECL
1910__CRT_UUID_DECL(IStringCollection, 0xeff90582, 0x2ddc, 0x480f, 0xa0,0x6d, 0x60,0xf3,0xfb,0xc3,0x62,0xc3)
1911#endif
1912#else
1913typedef struct IStringCollectionVtbl {
1914    BEGIN_INTERFACE
1915
1916    /*** IUnknown methods ***/
1917    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1918        IStringCollection *This,
1919        REFIID riid,
1920        void **ppvObject);
1921
1922    ULONG (STDMETHODCALLTYPE *AddRef)(
1923        IStringCollection *This);
1924
1925    ULONG (STDMETHODCALLTYPE *Release)(
1926        IStringCollection *This);
1927
1928    /*** IDispatch methods ***/
1929    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1930        IStringCollection *This,
1931        UINT *pctinfo);
1932
1933    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1934        IStringCollection *This,
1935        UINT iTInfo,
1936        LCID lcid,
1937        ITypeInfo **ppTInfo);
1938
1939    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1940        IStringCollection *This,
1941        REFIID riid,
1942        LPOLESTR *rgszNames,
1943        UINT cNames,
1944        LCID lcid,
1945        DISPID *rgDispId);
1946
1947    HRESULT (STDMETHODCALLTYPE *Invoke)(
1948        IStringCollection *This,
1949        DISPID dispIdMember,
1950        REFIID riid,
1951        LCID lcid,
1952        WORD wFlags,
1953        DISPPARAMS *pDispParams,
1954        VARIANT *pVarResult,
1955        EXCEPINFO *pExcepInfo,
1956        UINT *puArgErr);
1957
1958    /*** IStringCollection methods ***/
1959    HRESULT (STDMETHODCALLTYPE *get_Item)(
1960        IStringCollection *This,
1961        LONG index,
1962        BSTR *retval);
1963
1964    HRESULT (STDMETHODCALLTYPE *put_Item)(
1965        IStringCollection *This,
1966        LONG index,
1967        BSTR value);
1968
1969    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
1970        IStringCollection *This,
1971        IUnknown **retval);
1972
1973    HRESULT (STDMETHODCALLTYPE *get_Count)(
1974        IStringCollection *This,
1975        LONG *retval);
1976
1977    HRESULT (STDMETHODCALLTYPE *get_ReadOnly)(
1978        IStringCollection *This,
1979        VARIANT_BOOL *retval);
1980
1981    HRESULT (STDMETHODCALLTYPE *Add)(
1982        IStringCollection *This,
1983        BSTR value,
1984        LONG *retval);
1985
1986    HRESULT (STDMETHODCALLTYPE *Clear)(
1987        IStringCollection *This);
1988
1989    HRESULT (STDMETHODCALLTYPE *Copy)(
1990        IStringCollection *This,
1991        IStringCollection **retval);
1992
1993    HRESULT (STDMETHODCALLTYPE *Insert)(
1994        IStringCollection *This,
1995        LONG index,
1996        BSTR value);
1997
1998    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
1999        IStringCollection *This,
2000        LONG index);
2001
2002    END_INTERFACE
2003} IStringCollectionVtbl;
2004
2005interface IStringCollection {
2006    CONST_VTBL IStringCollectionVtbl* lpVtbl;
2007};
2008
2009#ifdef COBJMACROS
2010#ifndef WIDL_C_INLINE_WRAPPERS
2011/*** IUnknown methods ***/
2012#define IStringCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2013#define IStringCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
2014#define IStringCollection_Release(This) (This)->lpVtbl->Release(This)
2015/*** IDispatch methods ***/
2016#define IStringCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2017#define IStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2018#define IStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2019#define IStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2020/*** IStringCollection methods ***/
2021#define IStringCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval)
2022#define IStringCollection_put_Item(This,index,value) (This)->lpVtbl->put_Item(This,index,value)
2023#define IStringCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
2024#define IStringCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
2025#define IStringCollection_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval)
2026#define IStringCollection_Add(This,value,retval) (This)->lpVtbl->Add(This,value,retval)
2027#define IStringCollection_Clear(This) (This)->lpVtbl->Clear(This)
2028#define IStringCollection_Copy(This,retval) (This)->lpVtbl->Copy(This,retval)
2029#define IStringCollection_Insert(This,index,value) (This)->lpVtbl->Insert(This,index,value)
2030#define IStringCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
2031#else
2032/*** IUnknown methods ***/
2033static inline HRESULT IStringCollection_QueryInterface(IStringCollection* This,REFIID riid,void **ppvObject) {
2034    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2035}
2036static inline ULONG IStringCollection_AddRef(IStringCollection* This) {
2037    return This->lpVtbl->AddRef(This);
2038}
2039static inline ULONG IStringCollection_Release(IStringCollection* This) {
2040    return This->lpVtbl->Release(This);
2041}
2042/*** IDispatch methods ***/
2043static inline HRESULT IStringCollection_GetTypeInfoCount(IStringCollection* This,UINT *pctinfo) {
2044    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2045}
2046static inline HRESULT IStringCollection_GetTypeInfo(IStringCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2047    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2048}
2049static inline HRESULT IStringCollection_GetIDsOfNames(IStringCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2050    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2051}
2052static inline HRESULT IStringCollection_Invoke(IStringCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2053    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2054}
2055/*** IStringCollection methods ***/
2056static inline HRESULT IStringCollection_get_Item(IStringCollection* This,LONG index,BSTR *retval) {
2057    return This->lpVtbl->get_Item(This,index,retval);
2058}
2059static inline HRESULT IStringCollection_put_Item(IStringCollection* This,LONG index,BSTR value) {
2060    return This->lpVtbl->put_Item(This,index,value);
2061}
2062static inline HRESULT IStringCollection_get__NewEnum(IStringCollection* This,IUnknown **retval) {
2063    return This->lpVtbl->get__NewEnum(This,retval);
2064}
2065static inline HRESULT IStringCollection_get_Count(IStringCollection* This,LONG *retval) {
2066    return This->lpVtbl->get_Count(This,retval);
2067}
2068static inline HRESULT IStringCollection_get_ReadOnly(IStringCollection* This,VARIANT_BOOL *retval) {
2069    return This->lpVtbl->get_ReadOnly(This,retval);
2070}
2071static inline HRESULT IStringCollection_Add(IStringCollection* This,BSTR value,LONG *retval) {
2072    return This->lpVtbl->Add(This,value,retval);
2073}
2074static inline HRESULT IStringCollection_Clear(IStringCollection* This) {
2075    return This->lpVtbl->Clear(This);
2076}
2077static inline HRESULT IStringCollection_Copy(IStringCollection* This,IStringCollection **retval) {
2078    return This->lpVtbl->Copy(This,retval);
2079}
2080static inline HRESULT IStringCollection_Insert(IStringCollection* This,LONG index,BSTR value) {
2081    return This->lpVtbl->Insert(This,index,value);
2082}
2083static inline HRESULT IStringCollection_RemoveAt(IStringCollection* This,LONG index) {
2084    return This->lpVtbl->RemoveAt(This,index);
2085}
2086#endif
2087#endif
2088
2089#endif
2090
2091
2092#endif  /* __IStringCollection_INTERFACE_DEFINED__ */
2093
2094/*****************************************************************************
2095 * IUpdateException interface
2096 */
2097#ifndef __IUpdateException_INTERFACE_DEFINED__
2098#define __IUpdateException_INTERFACE_DEFINED__
2099
2100DEFINE_GUID(IID_IUpdateException, 0xa376dd5e, 0x09d4, 0x427f, 0xaf,0x7c, 0xfe,0xd5,0xb6,0xe1,0xc1,0xd6);
2101#if defined(__cplusplus) && !defined(CINTERFACE)
2102MIDL_INTERFACE("a376dd5e-09d4-427f-af7c-fed5b6e1c1d6")
2103IUpdateException : public IDispatch
2104{
2105    virtual HRESULT STDMETHODCALLTYPE get_Message(
2106        BSTR *retval) = 0;
2107
2108    virtual HRESULT STDMETHODCALLTYPE get_HResult(
2109        LONG *retval) = 0;
2110
2111    virtual HRESULT STDMETHODCALLTYPE get_Context(
2112        UpdateExceptionContext *retval) = 0;
2113
2114};
2115#ifdef __CRT_UUID_DECL
2116__CRT_UUID_DECL(IUpdateException, 0xa376dd5e, 0x09d4, 0x427f, 0xaf,0x7c, 0xfe,0xd5,0xb6,0xe1,0xc1,0xd6)
2117#endif
2118#else
2119typedef struct IUpdateExceptionVtbl {
2120    BEGIN_INTERFACE
2121
2122    /*** IUnknown methods ***/
2123    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2124        IUpdateException *This,
2125        REFIID riid,
2126        void **ppvObject);
2127
2128    ULONG (STDMETHODCALLTYPE *AddRef)(
2129        IUpdateException *This);
2130
2131    ULONG (STDMETHODCALLTYPE *Release)(
2132        IUpdateException *This);
2133
2134    /*** IDispatch methods ***/
2135    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2136        IUpdateException *This,
2137        UINT *pctinfo);
2138
2139    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2140        IUpdateException *This,
2141        UINT iTInfo,
2142        LCID lcid,
2143        ITypeInfo **ppTInfo);
2144
2145    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2146        IUpdateException *This,
2147        REFIID riid,
2148        LPOLESTR *rgszNames,
2149        UINT cNames,
2150        LCID lcid,
2151        DISPID *rgDispId);
2152
2153    HRESULT (STDMETHODCALLTYPE *Invoke)(
2154        IUpdateException *This,
2155        DISPID dispIdMember,
2156        REFIID riid,
2157        LCID lcid,
2158        WORD wFlags,
2159        DISPPARAMS *pDispParams,
2160        VARIANT *pVarResult,
2161        EXCEPINFO *pExcepInfo,
2162        UINT *puArgErr);
2163
2164    /*** IUpdateException methods ***/
2165    HRESULT (STDMETHODCALLTYPE *get_Message)(
2166        IUpdateException *This,
2167        BSTR *retval);
2168
2169    HRESULT (STDMETHODCALLTYPE *get_HResult)(
2170        IUpdateException *This,
2171        LONG *retval);
2172
2173    HRESULT (STDMETHODCALLTYPE *get_Context)(
2174        IUpdateException *This,
2175        UpdateExceptionContext *retval);
2176
2177    END_INTERFACE
2178} IUpdateExceptionVtbl;
2179
2180interface IUpdateException {
2181    CONST_VTBL IUpdateExceptionVtbl* lpVtbl;
2182};
2183
2184#ifdef COBJMACROS
2185#ifndef WIDL_C_INLINE_WRAPPERS
2186/*** IUnknown methods ***/
2187#define IUpdateException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2188#define IUpdateException_AddRef(This) (This)->lpVtbl->AddRef(This)
2189#define IUpdateException_Release(This) (This)->lpVtbl->Release(This)
2190/*** IDispatch methods ***/
2191#define IUpdateException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2192#define IUpdateException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2193#define IUpdateException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2194#define IUpdateException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2195/*** IUpdateException methods ***/
2196#define IUpdateException_get_Message(This,retval) (This)->lpVtbl->get_Message(This,retval)
2197#define IUpdateException_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval)
2198#define IUpdateException_get_Context(This,retval) (This)->lpVtbl->get_Context(This,retval)
2199#else
2200/*** IUnknown methods ***/
2201static inline HRESULT IUpdateException_QueryInterface(IUpdateException* This,REFIID riid,void **ppvObject) {
2202    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2203}
2204static inline ULONG IUpdateException_AddRef(IUpdateException* This) {
2205    return This->lpVtbl->AddRef(This);
2206}
2207static inline ULONG IUpdateException_Release(IUpdateException* This) {
2208    return This->lpVtbl->Release(This);
2209}
2210/*** IDispatch methods ***/
2211static inline HRESULT IUpdateException_GetTypeInfoCount(IUpdateException* This,UINT *pctinfo) {
2212    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2213}
2214static inline HRESULT IUpdateException_GetTypeInfo(IUpdateException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2215    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2216}
2217static inline HRESULT IUpdateException_GetIDsOfNames(IUpdateException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2218    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2219}
2220static inline HRESULT IUpdateException_Invoke(IUpdateException* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2221    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2222}
2223/*** IUpdateException methods ***/
2224static inline HRESULT IUpdateException_get_Message(IUpdateException* This,BSTR *retval) {
2225    return This->lpVtbl->get_Message(This,retval);
2226}
2227static inline HRESULT IUpdateException_get_HResult(IUpdateException* This,LONG *retval) {
2228    return This->lpVtbl->get_HResult(This,retval);
2229}
2230static inline HRESULT IUpdateException_get_Context(IUpdateException* This,UpdateExceptionContext *retval) {
2231    return This->lpVtbl->get_Context(This,retval);
2232}
2233#endif
2234#endif
2235
2236#endif
2237
2238
2239#endif  /* __IUpdateException_INTERFACE_DEFINED__ */
2240
2241/*****************************************************************************
2242 * IUpdateExceptionCollection interface
2243 */
2244#ifndef __IUpdateExceptionCollection_INTERFACE_DEFINED__
2245#define __IUpdateExceptionCollection_INTERFACE_DEFINED__
2246
2247DEFINE_GUID(IID_IUpdateExceptionCollection, 0x503626a3, 0x8e14, 0x4729, 0x93,0x55, 0x0f,0xe6,0x64,0xbd,0x23,0x21);
2248#if defined(__cplusplus) && !defined(CINTERFACE)
2249MIDL_INTERFACE("503626a3-8e14-4729-9355-0fe664bd2321")
2250IUpdateExceptionCollection : public IDispatch
2251{
2252    virtual HRESULT STDMETHODCALLTYPE get_Item(
2253        LONG index,
2254        IUpdateException **retval) = 0;
2255
2256    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
2257        IUnknown **retval) = 0;
2258
2259    virtual HRESULT STDMETHODCALLTYPE get_Count(
2260        LONG *retval) = 0;
2261
2262};
2263#ifdef __CRT_UUID_DECL
2264__CRT_UUID_DECL(IUpdateExceptionCollection, 0x503626a3, 0x8e14, 0x4729, 0x93,0x55, 0x0f,0xe6,0x64,0xbd,0x23,0x21)
2265#endif
2266#else
2267typedef struct IUpdateExceptionCollectionVtbl {
2268    BEGIN_INTERFACE
2269
2270    /*** IUnknown methods ***/
2271    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2272        IUpdateExceptionCollection *This,
2273        REFIID riid,
2274        void **ppvObject);
2275
2276    ULONG (STDMETHODCALLTYPE *AddRef)(
2277        IUpdateExceptionCollection *This);
2278
2279    ULONG (STDMETHODCALLTYPE *Release)(
2280        IUpdateExceptionCollection *This);
2281
2282    /*** IDispatch methods ***/
2283    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2284        IUpdateExceptionCollection *This,
2285        UINT *pctinfo);
2286
2287    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2288        IUpdateExceptionCollection *This,
2289        UINT iTInfo,
2290        LCID lcid,
2291        ITypeInfo **ppTInfo);
2292
2293    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2294        IUpdateExceptionCollection *This,
2295        REFIID riid,
2296        LPOLESTR *rgszNames,
2297        UINT cNames,
2298        LCID lcid,
2299        DISPID *rgDispId);
2300
2301    HRESULT (STDMETHODCALLTYPE *Invoke)(
2302        IUpdateExceptionCollection *This,
2303        DISPID dispIdMember,
2304        REFIID riid,
2305        LCID lcid,
2306        WORD wFlags,
2307        DISPPARAMS *pDispParams,
2308        VARIANT *pVarResult,
2309        EXCEPINFO *pExcepInfo,
2310        UINT *puArgErr);
2311
2312    /*** IUpdateExceptionCollection methods ***/
2313    HRESULT (STDMETHODCALLTYPE *get_Item)(
2314        IUpdateExceptionCollection *This,
2315        LONG index,
2316        IUpdateException **retval);
2317
2318    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
2319        IUpdateExceptionCollection *This,
2320        IUnknown **retval);
2321
2322    HRESULT (STDMETHODCALLTYPE *get_Count)(
2323        IUpdateExceptionCollection *This,
2324        LONG *retval);
2325
2326    END_INTERFACE
2327} IUpdateExceptionCollectionVtbl;
2328
2329interface IUpdateExceptionCollection {
2330    CONST_VTBL IUpdateExceptionCollectionVtbl* lpVtbl;
2331};
2332
2333#ifdef COBJMACROS
2334#ifndef WIDL_C_INLINE_WRAPPERS
2335/*** IUnknown methods ***/
2336#define IUpdateExceptionCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2337#define IUpdateExceptionCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
2338#define IUpdateExceptionCollection_Release(This) (This)->lpVtbl->Release(This)
2339/*** IDispatch methods ***/
2340#define IUpdateExceptionCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2341#define IUpdateExceptionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2342#define IUpdateExceptionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2343#define IUpdateExceptionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2344/*** IUpdateExceptionCollection methods ***/
2345#define IUpdateExceptionCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval)
2346#define IUpdateExceptionCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
2347#define IUpdateExceptionCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
2348#else
2349/*** IUnknown methods ***/
2350static inline HRESULT IUpdateExceptionCollection_QueryInterface(IUpdateExceptionCollection* This,REFIID riid,void **ppvObject) {
2351    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2352}
2353static inline ULONG IUpdateExceptionCollection_AddRef(IUpdateExceptionCollection* This) {
2354    return This->lpVtbl->AddRef(This);
2355}
2356static inline ULONG IUpdateExceptionCollection_Release(IUpdateExceptionCollection* This) {
2357    return This->lpVtbl->Release(This);
2358}
2359/*** IDispatch methods ***/
2360static inline HRESULT IUpdateExceptionCollection_GetTypeInfoCount(IUpdateExceptionCollection* This,UINT *pctinfo) {
2361    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2362}
2363static inline HRESULT IUpdateExceptionCollection_GetTypeInfo(IUpdateExceptionCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2364    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2365}
2366static inline HRESULT IUpdateExceptionCollection_GetIDsOfNames(IUpdateExceptionCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2367    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2368}
2369static inline HRESULT IUpdateExceptionCollection_Invoke(IUpdateExceptionCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2370    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2371}
2372/*** IUpdateExceptionCollection methods ***/
2373static inline HRESULT IUpdateExceptionCollection_get_Item(IUpdateExceptionCollection* This,LONG index,IUpdateException **retval) {
2374    return This->lpVtbl->get_Item(This,index,retval);
2375}
2376static inline HRESULT IUpdateExceptionCollection_get__NewEnum(IUpdateExceptionCollection* This,IUnknown **retval) {
2377    return This->lpVtbl->get__NewEnum(This,retval);
2378}
2379static inline HRESULT IUpdateExceptionCollection_get_Count(IUpdateExceptionCollection* This,LONG *retval) {
2380    return This->lpVtbl->get_Count(This,retval);
2381}
2382#endif
2383#endif
2384
2385#endif
2386
2387
2388#endif  /* __IUpdateExceptionCollection_INTERFACE_DEFINED__ */
2389
2390/*****************************************************************************
2391 * IUpdateIdentity interface
2392 */
2393#ifndef __IUpdateIdentity_INTERFACE_DEFINED__
2394#define __IUpdateIdentity_INTERFACE_DEFINED__
2395
2396DEFINE_GUID(IID_IUpdateIdentity, 0x46297823, 0x9940, 0x4c09, 0xae,0xd9, 0xcd,0x3e,0xa6,0xd0,0x59,0x68);
2397#if defined(__cplusplus) && !defined(CINTERFACE)
2398MIDL_INTERFACE("46297823-9940-4c09-aed9-cd3ea6d05968")
2399IUpdateIdentity : public IDispatch
2400{
2401    virtual HRESULT STDMETHODCALLTYPE get_RevisionNumber(
2402        LONG *retval) = 0;
2403
2404    virtual HRESULT STDMETHODCALLTYPE get_UpdateID(
2405        BSTR *retval) = 0;
2406
2407};
2408#ifdef __CRT_UUID_DECL
2409__CRT_UUID_DECL(IUpdateIdentity, 0x46297823, 0x9940, 0x4c09, 0xae,0xd9, 0xcd,0x3e,0xa6,0xd0,0x59,0x68)
2410#endif
2411#else
2412typedef struct IUpdateIdentityVtbl {
2413    BEGIN_INTERFACE
2414
2415    /*** IUnknown methods ***/
2416    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2417        IUpdateIdentity *This,
2418        REFIID riid,
2419        void **ppvObject);
2420
2421    ULONG (STDMETHODCALLTYPE *AddRef)(
2422        IUpdateIdentity *This);
2423
2424    ULONG (STDMETHODCALLTYPE *Release)(
2425        IUpdateIdentity *This);
2426
2427    /*** IDispatch methods ***/
2428    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2429        IUpdateIdentity *This,
2430        UINT *pctinfo);
2431
2432    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2433        IUpdateIdentity *This,
2434        UINT iTInfo,
2435        LCID lcid,
2436        ITypeInfo **ppTInfo);
2437
2438    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2439        IUpdateIdentity *This,
2440        REFIID riid,
2441        LPOLESTR *rgszNames,
2442        UINT cNames,
2443        LCID lcid,
2444        DISPID *rgDispId);
2445
2446    HRESULT (STDMETHODCALLTYPE *Invoke)(
2447        IUpdateIdentity *This,
2448        DISPID dispIdMember,
2449        REFIID riid,
2450        LCID lcid,
2451        WORD wFlags,
2452        DISPPARAMS *pDispParams,
2453        VARIANT *pVarResult,
2454        EXCEPINFO *pExcepInfo,
2455        UINT *puArgErr);
2456
2457    /*** IUpdateIdentity methods ***/
2458    HRESULT (STDMETHODCALLTYPE *get_RevisionNumber)(
2459        IUpdateIdentity *This,
2460        LONG *retval);
2461
2462    HRESULT (STDMETHODCALLTYPE *get_UpdateID)(
2463        IUpdateIdentity *This,
2464        BSTR *retval);
2465
2466    END_INTERFACE
2467} IUpdateIdentityVtbl;
2468
2469interface IUpdateIdentity {
2470    CONST_VTBL IUpdateIdentityVtbl* lpVtbl;
2471};
2472
2473#ifdef COBJMACROS
2474#ifndef WIDL_C_INLINE_WRAPPERS
2475/*** IUnknown methods ***/
2476#define IUpdateIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2477#define IUpdateIdentity_AddRef(This) (This)->lpVtbl->AddRef(This)
2478#define IUpdateIdentity_Release(This) (This)->lpVtbl->Release(This)
2479/*** IDispatch methods ***/
2480#define IUpdateIdentity_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2481#define IUpdateIdentity_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2482#define IUpdateIdentity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2483#define IUpdateIdentity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2484/*** IUpdateIdentity methods ***/
2485#define IUpdateIdentity_get_RevisionNumber(This,retval) (This)->lpVtbl->get_RevisionNumber(This,retval)
2486#define IUpdateIdentity_get_UpdateID(This,retval) (This)->lpVtbl->get_UpdateID(This,retval)
2487#else
2488/*** IUnknown methods ***/
2489static inline HRESULT IUpdateIdentity_QueryInterface(IUpdateIdentity* This,REFIID riid,void **ppvObject) {
2490    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2491}
2492static inline ULONG IUpdateIdentity_AddRef(IUpdateIdentity* This) {
2493    return This->lpVtbl->AddRef(This);
2494}
2495static inline ULONG IUpdateIdentity_Release(IUpdateIdentity* This) {
2496    return This->lpVtbl->Release(This);
2497}
2498/*** IDispatch methods ***/
2499static inline HRESULT IUpdateIdentity_GetTypeInfoCount(IUpdateIdentity* This,UINT *pctinfo) {
2500    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2501}
2502static inline HRESULT IUpdateIdentity_GetTypeInfo(IUpdateIdentity* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2503    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2504}
2505static inline HRESULT IUpdateIdentity_GetIDsOfNames(IUpdateIdentity* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2506    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2507}
2508static inline HRESULT IUpdateIdentity_Invoke(IUpdateIdentity* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2509    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2510}
2511/*** IUpdateIdentity methods ***/
2512static inline HRESULT IUpdateIdentity_get_RevisionNumber(IUpdateIdentity* This,LONG *retval) {
2513    return This->lpVtbl->get_RevisionNumber(This,retval);
2514}
2515static inline HRESULT IUpdateIdentity_get_UpdateID(IUpdateIdentity* This,BSTR *retval) {
2516    return This->lpVtbl->get_UpdateID(This,retval);
2517}
2518#endif
2519#endif
2520
2521#endif
2522
2523
2524#endif  /* __IUpdateIdentity_INTERFACE_DEFINED__ */
2525
2526/*****************************************************************************
2527 * IInstallationBehavior interface
2528 */
2529#ifndef __IInstallationBehavior_INTERFACE_DEFINED__
2530#define __IInstallationBehavior_INTERFACE_DEFINED__
2531
2532DEFINE_GUID(IID_IInstallationBehavior, 0xd9a59339, 0xe245, 0x4dbd, 0x96,0x86, 0x4d,0x57,0x63,0xe3,0x96,0x24);
2533#if defined(__cplusplus) && !defined(CINTERFACE)
2534MIDL_INTERFACE("d9a59339-e245-4dbd-9686-4d5763e39624")
2535IInstallationBehavior : public IDispatch
2536{
2537    virtual HRESULT STDMETHODCALLTYPE get_CanRequestUserInput(
2538        VARIANT_BOOL *retval) = 0;
2539
2540    virtual HRESULT STDMETHODCALLTYPE get_Impact(
2541        InstallationImpact *retval) = 0;
2542
2543    virtual HRESULT STDMETHODCALLTYPE get_RebootBehavior(
2544        InstallationRebootBehavior *retval) = 0;
2545
2546    virtual HRESULT STDMETHODCALLTYPE get_RequiresNetworkConnectivity(
2547        VARIANT_BOOL *retval) = 0;
2548
2549};
2550#ifdef __CRT_UUID_DECL
2551__CRT_UUID_DECL(IInstallationBehavior, 0xd9a59339, 0xe245, 0x4dbd, 0x96,0x86, 0x4d,0x57,0x63,0xe3,0x96,0x24)
2552#endif
2553#else
2554typedef struct IInstallationBehaviorVtbl {
2555    BEGIN_INTERFACE
2556
2557    /*** IUnknown methods ***/
2558    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2559        IInstallationBehavior *This,
2560        REFIID riid,
2561        void **ppvObject);
2562
2563    ULONG (STDMETHODCALLTYPE *AddRef)(
2564        IInstallationBehavior *This);
2565
2566    ULONG (STDMETHODCALLTYPE *Release)(
2567        IInstallationBehavior *This);
2568
2569    /*** IDispatch methods ***/
2570    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2571        IInstallationBehavior *This,
2572        UINT *pctinfo);
2573
2574    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2575        IInstallationBehavior *This,
2576        UINT iTInfo,
2577        LCID lcid,
2578        ITypeInfo **ppTInfo);
2579
2580    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2581        IInstallationBehavior *This,
2582        REFIID riid,
2583        LPOLESTR *rgszNames,
2584        UINT cNames,
2585        LCID lcid,
2586        DISPID *rgDispId);
2587
2588    HRESULT (STDMETHODCALLTYPE *Invoke)(
2589        IInstallationBehavior *This,
2590        DISPID dispIdMember,
2591        REFIID riid,
2592        LCID lcid,
2593        WORD wFlags,
2594        DISPPARAMS *pDispParams,
2595        VARIANT *pVarResult,
2596        EXCEPINFO *pExcepInfo,
2597        UINT *puArgErr);
2598
2599    /*** IInstallationBehavior methods ***/
2600    HRESULT (STDMETHODCALLTYPE *get_CanRequestUserInput)(
2601        IInstallationBehavior *This,
2602        VARIANT_BOOL *retval);
2603
2604    HRESULT (STDMETHODCALLTYPE *get_Impact)(
2605        IInstallationBehavior *This,
2606        InstallationImpact *retval);
2607
2608    HRESULT (STDMETHODCALLTYPE *get_RebootBehavior)(
2609        IInstallationBehavior *This,
2610        InstallationRebootBehavior *retval);
2611
2612    HRESULT (STDMETHODCALLTYPE *get_RequiresNetworkConnectivity)(
2613        IInstallationBehavior *This,
2614        VARIANT_BOOL *retval);
2615
2616    END_INTERFACE
2617} IInstallationBehaviorVtbl;
2618
2619interface IInstallationBehavior {
2620    CONST_VTBL IInstallationBehaviorVtbl* lpVtbl;
2621};
2622
2623#ifdef COBJMACROS
2624#ifndef WIDL_C_INLINE_WRAPPERS
2625/*** IUnknown methods ***/
2626#define IInstallationBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2627#define IInstallationBehavior_AddRef(This) (This)->lpVtbl->AddRef(This)
2628#define IInstallationBehavior_Release(This) (This)->lpVtbl->Release(This)
2629/*** IDispatch methods ***/
2630#define IInstallationBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2631#define IInstallationBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2632#define IInstallationBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2633#define IInstallationBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2634/*** IInstallationBehavior methods ***/
2635#define IInstallationBehavior_get_CanRequestUserInput(This,retval) (This)->lpVtbl->get_CanRequestUserInput(This,retval)
2636#define IInstallationBehavior_get_Impact(This,retval) (This)->lpVtbl->get_Impact(This,retval)
2637#define IInstallationBehavior_get_RebootBehavior(This,retval) (This)->lpVtbl->get_RebootBehavior(This,retval)
2638#define IInstallationBehavior_get_RequiresNetworkConnectivity(This,retval) (This)->lpVtbl->get_RequiresNetworkConnectivity(This,retval)
2639#else
2640/*** IUnknown methods ***/
2641static inline HRESULT IInstallationBehavior_QueryInterface(IInstallationBehavior* This,REFIID riid,void **ppvObject) {
2642    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2643}
2644static inline ULONG IInstallationBehavior_AddRef(IInstallationBehavior* This) {
2645    return This->lpVtbl->AddRef(This);
2646}
2647static inline ULONG IInstallationBehavior_Release(IInstallationBehavior* This) {
2648    return This->lpVtbl->Release(This);
2649}
2650/*** IDispatch methods ***/
2651static inline HRESULT IInstallationBehavior_GetTypeInfoCount(IInstallationBehavior* This,UINT *pctinfo) {
2652    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2653}
2654static inline HRESULT IInstallationBehavior_GetTypeInfo(IInstallationBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2655    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2656}
2657static inline HRESULT IInstallationBehavior_GetIDsOfNames(IInstallationBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2658    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2659}
2660static inline HRESULT IInstallationBehavior_Invoke(IInstallationBehavior* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2661    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2662}
2663/*** IInstallationBehavior methods ***/
2664static inline HRESULT IInstallationBehavior_get_CanRequestUserInput(IInstallationBehavior* This,VARIANT_BOOL *retval) {
2665    return This->lpVtbl->get_CanRequestUserInput(This,retval);
2666}
2667static inline HRESULT IInstallationBehavior_get_Impact(IInstallationBehavior* This,InstallationImpact *retval) {
2668    return This->lpVtbl->get_Impact(This,retval);
2669}
2670static inline HRESULT IInstallationBehavior_get_RebootBehavior(IInstallationBehavior* This,InstallationRebootBehavior *retval) {
2671    return This->lpVtbl->get_RebootBehavior(This,retval);
2672}
2673static inline HRESULT IInstallationBehavior_get_RequiresNetworkConnectivity(IInstallationBehavior* This,VARIANT_BOOL *retval) {
2674    return This->lpVtbl->get_RequiresNetworkConnectivity(This,retval);
2675}
2676#endif
2677#endif
2678
2679#endif
2680
2681
2682#endif  /* __IInstallationBehavior_INTERFACE_DEFINED__ */
2683
2684/*****************************************************************************
2685 * IUpdateDownloadContent interface
2686 */
2687#ifndef __IUpdateDownloadContent_INTERFACE_DEFINED__
2688#define __IUpdateDownloadContent_INTERFACE_DEFINED__
2689
2690DEFINE_GUID(IID_IUpdateDownloadContent, 0x54a2cb2d, 0x9a0c, 0x48b6, 0x8a,0x50, 0x9a,0xbb,0x69,0xee,0x2d,0x02);
2691#if defined(__cplusplus) && !defined(CINTERFACE)
2692MIDL_INTERFACE("54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02")
2693IUpdateDownloadContent : public IDispatch
2694{
2695    virtual HRESULT STDMETHODCALLTYPE get_DownloadUrl(
2696        BSTR *retval) = 0;
2697
2698};
2699#ifdef __CRT_UUID_DECL
2700__CRT_UUID_DECL(IUpdateDownloadContent, 0x54a2cb2d, 0x9a0c, 0x48b6, 0x8a,0x50, 0x9a,0xbb,0x69,0xee,0x2d,0x02)
2701#endif
2702#else
2703typedef struct IUpdateDownloadContentVtbl {
2704    BEGIN_INTERFACE
2705
2706    /*** IUnknown methods ***/
2707    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2708        IUpdateDownloadContent *This,
2709        REFIID riid,
2710        void **ppvObject);
2711
2712    ULONG (STDMETHODCALLTYPE *AddRef)(
2713        IUpdateDownloadContent *This);
2714
2715    ULONG (STDMETHODCALLTYPE *Release)(
2716        IUpdateDownloadContent *This);
2717
2718    /*** IDispatch methods ***/
2719    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2720        IUpdateDownloadContent *This,
2721        UINT *pctinfo);
2722
2723    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2724        IUpdateDownloadContent *This,
2725        UINT iTInfo,
2726        LCID lcid,
2727        ITypeInfo **ppTInfo);
2728
2729    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2730        IUpdateDownloadContent *This,
2731        REFIID riid,
2732        LPOLESTR *rgszNames,
2733        UINT cNames,
2734        LCID lcid,
2735        DISPID *rgDispId);
2736
2737    HRESULT (STDMETHODCALLTYPE *Invoke)(
2738        IUpdateDownloadContent *This,
2739        DISPID dispIdMember,
2740        REFIID riid,
2741        LCID lcid,
2742        WORD wFlags,
2743        DISPPARAMS *pDispParams,
2744        VARIANT *pVarResult,
2745        EXCEPINFO *pExcepInfo,
2746        UINT *puArgErr);
2747
2748    /*** IUpdateDownloadContent methods ***/
2749    HRESULT (STDMETHODCALLTYPE *get_DownloadUrl)(
2750        IUpdateDownloadContent *This,
2751        BSTR *retval);
2752
2753    END_INTERFACE
2754} IUpdateDownloadContentVtbl;
2755
2756interface IUpdateDownloadContent {
2757    CONST_VTBL IUpdateDownloadContentVtbl* lpVtbl;
2758};
2759
2760#ifdef COBJMACROS
2761#ifndef WIDL_C_INLINE_WRAPPERS
2762/*** IUnknown methods ***/
2763#define IUpdateDownloadContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2764#define IUpdateDownloadContent_AddRef(This) (This)->lpVtbl->AddRef(This)
2765#define IUpdateDownloadContent_Release(This) (This)->lpVtbl->Release(This)
2766/*** IDispatch methods ***/
2767#define IUpdateDownloadContent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2768#define IUpdateDownloadContent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2769#define IUpdateDownloadContent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2770#define IUpdateDownloadContent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2771/*** IUpdateDownloadContent methods ***/
2772#define IUpdateDownloadContent_get_DownloadUrl(This,retval) (This)->lpVtbl->get_DownloadUrl(This,retval)
2773#else
2774/*** IUnknown methods ***/
2775static inline HRESULT IUpdateDownloadContent_QueryInterface(IUpdateDownloadContent* This,REFIID riid,void **ppvObject) {
2776    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2777}
2778static inline ULONG IUpdateDownloadContent_AddRef(IUpdateDownloadContent* This) {
2779    return This->lpVtbl->AddRef(This);
2780}
2781static inline ULONG IUpdateDownloadContent_Release(IUpdateDownloadContent* This) {
2782    return This->lpVtbl->Release(This);
2783}
2784/*** IDispatch methods ***/
2785static inline HRESULT IUpdateDownloadContent_GetTypeInfoCount(IUpdateDownloadContent* This,UINT *pctinfo) {
2786    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2787}
2788static inline HRESULT IUpdateDownloadContent_GetTypeInfo(IUpdateDownloadContent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2789    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2790}
2791static inline HRESULT IUpdateDownloadContent_GetIDsOfNames(IUpdateDownloadContent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2792    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2793}
2794static inline HRESULT IUpdateDownloadContent_Invoke(IUpdateDownloadContent* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2795    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2796}
2797/*** IUpdateDownloadContent methods ***/
2798static inline HRESULT IUpdateDownloadContent_get_DownloadUrl(IUpdateDownloadContent* This,BSTR *retval) {
2799    return This->lpVtbl->get_DownloadUrl(This,retval);
2800}
2801#endif
2802#endif
2803
2804#endif
2805
2806
2807#endif  /* __IUpdateDownloadContent_INTERFACE_DEFINED__ */
2808
2809/*****************************************************************************
2810 * IUpdateDownloadContentCollection interface
2811 */
2812#ifndef __IUpdateDownloadContentCollection_INTERFACE_DEFINED__
2813#define __IUpdateDownloadContentCollection_INTERFACE_DEFINED__
2814
2815DEFINE_GUID(IID_IUpdateDownloadContentCollection, 0xbc5513c8, 0xb3b8, 0x4bf7, 0xa4,0xd4, 0x36,0x1c,0x0d,0x8c,0x88,0xba);
2816#if defined(__cplusplus) && !defined(CINTERFACE)
2817MIDL_INTERFACE("bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba")
2818IUpdateDownloadContentCollection : public IDispatch
2819{
2820    virtual HRESULT STDMETHODCALLTYPE get_Item(
2821        LONG index,
2822        IUpdateDownloadContent **retval) = 0;
2823
2824    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
2825        IUnknown **retval) = 0;
2826
2827    virtual HRESULT STDMETHODCALLTYPE get_Count(
2828        LONG *retval) = 0;
2829
2830};
2831#ifdef __CRT_UUID_DECL
2832__CRT_UUID_DECL(IUpdateDownloadContentCollection, 0xbc5513c8, 0xb3b8, 0x4bf7, 0xa4,0xd4, 0x36,0x1c,0x0d,0x8c,0x88,0xba)
2833#endif
2834#else
2835typedef struct IUpdateDownloadContentCollectionVtbl {
2836    BEGIN_INTERFACE
2837
2838    /*** IUnknown methods ***/
2839    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2840        IUpdateDownloadContentCollection *This,
2841        REFIID riid,
2842        void **ppvObject);
2843
2844    ULONG (STDMETHODCALLTYPE *AddRef)(
2845        IUpdateDownloadContentCollection *This);
2846
2847    ULONG (STDMETHODCALLTYPE *Release)(
2848        IUpdateDownloadContentCollection *This);
2849
2850    /*** IDispatch methods ***/
2851    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2852        IUpdateDownloadContentCollection *This,
2853        UINT *pctinfo);
2854
2855    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2856        IUpdateDownloadContentCollection *This,
2857        UINT iTInfo,
2858        LCID lcid,
2859        ITypeInfo **ppTInfo);
2860
2861    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2862        IUpdateDownloadContentCollection *This,
2863        REFIID riid,
2864        LPOLESTR *rgszNames,
2865        UINT cNames,
2866        LCID lcid,
2867        DISPID *rgDispId);
2868
2869    HRESULT (STDMETHODCALLTYPE *Invoke)(
2870        IUpdateDownloadContentCollection *This,
2871        DISPID dispIdMember,
2872        REFIID riid,
2873        LCID lcid,
2874        WORD wFlags,
2875        DISPPARAMS *pDispParams,
2876        VARIANT *pVarResult,
2877        EXCEPINFO *pExcepInfo,
2878        UINT *puArgErr);
2879
2880    /*** IUpdateDownloadContentCollection methods ***/
2881    HRESULT (STDMETHODCALLTYPE *get_Item)(
2882        IUpdateDownloadContentCollection *This,
2883        LONG index,
2884        IUpdateDownloadContent **retval);
2885
2886    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
2887        IUpdateDownloadContentCollection *This,
2888        IUnknown **retval);
2889
2890    HRESULT (STDMETHODCALLTYPE *get_Count)(
2891        IUpdateDownloadContentCollection *This,
2892        LONG *retval);
2893
2894    END_INTERFACE
2895} IUpdateDownloadContentCollectionVtbl;
2896
2897interface IUpdateDownloadContentCollection {
2898    CONST_VTBL IUpdateDownloadContentCollectionVtbl* lpVtbl;
2899};
2900
2901#ifdef COBJMACROS
2902#ifndef WIDL_C_INLINE_WRAPPERS
2903/*** IUnknown methods ***/
2904#define IUpdateDownloadContentCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2905#define IUpdateDownloadContentCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
2906#define IUpdateDownloadContentCollection_Release(This) (This)->lpVtbl->Release(This)
2907/*** IDispatch methods ***/
2908#define IUpdateDownloadContentCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2909#define IUpdateDownloadContentCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2910#define IUpdateDownloadContentCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2911#define IUpdateDownloadContentCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2912/*** IUpdateDownloadContentCollection methods ***/
2913#define IUpdateDownloadContentCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval)
2914#define IUpdateDownloadContentCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
2915#define IUpdateDownloadContentCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
2916#else
2917/*** IUnknown methods ***/
2918static inline HRESULT IUpdateDownloadContentCollection_QueryInterface(IUpdateDownloadContentCollection* This,REFIID riid,void **ppvObject) {
2919    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2920}
2921static inline ULONG IUpdateDownloadContentCollection_AddRef(IUpdateDownloadContentCollection* This) {
2922    return This->lpVtbl->AddRef(This);
2923}
2924static inline ULONG IUpdateDownloadContentCollection_Release(IUpdateDownloadContentCollection* This) {
2925    return This->lpVtbl->Release(This);
2926}
2927/*** IDispatch methods ***/
2928static inline HRESULT IUpdateDownloadContentCollection_GetTypeInfoCount(IUpdateDownloadContentCollection* This,UINT *pctinfo) {
2929    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2930}
2931static inline HRESULT IUpdateDownloadContentCollection_GetTypeInfo(IUpdateDownloadContentCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2932    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2933}
2934static inline HRESULT IUpdateDownloadContentCollection_GetIDsOfNames(IUpdateDownloadContentCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2935    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2936}
2937static inline HRESULT IUpdateDownloadContentCollection_Invoke(IUpdateDownloadContentCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2938    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2939}
2940/*** IUpdateDownloadContentCollection methods ***/
2941static inline HRESULT IUpdateDownloadContentCollection_get_Item(IUpdateDownloadContentCollection* This,LONG index,IUpdateDownloadContent **retval) {
2942    return This->lpVtbl->get_Item(This,index,retval);
2943}
2944static inline HRESULT IUpdateDownloadContentCollection_get__NewEnum(IUpdateDownloadContentCollection* This,IUnknown **retval) {
2945    return This->lpVtbl->get__NewEnum(This,retval);
2946}
2947static inline HRESULT IUpdateDownloadContentCollection_get_Count(IUpdateDownloadContentCollection* This,LONG *retval) {
2948    return This->lpVtbl->get_Count(This,retval);
2949}
2950#endif
2951#endif
2952
2953#endif
2954
2955
2956#endif  /* __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ */
2957
2958/*****************************************************************************
2959 * IUpdate interface
2960 */
2961#ifndef __IUpdate_INTERFACE_DEFINED__
2962#define __IUpdate_INTERFACE_DEFINED__
2963
2964DEFINE_GUID(IID_IUpdate, 0x6a92b07a, 0xd821, 0x4682, 0xb4,0x23, 0x5c,0x80,0x50,0x22,0xcc,0x4d);
2965#if defined(__cplusplus) && !defined(CINTERFACE)
2966MIDL_INTERFACE("6a92b07a-d821-4682-b423-5c805022cc4d")
2967IUpdate : public IDispatch
2968{
2969    virtual HRESULT STDMETHODCALLTYPE get_Title(
2970        BSTR *retval) = 0;
2971
2972    virtual HRESULT STDMETHODCALLTYPE get_AutoSelectOnWebSites(
2973        VARIANT_BOOL *retval) = 0;
2974
2975    virtual HRESULT STDMETHODCALLTYPE get_BundledUpdates(
2976        IUpdateCollection **retval) = 0;
2977
2978    virtual HRESULT STDMETHODCALLTYPE get_CanRequireSource(
2979        VARIANT_BOOL *retval) = 0;
2980
2981    virtual HRESULT STDMETHODCALLTYPE get_Categories(
2982        ICategoryCollection **retval) = 0;
2983
2984    virtual HRESULT STDMETHODCALLTYPE get_Deadline(
2985        VARIANT *retval) = 0;
2986
2987    virtual HRESULT STDMETHODCALLTYPE get_DeltaCompressedContentAvailable(
2988        VARIANT_BOOL *retval) = 0;
2989
2990    virtual HRESULT STDMETHODCALLTYPE get_DeltaCompressedContentPreferred(
2991        VARIANT_BOOL *retval) = 0;
2992
2993    virtual HRESULT STDMETHODCALLTYPE get_Description(
2994        BSTR *retval) = 0;
2995
2996    virtual HRESULT STDMETHODCALLTYPE get_EulaAccepted(
2997        VARIANT_BOOL *retval) = 0;
2998
2999    virtual HRESULT STDMETHODCALLTYPE get_EulaText(
3000        BSTR *retval) = 0;
3001
3002    virtual HRESULT STDMETHODCALLTYPE get_HandlerID(
3003        BSTR *retval) = 0;
3004
3005    virtual HRESULT STDMETHODCALLTYPE get_Identity(
3006        IUpdateIdentity **retval) = 0;
3007
3008    virtual HRESULT STDMETHODCALLTYPE get_Image(
3009        IImageInformation **retval) = 0;
3010
3011    virtual HRESULT STDMETHODCALLTYPE get_InstallationBehavior(
3012        IInstallationBehavior **retval) = 0;
3013
3014    virtual HRESULT STDMETHODCALLTYPE get_IsBeta(
3015        VARIANT_BOOL *retval) = 0;
3016
3017    virtual HRESULT STDMETHODCALLTYPE get_IsDownloaded(
3018        VARIANT_BOOL *retval) = 0;
3019
3020    virtual HRESULT STDMETHODCALLTYPE get_IsHidden(
3021        VARIANT_BOOL *retval) = 0;
3022
3023    virtual HRESULT STDMETHODCALLTYPE put_IsHidden(
3024        VARIANT_BOOL value) = 0;
3025
3026    virtual HRESULT STDMETHODCALLTYPE get_IsInstalled(
3027        VARIANT_BOOL *retval) = 0;
3028
3029    virtual HRESULT STDMETHODCALLTYPE get_IsMandatory(
3030        VARIANT_BOOL *retval) = 0;
3031
3032    virtual HRESULT STDMETHODCALLTYPE get_IsUninstallable(
3033        VARIANT_BOOL *retval) = 0;
3034
3035    virtual HRESULT STDMETHODCALLTYPE get_Languages(
3036        IStringCollection **retval) = 0;
3037
3038    virtual HRESULT STDMETHODCALLTYPE get_LastDeploymentChangeTime(
3039        DATE *retval) = 0;
3040
3041    virtual HRESULT STDMETHODCALLTYPE get_MaxDownloadSize(
3042        DECIMAL *retval) = 0;
3043
3044    virtual HRESULT STDMETHODCALLTYPE get_MinDownloadSize(
3045        DECIMAL *retval) = 0;
3046
3047    virtual HRESULT STDMETHODCALLTYPE get_MoreInfoUrls(
3048        IStringCollection **retval) = 0;
3049
3050    virtual HRESULT STDMETHODCALLTYPE get_MsrcSeverity(
3051        BSTR *retval) = 0;
3052
3053    virtual HRESULT STDMETHODCALLTYPE get_RecommendedCpuSpeed(
3054        LONG *retval) = 0;
3055
3056    virtual HRESULT STDMETHODCALLTYPE get_RecommendedHardDiskSpace(
3057        LONG *retval) = 0;
3058
3059    virtual HRESULT STDMETHODCALLTYPE get_RecommendedMemory(
3060        LONG *retval) = 0;
3061
3062    virtual HRESULT STDMETHODCALLTYPE get_ReleaseNotes(
3063        BSTR *retval) = 0;
3064
3065    virtual HRESULT STDMETHODCALLTYPE get_SecurityBulletinIDs(
3066        IStringCollection **retval) = 0;
3067
3068    virtual HRESULT STDMETHODCALLTYPE get_SupersededUpdateIDs(
3069        IStringCollection **retval) = 0;
3070
3071    virtual HRESULT STDMETHODCALLTYPE get_SupportUrl(
3072        BSTR *retval) = 0;
3073
3074    virtual HRESULT STDMETHODCALLTYPE get_Type(
3075        UpdateType *retval) = 0;
3076
3077    virtual HRESULT STDMETHODCALLTYPE get_UninstallationNotes(
3078        BSTR *retval) = 0;
3079
3080    virtual HRESULT STDMETHODCALLTYPE get_UninstallationBehavior(
3081        IInstallationBehavior **retval) = 0;
3082
3083    virtual HRESULT STDMETHODCALLTYPE get_UninstallationSteps(
3084        IStringCollection **retval) = 0;
3085
3086    virtual HRESULT STDMETHODCALLTYPE get_KBArticleIDs(
3087        IStringCollection **retval) = 0;
3088
3089    virtual HRESULT STDMETHODCALLTYPE AcceptEula(
3090        ) = 0;
3091
3092    virtual HRESULT STDMETHODCALLTYPE get_DeploymentAction(
3093        DeploymentAction *retval) = 0;
3094
3095    virtual HRESULT STDMETHODCALLTYPE CopyFromCache(
3096        BSTR path,
3097        VARIANT_BOOL toExtractCabFiles) = 0;
3098
3099    virtual HRESULT STDMETHODCALLTYPE get_DownloadPriority(
3100        DownloadPriority *retval) = 0;
3101
3102    virtual HRESULT STDMETHODCALLTYPE get_DownloadContents(
3103        IUpdateDownloadContentCollection **retval) = 0;
3104
3105};
3106#ifdef __CRT_UUID_DECL
3107__CRT_UUID_DECL(IUpdate, 0x6a92b07a, 0xd821, 0x4682, 0xb4,0x23, 0x5c,0x80,0x50,0x22,0xcc,0x4d)
3108#endif
3109#else
3110typedef struct IUpdateVtbl {
3111    BEGIN_INTERFACE
3112
3113    /*** IUnknown methods ***/
3114    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3115        IUpdate *This,
3116        REFIID riid,
3117        void **ppvObject);
3118
3119    ULONG (STDMETHODCALLTYPE *AddRef)(
3120        IUpdate *This);
3121
3122    ULONG (STDMETHODCALLTYPE *Release)(
3123        IUpdate *This);
3124
3125    /*** IDispatch methods ***/
3126    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3127        IUpdate *This,
3128        UINT *pctinfo);
3129
3130    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3131        IUpdate *This,
3132        UINT iTInfo,
3133        LCID lcid,
3134        ITypeInfo **ppTInfo);
3135
3136    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3137        IUpdate *This,
3138        REFIID riid,
3139        LPOLESTR *rgszNames,
3140        UINT cNames,
3141        LCID lcid,
3142        DISPID *rgDispId);
3143
3144    HRESULT (STDMETHODCALLTYPE *Invoke)(
3145        IUpdate *This,
3146        DISPID dispIdMember,
3147        REFIID riid,
3148        LCID lcid,
3149        WORD wFlags,
3150        DISPPARAMS *pDispParams,
3151        VARIANT *pVarResult,
3152        EXCEPINFO *pExcepInfo,
3153        UINT *puArgErr);
3154
3155    /*** IUpdate methods ***/
3156    HRESULT (STDMETHODCALLTYPE *get_Title)(
3157        IUpdate *This,
3158        BSTR *retval);
3159
3160    HRESULT (STDMETHODCALLTYPE *get_AutoSelectOnWebSites)(
3161        IUpdate *This,
3162        VARIANT_BOOL *retval);
3163
3164    HRESULT (STDMETHODCALLTYPE *get_BundledUpdates)(
3165        IUpdate *This,
3166        IUpdateCollection **retval);
3167
3168    HRESULT (STDMETHODCALLTYPE *get_CanRequireSource)(
3169        IUpdate *This,
3170        VARIANT_BOOL *retval);
3171
3172    HRESULT (STDMETHODCALLTYPE *get_Categories)(
3173        IUpdate *This,
3174        ICategoryCollection **retval);
3175
3176    HRESULT (STDMETHODCALLTYPE *get_Deadline)(
3177        IUpdate *This,
3178        VARIANT *retval);
3179
3180    HRESULT (STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable)(
3181        IUpdate *This,
3182        VARIANT_BOOL *retval);
3183
3184    HRESULT (STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred)(
3185        IUpdate *This,
3186        VARIANT_BOOL *retval);
3187
3188    HRESULT (STDMETHODCALLTYPE *get_Description)(
3189        IUpdate *This,
3190        BSTR *retval);
3191
3192    HRESULT (STDMETHODCALLTYPE *get_EulaAccepted)(
3193        IUpdate *This,
3194        VARIANT_BOOL *retval);
3195
3196    HRESULT (STDMETHODCALLTYPE *get_EulaText)(
3197        IUpdate *This,
3198        BSTR *retval);
3199
3200    HRESULT (STDMETHODCALLTYPE *get_HandlerID)(
3201        IUpdate *This,
3202        BSTR *retval);
3203
3204    HRESULT (STDMETHODCALLTYPE *get_Identity)(
3205        IUpdate *This,
3206        IUpdateIdentity **retval);
3207
3208    HRESULT (STDMETHODCALLTYPE *get_Image)(
3209        IUpdate *This,
3210        IImageInformation **retval);
3211
3212    HRESULT (STDMETHODCALLTYPE *get_InstallationBehavior)(
3213        IUpdate *This,
3214        IInstallationBehavior **retval);
3215
3216    HRESULT (STDMETHODCALLTYPE *get_IsBeta)(
3217        IUpdate *This,
3218        VARIANT_BOOL *retval);
3219
3220    HRESULT (STDMETHODCALLTYPE *get_IsDownloaded)(
3221        IUpdate *This,
3222        VARIANT_BOOL *retval);
3223
3224    HRESULT (STDMETHODCALLTYPE *get_IsHidden)(
3225        IUpdate *This,
3226        VARIANT_BOOL *retval);
3227
3228    HRESULT (STDMETHODCALLTYPE *put_IsHidden)(
3229        IUpdate *This,
3230        VARIANT_BOOL value);
3231
3232    HRESULT (STDMETHODCALLTYPE *get_IsInstalled)(
3233        IUpdate *This,
3234        VARIANT_BOOL *retval);
3235
3236    HRESULT (STDMETHODCALLTYPE *get_IsMandatory)(
3237        IUpdate *This,
3238        VARIANT_BOOL *retval);
3239
3240    HRESULT (STDMETHODCALLTYPE *get_IsUninstallable)(
3241        IUpdate *This,
3242        VARIANT_BOOL *retval);
3243
3244    HRESULT (STDMETHODCALLTYPE *get_Languages)(
3245        IUpdate *This,
3246        IStringCollection **retval);
3247
3248    HRESULT (STDMETHODCALLTYPE *get_LastDeploymentChangeTime)(
3249        IUpdate *This,
3250        DATE *retval);
3251
3252    HRESULT (STDMETHODCALLTYPE *get_MaxDownloadSize)(
3253        IUpdate *This,
3254        DECIMAL *retval);
3255
3256    HRESULT (STDMETHODCALLTYPE *get_MinDownloadSize)(
3257        IUpdate *This,
3258        DECIMAL *retval);
3259
3260    HRESULT (STDMETHODCALLTYPE *get_MoreInfoUrls)(
3261        IUpdate *This,
3262        IStringCollection **retval);
3263
3264    HRESULT (STDMETHODCALLTYPE *get_MsrcSeverity)(
3265        IUpdate *This,
3266        BSTR *retval);
3267
3268    HRESULT (STDMETHODCALLTYPE *get_RecommendedCpuSpeed)(
3269        IUpdate *This,
3270        LONG *retval);
3271
3272    HRESULT (STDMETHODCALLTYPE *get_RecommendedHardDiskSpace)(
3273        IUpdate *This,
3274        LONG *retval);
3275
3276    HRESULT (STDMETHODCALLTYPE *get_RecommendedMemory)(
3277        IUpdate *This,
3278        LONG *retval);
3279
3280    HRESULT (STDMETHODCALLTYPE *get_ReleaseNotes)(
3281        IUpdate *This,
3282        BSTR *retval);
3283
3284    HRESULT (STDMETHODCALLTYPE *get_SecurityBulletinIDs)(
3285        IUpdate *This,
3286        IStringCollection **retval);
3287
3288    HRESULT (STDMETHODCALLTYPE *get_SupersededUpdateIDs)(
3289        IUpdate *This,
3290        IStringCollection **retval);
3291
3292    HRESULT (STDMETHODCALLTYPE *get_SupportUrl)(
3293        IUpdate *This,
3294        BSTR *retval);
3295
3296    HRESULT (STDMETHODCALLTYPE *get_Type)(
3297        IUpdate *This,
3298        UpdateType *retval);
3299
3300    HRESULT (STDMETHODCALLTYPE *get_UninstallationNotes)(
3301        IUpdate *This,
3302        BSTR *retval);
3303
3304    HRESULT (STDMETHODCALLTYPE *get_UninstallationBehavior)(
3305        IUpdate *This,
3306        IInstallationBehavior **retval);
3307
3308    HRESULT (STDMETHODCALLTYPE *get_UninstallationSteps)(
3309        IUpdate *This,
3310        IStringCollection **retval);
3311
3312    HRESULT (STDMETHODCALLTYPE *get_KBArticleIDs)(
3313        IUpdate *This,
3314        IStringCollection **retval);
3315
3316    HRESULT (STDMETHODCALLTYPE *AcceptEula)(
3317        IUpdate *This);
3318
3319    HRESULT (STDMETHODCALLTYPE *get_DeploymentAction)(
3320        IUpdate *This,
3321        DeploymentAction *retval);
3322
3323    HRESULT (STDMETHODCALLTYPE *CopyFromCache)(
3324        IUpdate *This,
3325        BSTR path,
3326        VARIANT_BOOL toExtractCabFiles);
3327
3328    HRESULT (STDMETHODCALLTYPE *get_DownloadPriority)(
3329        IUpdate *This,
3330        DownloadPriority *retval);
3331
3332    HRESULT (STDMETHODCALLTYPE *get_DownloadContents)(
3333        IUpdate *This,
3334        IUpdateDownloadContentCollection **retval);
3335
3336    END_INTERFACE
3337} IUpdateVtbl;
3338
3339interface IUpdate {
3340    CONST_VTBL IUpdateVtbl* lpVtbl;
3341};
3342
3343#ifdef COBJMACROS
3344#ifndef WIDL_C_INLINE_WRAPPERS
3345/*** IUnknown methods ***/
3346#define IUpdate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3347#define IUpdate_AddRef(This) (This)->lpVtbl->AddRef(This)
3348#define IUpdate_Release(This) (This)->lpVtbl->Release(This)
3349/*** IDispatch methods ***/
3350#define IUpdate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3351#define IUpdate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3352#define IUpdate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3353#define IUpdate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3354/*** IUpdate methods ***/
3355#define IUpdate_get_Title(This,retval) (This)->lpVtbl->get_Title(This,retval)
3356#define IUpdate_get_AutoSelectOnWebSites(This,retval) (This)->lpVtbl->get_AutoSelectOnWebSites(This,retval)
3357#define IUpdate_get_BundledUpdates(This,retval) (This)->lpVtbl->get_BundledUpdates(This,retval)
3358#define IUpdate_get_CanRequireSource(This,retval) (This)->lpVtbl->get_CanRequireSource(This,retval)
3359#define IUpdate_get_Categories(This,retval) (This)->lpVtbl->get_Categories(This,retval)
3360#define IUpdate_get_Deadline(This,retval) (This)->lpVtbl->get_Deadline(This,retval)
3361#define IUpdate_get_DeltaCompressedContentAvailable(This,retval) (This)->lpVtbl->get_DeltaCompressedContentAvailable(This,retval)
3362#define IUpdate_get_DeltaCompressedContentPreferred(This,retval) (This)->lpVtbl->get_DeltaCompressedContentPreferred(This,retval)
3363#define IUpdate_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
3364#define IUpdate_get_EulaAccepted(This,retval) (This)->lpVtbl->get_EulaAccepted(This,retval)
3365#define IUpdate_get_EulaText(This,retval) (This)->lpVtbl->get_EulaText(This,retval)
3366#define IUpdate_get_HandlerID(This,retval) (This)->lpVtbl->get_HandlerID(This,retval)
3367#define IUpdate_get_Identity(This,retval) (This)->lpVtbl->get_Identity(This,retval)
3368#define IUpdate_get_Image(This,retval) (This)->lpVtbl->get_Image(This,retval)
3369#define IUpdate_get_InstallationBehavior(This,retval) (This)->lpVtbl->get_InstallationBehavior(This,retval)
3370#define IUpdate_get_IsBeta(This,retval) (This)->lpVtbl->get_IsBeta(This,retval)
3371#define IUpdate_get_IsDownloaded(This,retval) (This)->lpVtbl->get_IsDownloaded(This,retval)
3372#define IUpdate_get_IsHidden(This,retval) (This)->lpVtbl->get_IsHidden(This,retval)
3373#define IUpdate_put_IsHidden(This,value) (This)->lpVtbl->put_IsHidden(This,value)
3374#define IUpdate_get_IsInstalled(This,retval) (This)->lpVtbl->get_IsInstalled(This,retval)
3375#define IUpdate_get_IsMandatory(This,retval) (This)->lpVtbl->get_IsMandatory(This,retval)
3376#define IUpdate_get_IsUninstallable(This,retval) (This)->lpVtbl->get_IsUninstallable(This,retval)
3377#define IUpdate_get_Languages(This,retval) (This)->lpVtbl->get_Languages(This,retval)
3378#define IUpdate_get_LastDeploymentChangeTime(This,retval) (This)->lpVtbl->get_LastDeploymentChangeTime(This,retval)
3379#define IUpdate_get_MaxDownloadSize(This,retval) (This)->lpVtbl->get_MaxDownloadSize(This,retval)
3380#define IUpdate_get_MinDownloadSize(This,retval) (This)->lpVtbl->get_MinDownloadSize(This,retval)
3381#define IUpdate_get_MoreInfoUrls(This,retval) (This)->lpVtbl->get_MoreInfoUrls(This,retval)
3382#define IUpdate_get_MsrcSeverity(This,retval) (This)->lpVtbl->get_MsrcSeverity(This,retval)
3383#define IUpdate_get_RecommendedCpuSpeed(This,retval) (This)->lpVtbl->get_RecommendedCpuSpeed(This,retval)
3384#define IUpdate_get_RecommendedHardDiskSpace(This,retval) (This)->lpVtbl->get_RecommendedHardDiskSpace(This,retval)
3385#define IUpdate_get_RecommendedMemory(This,retval) (This)->lpVtbl->get_RecommendedMemory(This,retval)
3386#define IUpdate_get_ReleaseNotes(This,retval) (This)->lpVtbl->get_ReleaseNotes(This,retval)
3387#define IUpdate_get_SecurityBulletinIDs(This,retval) (This)->lpVtbl->get_SecurityBulletinIDs(This,retval)
3388#define IUpdate_get_SupersededUpdateIDs(This,retval) (This)->lpVtbl->get_SupersededUpdateIDs(This,retval)
3389#define IUpdate_get_SupportUrl(This,retval) (This)->lpVtbl->get_SupportUrl(This,retval)
3390#define IUpdate_get_Type(This,retval) (This)->lpVtbl->get_Type(This,retval)
3391#define IUpdate_get_UninstallationNotes(This,retval) (This)->lpVtbl->get_UninstallationNotes(This,retval)
3392#define IUpdate_get_UninstallationBehavior(This,retval) (This)->lpVtbl->get_UninstallationBehavior(This,retval)
3393#define IUpdate_get_UninstallationSteps(This,retval) (This)->lpVtbl->get_UninstallationSteps(This,retval)
3394#define IUpdate_get_KBArticleIDs(This,retval) (This)->lpVtbl->get_KBArticleIDs(This,retval)
3395#define IUpdate_AcceptEula(This) (This)->lpVtbl->AcceptEula(This)
3396#define IUpdate_get_DeploymentAction(This,retval) (This)->lpVtbl->get_DeploymentAction(This,retval)
3397#define IUpdate_CopyFromCache(This,path,toExtractCabFiles) (This)->lpVtbl->CopyFromCache(This,path,toExtractCabFiles)
3398#define IUpdate_get_DownloadPriority(This,retval) (This)->lpVtbl->get_DownloadPriority(This,retval)
3399#define IUpdate_get_DownloadContents(This,retval) (This)->lpVtbl->get_DownloadContents(This,retval)
3400#else
3401/*** IUnknown methods ***/
3402static inline HRESULT IUpdate_QueryInterface(IUpdate* This,REFIID riid,void **ppvObject) {
3403    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3404}
3405static inline ULONG IUpdate_AddRef(IUpdate* This) {
3406    return This->lpVtbl->AddRef(This);
3407}
3408static inline ULONG IUpdate_Release(IUpdate* This) {
3409    return This->lpVtbl->Release(This);
3410}
3411/*** IDispatch methods ***/
3412static inline HRESULT IUpdate_GetTypeInfoCount(IUpdate* This,UINT *pctinfo) {
3413    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3414}
3415static inline HRESULT IUpdate_GetTypeInfo(IUpdate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3416    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3417}
3418static inline HRESULT IUpdate_GetIDsOfNames(IUpdate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3419    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3420}
3421static inline HRESULT IUpdate_Invoke(IUpdate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3422    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3423}
3424/*** IUpdate methods ***/
3425static inline HRESULT IUpdate_get_Title(IUpdate* This,BSTR *retval) {
3426    return This->lpVtbl->get_Title(This,retval);
3427}
3428static inline HRESULT IUpdate_get_AutoSelectOnWebSites(IUpdate* This,VARIANT_BOOL *retval) {
3429    return This->lpVtbl->get_AutoSelectOnWebSites(This,retval);
3430}
3431static inline HRESULT IUpdate_get_BundledUpdates(IUpdate* This,IUpdateCollection **retval) {
3432    return This->lpVtbl->get_BundledUpdates(This,retval);
3433}
3434static inline HRESULT IUpdate_get_CanRequireSource(IUpdate* This,VARIANT_BOOL *retval) {
3435    return This->lpVtbl->get_CanRequireSource(This,retval);
3436}
3437static inline HRESULT IUpdate_get_Categories(IUpdate* This,ICategoryCollection **retval) {
3438    return This->lpVtbl->get_Categories(This,retval);
3439}
3440static inline HRESULT IUpdate_get_Deadline(IUpdate* This,VARIANT *retval) {
3441    return This->lpVtbl->get_Deadline(This,retval);
3442}
3443static inline HRESULT IUpdate_get_DeltaCompressedContentAvailable(IUpdate* This,VARIANT_BOOL *retval) {
3444    return This->lpVtbl->get_DeltaCompressedContentAvailable(This,retval);
3445}
3446static inline HRESULT IUpdate_get_DeltaCompressedContentPreferred(IUpdate* This,VARIANT_BOOL *retval) {
3447    return This->lpVtbl->get_DeltaCompressedContentPreferred(This,retval);
3448}
3449static inline HRESULT IUpdate_get_Description(IUpdate* This,BSTR *retval) {
3450    return This->lpVtbl->get_Description(This,retval);
3451}
3452static inline HRESULT IUpdate_get_EulaAccepted(IUpdate* This,VARIANT_BOOL *retval) {
3453    return This->lpVtbl->get_EulaAccepted(This,retval);
3454}
3455static inline HRESULT IUpdate_get_EulaText(IUpdate* This,BSTR *retval) {
3456    return This->lpVtbl->get_EulaText(This,retval);
3457}
3458static inline HRESULT IUpdate_get_HandlerID(IUpdate* This,BSTR *retval) {
3459    return This->lpVtbl->get_HandlerID(This,retval);
3460}
3461static inline HRESULT IUpdate_get_Identity(IUpdate* This,IUpdateIdentity **retval) {
3462    return This->lpVtbl->get_Identity(This,retval);
3463}
3464static inline HRESULT IUpdate_get_Image(IUpdate* This,IImageInformation **retval) {
3465    return This->lpVtbl->get_Image(This,retval);
3466}
3467static inline HRESULT IUpdate_get_InstallationBehavior(IUpdate* This,IInstallationBehavior **retval) {
3468    return This->lpVtbl->get_InstallationBehavior(This,retval);
3469}
3470static inline HRESULT IUpdate_get_IsBeta(IUpdate* This,VARIANT_BOOL *retval) {
3471    return This->lpVtbl->get_IsBeta(This,retval);
3472}
3473static inline HRESULT IUpdate_get_IsDownloaded(IUpdate* This,VARIANT_BOOL *retval) {
3474    return This->lpVtbl->get_IsDownloaded(This,retval);
3475}
3476static inline HRESULT IUpdate_get_IsHidden(IUpdate* This,VARIANT_BOOL *retval) {
3477    return This->lpVtbl->get_IsHidden(This,retval);
3478}
3479static inline HRESULT IUpdate_put_IsHidden(IUpdate* This,VARIANT_BOOL value) {
3480    return This->lpVtbl->put_IsHidden(This,value);
3481}
3482static inline HRESULT IUpdate_get_IsInstalled(IUpdate* This,VARIANT_BOOL *retval) {
3483    return This->lpVtbl->get_IsInstalled(This,retval);
3484}
3485static inline HRESULT IUpdate_get_IsMandatory(IUpdate* This,VARIANT_BOOL *retval) {
3486    return This->lpVtbl->get_IsMandatory(This,retval);
3487}
3488static inline HRESULT IUpdate_get_IsUninstallable(IUpdate* This,VARIANT_BOOL *retval) {
3489    return This->lpVtbl->get_IsUninstallable(This,retval);
3490}
3491static inline HRESULT IUpdate_get_Languages(IUpdate* This,IStringCollection **retval) {
3492    return This->lpVtbl->get_Languages(This,retval);
3493}
3494static inline HRESULT IUpdate_get_LastDeploymentChangeTime(IUpdate* This,DATE *retval) {
3495    return This->lpVtbl->get_LastDeploymentChangeTime(This,retval);
3496}
3497static inline HRESULT IUpdate_get_MaxDownloadSize(IUpdate* This,DECIMAL *retval) {
3498    return This->lpVtbl->get_MaxDownloadSize(This,retval);
3499}
3500static inline HRESULT IUpdate_get_MinDownloadSize(IUpdate* This,DECIMAL *retval) {
3501    return This->lpVtbl->get_MinDownloadSize(This,retval);
3502}
3503static inline HRESULT IUpdate_get_MoreInfoUrls(IUpdate* This,IStringCollection **retval) {
3504    return This->lpVtbl->get_MoreInfoUrls(This,retval);
3505}
3506static inline HRESULT IUpdate_get_MsrcSeverity(IUpdate* This,BSTR *retval) {
3507    return This->lpVtbl->get_MsrcSeverity(This,retval);
3508}
3509static inline HRESULT IUpdate_get_RecommendedCpuSpeed(IUpdate* This,LONG *retval) {
3510    return This->lpVtbl->get_RecommendedCpuSpeed(This,retval);
3511}
3512static inline HRESULT IUpdate_get_RecommendedHardDiskSpace(IUpdate* This,LONG *retval) {
3513    return This->lpVtbl->get_RecommendedHardDiskSpace(This,retval);
3514}
3515static inline HRESULT IUpdate_get_RecommendedMemory(IUpdate* This,LONG *retval) {
3516    return This->lpVtbl->get_RecommendedMemory(This,retval);
3517}
3518static inline HRESULT IUpdate_get_ReleaseNotes(IUpdate* This,BSTR *retval) {
3519    return This->lpVtbl->get_ReleaseNotes(This,retval);
3520}
3521static inline HRESULT IUpdate_get_SecurityBulletinIDs(IUpdate* This,IStringCollection **retval) {
3522    return This->lpVtbl->get_SecurityBulletinIDs(This,retval);
3523}
3524static inline HRESULT IUpdate_get_SupersededUpdateIDs(IUpdate* This,IStringCollection **retval) {
3525    return This->lpVtbl->get_SupersededUpdateIDs(This,retval);
3526}
3527static inline HRESULT IUpdate_get_SupportUrl(IUpdate* This,BSTR *retval) {
3528    return This->lpVtbl->get_SupportUrl(This,retval);
3529}
3530static inline HRESULT IUpdate_get_Type(IUpdate* This,UpdateType *retval) {
3531    return This->lpVtbl->get_Type(This,retval);
3532}
3533static inline HRESULT IUpdate_get_UninstallationNotes(IUpdate* This,BSTR *retval) {
3534    return This->lpVtbl->get_UninstallationNotes(This,retval);
3535}
3536static inline HRESULT IUpdate_get_UninstallationBehavior(IUpdate* This,IInstallationBehavior **retval) {
3537    return This->lpVtbl->get_UninstallationBehavior(This,retval);
3538}
3539static inline HRESULT IUpdate_get_UninstallationSteps(IUpdate* This,IStringCollection **retval) {
3540    return This->lpVtbl->get_UninstallationSteps(This,retval);
3541}
3542static inline HRESULT IUpdate_get_KBArticleIDs(IUpdate* This,IStringCollection **retval) {
3543    return This->lpVtbl->get_KBArticleIDs(This,retval);
3544}
3545static inline HRESULT IUpdate_AcceptEula(IUpdate* This) {
3546    return This->lpVtbl->AcceptEula(This);
3547}
3548static inline HRESULT IUpdate_get_DeploymentAction(IUpdate* This,DeploymentAction *retval) {
3549    return This->lpVtbl->get_DeploymentAction(This,retval);
3550}
3551static inline HRESULT IUpdate_CopyFromCache(IUpdate* This,BSTR path,VARIANT_BOOL toExtractCabFiles) {
3552    return This->lpVtbl->CopyFromCache(This,path,toExtractCabFiles);
3553}
3554static inline HRESULT IUpdate_get_DownloadPriority(IUpdate* This,DownloadPriority *retval) {
3555    return This->lpVtbl->get_DownloadPriority(This,retval);
3556}
3557static inline HRESULT IUpdate_get_DownloadContents(IUpdate* This,IUpdateDownloadContentCollection **retval) {
3558    return This->lpVtbl->get_DownloadContents(This,retval);
3559}
3560#endif
3561#endif
3562
3563#endif
3564
3565
3566#endif  /* __IUpdate_INTERFACE_DEFINED__ */
3567
3568/*****************************************************************************
3569 * IUpdateCollection interface
3570 */
3571#ifndef __IUpdateCollection_INTERFACE_DEFINED__
3572#define __IUpdateCollection_INTERFACE_DEFINED__
3573
3574DEFINE_GUID(IID_IUpdateCollection, 0x07f7438c, 0x7709, 0x4ca5, 0xb5,0x18, 0x91,0x27,0x92,0x88,0x13,0x4e);
3575#if defined(__cplusplus) && !defined(CINTERFACE)
3576MIDL_INTERFACE("07f7438c-7709-4ca5-b518-91279288134e")
3577IUpdateCollection : public IDispatch
3578{
3579    virtual HRESULT STDMETHODCALLTYPE get_Item(
3580        LONG index,
3581        IUpdate **retval) = 0;
3582
3583    virtual HRESULT STDMETHODCALLTYPE put_Item(
3584        LONG index,
3585        IUpdate *value) = 0;
3586
3587    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
3588        IUnknown **retval) = 0;
3589
3590    virtual HRESULT STDMETHODCALLTYPE get_Count(
3591        LONG *retval) = 0;
3592
3593    virtual HRESULT STDMETHODCALLTYPE get_ReadOnly(
3594        VARIANT_BOOL *retval) = 0;
3595
3596    virtual HRESULT STDMETHODCALLTYPE Add(
3597        IUpdate *value,
3598        LONG *retval) = 0;
3599
3600    virtual HRESULT STDMETHODCALLTYPE Clear(
3601        ) = 0;
3602
3603    virtual HRESULT STDMETHODCALLTYPE Copy(
3604        IUpdateCollection **retval) = 0;
3605
3606    virtual HRESULT STDMETHODCALLTYPE Insert(
3607        LONG index,
3608        IUpdate *value) = 0;
3609
3610    virtual HRESULT STDMETHODCALLTYPE RemoveAt(
3611        LONG index) = 0;
3612
3613};
3614#ifdef __CRT_UUID_DECL
3615__CRT_UUID_DECL(IUpdateCollection, 0x07f7438c, 0x7709, 0x4ca5, 0xb5,0x18, 0x91,0x27,0x92,0x88,0x13,0x4e)
3616#endif
3617#else
3618typedef struct IUpdateCollectionVtbl {
3619    BEGIN_INTERFACE
3620
3621    /*** IUnknown methods ***/
3622    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3623        IUpdateCollection *This,
3624        REFIID riid,
3625        void **ppvObject);
3626
3627    ULONG (STDMETHODCALLTYPE *AddRef)(
3628        IUpdateCollection *This);
3629
3630    ULONG (STDMETHODCALLTYPE *Release)(
3631        IUpdateCollection *This);
3632
3633    /*** IDispatch methods ***/
3634    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3635        IUpdateCollection *This,
3636        UINT *pctinfo);
3637
3638    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3639        IUpdateCollection *This,
3640        UINT iTInfo,
3641        LCID lcid,
3642        ITypeInfo **ppTInfo);
3643
3644    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3645        IUpdateCollection *This,
3646        REFIID riid,
3647        LPOLESTR *rgszNames,
3648        UINT cNames,
3649        LCID lcid,
3650        DISPID *rgDispId);
3651
3652    HRESULT (STDMETHODCALLTYPE *Invoke)(
3653        IUpdateCollection *This,
3654        DISPID dispIdMember,
3655        REFIID riid,
3656        LCID lcid,
3657        WORD wFlags,
3658        DISPPARAMS *pDispParams,
3659        VARIANT *pVarResult,
3660        EXCEPINFO *pExcepInfo,
3661        UINT *puArgErr);
3662
3663    /*** IUpdateCollection methods ***/
3664    HRESULT (STDMETHODCALLTYPE *get_Item)(
3665        IUpdateCollection *This,
3666        LONG index,
3667        IUpdate **retval);
3668
3669    HRESULT (STDMETHODCALLTYPE *put_Item)(
3670        IUpdateCollection *This,
3671        LONG index,
3672        IUpdate *value);
3673
3674    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
3675        IUpdateCollection *This,
3676        IUnknown **retval);
3677
3678    HRESULT (STDMETHODCALLTYPE *get_Count)(
3679        IUpdateCollection *This,
3680        LONG *retval);
3681
3682    HRESULT (STDMETHODCALLTYPE *get_ReadOnly)(
3683        IUpdateCollection *This,
3684        VARIANT_BOOL *retval);
3685
3686    HRESULT (STDMETHODCALLTYPE *Add)(
3687        IUpdateCollection *This,
3688        IUpdate *value,
3689        LONG *retval);
3690
3691    HRESULT (STDMETHODCALLTYPE *Clear)(
3692        IUpdateCollection *This);
3693
3694    HRESULT (STDMETHODCALLTYPE *Copy)(
3695        IUpdateCollection *This,
3696        IUpdateCollection **retval);
3697
3698    HRESULT (STDMETHODCALLTYPE *Insert)(
3699        IUpdateCollection *This,
3700        LONG index,
3701        IUpdate *value);
3702
3703    HRESULT (STDMETHODCALLTYPE *RemoveAt)(
3704        IUpdateCollection *This,
3705        LONG index);
3706
3707    END_INTERFACE
3708} IUpdateCollectionVtbl;
3709
3710interface IUpdateCollection {
3711    CONST_VTBL IUpdateCollectionVtbl* lpVtbl;
3712};
3713
3714#ifdef COBJMACROS
3715#ifndef WIDL_C_INLINE_WRAPPERS
3716/*** IUnknown methods ***/
3717#define IUpdateCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3718#define IUpdateCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
3719#define IUpdateCollection_Release(This) (This)->lpVtbl->Release(This)
3720/*** IDispatch methods ***/
3721#define IUpdateCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3722#define IUpdateCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3723#define IUpdateCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3724#define IUpdateCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3725/*** IUpdateCollection methods ***/
3726#define IUpdateCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval)
3727#define IUpdateCollection_put_Item(This,index,value) (This)->lpVtbl->put_Item(This,index,value)
3728#define IUpdateCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
3729#define IUpdateCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
3730#define IUpdateCollection_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval)
3731#define IUpdateCollection_Add(This,value,retval) (This)->lpVtbl->Add(This,value,retval)
3732#define IUpdateCollection_Clear(This) (This)->lpVtbl->Clear(This)
3733#define IUpdateCollection_Copy(This,retval) (This)->lpVtbl->Copy(This,retval)
3734#define IUpdateCollection_Insert(This,index,value) (This)->lpVtbl->Insert(This,index,value)
3735#define IUpdateCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index)
3736#else
3737/*** IUnknown methods ***/
3738static inline HRESULT IUpdateCollection_QueryInterface(IUpdateCollection* This,REFIID riid,void **ppvObject) {
3739    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3740}
3741static inline ULONG IUpdateCollection_AddRef(IUpdateCollection* This) {
3742    return This->lpVtbl->AddRef(This);
3743}
3744static inline ULONG IUpdateCollection_Release(IUpdateCollection* This) {
3745    return This->lpVtbl->Release(This);
3746}
3747/*** IDispatch methods ***/
3748static inline HRESULT IUpdateCollection_GetTypeInfoCount(IUpdateCollection* This,UINT *pctinfo) {
3749    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3750}
3751static inline HRESULT IUpdateCollection_GetTypeInfo(IUpdateCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3752    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3753}
3754static inline HRESULT IUpdateCollection_GetIDsOfNames(IUpdateCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3755    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3756}
3757static inline HRESULT IUpdateCollection_Invoke(IUpdateCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3758    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3759}
3760/*** IUpdateCollection methods ***/
3761static inline HRESULT IUpdateCollection_get_Item(IUpdateCollection* This,LONG index,IUpdate **retval) {
3762    return This->lpVtbl->get_Item(This,index,retval);
3763}
3764static inline HRESULT IUpdateCollection_put_Item(IUpdateCollection* This,LONG index,IUpdate *value) {
3765    return This->lpVtbl->put_Item(This,index,value);
3766}
3767static inline HRESULT IUpdateCollection_get__NewEnum(IUpdateCollection* This,IUnknown **retval) {
3768    return This->lpVtbl->get__NewEnum(This,retval);
3769}
3770static inline HRESULT IUpdateCollection_get_Count(IUpdateCollection* This,LONG *retval) {
3771    return This->lpVtbl->get_Count(This,retval);
3772}
3773static inline HRESULT IUpdateCollection_get_ReadOnly(IUpdateCollection* This,VARIANT_BOOL *retval) {
3774    return This->lpVtbl->get_ReadOnly(This,retval);
3775}
3776static inline HRESULT IUpdateCollection_Add(IUpdateCollection* This,IUpdate *value,LONG *retval) {
3777    return This->lpVtbl->Add(This,value,retval);
3778}
3779static inline HRESULT IUpdateCollection_Clear(IUpdateCollection* This) {
3780    return This->lpVtbl->Clear(This);
3781}
3782static inline HRESULT IUpdateCollection_Copy(IUpdateCollection* This,IUpdateCollection **retval) {
3783    return This->lpVtbl->Copy(This,retval);
3784}
3785static inline HRESULT IUpdateCollection_Insert(IUpdateCollection* This,LONG index,IUpdate *value) {
3786    return This->lpVtbl->Insert(This,index,value);
3787}
3788static inline HRESULT IUpdateCollection_RemoveAt(IUpdateCollection* This,LONG index) {
3789    return This->lpVtbl->RemoveAt(This,index);
3790}
3791#endif
3792#endif
3793
3794#endif
3795
3796
3797#endif  /* __IUpdateCollection_INTERFACE_DEFINED__ */
3798
3799/*****************************************************************************
3800 * ISearchJob interface
3801 */
3802#ifndef __ISearchJob_INTERFACE_DEFINED__
3803#define __ISearchJob_INTERFACE_DEFINED__
3804
3805DEFINE_GUID(IID_ISearchJob, 0x7366ea16, 0x7a1a, 0x4ea2, 0xb0,0x42, 0x97,0x3d,0x3e,0x9c,0xd9,0x9b);
3806#if defined(__cplusplus) && !defined(CINTERFACE)
3807MIDL_INTERFACE("7366ea16-7a1a-4ea2-b042-973d3e9cd99b")
3808ISearchJob : public IDispatch
3809{
3810    virtual HRESULT STDMETHODCALLTYPE get_AsyncState(
3811        VARIANT *retval) = 0;
3812
3813    virtual HRESULT STDMETHODCALLTYPE get_IsCompleted(
3814        VARIANT_BOOL *retval) = 0;
3815
3816    virtual HRESULT STDMETHODCALLTYPE CleanUp(
3817        ) = 0;
3818
3819    virtual HRESULT STDMETHODCALLTYPE RequestAbort(
3820        ) = 0;
3821
3822};
3823#ifdef __CRT_UUID_DECL
3824__CRT_UUID_DECL(ISearchJob, 0x7366ea16, 0x7a1a, 0x4ea2, 0xb0,0x42, 0x97,0x3d,0x3e,0x9c,0xd9,0x9b)
3825#endif
3826#else
3827typedef struct ISearchJobVtbl {
3828    BEGIN_INTERFACE
3829
3830    /*** IUnknown methods ***/
3831    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3832        ISearchJob *This,
3833        REFIID riid,
3834        void **ppvObject);
3835
3836    ULONG (STDMETHODCALLTYPE *AddRef)(
3837        ISearchJob *This);
3838
3839    ULONG (STDMETHODCALLTYPE *Release)(
3840        ISearchJob *This);
3841
3842    /*** IDispatch methods ***/
3843    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3844        ISearchJob *This,
3845        UINT *pctinfo);
3846
3847    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3848        ISearchJob *This,
3849        UINT iTInfo,
3850        LCID lcid,
3851        ITypeInfo **ppTInfo);
3852
3853    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3854        ISearchJob *This,
3855        REFIID riid,
3856        LPOLESTR *rgszNames,
3857        UINT cNames,
3858        LCID lcid,
3859        DISPID *rgDispId);
3860
3861    HRESULT (STDMETHODCALLTYPE *Invoke)(
3862        ISearchJob *This,
3863        DISPID dispIdMember,
3864        REFIID riid,
3865        LCID lcid,
3866        WORD wFlags,
3867        DISPPARAMS *pDispParams,
3868        VARIANT *pVarResult,
3869        EXCEPINFO *pExcepInfo,
3870        UINT *puArgErr);
3871
3872    /*** ISearchJob methods ***/
3873    HRESULT (STDMETHODCALLTYPE *get_AsyncState)(
3874        ISearchJob *This,
3875        VARIANT *retval);
3876
3877    HRESULT (STDMETHODCALLTYPE *get_IsCompleted)(
3878        ISearchJob *This,
3879        VARIANT_BOOL *retval);
3880
3881    HRESULT (STDMETHODCALLTYPE *CleanUp)(
3882        ISearchJob *This);
3883
3884    HRESULT (STDMETHODCALLTYPE *RequestAbort)(
3885        ISearchJob *This);
3886
3887    END_INTERFACE
3888} ISearchJobVtbl;
3889
3890interface ISearchJob {
3891    CONST_VTBL ISearchJobVtbl* lpVtbl;
3892};
3893
3894#ifdef COBJMACROS
3895#ifndef WIDL_C_INLINE_WRAPPERS
3896/*** IUnknown methods ***/
3897#define ISearchJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3898#define ISearchJob_AddRef(This) (This)->lpVtbl->AddRef(This)
3899#define ISearchJob_Release(This) (This)->lpVtbl->Release(This)
3900/*** IDispatch methods ***/
3901#define ISearchJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3902#define ISearchJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3903#define ISearchJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3904#define ISearchJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3905/*** ISearchJob methods ***/
3906#define ISearchJob_get_AsyncState(This,retval) (This)->lpVtbl->get_AsyncState(This,retval)
3907#define ISearchJob_get_IsCompleted(This,retval) (This)->lpVtbl->get_IsCompleted(This,retval)
3908#define ISearchJob_CleanUp(This) (This)->lpVtbl->CleanUp(This)
3909#define ISearchJob_RequestAbort(This) (This)->lpVtbl->RequestAbort(This)
3910#else
3911/*** IUnknown methods ***/
3912static inline HRESULT ISearchJob_QueryInterface(ISearchJob* This,REFIID riid,void **ppvObject) {
3913    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3914}
3915static inline ULONG ISearchJob_AddRef(ISearchJob* This) {
3916    return This->lpVtbl->AddRef(This);
3917}
3918static inline ULONG ISearchJob_Release(ISearchJob* This) {
3919    return This->lpVtbl->Release(This);
3920}
3921/*** IDispatch methods ***/
3922static inline HRESULT ISearchJob_GetTypeInfoCount(ISearchJob* This,UINT *pctinfo) {
3923    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3924}
3925static inline HRESULT ISearchJob_GetTypeInfo(ISearchJob* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3926    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3927}
3928static inline HRESULT ISearchJob_GetIDsOfNames(ISearchJob* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3929    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3930}
3931static inline HRESULT ISearchJob_Invoke(ISearchJob* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3932    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3933}
3934/*** ISearchJob methods ***/
3935static inline HRESULT ISearchJob_get_AsyncState(ISearchJob* This,VARIANT *retval) {
3936    return This->lpVtbl->get_AsyncState(This,retval);
3937}
3938static inline HRESULT ISearchJob_get_IsCompleted(ISearchJob* This,VARIANT_BOOL *retval) {
3939    return This->lpVtbl->get_IsCompleted(This,retval);
3940}
3941static inline HRESULT ISearchJob_CleanUp(ISearchJob* This) {
3942    return This->lpVtbl->CleanUp(This);
3943}
3944static inline HRESULT ISearchJob_RequestAbort(ISearchJob* This) {
3945    return This->lpVtbl->RequestAbort(This);
3946}
3947#endif
3948#endif
3949
3950#endif
3951
3952
3953#endif  /* __ISearchJob_INTERFACE_DEFINED__ */
3954
3955/*****************************************************************************
3956 * ISearchResult interface
3957 */
3958#ifndef __ISearchResult_INTERFACE_DEFINED__
3959#define __ISearchResult_INTERFACE_DEFINED__
3960
3961DEFINE_GUID(IID_ISearchResult, 0xd40cff62, 0xe08c, 0x4498, 0x94,0x1a, 0x01,0xe2,0x5f,0x0f,0xd3,0x3c);
3962#if defined(__cplusplus) && !defined(CINTERFACE)
3963MIDL_INTERFACE("d40cff62-e08c-4498-941a-01e25f0fd33c")
3964ISearchResult : public IDispatch
3965{
3966    virtual HRESULT STDMETHODCALLTYPE get_ResultCode(
3967        OperationResultCode *retval) = 0;
3968
3969    virtual HRESULT STDMETHODCALLTYPE get_RootCategories(
3970        ICategoryCollection **retval) = 0;
3971
3972    virtual HRESULT STDMETHODCALLTYPE get_Updates(
3973        IUpdateCollection **retval) = 0;
3974
3975    virtual HRESULT STDMETHODCALLTYPE get_Warnings(
3976        IUpdateExceptionCollection **retval) = 0;
3977
3978};
3979#ifdef __CRT_UUID_DECL
3980__CRT_UUID_DECL(ISearchResult, 0xd40cff62, 0xe08c, 0x4498, 0x94,0x1a, 0x01,0xe2,0x5f,0x0f,0xd3,0x3c)
3981#endif
3982#else
3983typedef struct ISearchResultVtbl {
3984    BEGIN_INTERFACE
3985
3986    /*** IUnknown methods ***/
3987    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3988        ISearchResult *This,
3989        REFIID riid,
3990        void **ppvObject);
3991
3992    ULONG (STDMETHODCALLTYPE *AddRef)(
3993        ISearchResult *This);
3994
3995    ULONG (STDMETHODCALLTYPE *Release)(
3996        ISearchResult *This);
3997
3998    /*** IDispatch methods ***/
3999    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4000        ISearchResult *This,
4001        UINT *pctinfo);
4002
4003    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4004        ISearchResult *This,
4005        UINT iTInfo,
4006        LCID lcid,
4007        ITypeInfo **ppTInfo);
4008
4009    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4010        ISearchResult *This,
4011        REFIID riid,
4012        LPOLESTR *rgszNames,
4013        UINT cNames,
4014        LCID lcid,
4015        DISPID *rgDispId);
4016
4017    HRESULT (STDMETHODCALLTYPE *Invoke)(
4018        ISearchResult *This,
4019        DISPID dispIdMember,
4020        REFIID riid,
4021        LCID lcid,
4022        WORD wFlags,
4023        DISPPARAMS *pDispParams,
4024        VARIANT *pVarResult,
4025        EXCEPINFO *pExcepInfo,
4026        UINT *puArgErr);
4027
4028    /*** ISearchResult methods ***/
4029    HRESULT (STDMETHODCALLTYPE *get_ResultCode)(
4030        ISearchResult *This,
4031        OperationResultCode *retval);
4032
4033    HRESULT (STDMETHODCALLTYPE *get_RootCategories)(
4034        ISearchResult *This,
4035        ICategoryCollection **retval);
4036
4037    HRESULT (STDMETHODCALLTYPE *get_Updates)(
4038        ISearchResult *This,
4039        IUpdateCollection **retval);
4040
4041    HRESULT (STDMETHODCALLTYPE *get_Warnings)(
4042        ISearchResult *This,
4043        IUpdateExceptionCollection **retval);
4044
4045    END_INTERFACE
4046} ISearchResultVtbl;
4047
4048interface ISearchResult {
4049    CONST_VTBL ISearchResultVtbl* lpVtbl;
4050};
4051
4052#ifdef COBJMACROS
4053#ifndef WIDL_C_INLINE_WRAPPERS
4054/*** IUnknown methods ***/
4055#define ISearchResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4056#define ISearchResult_AddRef(This) (This)->lpVtbl->AddRef(This)
4057#define ISearchResult_Release(This) (This)->lpVtbl->Release(This)
4058/*** IDispatch methods ***/
4059#define ISearchResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4060#define ISearchResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4061#define ISearchResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4062#define ISearchResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4063/*** ISearchResult methods ***/
4064#define ISearchResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval)
4065#define ISearchResult_get_RootCategories(This,retval) (This)->lpVtbl->get_RootCategories(This,retval)
4066#define ISearchResult_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval)
4067#define ISearchResult_get_Warnings(This,retval) (This)->lpVtbl->get_Warnings(This,retval)
4068#else
4069/*** IUnknown methods ***/
4070static inline HRESULT ISearchResult_QueryInterface(ISearchResult* This,REFIID riid,void **ppvObject) {
4071    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4072}
4073static inline ULONG ISearchResult_AddRef(ISearchResult* This) {
4074    return This->lpVtbl->AddRef(This);
4075}
4076static inline ULONG ISearchResult_Release(ISearchResult* This) {
4077    return This->lpVtbl->Release(This);
4078}
4079/*** IDispatch methods ***/
4080static inline HRESULT ISearchResult_GetTypeInfoCount(ISearchResult* This,UINT *pctinfo) {
4081    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4082}
4083static inline HRESULT ISearchResult_GetTypeInfo(ISearchResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4084    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4085}
4086static inline HRESULT ISearchResult_GetIDsOfNames(ISearchResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4087    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4088}
4089static inline HRESULT ISearchResult_Invoke(ISearchResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4090    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4091}
4092/*** ISearchResult methods ***/
4093static inline HRESULT ISearchResult_get_ResultCode(ISearchResult* This,OperationResultCode *retval) {
4094    return This->lpVtbl->get_ResultCode(This,retval);
4095}
4096static inline HRESULT ISearchResult_get_RootCategories(ISearchResult* This,ICategoryCollection **retval) {
4097    return This->lpVtbl->get_RootCategories(This,retval);
4098}
4099static inline HRESULT ISearchResult_get_Updates(ISearchResult* This,IUpdateCollection **retval) {
4100    return This->lpVtbl->get_Updates(This,retval);
4101}
4102static inline HRESULT ISearchResult_get_Warnings(ISearchResult* This,IUpdateExceptionCollection **retval) {
4103    return This->lpVtbl->get_Warnings(This,retval);
4104}
4105#endif
4106#endif
4107
4108#endif
4109
4110
4111#endif  /* __ISearchResult_INTERFACE_DEFINED__ */
4112
4113/*****************************************************************************
4114 * IUpdateHistoryEntry interface
4115 */
4116#ifndef __IUpdateHistoryEntry_INTERFACE_DEFINED__
4117#define __IUpdateHistoryEntry_INTERFACE_DEFINED__
4118
4119DEFINE_GUID(IID_IUpdateHistoryEntry, 0xbe56a644, 0xaf0e, 0x4e0e, 0xa3,0x11, 0xc1,0xd8,0xe6,0x95,0xcb,0xff);
4120#if defined(__cplusplus) && !defined(CINTERFACE)
4121MIDL_INTERFACE("be56a644-af0e-4e0e-a311-c1d8e695cbff")
4122IUpdateHistoryEntry : public IDispatch
4123{
4124    virtual HRESULT STDMETHODCALLTYPE get_Operation(
4125        UpdateOperation *retval) = 0;
4126
4127    virtual HRESULT STDMETHODCALLTYPE get_ResultCode(
4128        OperationResultCode *retval) = 0;
4129
4130    virtual HRESULT STDMETHODCALLTYPE get_HResult(
4131        LONG *retval) = 0;
4132
4133    virtual HRESULT STDMETHODCALLTYPE get_Date(
4134        DATE *retval) = 0;
4135
4136    virtual HRESULT STDMETHODCALLTYPE get_UpdateIdentity(
4137        IUpdateIdentity **retval) = 0;
4138
4139    virtual HRESULT STDMETHODCALLTYPE get_Title(
4140        BSTR *retval) = 0;
4141
4142    virtual HRESULT STDMETHODCALLTYPE get_Description(
4143        BSTR *retval) = 0;
4144
4145    virtual HRESULT STDMETHODCALLTYPE get_UnmappedResultCode(
4146        LONG *retval) = 0;
4147
4148    virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID(
4149        BSTR *retval) = 0;
4150
4151    virtual HRESULT STDMETHODCALLTYPE get_ServerSelection(
4152        ServerSelection *retval) = 0;
4153
4154    virtual HRESULT STDMETHODCALLTYPE get_ServiceID(
4155        BSTR *retval) = 0;
4156
4157    virtual HRESULT STDMETHODCALLTYPE get_UninstallationSteps(
4158        IStringCollection **retval) = 0;
4159
4160    virtual HRESULT STDMETHODCALLTYPE get_UninstallationNotes(
4161        BSTR *retval) = 0;
4162
4163    virtual HRESULT STDMETHODCALLTYPE get_SupportUrl(
4164        BSTR *retval) = 0;
4165
4166};
4167#ifdef __CRT_UUID_DECL
4168__CRT_UUID_DECL(IUpdateHistoryEntry, 0xbe56a644, 0xaf0e, 0x4e0e, 0xa3,0x11, 0xc1,0xd8,0xe6,0x95,0xcb,0xff)
4169#endif
4170#else
4171typedef struct IUpdateHistoryEntryVtbl {
4172    BEGIN_INTERFACE
4173
4174    /*** IUnknown methods ***/
4175    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4176        IUpdateHistoryEntry *This,
4177        REFIID riid,
4178        void **ppvObject);
4179
4180    ULONG (STDMETHODCALLTYPE *AddRef)(
4181        IUpdateHistoryEntry *This);
4182
4183    ULONG (STDMETHODCALLTYPE *Release)(
4184        IUpdateHistoryEntry *This);
4185
4186    /*** IDispatch methods ***/
4187    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4188        IUpdateHistoryEntry *This,
4189        UINT *pctinfo);
4190
4191    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4192        IUpdateHistoryEntry *This,
4193        UINT iTInfo,
4194        LCID lcid,
4195        ITypeInfo **ppTInfo);
4196
4197    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4198        IUpdateHistoryEntry *This,
4199        REFIID riid,
4200        LPOLESTR *rgszNames,
4201        UINT cNames,
4202        LCID lcid,
4203        DISPID *rgDispId);
4204
4205    HRESULT (STDMETHODCALLTYPE *Invoke)(
4206        IUpdateHistoryEntry *This,
4207        DISPID dispIdMember,
4208        REFIID riid,
4209        LCID lcid,
4210        WORD wFlags,
4211        DISPPARAMS *pDispParams,
4212        VARIANT *pVarResult,
4213        EXCEPINFO *pExcepInfo,
4214        UINT *puArgErr);
4215
4216    /*** IUpdateHistoryEntry methods ***/
4217    HRESULT (STDMETHODCALLTYPE *get_Operation)(
4218        IUpdateHistoryEntry *This,
4219        UpdateOperation *retval);
4220
4221    HRESULT (STDMETHODCALLTYPE *get_ResultCode)(
4222        IUpdateHistoryEntry *This,
4223        OperationResultCode *retval);
4224
4225    HRESULT (STDMETHODCALLTYPE *get_HResult)(
4226        IUpdateHistoryEntry *This,
4227        LONG *retval);
4228
4229    HRESULT (STDMETHODCALLTYPE *get_Date)(
4230        IUpdateHistoryEntry *This,
4231        DATE *retval);
4232
4233    HRESULT (STDMETHODCALLTYPE *get_UpdateIdentity)(
4234        IUpdateHistoryEntry *This,
4235        IUpdateIdentity **retval);
4236
4237    HRESULT (STDMETHODCALLTYPE *get_Title)(
4238        IUpdateHistoryEntry *This,
4239        BSTR *retval);
4240
4241    HRESULT (STDMETHODCALLTYPE *get_Description)(
4242        IUpdateHistoryEntry *This,
4243        BSTR *retval);
4244
4245    HRESULT (STDMETHODCALLTYPE *get_UnmappedResultCode)(
4246        IUpdateHistoryEntry *This,
4247        LONG *retval);
4248
4249    HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)(
4250        IUpdateHistoryEntry *This,
4251        BSTR *retval);
4252
4253    HRESULT (STDMETHODCALLTYPE *get_ServerSelection)(
4254        IUpdateHistoryEntry *This,
4255        ServerSelection *retval);
4256
4257    HRESULT (STDMETHODCALLTYPE *get_ServiceID)(
4258        IUpdateHistoryEntry *This,
4259        BSTR *retval);
4260
4261    HRESULT (STDMETHODCALLTYPE *get_UninstallationSteps)(
4262        IUpdateHistoryEntry *This,
4263        IStringCollection **retval);
4264
4265    HRESULT (STDMETHODCALLTYPE *get_UninstallationNotes)(
4266        IUpdateHistoryEntry *This,
4267        BSTR *retval);
4268
4269    HRESULT (STDMETHODCALLTYPE *get_SupportUrl)(
4270        IUpdateHistoryEntry *This,
4271        BSTR *retval);
4272
4273    END_INTERFACE
4274} IUpdateHistoryEntryVtbl;
4275
4276interface IUpdateHistoryEntry {
4277    CONST_VTBL IUpdateHistoryEntryVtbl* lpVtbl;
4278};
4279
4280#ifdef COBJMACROS
4281#ifndef WIDL_C_INLINE_WRAPPERS
4282/*** IUnknown methods ***/
4283#define IUpdateHistoryEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4284#define IUpdateHistoryEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
4285#define IUpdateHistoryEntry_Release(This) (This)->lpVtbl->Release(This)
4286/*** IDispatch methods ***/
4287#define IUpdateHistoryEntry_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4288#define IUpdateHistoryEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4289#define IUpdateHistoryEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4290#define IUpdateHistoryEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4291/*** IUpdateHistoryEntry methods ***/
4292#define IUpdateHistoryEntry_get_Operation(This,retval) (This)->lpVtbl->get_Operation(This,retval)
4293#define IUpdateHistoryEntry_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval)
4294#define IUpdateHistoryEntry_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval)
4295#define IUpdateHistoryEntry_get_Date(This,retval) (This)->lpVtbl->get_Date(This,retval)
4296#define IUpdateHistoryEntry_get_UpdateIdentity(This,retval) (This)->lpVtbl->get_UpdateIdentity(This,retval)
4297#define IUpdateHistoryEntry_get_Title(This,retval) (This)->lpVtbl->get_Title(This,retval)
4298#define IUpdateHistoryEntry_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
4299#define IUpdateHistoryEntry_get_UnmappedResultCode(This,retval) (This)->lpVtbl->get_UnmappedResultCode(This,retval)
4300#define IUpdateHistoryEntry_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval)
4301#define IUpdateHistoryEntry_get_ServerSelection(This,retval) (This)->lpVtbl->get_ServerSelection(This,retval)
4302#define IUpdateHistoryEntry_get_ServiceID(This,retval) (This)->lpVtbl->get_ServiceID(This,retval)
4303#define IUpdateHistoryEntry_get_UninstallationSteps(This,retval) (This)->lpVtbl->get_UninstallationSteps(This,retval)
4304#define IUpdateHistoryEntry_get_UninstallationNotes(This,retval) (This)->lpVtbl->get_UninstallationNotes(This,retval)
4305#define IUpdateHistoryEntry_get_SupportUrl(This,retval) (This)->lpVtbl->get_SupportUrl(This,retval)
4306#else
4307/*** IUnknown methods ***/
4308static inline HRESULT IUpdateHistoryEntry_QueryInterface(IUpdateHistoryEntry* This,REFIID riid,void **ppvObject) {
4309    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4310}
4311static inline ULONG IUpdateHistoryEntry_AddRef(IUpdateHistoryEntry* This) {
4312    return This->lpVtbl->AddRef(This);
4313}
4314static inline ULONG IUpdateHistoryEntry_Release(IUpdateHistoryEntry* This) {
4315    return This->lpVtbl->Release(This);
4316}
4317/*** IDispatch methods ***/
4318static inline HRESULT IUpdateHistoryEntry_GetTypeInfoCount(IUpdateHistoryEntry* This,UINT *pctinfo) {
4319    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4320}
4321static inline HRESULT IUpdateHistoryEntry_GetTypeInfo(IUpdateHistoryEntry* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4322    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4323}
4324static inline HRESULT IUpdateHistoryEntry_GetIDsOfNames(IUpdateHistoryEntry* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4325    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4326}
4327static inline HRESULT IUpdateHistoryEntry_Invoke(IUpdateHistoryEntry* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4328    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4329}
4330/*** IUpdateHistoryEntry methods ***/
4331static inline HRESULT IUpdateHistoryEntry_get_Operation(IUpdateHistoryEntry* This,UpdateOperation *retval) {
4332    return This->lpVtbl->get_Operation(This,retval);
4333}
4334static inline HRESULT IUpdateHistoryEntry_get_ResultCode(IUpdateHistoryEntry* This,OperationResultCode *retval) {
4335    return This->lpVtbl->get_ResultCode(This,retval);
4336}
4337static inline HRESULT IUpdateHistoryEntry_get_HResult(IUpdateHistoryEntry* This,LONG *retval) {
4338    return This->lpVtbl->get_HResult(This,retval);
4339}
4340static inline HRESULT IUpdateHistoryEntry_get_Date(IUpdateHistoryEntry* This,DATE *retval) {
4341    return This->lpVtbl->get_Date(This,retval);
4342}
4343static inline HRESULT IUpdateHistoryEntry_get_UpdateIdentity(IUpdateHistoryEntry* This,IUpdateIdentity **retval) {
4344    return This->lpVtbl->get_UpdateIdentity(This,retval);
4345}
4346static inline HRESULT IUpdateHistoryEntry_get_Title(IUpdateHistoryEntry* This,BSTR *retval) {
4347    return This->lpVtbl->get_Title(This,retval);
4348}
4349static inline HRESULT IUpdateHistoryEntry_get_Description(IUpdateHistoryEntry* This,BSTR *retval) {
4350    return This->lpVtbl->get_Description(This,retval);
4351}
4352static inline HRESULT IUpdateHistoryEntry_get_UnmappedResultCode(IUpdateHistoryEntry* This,LONG *retval) {
4353    return This->lpVtbl->get_UnmappedResultCode(This,retval);
4354}
4355static inline HRESULT IUpdateHistoryEntry_get_ClientApplicationID(IUpdateHistoryEntry* This,BSTR *retval) {
4356    return This->lpVtbl->get_ClientApplicationID(This,retval);
4357}
4358static inline HRESULT IUpdateHistoryEntry_get_ServerSelection(IUpdateHistoryEntry* This,ServerSelection *retval) {
4359    return This->lpVtbl->get_ServerSelection(This,retval);
4360}
4361static inline HRESULT IUpdateHistoryEntry_get_ServiceID(IUpdateHistoryEntry* This,BSTR *retval) {
4362    return This->lpVtbl->get_ServiceID(This,retval);
4363}
4364static inline HRESULT IUpdateHistoryEntry_get_UninstallationSteps(IUpdateHistoryEntry* This,IStringCollection **retval) {
4365    return This->lpVtbl->get_UninstallationSteps(This,retval);
4366}
4367static inline HRESULT IUpdateHistoryEntry_get_UninstallationNotes(IUpdateHistoryEntry* This,BSTR *retval) {
4368    return This->lpVtbl->get_UninstallationNotes(This,retval);
4369}
4370static inline HRESULT IUpdateHistoryEntry_get_SupportUrl(IUpdateHistoryEntry* This,BSTR *retval) {
4371    return This->lpVtbl->get_SupportUrl(This,retval);
4372}
4373#endif
4374#endif
4375
4376#endif
4377
4378
4379#endif  /* __IUpdateHistoryEntry_INTERFACE_DEFINED__ */
4380
4381/*****************************************************************************
4382 * IUpdateHistoryEntryCollection interface
4383 */
4384#ifndef __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__
4385#define __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__
4386
4387DEFINE_GUID(IID_IUpdateHistoryEntryCollection, 0xa7f04f3c, 0xa290, 0x435b, 0xaa,0xdf, 0xa1,0x16,0xc3,0x35,0x7a,0x5c);
4388#if defined(__cplusplus) && !defined(CINTERFACE)
4389MIDL_INTERFACE("a7f04f3c-a290-435b-aadf-a116c3357a5c")
4390IUpdateHistoryEntryCollection : public IDispatch
4391{
4392    virtual HRESULT STDMETHODCALLTYPE get_Item(
4393        LONG index,
4394        IUpdateHistoryEntry **retval) = 0;
4395
4396    virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
4397        IUnknown **retval) = 0;
4398
4399    virtual HRESULT STDMETHODCALLTYPE get_Count(
4400        LONG *retval) = 0;
4401
4402};
4403#ifdef __CRT_UUID_DECL
4404__CRT_UUID_DECL(IUpdateHistoryEntryCollection, 0xa7f04f3c, 0xa290, 0x435b, 0xaa,0xdf, 0xa1,0x16,0xc3,0x35,0x7a,0x5c)
4405#endif
4406#else
4407typedef struct IUpdateHistoryEntryCollectionVtbl {
4408    BEGIN_INTERFACE
4409
4410    /*** IUnknown methods ***/
4411    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4412        IUpdateHistoryEntryCollection *This,
4413        REFIID riid,
4414        void **ppvObject);
4415
4416    ULONG (STDMETHODCALLTYPE *AddRef)(
4417        IUpdateHistoryEntryCollection *This);
4418
4419    ULONG (STDMETHODCALLTYPE *Release)(
4420        IUpdateHistoryEntryCollection *This);
4421
4422    /*** IDispatch methods ***/
4423    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4424        IUpdateHistoryEntryCollection *This,
4425        UINT *pctinfo);
4426
4427    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4428        IUpdateHistoryEntryCollection *This,
4429        UINT iTInfo,
4430        LCID lcid,
4431        ITypeInfo **ppTInfo);
4432
4433    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4434        IUpdateHistoryEntryCollection *This,
4435        REFIID riid,
4436        LPOLESTR *rgszNames,
4437        UINT cNames,
4438        LCID lcid,
4439        DISPID *rgDispId);
4440
4441    HRESULT (STDMETHODCALLTYPE *Invoke)(
4442        IUpdateHistoryEntryCollection *This,
4443        DISPID dispIdMember,
4444        REFIID riid,
4445        LCID lcid,
4446        WORD wFlags,
4447        DISPPARAMS *pDispParams,
4448        VARIANT *pVarResult,
4449        EXCEPINFO *pExcepInfo,
4450        UINT *puArgErr);
4451
4452    /*** IUpdateHistoryEntryCollection methods ***/
4453    HRESULT (STDMETHODCALLTYPE *get_Item)(
4454        IUpdateHistoryEntryCollection *This,
4455        LONG index,
4456        IUpdateHistoryEntry **retval);
4457
4458    HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
4459        IUpdateHistoryEntryCollection *This,
4460        IUnknown **retval);
4461
4462    HRESULT (STDMETHODCALLTYPE *get_Count)(
4463        IUpdateHistoryEntryCollection *This,
4464        LONG *retval);
4465
4466    END_INTERFACE
4467} IUpdateHistoryEntryCollectionVtbl;
4468
4469interface IUpdateHistoryEntryCollection {
4470    CONST_VTBL IUpdateHistoryEntryCollectionVtbl* lpVtbl;
4471};
4472
4473#ifdef COBJMACROS
4474#ifndef WIDL_C_INLINE_WRAPPERS
4475/*** IUnknown methods ***/
4476#define IUpdateHistoryEntryCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4477#define IUpdateHistoryEntryCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
4478#define IUpdateHistoryEntryCollection_Release(This) (This)->lpVtbl->Release(This)
4479/*** IDispatch methods ***/
4480#define IUpdateHistoryEntryCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4481#define IUpdateHistoryEntryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4482#define IUpdateHistoryEntryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4483#define IUpdateHistoryEntryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4484/*** IUpdateHistoryEntryCollection methods ***/
4485#define IUpdateHistoryEntryCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval)
4486#define IUpdateHistoryEntryCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
4487#define IUpdateHistoryEntryCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
4488#else
4489/*** IUnknown methods ***/
4490static inline HRESULT IUpdateHistoryEntryCollection_QueryInterface(IUpdateHistoryEntryCollection* This,REFIID riid,void **ppvObject) {
4491    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4492}
4493static inline ULONG IUpdateHistoryEntryCollection_AddRef(IUpdateHistoryEntryCollection* This) {
4494    return This->lpVtbl->AddRef(This);
4495}
4496static inline ULONG IUpdateHistoryEntryCollection_Release(IUpdateHistoryEntryCollection* This) {
4497    return This->lpVtbl->Release(This);
4498}
4499/*** IDispatch methods ***/
4500static inline HRESULT IUpdateHistoryEntryCollection_GetTypeInfoCount(IUpdateHistoryEntryCollection* This,UINT *pctinfo) {
4501    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4502}
4503static inline HRESULT IUpdateHistoryEntryCollection_GetTypeInfo(IUpdateHistoryEntryCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4504    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4505}
4506static inline HRESULT IUpdateHistoryEntryCollection_GetIDsOfNames(IUpdateHistoryEntryCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4507    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4508}
4509static inline HRESULT IUpdateHistoryEntryCollection_Invoke(IUpdateHistoryEntryCollection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4510    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4511}
4512/*** IUpdateHistoryEntryCollection methods ***/
4513static inline HRESULT IUpdateHistoryEntryCollection_get_Item(IUpdateHistoryEntryCollection* This,LONG index,IUpdateHistoryEntry **retval) {
4514    return This->lpVtbl->get_Item(This,index,retval);
4515}
4516static inline HRESULT IUpdateHistoryEntryCollection_get__NewEnum(IUpdateHistoryEntryCollection* This,IUnknown **retval) {
4517    return This->lpVtbl->get__NewEnum(This,retval);
4518}
4519static inline HRESULT IUpdateHistoryEntryCollection_get_Count(IUpdateHistoryEntryCollection* This,LONG *retval) {
4520    return This->lpVtbl->get_Count(This,retval);
4521}
4522#endif
4523#endif
4524
4525#endif
4526
4527
4528#endif  /* __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ */
4529
4530/*****************************************************************************
4531 * IUpdateSearcher interface
4532 */
4533#ifndef __IUpdateSearcher_INTERFACE_DEFINED__
4534#define __IUpdateSearcher_INTERFACE_DEFINED__
4535
4536DEFINE_GUID(IID_IUpdateSearcher, 0x8f45abf1, 0xf9ae, 0x4b95, 0xa9,0x33, 0xf0,0xf6,0x6e,0x50,0x56,0xea);
4537#if defined(__cplusplus) && !defined(CINTERFACE)
4538MIDL_INTERFACE("8f45abf1-f9ae-4b95-a933-f0f66e5056ea")
4539IUpdateSearcher : public IDispatch
4540{
4541    virtual HRESULT STDMETHODCALLTYPE get_CanAutomaticallyUpgradeService(
4542        VARIANT_BOOL *retval) = 0;
4543
4544    virtual HRESULT STDMETHODCALLTYPE put_CanAutomaticallyUpgradeService(
4545        VARIANT_BOOL value) = 0;
4546
4547    virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID(
4548        BSTR *retval) = 0;
4549
4550    virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID(
4551        BSTR value) = 0;
4552
4553    virtual HRESULT STDMETHODCALLTYPE get_IncludePotentiallySupersededUpdates(
4554        VARIANT_BOOL *retval) = 0;
4555
4556    virtual HRESULT STDMETHODCALLTYPE put_IncludePotentiallySupersededUpdates(
4557        VARIANT_BOOL value) = 0;
4558
4559    virtual HRESULT STDMETHODCALLTYPE get_ServerSelection(
4560        ServerSelection *retval) = 0;
4561
4562    virtual HRESULT STDMETHODCALLTYPE put_ServerSelection(
4563        ServerSelection value) = 0;
4564
4565    virtual HRESULT STDMETHODCALLTYPE BeginSearch(
4566        BSTR criteria,
4567        IUnknown *onCompleted,
4568        VARIANT state,
4569        ISearchJob **retval) = 0;
4570
4571    virtual HRESULT STDMETHODCALLTYPE EndSearch(
4572        ISearchJob *searchJob,
4573        ISearchResult **retval) = 0;
4574
4575    virtual HRESULT STDMETHODCALLTYPE EscapeString(
4576        BSTR unescaped,
4577        BSTR *retval) = 0;
4578
4579    virtual HRESULT STDMETHODCALLTYPE QueryHistory(
4580        LONG startIndex,
4581        LONG count,
4582        IUpdateHistoryEntryCollection **retval) = 0;
4583
4584    virtual HRESULT STDMETHODCALLTYPE Search(
4585        BSTR criteria,
4586        ISearchResult **retval) = 0;
4587
4588    virtual HRESULT STDMETHODCALLTYPE get_Online(
4589        VARIANT_BOOL *retval) = 0;
4590
4591    virtual HRESULT STDMETHODCALLTYPE put_Online(
4592        VARIANT_BOOL value) = 0;
4593
4594    virtual HRESULT STDMETHODCALLTYPE GetTotalHistoryCount(
4595        LONG *retval) = 0;
4596
4597    virtual HRESULT STDMETHODCALLTYPE get_ServiceID(
4598        BSTR *retval) = 0;
4599
4600    virtual HRESULT STDMETHODCALLTYPE put_ServiceID(
4601        BSTR value) = 0;
4602
4603};
4604#ifdef __CRT_UUID_DECL
4605__CRT_UUID_DECL(IUpdateSearcher, 0x8f45abf1, 0xf9ae, 0x4b95, 0xa9,0x33, 0xf0,0xf6,0x6e,0x50,0x56,0xea)
4606#endif
4607#else
4608typedef struct IUpdateSearcherVtbl {
4609    BEGIN_INTERFACE
4610
4611    /*** IUnknown methods ***/
4612    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4613        IUpdateSearcher *This,
4614        REFIID riid,
4615        void **ppvObject);
4616
4617    ULONG (STDMETHODCALLTYPE *AddRef)(
4618        IUpdateSearcher *This);
4619
4620    ULONG (STDMETHODCALLTYPE *Release)(
4621        IUpdateSearcher *This);
4622
4623    /*** IDispatch methods ***/
4624    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4625        IUpdateSearcher *This,
4626        UINT *pctinfo);
4627
4628    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4629        IUpdateSearcher *This,
4630        UINT iTInfo,
4631        LCID lcid,
4632        ITypeInfo **ppTInfo);
4633
4634    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4635        IUpdateSearcher *This,
4636        REFIID riid,
4637        LPOLESTR *rgszNames,
4638        UINT cNames,
4639        LCID lcid,
4640        DISPID *rgDispId);
4641
4642    HRESULT (STDMETHODCALLTYPE *Invoke)(
4643        IUpdateSearcher *This,
4644        DISPID dispIdMember,
4645        REFIID riid,
4646        LCID lcid,
4647        WORD wFlags,
4648        DISPPARAMS *pDispParams,
4649        VARIANT *pVarResult,
4650        EXCEPINFO *pExcepInfo,
4651        UINT *puArgErr);
4652
4653    /*** IUpdateSearcher methods ***/
4654    HRESULT (STDMETHODCALLTYPE *get_CanAutomaticallyUpgradeService)(
4655        IUpdateSearcher *This,
4656        VARIANT_BOOL *retval);
4657
4658    HRESULT (STDMETHODCALLTYPE *put_CanAutomaticallyUpgradeService)(
4659        IUpdateSearcher *This,
4660        VARIANT_BOOL value);
4661
4662    HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)(
4663        IUpdateSearcher *This,
4664        BSTR *retval);
4665
4666    HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)(
4667        IUpdateSearcher *This,
4668        BSTR value);
4669
4670    HRESULT (STDMETHODCALLTYPE *get_IncludePotentiallySupersededUpdates)(
4671        IUpdateSearcher *This,
4672        VARIANT_BOOL *retval);
4673
4674    HRESULT (STDMETHODCALLTYPE *put_IncludePotentiallySupersededUpdates)(
4675        IUpdateSearcher *This,
4676        VARIANT_BOOL value);
4677
4678    HRESULT (STDMETHODCALLTYPE *get_ServerSelection)(
4679        IUpdateSearcher *This,
4680        ServerSelection *retval);
4681
4682    HRESULT (STDMETHODCALLTYPE *put_ServerSelection)(
4683        IUpdateSearcher *This,
4684        ServerSelection value);
4685
4686    HRESULT (STDMETHODCALLTYPE *BeginSearch)(
4687        IUpdateSearcher *This,
4688        BSTR criteria,
4689        IUnknown *onCompleted,
4690        VARIANT state,
4691        ISearchJob **retval);
4692
4693    HRESULT (STDMETHODCALLTYPE *EndSearch)(
4694        IUpdateSearcher *This,
4695        ISearchJob *searchJob,
4696        ISearchResult **retval);
4697
4698    HRESULT (STDMETHODCALLTYPE *EscapeString)(
4699        IUpdateSearcher *This,
4700        BSTR unescaped,
4701        BSTR *retval);
4702
4703    HRESULT (STDMETHODCALLTYPE *QueryHistory)(
4704        IUpdateSearcher *This,
4705        LONG startIndex,
4706        LONG count,
4707        IUpdateHistoryEntryCollection **retval);
4708
4709    HRESULT (STDMETHODCALLTYPE *Search)(
4710        IUpdateSearcher *This,
4711        BSTR criteria,
4712        ISearchResult **retval);
4713
4714    HRESULT (STDMETHODCALLTYPE *get_Online)(
4715        IUpdateSearcher *This,
4716        VARIANT_BOOL *retval);
4717
4718    HRESULT (STDMETHODCALLTYPE *put_Online)(
4719        IUpdateSearcher *This,
4720        VARIANT_BOOL value);
4721
4722    HRESULT (STDMETHODCALLTYPE *GetTotalHistoryCount)(
4723        IUpdateSearcher *This,
4724        LONG *retval);
4725
4726    HRESULT (STDMETHODCALLTYPE *get_ServiceID)(
4727        IUpdateSearcher *This,
4728        BSTR *retval);
4729
4730    HRESULT (STDMETHODCALLTYPE *put_ServiceID)(
4731        IUpdateSearcher *This,
4732        BSTR value);
4733
4734    END_INTERFACE
4735} IUpdateSearcherVtbl;
4736
4737interface IUpdateSearcher {
4738    CONST_VTBL IUpdateSearcherVtbl* lpVtbl;
4739};
4740
4741#ifdef COBJMACROS
4742#ifndef WIDL_C_INLINE_WRAPPERS
4743/*** IUnknown methods ***/
4744#define IUpdateSearcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4745#define IUpdateSearcher_AddRef(This) (This)->lpVtbl->AddRef(This)
4746#define IUpdateSearcher_Release(This) (This)->lpVtbl->Release(This)
4747/*** IDispatch methods ***/
4748#define IUpdateSearcher_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4749#define IUpdateSearcher_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4750#define IUpdateSearcher_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4751#define IUpdateSearcher_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4752/*** IUpdateSearcher methods ***/
4753#define IUpdateSearcher_get_CanAutomaticallyUpgradeService(This,retval) (This)->lpVtbl->get_CanAutomaticallyUpgradeService(This,retval)
4754#define IUpdateSearcher_put_CanAutomaticallyUpgradeService(This,value) (This)->lpVtbl->put_CanAutomaticallyUpgradeService(This,value)
4755#define IUpdateSearcher_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval)
4756#define IUpdateSearcher_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value)
4757#define IUpdateSearcher_get_IncludePotentiallySupersededUpdates(This,retval) (This)->lpVtbl->get_IncludePotentiallySupersededUpdates(This,retval)
4758#define IUpdateSearcher_put_IncludePotentiallySupersededUpdates(This,value) (This)->lpVtbl->put_IncludePotentiallySupersededUpdates(This,value)
4759#define IUpdateSearcher_get_ServerSelection(This,retval) (This)->lpVtbl->get_ServerSelection(This,retval)
4760#define IUpdateSearcher_put_ServerSelection(This,value) (This)->lpVtbl->put_ServerSelection(This,value)
4761#define IUpdateSearcher_BeginSearch(This,criteria,onCompleted,state,retval) (This)->lpVtbl->BeginSearch(This,criteria,onCompleted,state,retval)
4762#define IUpdateSearcher_EndSearch(This,searchJob,retval) (This)->lpVtbl->EndSearch(This,searchJob,retval)
4763#define IUpdateSearcher_EscapeString(This,unescaped,retval) (This)->lpVtbl->EscapeString(This,unescaped,retval)
4764#define IUpdateSearcher_QueryHistory(This,startIndex,count,retval) (This)->lpVtbl->QueryHistory(This,startIndex,count,retval)
4765#define IUpdateSearcher_Search(This,criteria,retval) (This)->lpVtbl->Search(This,criteria,retval)
4766#define IUpdateSearcher_get_Online(This,retval) (This)->lpVtbl->get_Online(This,retval)
4767#define IUpdateSearcher_put_Online(This,value) (This)->lpVtbl->put_Online(This,value)
4768#define IUpdateSearcher_GetTotalHistoryCount(This,retval) (This)->lpVtbl->GetTotalHistoryCount(This,retval)
4769#define IUpdateSearcher_get_ServiceID(This,retval) (This)->lpVtbl->get_ServiceID(This,retval)
4770#define IUpdateSearcher_put_ServiceID(This,value) (This)->lpVtbl->put_ServiceID(This,value)
4771#else
4772/*** IUnknown methods ***/
4773static inline HRESULT IUpdateSearcher_QueryInterface(IUpdateSearcher* This,REFIID riid,void **ppvObject) {
4774    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4775}
4776static inline ULONG IUpdateSearcher_AddRef(IUpdateSearcher* This) {
4777    return This->lpVtbl->AddRef(This);
4778}
4779static inline ULONG IUpdateSearcher_Release(IUpdateSearcher* This) {
4780    return This->lpVtbl->Release(This);
4781}
4782/*** IDispatch methods ***/
4783static inline HRESULT IUpdateSearcher_GetTypeInfoCount(IUpdateSearcher* This,UINT *pctinfo) {
4784    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4785}
4786static inline HRESULT IUpdateSearcher_GetTypeInfo(IUpdateSearcher* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4787    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4788}
4789static inline HRESULT IUpdateSearcher_GetIDsOfNames(IUpdateSearcher* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4790    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4791}
4792static inline HRESULT IUpdateSearcher_Invoke(IUpdateSearcher* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4793    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4794}
4795/*** IUpdateSearcher methods ***/
4796static inline HRESULT IUpdateSearcher_get_CanAutomaticallyUpgradeService(IUpdateSearcher* This,VARIANT_BOOL *retval) {
4797    return This->lpVtbl->get_CanAutomaticallyUpgradeService(This,retval);
4798}
4799static inline HRESULT IUpdateSearcher_put_CanAutomaticallyUpgradeService(IUpdateSearcher* This,VARIANT_BOOL value) {
4800    return This->lpVtbl->put_CanAutomaticallyUpgradeService(This,value);
4801}
4802static inline HRESULT IUpdateSearcher_get_ClientApplicationID(IUpdateSearcher* This,BSTR *retval) {
4803    return This->lpVtbl->get_ClientApplicationID(This,retval);
4804}
4805static inline HRESULT IUpdateSearcher_put_ClientApplicationID(IUpdateSearcher* This,BSTR value) {
4806    return This->lpVtbl->put_ClientApplicationID(This,value);
4807}
4808static inline HRESULT IUpdateSearcher_get_IncludePotentiallySupersededUpdates(IUpdateSearcher* This,VARIANT_BOOL *retval) {
4809    return This->lpVtbl->get_IncludePotentiallySupersededUpdates(This,retval);
4810}
4811static inline HRESULT IUpdateSearcher_put_IncludePotentiallySupersededUpdates(IUpdateSearcher* This,VARIANT_BOOL value) {
4812    return This->lpVtbl->put_IncludePotentiallySupersededUpdates(This,value);
4813}
4814static inline HRESULT IUpdateSearcher_get_ServerSelection(IUpdateSearcher* This,ServerSelection *retval) {
4815    return This->lpVtbl->get_ServerSelection(This,retval);
4816}
4817static inline HRESULT IUpdateSearcher_put_ServerSelection(IUpdateSearcher* This,ServerSelection value) {
4818    return This->lpVtbl->put_ServerSelection(This,value);
4819}
4820static inline HRESULT IUpdateSearcher_BeginSearch(IUpdateSearcher* This,BSTR criteria,IUnknown *onCompleted,VARIANT state,ISearchJob **retval) {
4821    return This->lpVtbl->BeginSearch(This,criteria,onCompleted,state,retval);
4822}
4823static inline HRESULT IUpdateSearcher_EndSearch(IUpdateSearcher* This,ISearchJob *searchJob,ISearchResult **retval) {
4824    return This->lpVtbl->EndSearch(This,searchJob,retval);
4825}
4826static inline HRESULT IUpdateSearcher_EscapeString(IUpdateSearcher* This,BSTR unescaped,BSTR *retval) {
4827    return This->lpVtbl->EscapeString(This,unescaped,retval);
4828}
4829static inline HRESULT IUpdateSearcher_QueryHistory(IUpdateSearcher* This,LONG startIndex,LONG count,IUpdateHistoryEntryCollection **retval) {
4830    return This->lpVtbl->QueryHistory(This,startIndex,count,retval);
4831}
4832static inline HRESULT IUpdateSearcher_Search(IUpdateSearcher* This,BSTR criteria,ISearchResult **retval) {
4833    return This->lpVtbl->Search(This,criteria,retval);
4834}
4835static inline HRESULT IUpdateSearcher_get_Online(IUpdateSearcher* This,VARIANT_BOOL *retval) {
4836    return This->lpVtbl->get_Online(This,retval);
4837}
4838static inline HRESULT IUpdateSearcher_put_Online(IUpdateSearcher* This,VARIANT_BOOL value) {
4839    return This->lpVtbl->put_Online(This,value);
4840}
4841static inline HRESULT IUpdateSearcher_GetTotalHistoryCount(IUpdateSearcher* This,LONG *retval) {
4842    return This->lpVtbl->GetTotalHistoryCount(This,retval);
4843}
4844static inline HRESULT IUpdateSearcher_get_ServiceID(IUpdateSearcher* This,BSTR *retval) {
4845    return This->lpVtbl->get_ServiceID(This,retval);
4846}
4847static inline HRESULT IUpdateSearcher_put_ServiceID(IUpdateSearcher* This,BSTR value) {
4848    return This->lpVtbl->put_ServiceID(This,value);
4849}
4850#endif
4851#endif
4852
4853#endif
4854
4855
4856#endif  /* __IUpdateSearcher_INTERFACE_DEFINED__ */
4857
4858/*****************************************************************************
4859 * IUpdateDownloadResult interface
4860 */
4861#ifndef __IUpdateDownloadResult_INTERFACE_DEFINED__
4862#define __IUpdateDownloadResult_INTERFACE_DEFINED__
4863
4864DEFINE_GUID(IID_IUpdateDownloadResult, 0xbf99af76, 0xb575, 0x42ad, 0x8a,0xa4, 0x33,0xcb,0xb5,0x47,0x7a,0xf1);
4865#if defined(__cplusplus) && !defined(CINTERFACE)
4866MIDL_INTERFACE("bf99af76-b575-42ad-8aa4-33cbb5477af1")
4867IUpdateDownloadResult : public IDispatch
4868{
4869    virtual HRESULT STDMETHODCALLTYPE get_HResult(
4870        LONG *retval) = 0;
4871
4872    virtual HRESULT STDMETHODCALLTYPE get_ResultCode(
4873        OperationResultCode *retval) = 0;
4874
4875};
4876#ifdef __CRT_UUID_DECL
4877__CRT_UUID_DECL(IUpdateDownloadResult, 0xbf99af76, 0xb575, 0x42ad, 0x8a,0xa4, 0x33,0xcb,0xb5,0x47,0x7a,0xf1)
4878#endif
4879#else
4880typedef struct IUpdateDownloadResultVtbl {
4881    BEGIN_INTERFACE
4882
4883    /*** IUnknown methods ***/
4884    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4885        IUpdateDownloadResult *This,
4886        REFIID riid,
4887        void **ppvObject);
4888
4889    ULONG (STDMETHODCALLTYPE *AddRef)(
4890        IUpdateDownloadResult *This);
4891
4892    ULONG (STDMETHODCALLTYPE *Release)(
4893        IUpdateDownloadResult *This);
4894
4895    /*** IDispatch methods ***/
4896    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4897        IUpdateDownloadResult *This,
4898        UINT *pctinfo);
4899
4900    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4901        IUpdateDownloadResult *This,
4902        UINT iTInfo,
4903        LCID lcid,
4904        ITypeInfo **ppTInfo);
4905
4906    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4907        IUpdateDownloadResult *This,
4908        REFIID riid,
4909        LPOLESTR *rgszNames,
4910        UINT cNames,
4911        LCID lcid,
4912        DISPID *rgDispId);
4913
4914    HRESULT (STDMETHODCALLTYPE *Invoke)(
4915        IUpdateDownloadResult *This,
4916        DISPID dispIdMember,
4917        REFIID riid,
4918        LCID lcid,
4919        WORD wFlags,
4920        DISPPARAMS *pDispParams,
4921        VARIANT *pVarResult,
4922        EXCEPINFO *pExcepInfo,
4923        UINT *puArgErr);
4924
4925    /*** IUpdateDownloadResult methods ***/
4926    HRESULT (STDMETHODCALLTYPE *get_HResult)(
4927        IUpdateDownloadResult *This,
4928        LONG *retval);
4929
4930    HRESULT (STDMETHODCALLTYPE *get_ResultCode)(
4931        IUpdateDownloadResult *This,
4932        OperationResultCode *retval);
4933
4934    END_INTERFACE
4935} IUpdateDownloadResultVtbl;
4936
4937interface IUpdateDownloadResult {
4938    CONST_VTBL IUpdateDownloadResultVtbl* lpVtbl;
4939};
4940
4941#ifdef COBJMACROS
4942#ifndef WIDL_C_INLINE_WRAPPERS
4943/*** IUnknown methods ***/
4944#define IUpdateDownloadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4945#define IUpdateDownloadResult_AddRef(This) (This)->lpVtbl->AddRef(This)
4946#define IUpdateDownloadResult_Release(This) (This)->lpVtbl->Release(This)
4947/*** IDispatch methods ***/
4948#define IUpdateDownloadResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4949#define IUpdateDownloadResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4950#define IUpdateDownloadResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4951#define IUpdateDownloadResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4952/*** IUpdateDownloadResult methods ***/
4953#define IUpdateDownloadResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval)
4954#define IUpdateDownloadResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval)
4955#else
4956/*** IUnknown methods ***/
4957static inline HRESULT IUpdateDownloadResult_QueryInterface(IUpdateDownloadResult* This,REFIID riid,void **ppvObject) {
4958    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4959}
4960static inline ULONG IUpdateDownloadResult_AddRef(IUpdateDownloadResult* This) {
4961    return This->lpVtbl->AddRef(This);
4962}
4963static inline ULONG IUpdateDownloadResult_Release(IUpdateDownloadResult* This) {
4964    return This->lpVtbl->Release(This);
4965}
4966/*** IDispatch methods ***/
4967static inline HRESULT IUpdateDownloadResult_GetTypeInfoCount(IUpdateDownloadResult* This,UINT *pctinfo) {
4968    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4969}
4970static inline HRESULT IUpdateDownloadResult_GetTypeInfo(IUpdateDownloadResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4971    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4972}
4973static inline HRESULT IUpdateDownloadResult_GetIDsOfNames(IUpdateDownloadResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4974    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4975}
4976static inline HRESULT IUpdateDownloadResult_Invoke(IUpdateDownloadResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4977    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4978}
4979/*** IUpdateDownloadResult methods ***/
4980static inline HRESULT IUpdateDownloadResult_get_HResult(IUpdateDownloadResult* This,LONG *retval) {
4981    return This->lpVtbl->get_HResult(This,retval);
4982}
4983static inline HRESULT IUpdateDownloadResult_get_ResultCode(IUpdateDownloadResult* This,OperationResultCode *retval) {
4984    return This->lpVtbl->get_ResultCode(This,retval);
4985}
4986#endif
4987#endif
4988
4989#endif
4990
4991
4992#endif  /* __IUpdateDownloadResult_INTERFACE_DEFINED__ */
4993
4994/*****************************************************************************
4995 * IDownloadProgress interface
4996 */
4997#ifndef __IDownloadProgress_INTERFACE_DEFINED__
4998#define __IDownloadProgress_INTERFACE_DEFINED__
4999
5000DEFINE_GUID(IID_IDownloadProgress, 0xd31a5bac, 0xf719, 0x4178, 0x9d,0xbb, 0x5e,0x2c,0xb4,0x7f,0xd1,0x8a);
5001#if defined(__cplusplus) && !defined(CINTERFACE)
5002MIDL_INTERFACE("d31a5bac-f719-4178-9dbb-5e2cb47fd18a")
5003IDownloadProgress : public IDispatch
5004{
5005    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateBytesDownloaded(
5006        DECIMAL *retval) = 0;
5007
5008    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateBytesToDownload(
5009        DECIMAL *retval) = 0;
5010
5011    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateIndex(
5012        LONG *retval) = 0;
5013
5014    virtual HRESULT STDMETHODCALLTYPE get_PercentComplete(
5015        LONG *retval) = 0;
5016
5017    virtual HRESULT STDMETHODCALLTYPE get_TotalBytesDownloaded(
5018        DECIMAL *retval) = 0;
5019
5020    virtual HRESULT STDMETHODCALLTYPE get_TotalBytesToDownload(
5021        DECIMAL *retval) = 0;
5022
5023    virtual HRESULT STDMETHODCALLTYPE GetUpdateResult(
5024        LONG updateIndex,
5025        IUpdateDownloadResult **retval) = 0;
5026
5027    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateDownloadPhase(
5028        DownloadPhase *retval) = 0;
5029
5030    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdatePercentComplete(
5031        LONG *retval) = 0;
5032
5033};
5034#ifdef __CRT_UUID_DECL
5035__CRT_UUID_DECL(IDownloadProgress, 0xd31a5bac, 0xf719, 0x4178, 0x9d,0xbb, 0x5e,0x2c,0xb4,0x7f,0xd1,0x8a)
5036#endif
5037#else
5038typedef struct IDownloadProgressVtbl {
5039    BEGIN_INTERFACE
5040
5041    /*** IUnknown methods ***/
5042    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5043        IDownloadProgress *This,
5044        REFIID riid,
5045        void **ppvObject);
5046
5047    ULONG (STDMETHODCALLTYPE *AddRef)(
5048        IDownloadProgress *This);
5049
5050    ULONG (STDMETHODCALLTYPE *Release)(
5051        IDownloadProgress *This);
5052
5053    /*** IDispatch methods ***/
5054    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5055        IDownloadProgress *This,
5056        UINT *pctinfo);
5057
5058    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5059        IDownloadProgress *This,
5060        UINT iTInfo,
5061        LCID lcid,
5062        ITypeInfo **ppTInfo);
5063
5064    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5065        IDownloadProgress *This,
5066        REFIID riid,
5067        LPOLESTR *rgszNames,
5068        UINT cNames,
5069        LCID lcid,
5070        DISPID *rgDispId);
5071
5072    HRESULT (STDMETHODCALLTYPE *Invoke)(
5073        IDownloadProgress *This,
5074        DISPID dispIdMember,
5075        REFIID riid,
5076        LCID lcid,
5077        WORD wFlags,
5078        DISPPARAMS *pDispParams,
5079        VARIANT *pVarResult,
5080        EXCEPINFO *pExcepInfo,
5081        UINT *puArgErr);
5082
5083    /*** IDownloadProgress methods ***/
5084    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateBytesDownloaded)(
5085        IDownloadProgress *This,
5086        DECIMAL *retval);
5087
5088    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateBytesToDownload)(
5089        IDownloadProgress *This,
5090        DECIMAL *retval);
5091
5092    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateIndex)(
5093        IDownloadProgress *This,
5094        LONG *retval);
5095
5096    HRESULT (STDMETHODCALLTYPE *get_PercentComplete)(
5097        IDownloadProgress *This,
5098        LONG *retval);
5099
5100    HRESULT (STDMETHODCALLTYPE *get_TotalBytesDownloaded)(
5101        IDownloadProgress *This,
5102        DECIMAL *retval);
5103
5104    HRESULT (STDMETHODCALLTYPE *get_TotalBytesToDownload)(
5105        IDownloadProgress *This,
5106        DECIMAL *retval);
5107
5108    HRESULT (STDMETHODCALLTYPE *GetUpdateResult)(
5109        IDownloadProgress *This,
5110        LONG updateIndex,
5111        IUpdateDownloadResult **retval);
5112
5113    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateDownloadPhase)(
5114        IDownloadProgress *This,
5115        DownloadPhase *retval);
5116
5117    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdatePercentComplete)(
5118        IDownloadProgress *This,
5119        LONG *retval);
5120
5121    END_INTERFACE
5122} IDownloadProgressVtbl;
5123
5124interface IDownloadProgress {
5125    CONST_VTBL IDownloadProgressVtbl* lpVtbl;
5126};
5127
5128#ifdef COBJMACROS
5129#ifndef WIDL_C_INLINE_WRAPPERS
5130/*** IUnknown methods ***/
5131#define IDownloadProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5132#define IDownloadProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
5133#define IDownloadProgress_Release(This) (This)->lpVtbl->Release(This)
5134/*** IDispatch methods ***/
5135#define IDownloadProgress_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5136#define IDownloadProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5137#define IDownloadProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5138#define IDownloadProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5139/*** IDownloadProgress methods ***/
5140#define IDownloadProgress_get_CurrentUpdateBytesDownloaded(This,retval) (This)->lpVtbl->get_CurrentUpdateBytesDownloaded(This,retval)
5141#define IDownloadProgress_get_CurrentUpdateBytesToDownload(This,retval) (This)->lpVtbl->get_CurrentUpdateBytesToDownload(This,retval)
5142#define IDownloadProgress_get_CurrentUpdateIndex(This,retval) (This)->lpVtbl->get_CurrentUpdateIndex(This,retval)
5143#define IDownloadProgress_get_PercentComplete(This,retval) (This)->lpVtbl->get_PercentComplete(This,retval)
5144#define IDownloadProgress_get_TotalBytesDownloaded(This,retval) (This)->lpVtbl->get_TotalBytesDownloaded(This,retval)
5145#define IDownloadProgress_get_TotalBytesToDownload(This,retval) (This)->lpVtbl->get_TotalBytesToDownload(This,retval)
5146#define IDownloadProgress_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval)
5147#define IDownloadProgress_get_CurrentUpdateDownloadPhase(This,retval) (This)->lpVtbl->get_CurrentUpdateDownloadPhase(This,retval)
5148#define IDownloadProgress_get_CurrentUpdatePercentComplete(This,retval) (This)->lpVtbl->get_CurrentUpdatePercentComplete(This,retval)
5149#else
5150/*** IUnknown methods ***/
5151static inline HRESULT IDownloadProgress_QueryInterface(IDownloadProgress* This,REFIID riid,void **ppvObject) {
5152    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5153}
5154static inline ULONG IDownloadProgress_AddRef(IDownloadProgress* This) {
5155    return This->lpVtbl->AddRef(This);
5156}
5157static inline ULONG IDownloadProgress_Release(IDownloadProgress* This) {
5158    return This->lpVtbl->Release(This);
5159}
5160/*** IDispatch methods ***/
5161static inline HRESULT IDownloadProgress_GetTypeInfoCount(IDownloadProgress* This,UINT *pctinfo) {
5162    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5163}
5164static inline HRESULT IDownloadProgress_GetTypeInfo(IDownloadProgress* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5165    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5166}
5167static inline HRESULT IDownloadProgress_GetIDsOfNames(IDownloadProgress* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5168    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5169}
5170static inline HRESULT IDownloadProgress_Invoke(IDownloadProgress* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5171    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5172}
5173/*** IDownloadProgress methods ***/
5174static inline HRESULT IDownloadProgress_get_CurrentUpdateBytesDownloaded(IDownloadProgress* This,DECIMAL *retval) {
5175    return This->lpVtbl->get_CurrentUpdateBytesDownloaded(This,retval);
5176}
5177static inline HRESULT IDownloadProgress_get_CurrentUpdateBytesToDownload(IDownloadProgress* This,DECIMAL *retval) {
5178    return This->lpVtbl->get_CurrentUpdateBytesToDownload(This,retval);
5179}
5180static inline HRESULT IDownloadProgress_get_CurrentUpdateIndex(IDownloadProgress* This,LONG *retval) {
5181    return This->lpVtbl->get_CurrentUpdateIndex(This,retval);
5182}
5183static inline HRESULT IDownloadProgress_get_PercentComplete(IDownloadProgress* This,LONG *retval) {
5184    return This->lpVtbl->get_PercentComplete(This,retval);
5185}
5186static inline HRESULT IDownloadProgress_get_TotalBytesDownloaded(IDownloadProgress* This,DECIMAL *retval) {
5187    return This->lpVtbl->get_TotalBytesDownloaded(This,retval);
5188}
5189static inline HRESULT IDownloadProgress_get_TotalBytesToDownload(IDownloadProgress* This,DECIMAL *retval) {
5190    return This->lpVtbl->get_TotalBytesToDownload(This,retval);
5191}
5192static inline HRESULT IDownloadProgress_GetUpdateResult(IDownloadProgress* This,LONG updateIndex,IUpdateDownloadResult **retval) {
5193    return This->lpVtbl->GetUpdateResult(This,updateIndex,retval);
5194}
5195static inline HRESULT IDownloadProgress_get_CurrentUpdateDownloadPhase(IDownloadProgress* This,DownloadPhase *retval) {
5196    return This->lpVtbl->get_CurrentUpdateDownloadPhase(This,retval);
5197}
5198static inline HRESULT IDownloadProgress_get_CurrentUpdatePercentComplete(IDownloadProgress* This,LONG *retval) {
5199    return This->lpVtbl->get_CurrentUpdatePercentComplete(This,retval);
5200}
5201#endif
5202#endif
5203
5204#endif
5205
5206
5207#endif  /* __IDownloadProgress_INTERFACE_DEFINED__ */
5208
5209/*****************************************************************************
5210 * IDownloadJob interface
5211 */
5212#ifndef __IDownloadJob_INTERFACE_DEFINED__
5213#define __IDownloadJob_INTERFACE_DEFINED__
5214
5215DEFINE_GUID(IID_IDownloadJob, 0xc574de85, 0x7358, 0x43f6, 0xaa,0xe8, 0x86,0x97,0xe6,0x2d,0x8b,0xa7);
5216#if defined(__cplusplus) && !defined(CINTERFACE)
5217MIDL_INTERFACE("c574de85-7358-43f6-aae8-8697e62d8ba7")
5218IDownloadJob : public IDispatch
5219{
5220    virtual HRESULT STDMETHODCALLTYPE get_AsyncState(
5221        VARIANT *retval) = 0;
5222
5223    virtual HRESULT STDMETHODCALLTYPE get_IsCompleted(
5224        VARIANT_BOOL *retval) = 0;
5225
5226    virtual HRESULT STDMETHODCALLTYPE get_Updates(
5227        IUpdateCollection **retval) = 0;
5228
5229    virtual HRESULT STDMETHODCALLTYPE CleanUp(
5230        ) = 0;
5231
5232    virtual HRESULT STDMETHODCALLTYPE GetProgress(
5233        IDownloadProgress **retval) = 0;
5234
5235    virtual HRESULT STDMETHODCALLTYPE RequestAbort(
5236        ) = 0;
5237
5238};
5239#ifdef __CRT_UUID_DECL
5240__CRT_UUID_DECL(IDownloadJob, 0xc574de85, 0x7358, 0x43f6, 0xaa,0xe8, 0x86,0x97,0xe6,0x2d,0x8b,0xa7)
5241#endif
5242#else
5243typedef struct IDownloadJobVtbl {
5244    BEGIN_INTERFACE
5245
5246    /*** IUnknown methods ***/
5247    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5248        IDownloadJob *This,
5249        REFIID riid,
5250        void **ppvObject);
5251
5252    ULONG (STDMETHODCALLTYPE *AddRef)(
5253        IDownloadJob *This);
5254
5255    ULONG (STDMETHODCALLTYPE *Release)(
5256        IDownloadJob *This);
5257
5258    /*** IDispatch methods ***/
5259    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5260        IDownloadJob *This,
5261        UINT *pctinfo);
5262
5263    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5264        IDownloadJob *This,
5265        UINT iTInfo,
5266        LCID lcid,
5267        ITypeInfo **ppTInfo);
5268
5269    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5270        IDownloadJob *This,
5271        REFIID riid,
5272        LPOLESTR *rgszNames,
5273        UINT cNames,
5274        LCID lcid,
5275        DISPID *rgDispId);
5276
5277    HRESULT (STDMETHODCALLTYPE *Invoke)(
5278        IDownloadJob *This,
5279        DISPID dispIdMember,
5280        REFIID riid,
5281        LCID lcid,
5282        WORD wFlags,
5283        DISPPARAMS *pDispParams,
5284        VARIANT *pVarResult,
5285        EXCEPINFO *pExcepInfo,
5286        UINT *puArgErr);
5287
5288    /*** IDownloadJob methods ***/
5289    HRESULT (STDMETHODCALLTYPE *get_AsyncState)(
5290        IDownloadJob *This,
5291        VARIANT *retval);
5292
5293    HRESULT (STDMETHODCALLTYPE *get_IsCompleted)(
5294        IDownloadJob *This,
5295        VARIANT_BOOL *retval);
5296
5297    HRESULT (STDMETHODCALLTYPE *get_Updates)(
5298        IDownloadJob *This,
5299        IUpdateCollection **retval);
5300
5301    HRESULT (STDMETHODCALLTYPE *CleanUp)(
5302        IDownloadJob *This);
5303
5304    HRESULT (STDMETHODCALLTYPE *GetProgress)(
5305        IDownloadJob *This,
5306        IDownloadProgress **retval);
5307
5308    HRESULT (STDMETHODCALLTYPE *RequestAbort)(
5309        IDownloadJob *This);
5310
5311    END_INTERFACE
5312} IDownloadJobVtbl;
5313
5314interface IDownloadJob {
5315    CONST_VTBL IDownloadJobVtbl* lpVtbl;
5316};
5317
5318#ifdef COBJMACROS
5319#ifndef WIDL_C_INLINE_WRAPPERS
5320/*** IUnknown methods ***/
5321#define IDownloadJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5322#define IDownloadJob_AddRef(This) (This)->lpVtbl->AddRef(This)
5323#define IDownloadJob_Release(This) (This)->lpVtbl->Release(This)
5324/*** IDispatch methods ***/
5325#define IDownloadJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5326#define IDownloadJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5327#define IDownloadJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5328#define IDownloadJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5329/*** IDownloadJob methods ***/
5330#define IDownloadJob_get_AsyncState(This,retval) (This)->lpVtbl->get_AsyncState(This,retval)
5331#define IDownloadJob_get_IsCompleted(This,retval) (This)->lpVtbl->get_IsCompleted(This,retval)
5332#define IDownloadJob_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval)
5333#define IDownloadJob_CleanUp(This) (This)->lpVtbl->CleanUp(This)
5334#define IDownloadJob_GetProgress(This,retval) (This)->lpVtbl->GetProgress(This,retval)
5335#define IDownloadJob_RequestAbort(This) (This)->lpVtbl->RequestAbort(This)
5336#else
5337/*** IUnknown methods ***/
5338static inline HRESULT IDownloadJob_QueryInterface(IDownloadJob* This,REFIID riid,void **ppvObject) {
5339    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5340}
5341static inline ULONG IDownloadJob_AddRef(IDownloadJob* This) {
5342    return This->lpVtbl->AddRef(This);
5343}
5344static inline ULONG IDownloadJob_Release(IDownloadJob* This) {
5345    return This->lpVtbl->Release(This);
5346}
5347/*** IDispatch methods ***/
5348static inline HRESULT IDownloadJob_GetTypeInfoCount(IDownloadJob* This,UINT *pctinfo) {
5349    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5350}
5351static inline HRESULT IDownloadJob_GetTypeInfo(IDownloadJob* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5352    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5353}
5354static inline HRESULT IDownloadJob_GetIDsOfNames(IDownloadJob* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5355    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5356}
5357static inline HRESULT IDownloadJob_Invoke(IDownloadJob* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5358    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5359}
5360/*** IDownloadJob methods ***/
5361static inline HRESULT IDownloadJob_get_AsyncState(IDownloadJob* This,VARIANT *retval) {
5362    return This->lpVtbl->get_AsyncState(This,retval);
5363}
5364static inline HRESULT IDownloadJob_get_IsCompleted(IDownloadJob* This,VARIANT_BOOL *retval) {
5365    return This->lpVtbl->get_IsCompleted(This,retval);
5366}
5367static inline HRESULT IDownloadJob_get_Updates(IDownloadJob* This,IUpdateCollection **retval) {
5368    return This->lpVtbl->get_Updates(This,retval);
5369}
5370static inline HRESULT IDownloadJob_CleanUp(IDownloadJob* This) {
5371    return This->lpVtbl->CleanUp(This);
5372}
5373static inline HRESULT IDownloadJob_GetProgress(IDownloadJob* This,IDownloadProgress **retval) {
5374    return This->lpVtbl->GetProgress(This,retval);
5375}
5376static inline HRESULT IDownloadJob_RequestAbort(IDownloadJob* This) {
5377    return This->lpVtbl->RequestAbort(This);
5378}
5379#endif
5380#endif
5381
5382#endif
5383
5384
5385#endif  /* __IDownloadJob_INTERFACE_DEFINED__ */
5386
5387/*****************************************************************************
5388 * IDownloadResult interface
5389 */
5390#ifndef __IDownloadResult_INTERFACE_DEFINED__
5391#define __IDownloadResult_INTERFACE_DEFINED__
5392
5393DEFINE_GUID(IID_IDownloadResult, 0xdaa4fdd0, 0x4727, 0x4dbe, 0xa1,0xe7, 0x74,0x5d,0xca,0x31,0x71,0x44);
5394#if defined(__cplusplus) && !defined(CINTERFACE)
5395MIDL_INTERFACE("daa4fdd0-4727-4dbe-a1e7-745dca317144")
5396IDownloadResult : public IDispatch
5397{
5398    virtual HRESULT STDMETHODCALLTYPE get_HResult(
5399        LONG *retval) = 0;
5400
5401    virtual HRESULT STDMETHODCALLTYPE get_ResultCode(
5402        OperationResultCode *retval) = 0;
5403
5404    virtual HRESULT STDMETHODCALLTYPE GetUpdateResult(
5405        LONG updateIndex,
5406        IUpdateDownloadResult **retval) = 0;
5407
5408};
5409#ifdef __CRT_UUID_DECL
5410__CRT_UUID_DECL(IDownloadResult, 0xdaa4fdd0, 0x4727, 0x4dbe, 0xa1,0xe7, 0x74,0x5d,0xca,0x31,0x71,0x44)
5411#endif
5412#else
5413typedef struct IDownloadResultVtbl {
5414    BEGIN_INTERFACE
5415
5416    /*** IUnknown methods ***/
5417    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5418        IDownloadResult *This,
5419        REFIID riid,
5420        void **ppvObject);
5421
5422    ULONG (STDMETHODCALLTYPE *AddRef)(
5423        IDownloadResult *This);
5424
5425    ULONG (STDMETHODCALLTYPE *Release)(
5426        IDownloadResult *This);
5427
5428    /*** IDispatch methods ***/
5429    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5430        IDownloadResult *This,
5431        UINT *pctinfo);
5432
5433    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5434        IDownloadResult *This,
5435        UINT iTInfo,
5436        LCID lcid,
5437        ITypeInfo **ppTInfo);
5438
5439    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5440        IDownloadResult *This,
5441        REFIID riid,
5442        LPOLESTR *rgszNames,
5443        UINT cNames,
5444        LCID lcid,
5445        DISPID *rgDispId);
5446
5447    HRESULT (STDMETHODCALLTYPE *Invoke)(
5448        IDownloadResult *This,
5449        DISPID dispIdMember,
5450        REFIID riid,
5451        LCID lcid,
5452        WORD wFlags,
5453        DISPPARAMS *pDispParams,
5454        VARIANT *pVarResult,
5455        EXCEPINFO *pExcepInfo,
5456        UINT *puArgErr);
5457
5458    /*** IDownloadResult methods ***/
5459    HRESULT (STDMETHODCALLTYPE *get_HResult)(
5460        IDownloadResult *This,
5461        LONG *retval);
5462
5463    HRESULT (STDMETHODCALLTYPE *get_ResultCode)(
5464        IDownloadResult *This,
5465        OperationResultCode *retval);
5466
5467    HRESULT (STDMETHODCALLTYPE *GetUpdateResult)(
5468        IDownloadResult *This,
5469        LONG updateIndex,
5470        IUpdateDownloadResult **retval);
5471
5472    END_INTERFACE
5473} IDownloadResultVtbl;
5474
5475interface IDownloadResult {
5476    CONST_VTBL IDownloadResultVtbl* lpVtbl;
5477};
5478
5479#ifdef COBJMACROS
5480#ifndef WIDL_C_INLINE_WRAPPERS
5481/*** IUnknown methods ***/
5482#define IDownloadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5483#define IDownloadResult_AddRef(This) (This)->lpVtbl->AddRef(This)
5484#define IDownloadResult_Release(This) (This)->lpVtbl->Release(This)
5485/*** IDispatch methods ***/
5486#define IDownloadResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5487#define IDownloadResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5488#define IDownloadResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5489#define IDownloadResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5490/*** IDownloadResult methods ***/
5491#define IDownloadResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval)
5492#define IDownloadResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval)
5493#define IDownloadResult_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval)
5494#else
5495/*** IUnknown methods ***/
5496static inline HRESULT IDownloadResult_QueryInterface(IDownloadResult* This,REFIID riid,void **ppvObject) {
5497    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5498}
5499static inline ULONG IDownloadResult_AddRef(IDownloadResult* This) {
5500    return This->lpVtbl->AddRef(This);
5501}
5502static inline ULONG IDownloadResult_Release(IDownloadResult* This) {
5503    return This->lpVtbl->Release(This);
5504}
5505/*** IDispatch methods ***/
5506static inline HRESULT IDownloadResult_GetTypeInfoCount(IDownloadResult* This,UINT *pctinfo) {
5507    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5508}
5509static inline HRESULT IDownloadResult_GetTypeInfo(IDownloadResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5510    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5511}
5512static inline HRESULT IDownloadResult_GetIDsOfNames(IDownloadResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5513    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5514}
5515static inline HRESULT IDownloadResult_Invoke(IDownloadResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5516    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5517}
5518/*** IDownloadResult methods ***/
5519static inline HRESULT IDownloadResult_get_HResult(IDownloadResult* This,LONG *retval) {
5520    return This->lpVtbl->get_HResult(This,retval);
5521}
5522static inline HRESULT IDownloadResult_get_ResultCode(IDownloadResult* This,OperationResultCode *retval) {
5523    return This->lpVtbl->get_ResultCode(This,retval);
5524}
5525static inline HRESULT IDownloadResult_GetUpdateResult(IDownloadResult* This,LONG updateIndex,IUpdateDownloadResult **retval) {
5526    return This->lpVtbl->GetUpdateResult(This,updateIndex,retval);
5527}
5528#endif
5529#endif
5530
5531#endif
5532
5533
5534#endif  /* __IDownloadResult_INTERFACE_DEFINED__ */
5535
5536/*****************************************************************************
5537 * IUpdateDownloader interface
5538 */
5539#ifndef __IUpdateDownloader_INTERFACE_DEFINED__
5540#define __IUpdateDownloader_INTERFACE_DEFINED__
5541
5542DEFINE_GUID(IID_IUpdateDownloader, 0x68f1c6f9, 0x7ecc, 0x4666, 0xa4,0x64, 0x24,0x7f,0xe1,0x24,0x96,0xc3);
5543#if defined(__cplusplus) && !defined(CINTERFACE)
5544MIDL_INTERFACE("68f1c6f9-7ecc-4666-a464-247fe12496c3")
5545IUpdateDownloader : public IDispatch
5546{
5547    virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID(
5548        BSTR *retval) = 0;
5549
5550    virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID(
5551        BSTR value) = 0;
5552
5553    virtual HRESULT STDMETHODCALLTYPE get_IsForced(
5554        VARIANT_BOOL *retval) = 0;
5555
5556    virtual HRESULT STDMETHODCALLTYPE put_IsForced(
5557        VARIANT_BOOL value) = 0;
5558
5559    virtual HRESULT STDMETHODCALLTYPE get_Priority(
5560        DownloadPriority *retval) = 0;
5561
5562    virtual HRESULT STDMETHODCALLTYPE put_Priority(
5563        DownloadPriority value) = 0;
5564
5565    virtual HRESULT STDMETHODCALLTYPE get_Updates(
5566        IUpdateCollection **retval) = 0;
5567
5568    virtual HRESULT STDMETHODCALLTYPE put_Updates(
5569        IUpdateCollection *value) = 0;
5570
5571    virtual HRESULT STDMETHODCALLTYPE BeginDownload(
5572        IUnknown *onProgressChanged,
5573        IUnknown *onCompleted,
5574        VARIANT state,
5575        IDownloadJob **retval) = 0;
5576
5577    virtual HRESULT STDMETHODCALLTYPE Download(
5578        IDownloadResult **retval) = 0;
5579
5580    virtual HRESULT STDMETHODCALLTYPE EndDownload(
5581        IDownloadJob *value,
5582        IDownloadResult **retval) = 0;
5583
5584};
5585#ifdef __CRT_UUID_DECL
5586__CRT_UUID_DECL(IUpdateDownloader, 0x68f1c6f9, 0x7ecc, 0x4666, 0xa4,0x64, 0x24,0x7f,0xe1,0x24,0x96,0xc3)
5587#endif
5588#else
5589typedef struct IUpdateDownloaderVtbl {
5590    BEGIN_INTERFACE
5591
5592    /*** IUnknown methods ***/
5593    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5594        IUpdateDownloader *This,
5595        REFIID riid,
5596        void **ppvObject);
5597
5598    ULONG (STDMETHODCALLTYPE *AddRef)(
5599        IUpdateDownloader *This);
5600
5601    ULONG (STDMETHODCALLTYPE *Release)(
5602        IUpdateDownloader *This);
5603
5604    /*** IDispatch methods ***/
5605    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5606        IUpdateDownloader *This,
5607        UINT *pctinfo);
5608
5609    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5610        IUpdateDownloader *This,
5611        UINT iTInfo,
5612        LCID lcid,
5613        ITypeInfo **ppTInfo);
5614
5615    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5616        IUpdateDownloader *This,
5617        REFIID riid,
5618        LPOLESTR *rgszNames,
5619        UINT cNames,
5620        LCID lcid,
5621        DISPID *rgDispId);
5622
5623    HRESULT (STDMETHODCALLTYPE *Invoke)(
5624        IUpdateDownloader *This,
5625        DISPID dispIdMember,
5626        REFIID riid,
5627        LCID lcid,
5628        WORD wFlags,
5629        DISPPARAMS *pDispParams,
5630        VARIANT *pVarResult,
5631        EXCEPINFO *pExcepInfo,
5632        UINT *puArgErr);
5633
5634    /*** IUpdateDownloader methods ***/
5635    HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)(
5636        IUpdateDownloader *This,
5637        BSTR *retval);
5638
5639    HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)(
5640        IUpdateDownloader *This,
5641        BSTR value);
5642
5643    HRESULT (STDMETHODCALLTYPE *get_IsForced)(
5644        IUpdateDownloader *This,
5645        VARIANT_BOOL *retval);
5646
5647    HRESULT (STDMETHODCALLTYPE *put_IsForced)(
5648        IUpdateDownloader *This,
5649        VARIANT_BOOL value);
5650
5651    HRESULT (STDMETHODCALLTYPE *get_Priority)(
5652        IUpdateDownloader *This,
5653        DownloadPriority *retval);
5654
5655    HRESULT (STDMETHODCALLTYPE *put_Priority)(
5656        IUpdateDownloader *This,
5657        DownloadPriority value);
5658
5659    HRESULT (STDMETHODCALLTYPE *get_Updates)(
5660        IUpdateDownloader *This,
5661        IUpdateCollection **retval);
5662
5663    HRESULT (STDMETHODCALLTYPE *put_Updates)(
5664        IUpdateDownloader *This,
5665        IUpdateCollection *value);
5666
5667    HRESULT (STDMETHODCALLTYPE *BeginDownload)(
5668        IUpdateDownloader *This,
5669        IUnknown *onProgressChanged,
5670        IUnknown *onCompleted,
5671        VARIANT state,
5672        IDownloadJob **retval);
5673
5674    HRESULT (STDMETHODCALLTYPE *Download)(
5675        IUpdateDownloader *This,
5676        IDownloadResult **retval);
5677
5678    HRESULT (STDMETHODCALLTYPE *EndDownload)(
5679        IUpdateDownloader *This,
5680        IDownloadJob *value,
5681        IDownloadResult **retval);
5682
5683    END_INTERFACE
5684} IUpdateDownloaderVtbl;
5685
5686interface IUpdateDownloader {
5687    CONST_VTBL IUpdateDownloaderVtbl* lpVtbl;
5688};
5689
5690#ifdef COBJMACROS
5691#ifndef WIDL_C_INLINE_WRAPPERS
5692/*** IUnknown methods ***/
5693#define IUpdateDownloader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5694#define IUpdateDownloader_AddRef(This) (This)->lpVtbl->AddRef(This)
5695#define IUpdateDownloader_Release(This) (This)->lpVtbl->Release(This)
5696/*** IDispatch methods ***/
5697#define IUpdateDownloader_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5698#define IUpdateDownloader_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5699#define IUpdateDownloader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5700#define IUpdateDownloader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5701/*** IUpdateDownloader methods ***/
5702#define IUpdateDownloader_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval)
5703#define IUpdateDownloader_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value)
5704#define IUpdateDownloader_get_IsForced(This,retval) (This)->lpVtbl->get_IsForced(This,retval)
5705#define IUpdateDownloader_put_IsForced(This,value) (This)->lpVtbl->put_IsForced(This,value)
5706#define IUpdateDownloader_get_Priority(This,retval) (This)->lpVtbl->get_Priority(This,retval)
5707#define IUpdateDownloader_put_Priority(This,value) (This)->lpVtbl->put_Priority(This,value)
5708#define IUpdateDownloader_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval)
5709#define IUpdateDownloader_put_Updates(This,value) (This)->lpVtbl->put_Updates(This,value)
5710#define IUpdateDownloader_BeginDownload(This,onProgressChanged,onCompleted,state,retval) (This)->lpVtbl->BeginDownload(This,onProgressChanged,onCompleted,state,retval)
5711#define IUpdateDownloader_Download(This,retval) (This)->lpVtbl->Download(This,retval)
5712#define IUpdateDownloader_EndDownload(This,value,retval) (This)->lpVtbl->EndDownload(This,value,retval)
5713#else
5714/*** IUnknown methods ***/
5715static inline HRESULT IUpdateDownloader_QueryInterface(IUpdateDownloader* This,REFIID riid,void **ppvObject) {
5716    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5717}
5718static inline ULONG IUpdateDownloader_AddRef(IUpdateDownloader* This) {
5719    return This->lpVtbl->AddRef(This);
5720}
5721static inline ULONG IUpdateDownloader_Release(IUpdateDownloader* This) {
5722    return This->lpVtbl->Release(This);
5723}
5724/*** IDispatch methods ***/
5725static inline HRESULT IUpdateDownloader_GetTypeInfoCount(IUpdateDownloader* This,UINT *pctinfo) {
5726    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5727}
5728static inline HRESULT IUpdateDownloader_GetTypeInfo(IUpdateDownloader* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5729    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5730}
5731static inline HRESULT IUpdateDownloader_GetIDsOfNames(IUpdateDownloader* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5732    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5733}
5734static inline HRESULT IUpdateDownloader_Invoke(IUpdateDownloader* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5735    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5736}
5737/*** IUpdateDownloader methods ***/
5738static inline HRESULT IUpdateDownloader_get_ClientApplicationID(IUpdateDownloader* This,BSTR *retval) {
5739    return This->lpVtbl->get_ClientApplicationID(This,retval);
5740}
5741static inline HRESULT IUpdateDownloader_put_ClientApplicationID(IUpdateDownloader* This,BSTR value) {
5742    return This->lpVtbl->put_ClientApplicationID(This,value);
5743}
5744static inline HRESULT IUpdateDownloader_get_IsForced(IUpdateDownloader* This,VARIANT_BOOL *retval) {
5745    return This->lpVtbl->get_IsForced(This,retval);
5746}
5747static inline HRESULT IUpdateDownloader_put_IsForced(IUpdateDownloader* This,VARIANT_BOOL value) {
5748    return This->lpVtbl->put_IsForced(This,value);
5749}
5750static inline HRESULT IUpdateDownloader_get_Priority(IUpdateDownloader* This,DownloadPriority *retval) {
5751    return This->lpVtbl->get_Priority(This,retval);
5752}
5753static inline HRESULT IUpdateDownloader_put_Priority(IUpdateDownloader* This,DownloadPriority value) {
5754    return This->lpVtbl->put_Priority(This,value);
5755}
5756static inline HRESULT IUpdateDownloader_get_Updates(IUpdateDownloader* This,IUpdateCollection **retval) {
5757    return This->lpVtbl->get_Updates(This,retval);
5758}
5759static inline HRESULT IUpdateDownloader_put_Updates(IUpdateDownloader* This,IUpdateCollection *value) {
5760    return This->lpVtbl->put_Updates(This,value);
5761}
5762static inline HRESULT IUpdateDownloader_BeginDownload(IUpdateDownloader* This,IUnknown *onProgressChanged,IUnknown *onCompleted,VARIANT state,IDownloadJob **retval) {
5763    return This->lpVtbl->BeginDownload(This,onProgressChanged,onCompleted,state,retval);
5764}
5765static inline HRESULT IUpdateDownloader_Download(IUpdateDownloader* This,IDownloadResult **retval) {
5766    return This->lpVtbl->Download(This,retval);
5767}
5768static inline HRESULT IUpdateDownloader_EndDownload(IUpdateDownloader* This,IDownloadJob *value,IDownloadResult **retval) {
5769    return This->lpVtbl->EndDownload(This,value,retval);
5770}
5771#endif
5772#endif
5773
5774#endif
5775
5776
5777#endif  /* __IUpdateDownloader_INTERFACE_DEFINED__ */
5778
5779/*****************************************************************************
5780 * IUpdateInstallationResult interface
5781 */
5782#ifndef __IUpdateInstallationResult_INTERFACE_DEFINED__
5783#define __IUpdateInstallationResult_INTERFACE_DEFINED__
5784
5785DEFINE_GUID(IID_IUpdateInstallationResult, 0xd940f0f8, 0x3cbb, 0x4fd0, 0x99,0x3f, 0x47,0x1e,0x7f,0x23,0x28,0xad);
5786#if defined(__cplusplus) && !defined(CINTERFACE)
5787MIDL_INTERFACE("d940f0f8-3cbb-4fd0-993f-471e7f2328ad")
5788IUpdateInstallationResult : public IDispatch
5789{
5790    virtual HRESULT STDMETHODCALLTYPE get_HResult(
5791        LONG *retval) = 0;
5792
5793    virtual HRESULT STDMETHODCALLTYPE get_RebootRequired(
5794        VARIANT_BOOL *retval) = 0;
5795
5796    virtual HRESULT STDMETHODCALLTYPE get_ResultCode(
5797        OperationResultCode *retval) = 0;
5798
5799};
5800#ifdef __CRT_UUID_DECL
5801__CRT_UUID_DECL(IUpdateInstallationResult, 0xd940f0f8, 0x3cbb, 0x4fd0, 0x99,0x3f, 0x47,0x1e,0x7f,0x23,0x28,0xad)
5802#endif
5803#else
5804typedef struct IUpdateInstallationResultVtbl {
5805    BEGIN_INTERFACE
5806
5807    /*** IUnknown methods ***/
5808    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5809        IUpdateInstallationResult *This,
5810        REFIID riid,
5811        void **ppvObject);
5812
5813    ULONG (STDMETHODCALLTYPE *AddRef)(
5814        IUpdateInstallationResult *This);
5815
5816    ULONG (STDMETHODCALLTYPE *Release)(
5817        IUpdateInstallationResult *This);
5818
5819    /*** IDispatch methods ***/
5820    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5821        IUpdateInstallationResult *This,
5822        UINT *pctinfo);
5823
5824    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5825        IUpdateInstallationResult *This,
5826        UINT iTInfo,
5827        LCID lcid,
5828        ITypeInfo **ppTInfo);
5829
5830    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5831        IUpdateInstallationResult *This,
5832        REFIID riid,
5833        LPOLESTR *rgszNames,
5834        UINT cNames,
5835        LCID lcid,
5836        DISPID *rgDispId);
5837
5838    HRESULT (STDMETHODCALLTYPE *Invoke)(
5839        IUpdateInstallationResult *This,
5840        DISPID dispIdMember,
5841        REFIID riid,
5842        LCID lcid,
5843        WORD wFlags,
5844        DISPPARAMS *pDispParams,
5845        VARIANT *pVarResult,
5846        EXCEPINFO *pExcepInfo,
5847        UINT *puArgErr);
5848
5849    /*** IUpdateInstallationResult methods ***/
5850    HRESULT (STDMETHODCALLTYPE *get_HResult)(
5851        IUpdateInstallationResult *This,
5852        LONG *retval);
5853
5854    HRESULT (STDMETHODCALLTYPE *get_RebootRequired)(
5855        IUpdateInstallationResult *This,
5856        VARIANT_BOOL *retval);
5857
5858    HRESULT (STDMETHODCALLTYPE *get_ResultCode)(
5859        IUpdateInstallationResult *This,
5860        OperationResultCode *retval);
5861
5862    END_INTERFACE
5863} IUpdateInstallationResultVtbl;
5864
5865interface IUpdateInstallationResult {
5866    CONST_VTBL IUpdateInstallationResultVtbl* lpVtbl;
5867};
5868
5869#ifdef COBJMACROS
5870#ifndef WIDL_C_INLINE_WRAPPERS
5871/*** IUnknown methods ***/
5872#define IUpdateInstallationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5873#define IUpdateInstallationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
5874#define IUpdateInstallationResult_Release(This) (This)->lpVtbl->Release(This)
5875/*** IDispatch methods ***/
5876#define IUpdateInstallationResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5877#define IUpdateInstallationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5878#define IUpdateInstallationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5879#define IUpdateInstallationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5880/*** IUpdateInstallationResult methods ***/
5881#define IUpdateInstallationResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval)
5882#define IUpdateInstallationResult_get_RebootRequired(This,retval) (This)->lpVtbl->get_RebootRequired(This,retval)
5883#define IUpdateInstallationResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval)
5884#else
5885/*** IUnknown methods ***/
5886static inline HRESULT IUpdateInstallationResult_QueryInterface(IUpdateInstallationResult* This,REFIID riid,void **ppvObject) {
5887    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5888}
5889static inline ULONG IUpdateInstallationResult_AddRef(IUpdateInstallationResult* This) {
5890    return This->lpVtbl->AddRef(This);
5891}
5892static inline ULONG IUpdateInstallationResult_Release(IUpdateInstallationResult* This) {
5893    return This->lpVtbl->Release(This);
5894}
5895/*** IDispatch methods ***/
5896static inline HRESULT IUpdateInstallationResult_GetTypeInfoCount(IUpdateInstallationResult* This,UINT *pctinfo) {
5897    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5898}
5899static inline HRESULT IUpdateInstallationResult_GetTypeInfo(IUpdateInstallationResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5900    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5901}
5902static inline HRESULT IUpdateInstallationResult_GetIDsOfNames(IUpdateInstallationResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5903    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5904}
5905static inline HRESULT IUpdateInstallationResult_Invoke(IUpdateInstallationResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5906    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5907}
5908/*** IUpdateInstallationResult methods ***/
5909static inline HRESULT IUpdateInstallationResult_get_HResult(IUpdateInstallationResult* This,LONG *retval) {
5910    return This->lpVtbl->get_HResult(This,retval);
5911}
5912static inline HRESULT IUpdateInstallationResult_get_RebootRequired(IUpdateInstallationResult* This,VARIANT_BOOL *retval) {
5913    return This->lpVtbl->get_RebootRequired(This,retval);
5914}
5915static inline HRESULT IUpdateInstallationResult_get_ResultCode(IUpdateInstallationResult* This,OperationResultCode *retval) {
5916    return This->lpVtbl->get_ResultCode(This,retval);
5917}
5918#endif
5919#endif
5920
5921#endif
5922
5923
5924#endif  /* __IUpdateInstallationResult_INTERFACE_DEFINED__ */
5925
5926/*****************************************************************************
5927 * IInstallationProgress interface
5928 */
5929#ifndef __IInstallationProgress_INTERFACE_DEFINED__
5930#define __IInstallationProgress_INTERFACE_DEFINED__
5931
5932DEFINE_GUID(IID_IInstallationProgress, 0x345c8244, 0x43a3, 0x4e32, 0xa3,0x68, 0x65,0xf0,0x73,0xb7,0x6f,0x36);
5933#if defined(__cplusplus) && !defined(CINTERFACE)
5934MIDL_INTERFACE("345c8244-43a3-4e32-a368-65f073b76f36")
5935IInstallationProgress : public IDispatch
5936{
5937    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateIndex(
5938        LONG *retval) = 0;
5939
5940    virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdatePercentComplete(
5941        LONG *retval) = 0;
5942
5943    virtual HRESULT STDMETHODCALLTYPE get_PercentComplete(
5944        LONG *retval) = 0;
5945
5946    virtual HRESULT STDMETHODCALLTYPE GetUpdateResult(
5947        LONG updateIndex,
5948        IUpdateInstallationResult **retval) = 0;
5949
5950};
5951#ifdef __CRT_UUID_DECL
5952__CRT_UUID_DECL(IInstallationProgress, 0x345c8244, 0x43a3, 0x4e32, 0xa3,0x68, 0x65,0xf0,0x73,0xb7,0x6f,0x36)
5953#endif
5954#else
5955typedef struct IInstallationProgressVtbl {
5956    BEGIN_INTERFACE
5957
5958    /*** IUnknown methods ***/
5959    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5960        IInstallationProgress *This,
5961        REFIID riid,
5962        void **ppvObject);
5963
5964    ULONG (STDMETHODCALLTYPE *AddRef)(
5965        IInstallationProgress *This);
5966
5967    ULONG (STDMETHODCALLTYPE *Release)(
5968        IInstallationProgress *This);
5969
5970    /*** IDispatch methods ***/
5971    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5972        IInstallationProgress *This,
5973        UINT *pctinfo);
5974
5975    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5976        IInstallationProgress *This,
5977        UINT iTInfo,
5978        LCID lcid,
5979        ITypeInfo **ppTInfo);
5980
5981    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5982        IInstallationProgress *This,
5983        REFIID riid,
5984        LPOLESTR *rgszNames,
5985        UINT cNames,
5986        LCID lcid,
5987        DISPID *rgDispId);
5988
5989    HRESULT (STDMETHODCALLTYPE *Invoke)(
5990        IInstallationProgress *This,
5991        DISPID dispIdMember,
5992        REFIID riid,
5993        LCID lcid,
5994        WORD wFlags,
5995        DISPPARAMS *pDispParams,
5996        VARIANT *pVarResult,
5997        EXCEPINFO *pExcepInfo,
5998        UINT *puArgErr);
5999
6000    /*** IInstallationProgress methods ***/
6001    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateIndex)(
6002        IInstallationProgress *This,
6003        LONG *retval);
6004
6005    HRESULT (STDMETHODCALLTYPE *get_CurrentUpdatePercentComplete)(
6006        IInstallationProgress *This,
6007        LONG *retval);
6008
6009    HRESULT (STDMETHODCALLTYPE *get_PercentComplete)(
6010        IInstallationProgress *This,
6011        LONG *retval);
6012
6013    HRESULT (STDMETHODCALLTYPE *GetUpdateResult)(
6014        IInstallationProgress *This,
6015        LONG updateIndex,
6016        IUpdateInstallationResult **retval);
6017
6018    END_INTERFACE
6019} IInstallationProgressVtbl;
6020
6021interface IInstallationProgress {
6022    CONST_VTBL IInstallationProgressVtbl* lpVtbl;
6023};
6024
6025#ifdef COBJMACROS
6026#ifndef WIDL_C_INLINE_WRAPPERS
6027/*** IUnknown methods ***/
6028#define IInstallationProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6029#define IInstallationProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
6030#define IInstallationProgress_Release(This) (This)->lpVtbl->Release(This)
6031/*** IDispatch methods ***/
6032#define IInstallationProgress_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6033#define IInstallationProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6034#define IInstallationProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6035#define IInstallationProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6036/*** IInstallationProgress methods ***/
6037#define IInstallationProgress_get_CurrentUpdateIndex(This,retval) (This)->lpVtbl->get_CurrentUpdateIndex(This,retval)
6038#define IInstallationProgress_get_CurrentUpdatePercentComplete(This,retval) (This)->lpVtbl->get_CurrentUpdatePercentComplete(This,retval)
6039#define IInstallationProgress_get_PercentComplete(This,retval) (This)->lpVtbl->get_PercentComplete(This,retval)
6040#define IInstallationProgress_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval)
6041#else
6042/*** IUnknown methods ***/
6043static inline HRESULT IInstallationProgress_QueryInterface(IInstallationProgress* This,REFIID riid,void **ppvObject) {
6044    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6045}
6046static inline ULONG IInstallationProgress_AddRef(IInstallationProgress* This) {
6047    return This->lpVtbl->AddRef(This);
6048}
6049static inline ULONG IInstallationProgress_Release(IInstallationProgress* This) {
6050    return This->lpVtbl->Release(This);
6051}
6052/*** IDispatch methods ***/
6053static inline HRESULT IInstallationProgress_GetTypeInfoCount(IInstallationProgress* This,UINT *pctinfo) {
6054    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6055}
6056static inline HRESULT IInstallationProgress_GetTypeInfo(IInstallationProgress* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6057    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6058}
6059static inline HRESULT IInstallationProgress_GetIDsOfNames(IInstallationProgress* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6060    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6061}
6062static inline HRESULT IInstallationProgress_Invoke(IInstallationProgress* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6063    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6064}
6065/*** IInstallationProgress methods ***/
6066static inline HRESULT IInstallationProgress_get_CurrentUpdateIndex(IInstallationProgress* This,LONG *retval) {
6067    return This->lpVtbl->get_CurrentUpdateIndex(This,retval);
6068}
6069static inline HRESULT IInstallationProgress_get_CurrentUpdatePercentComplete(IInstallationProgress* This,LONG *retval) {
6070    return This->lpVtbl->get_CurrentUpdatePercentComplete(This,retval);
6071}
6072static inline HRESULT IInstallationProgress_get_PercentComplete(IInstallationProgress* This,LONG *retval) {
6073    return This->lpVtbl->get_PercentComplete(This,retval);
6074}
6075static inline HRESULT IInstallationProgress_GetUpdateResult(IInstallationProgress* This,LONG updateIndex,IUpdateInstallationResult **retval) {
6076    return This->lpVtbl->GetUpdateResult(This,updateIndex,retval);
6077}
6078#endif
6079#endif
6080
6081#endif
6082
6083
6084#endif  /* __IInstallationProgress_INTERFACE_DEFINED__ */
6085
6086/*****************************************************************************
6087 * IInstallationJob interface
6088 */
6089#ifndef __IInstallationJob_INTERFACE_DEFINED__
6090#define __IInstallationJob_INTERFACE_DEFINED__
6091
6092DEFINE_GUID(IID_IInstallationJob, 0x5c209f0b, 0xbad5, 0x432a, 0x95,0x56, 0x46,0x99,0xbe,0xd2,0x63,0x8a);
6093#if defined(__cplusplus) && !defined(CINTERFACE)
6094MIDL_INTERFACE("5c209f0b-bad5-432a-9556-4699bed2638a")
6095IInstallationJob : public IDispatch
6096{
6097    virtual HRESULT STDMETHODCALLTYPE get_AsyncState(
6098        VARIANT *retval) = 0;
6099
6100    virtual HRESULT STDMETHODCALLTYPE get_IsCompleted(
6101        VARIANT_BOOL *retval) = 0;
6102
6103    virtual HRESULT STDMETHODCALLTYPE get_Updates(
6104        IUpdateCollection **retval) = 0;
6105
6106    virtual HRESULT STDMETHODCALLTYPE CleanUp(
6107        ) = 0;
6108
6109    virtual HRESULT STDMETHODCALLTYPE GetProgress(
6110        IInstallationProgress **retval) = 0;
6111
6112    virtual HRESULT STDMETHODCALLTYPE RequestAbort(
6113        ) = 0;
6114
6115};
6116#ifdef __CRT_UUID_DECL
6117__CRT_UUID_DECL(IInstallationJob, 0x5c209f0b, 0xbad5, 0x432a, 0x95,0x56, 0x46,0x99,0xbe,0xd2,0x63,0x8a)
6118#endif
6119#else
6120typedef struct IInstallationJobVtbl {
6121    BEGIN_INTERFACE
6122
6123    /*** IUnknown methods ***/
6124    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6125        IInstallationJob *This,
6126        REFIID riid,
6127        void **ppvObject);
6128
6129    ULONG (STDMETHODCALLTYPE *AddRef)(
6130        IInstallationJob *This);
6131
6132    ULONG (STDMETHODCALLTYPE *Release)(
6133        IInstallationJob *This);
6134
6135    /*** IDispatch methods ***/
6136    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6137        IInstallationJob *This,
6138        UINT *pctinfo);
6139
6140    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6141        IInstallationJob *This,
6142        UINT iTInfo,
6143        LCID lcid,
6144        ITypeInfo **ppTInfo);
6145
6146    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6147        IInstallationJob *This,
6148        REFIID riid,
6149        LPOLESTR *rgszNames,
6150        UINT cNames,
6151        LCID lcid,
6152        DISPID *rgDispId);
6153
6154    HRESULT (STDMETHODCALLTYPE *Invoke)(
6155        IInstallationJob *This,
6156        DISPID dispIdMember,
6157        REFIID riid,
6158        LCID lcid,
6159        WORD wFlags,
6160        DISPPARAMS *pDispParams,
6161        VARIANT *pVarResult,
6162        EXCEPINFO *pExcepInfo,
6163        UINT *puArgErr);
6164
6165    /*** IInstallationJob methods ***/
6166    HRESULT (STDMETHODCALLTYPE *get_AsyncState)(
6167        IInstallationJob *This,
6168        VARIANT *retval);
6169
6170    HRESULT (STDMETHODCALLTYPE *get_IsCompleted)(
6171        IInstallationJob *This,
6172        VARIANT_BOOL *retval);
6173
6174    HRESULT (STDMETHODCALLTYPE *get_Updates)(
6175        IInstallationJob *This,
6176        IUpdateCollection **retval);
6177
6178    HRESULT (STDMETHODCALLTYPE *CleanUp)(
6179        IInstallationJob *This);
6180
6181    HRESULT (STDMETHODCALLTYPE *GetProgress)(
6182        IInstallationJob *This,
6183        IInstallationProgress **retval);
6184
6185    HRESULT (STDMETHODCALLTYPE *RequestAbort)(
6186        IInstallationJob *This);
6187
6188    END_INTERFACE
6189} IInstallationJobVtbl;
6190
6191interface IInstallationJob {
6192    CONST_VTBL IInstallationJobVtbl* lpVtbl;
6193};
6194
6195#ifdef COBJMACROS
6196#ifndef WIDL_C_INLINE_WRAPPERS
6197/*** IUnknown methods ***/
6198#define IInstallationJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6199#define IInstallationJob_AddRef(This) (This)->lpVtbl->AddRef(This)
6200#define IInstallationJob_Release(This) (This)->lpVtbl->Release(This)
6201/*** IDispatch methods ***/
6202#define IInstallationJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6203#define IInstallationJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6204#define IInstallationJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6205#define IInstallationJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6206/*** IInstallationJob methods ***/
6207#define IInstallationJob_get_AsyncState(This,retval) (This)->lpVtbl->get_AsyncState(This,retval)
6208#define IInstallationJob_get_IsCompleted(This,retval) (This)->lpVtbl->get_IsCompleted(This,retval)
6209#define IInstallationJob_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval)
6210#define IInstallationJob_CleanUp(This) (This)->lpVtbl->CleanUp(This)
6211#define IInstallationJob_GetProgress(This,retval) (This)->lpVtbl->GetProgress(This,retval)
6212#define IInstallationJob_RequestAbort(This) (This)->lpVtbl->RequestAbort(This)
6213#else
6214/*** IUnknown methods ***/
6215static inline HRESULT IInstallationJob_QueryInterface(IInstallationJob* This,REFIID riid,void **ppvObject) {
6216    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6217}
6218static inline ULONG IInstallationJob_AddRef(IInstallationJob* This) {
6219    return This->lpVtbl->AddRef(This);
6220}
6221static inline ULONG IInstallationJob_Release(IInstallationJob* This) {
6222    return This->lpVtbl->Release(This);
6223}
6224/*** IDispatch methods ***/
6225static inline HRESULT IInstallationJob_GetTypeInfoCount(IInstallationJob* This,UINT *pctinfo) {
6226    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6227}
6228static inline HRESULT IInstallationJob_GetTypeInfo(IInstallationJob* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6229    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6230}
6231static inline HRESULT IInstallationJob_GetIDsOfNames(IInstallationJob* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6232    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6233}
6234static inline HRESULT IInstallationJob_Invoke(IInstallationJob* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6235    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6236}
6237/*** IInstallationJob methods ***/
6238static inline HRESULT IInstallationJob_get_AsyncState(IInstallationJob* This,VARIANT *retval) {
6239    return This->lpVtbl->get_AsyncState(This,retval);
6240}
6241static inline HRESULT IInstallationJob_get_IsCompleted(IInstallationJob* This,VARIANT_BOOL *retval) {
6242    return This->lpVtbl->get_IsCompleted(This,retval);
6243}
6244static inline HRESULT IInstallationJob_get_Updates(IInstallationJob* This,IUpdateCollection **retval) {
6245    return This->lpVtbl->get_Updates(This,retval);
6246}
6247static inline HRESULT IInstallationJob_CleanUp(IInstallationJob* This) {
6248    return This->lpVtbl->CleanUp(This);
6249}
6250static inline HRESULT IInstallationJob_GetProgress(IInstallationJob* This,IInstallationProgress **retval) {
6251    return This->lpVtbl->GetProgress(This,retval);
6252}
6253static inline HRESULT IInstallationJob_RequestAbort(IInstallationJob* This) {
6254    return This->lpVtbl->RequestAbort(This);
6255}
6256#endif
6257#endif
6258
6259#endif
6260
6261
6262#endif  /* __IInstallationJob_INTERFACE_DEFINED__ */
6263
6264/*****************************************************************************
6265 * IInstallationResult interface
6266 */
6267#ifndef __IInstallationResult_INTERFACE_DEFINED__
6268#define __IInstallationResult_INTERFACE_DEFINED__
6269
6270DEFINE_GUID(IID_IInstallationResult, 0xa43c56d6, 0x7451, 0x48d4, 0xaf,0x96, 0xb6,0xcd,0x2d,0x0d,0x9b,0x7a);
6271#if defined(__cplusplus) && !defined(CINTERFACE)
6272MIDL_INTERFACE("a43c56d6-7451-48d4-af96-b6cd2d0d9b7a")
6273IInstallationResult : public IDispatch
6274{
6275    virtual HRESULT STDMETHODCALLTYPE get_HResult(
6276        LONG *retval) = 0;
6277
6278    virtual HRESULT STDMETHODCALLTYPE get_RebootRequired(
6279        VARIANT_BOOL *retval) = 0;
6280
6281    virtual HRESULT STDMETHODCALLTYPE get_ResultCode(
6282        OperationResultCode *retval) = 0;
6283
6284    virtual HRESULT STDMETHODCALLTYPE GetUpdateResult(
6285        LONG updateIndex,
6286        IUpdateInstallationResult **retval) = 0;
6287
6288};
6289#ifdef __CRT_UUID_DECL
6290__CRT_UUID_DECL(IInstallationResult, 0xa43c56d6, 0x7451, 0x48d4, 0xaf,0x96, 0xb6,0xcd,0x2d,0x0d,0x9b,0x7a)
6291#endif
6292#else
6293typedef struct IInstallationResultVtbl {
6294    BEGIN_INTERFACE
6295
6296    /*** IUnknown methods ***/
6297    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6298        IInstallationResult *This,
6299        REFIID riid,
6300        void **ppvObject);
6301
6302    ULONG (STDMETHODCALLTYPE *AddRef)(
6303        IInstallationResult *This);
6304
6305    ULONG (STDMETHODCALLTYPE *Release)(
6306        IInstallationResult *This);
6307
6308    /*** IDispatch methods ***/
6309    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6310        IInstallationResult *This,
6311        UINT *pctinfo);
6312
6313    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6314        IInstallationResult *This,
6315        UINT iTInfo,
6316        LCID lcid,
6317        ITypeInfo **ppTInfo);
6318
6319    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6320        IInstallationResult *This,
6321        REFIID riid,
6322        LPOLESTR *rgszNames,
6323        UINT cNames,
6324        LCID lcid,
6325        DISPID *rgDispId);
6326
6327    HRESULT (STDMETHODCALLTYPE *Invoke)(
6328        IInstallationResult *This,
6329        DISPID dispIdMember,
6330        REFIID riid,
6331        LCID lcid,
6332        WORD wFlags,
6333        DISPPARAMS *pDispParams,
6334        VARIANT *pVarResult,
6335        EXCEPINFO *pExcepInfo,
6336        UINT *puArgErr);
6337
6338    /*** IInstallationResult methods ***/
6339    HRESULT (STDMETHODCALLTYPE *get_HResult)(
6340        IInstallationResult *This,
6341        LONG *retval);
6342
6343    HRESULT (STDMETHODCALLTYPE *get_RebootRequired)(
6344        IInstallationResult *This,
6345        VARIANT_BOOL *retval);
6346
6347    HRESULT (STDMETHODCALLTYPE *get_ResultCode)(
6348        IInstallationResult *This,
6349        OperationResultCode *retval);
6350
6351    HRESULT (STDMETHODCALLTYPE *GetUpdateResult)(
6352        IInstallationResult *This,
6353        LONG updateIndex,
6354        IUpdateInstallationResult **retval);
6355
6356    END_INTERFACE
6357} IInstallationResultVtbl;
6358
6359interface IInstallationResult {
6360    CONST_VTBL IInstallationResultVtbl* lpVtbl;
6361};
6362
6363#ifdef COBJMACROS
6364#ifndef WIDL_C_INLINE_WRAPPERS
6365/*** IUnknown methods ***/
6366#define IInstallationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6367#define IInstallationResult_AddRef(This) (This)->lpVtbl->AddRef(This)
6368#define IInstallationResult_Release(This) (This)->lpVtbl->Release(This)
6369/*** IDispatch methods ***/
6370#define IInstallationResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6371#define IInstallationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6372#define IInstallationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6373#define IInstallationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6374/*** IInstallationResult methods ***/
6375#define IInstallationResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval)
6376#define IInstallationResult_get_RebootRequired(This,retval) (This)->lpVtbl->get_RebootRequired(This,retval)
6377#define IInstallationResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval)
6378#define IInstallationResult_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval)
6379#else
6380/*** IUnknown methods ***/
6381static inline HRESULT IInstallationResult_QueryInterface(IInstallationResult* This,REFIID riid,void **ppvObject) {
6382    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6383}
6384static inline ULONG IInstallationResult_AddRef(IInstallationResult* This) {
6385    return This->lpVtbl->AddRef(This);
6386}
6387static inline ULONG IInstallationResult_Release(IInstallationResult* This) {
6388    return This->lpVtbl->Release(This);
6389}
6390/*** IDispatch methods ***/
6391static inline HRESULT IInstallationResult_GetTypeInfoCount(IInstallationResult* This,UINT *pctinfo) {
6392    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6393}
6394static inline HRESULT IInstallationResult_GetTypeInfo(IInstallationResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6395    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6396}
6397static inline HRESULT IInstallationResult_GetIDsOfNames(IInstallationResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6398    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6399}
6400static inline HRESULT IInstallationResult_Invoke(IInstallationResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6401    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6402}
6403/*** IInstallationResult methods ***/
6404static inline HRESULT IInstallationResult_get_HResult(IInstallationResult* This,LONG *retval) {
6405    return This->lpVtbl->get_HResult(This,retval);
6406}
6407static inline HRESULT IInstallationResult_get_RebootRequired(IInstallationResult* This,VARIANT_BOOL *retval) {
6408    return This->lpVtbl->get_RebootRequired(This,retval);
6409}
6410static inline HRESULT IInstallationResult_get_ResultCode(IInstallationResult* This,OperationResultCode *retval) {
6411    return This->lpVtbl->get_ResultCode(This,retval);
6412}
6413static inline HRESULT IInstallationResult_GetUpdateResult(IInstallationResult* This,LONG updateIndex,IUpdateInstallationResult **retval) {
6414    return This->lpVtbl->GetUpdateResult(This,updateIndex,retval);
6415}
6416#endif
6417#endif
6418
6419#endif
6420
6421
6422#endif  /* __IInstallationResult_INTERFACE_DEFINED__ */
6423
6424/*****************************************************************************
6425 * IUpdateInstaller interface
6426 */
6427#ifndef __IUpdateInstaller_INTERFACE_DEFINED__
6428#define __IUpdateInstaller_INTERFACE_DEFINED__
6429
6430DEFINE_GUID(IID_IUpdateInstaller, 0x7b929c68, 0xccdc, 0x4226, 0x96,0xb1, 0x87,0x24,0x60,0x0b,0x54,0xc2);
6431#if defined(__cplusplus) && !defined(CINTERFACE)
6432MIDL_INTERFACE("7b929c68-ccdc-4226-96b1-8724600b54c2")
6433IUpdateInstaller : public IDispatch
6434{
6435    virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID(
6436        BSTR *retval) = 0;
6437
6438    virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID(
6439        BSTR value) = 0;
6440
6441    virtual HRESULT STDMETHODCALLTYPE get_IsForced(
6442        VARIANT_BOOL *retval) = 0;
6443
6444    virtual HRESULT STDMETHODCALLTYPE put_IsForced(
6445        VARIANT_BOOL value) = 0;
6446
6447    virtual HRESULT STDMETHODCALLTYPE get_ParentHwnd(
6448        HWND *retval) = 0;
6449
6450    virtual HRESULT STDMETHODCALLTYPE put_ParentHwnd(
6451        HWND value) = 0;
6452
6453    virtual HRESULT STDMETHODCALLTYPE put_ParentWindow(
6454        IUnknown *value) = 0;
6455
6456    virtual HRESULT STDMETHODCALLTYPE get_ParentWindow(
6457        IUnknown **retval) = 0;
6458
6459    virtual HRESULT STDMETHODCALLTYPE get_Updates(
6460        IUpdateCollection **retval) = 0;
6461
6462    virtual HRESULT STDMETHODCALLTYPE put_Updates(
6463        IUpdateCollection *value) = 0;
6464
6465    virtual HRESULT STDMETHODCALLTYPE BeginInstall(
6466        IUnknown *onProgressChanged,
6467        IUnknown *onCompleted,
6468        VARIANT state,
6469        IInstallationJob **retval) = 0;
6470
6471    virtual HRESULT STDMETHODCALLTYPE BeginUninstall(
6472        IUnknown *onProgressChanged,
6473        IUnknown *onCompleted,
6474        VARIANT state,
6475        IInstallationJob **retval) = 0;
6476
6477    virtual HRESULT STDMETHODCALLTYPE EndInstall(
6478        IInstallationJob *value,
6479        IInstallationResult **retval) = 0;
6480
6481    virtual HRESULT STDMETHODCALLTYPE EndUninstall(
6482        IInstallationJob *value,
6483        IInstallationResult **retval) = 0;
6484
6485    virtual HRESULT STDMETHODCALLTYPE Install(
6486        IInstallationResult **retval) = 0;
6487
6488    virtual HRESULT STDMETHODCALLTYPE RunWizard(
6489        BSTR dialogTitle,
6490        IInstallationResult **retval) = 0;
6491
6492    virtual HRESULT STDMETHODCALLTYPE get_IsBusy(
6493        VARIANT_BOOL *retval) = 0;
6494
6495    virtual HRESULT STDMETHODCALLTYPE Uninstall(
6496        IInstallationResult **retval) = 0;
6497
6498    virtual HRESULT STDMETHODCALLTYPE get_AllowSourcePrompts(
6499        VARIANT_BOOL *retval) = 0;
6500
6501    virtual HRESULT STDMETHODCALLTYPE put_AllowSourcePrompts(
6502        VARIANT_BOOL value) = 0;
6503
6504    virtual HRESULT STDMETHODCALLTYPE get_RebootRequiredBeforeInstallation(
6505        VARIANT_BOOL *retval) = 0;
6506
6507};
6508#ifdef __CRT_UUID_DECL
6509__CRT_UUID_DECL(IUpdateInstaller, 0x7b929c68, 0xccdc, 0x4226, 0x96,0xb1, 0x87,0x24,0x60,0x0b,0x54,0xc2)
6510#endif
6511#else
6512typedef struct IUpdateInstallerVtbl {
6513    BEGIN_INTERFACE
6514
6515    /*** IUnknown methods ***/
6516    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6517        IUpdateInstaller *This,
6518        REFIID riid,
6519        void **ppvObject);
6520
6521    ULONG (STDMETHODCALLTYPE *AddRef)(
6522        IUpdateInstaller *This);
6523
6524    ULONG (STDMETHODCALLTYPE *Release)(
6525        IUpdateInstaller *This);
6526
6527    /*** IDispatch methods ***/
6528    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6529        IUpdateInstaller *This,
6530        UINT *pctinfo);
6531
6532    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6533        IUpdateInstaller *This,
6534        UINT iTInfo,
6535        LCID lcid,
6536        ITypeInfo **ppTInfo);
6537
6538    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6539        IUpdateInstaller *This,
6540        REFIID riid,
6541        LPOLESTR *rgszNames,
6542        UINT cNames,
6543        LCID lcid,
6544        DISPID *rgDispId);
6545
6546    HRESULT (STDMETHODCALLTYPE *Invoke)(
6547        IUpdateInstaller *This,
6548        DISPID dispIdMember,
6549        REFIID riid,
6550        LCID lcid,
6551        WORD wFlags,
6552        DISPPARAMS *pDispParams,
6553        VARIANT *pVarResult,
6554        EXCEPINFO *pExcepInfo,
6555        UINT *puArgErr);
6556
6557    /*** IUpdateInstaller methods ***/
6558    HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)(
6559        IUpdateInstaller *This,
6560        BSTR *retval);
6561
6562    HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)(
6563        IUpdateInstaller *This,
6564        BSTR value);
6565
6566    HRESULT (STDMETHODCALLTYPE *get_IsForced)(
6567        IUpdateInstaller *This,
6568        VARIANT_BOOL *retval);
6569
6570    HRESULT (STDMETHODCALLTYPE *put_IsForced)(
6571        IUpdateInstaller *This,
6572        VARIANT_BOOL value);
6573
6574    HRESULT (STDMETHODCALLTYPE *get_ParentHwnd)(
6575        IUpdateInstaller *This,
6576        HWND *retval);
6577
6578    HRESULT (STDMETHODCALLTYPE *put_ParentHwnd)(
6579        IUpdateInstaller *This,
6580        HWND value);
6581
6582    HRESULT (STDMETHODCALLTYPE *put_ParentWindow)(
6583        IUpdateInstaller *This,
6584        IUnknown *value);
6585
6586    HRESULT (STDMETHODCALLTYPE *get_ParentWindow)(
6587        IUpdateInstaller *This,
6588        IUnknown **retval);
6589
6590    HRESULT (STDMETHODCALLTYPE *get_Updates)(
6591        IUpdateInstaller *This,
6592        IUpdateCollection **retval);
6593
6594    HRESULT (STDMETHODCALLTYPE *put_Updates)(
6595        IUpdateInstaller *This,
6596        IUpdateCollection *value);
6597
6598    HRESULT (STDMETHODCALLTYPE *BeginInstall)(
6599        IUpdateInstaller *This,
6600        IUnknown *onProgressChanged,
6601        IUnknown *onCompleted,
6602        VARIANT state,
6603        IInstallationJob **retval);
6604
6605    HRESULT (STDMETHODCALLTYPE *BeginUninstall)(
6606        IUpdateInstaller *This,
6607        IUnknown *onProgressChanged,
6608        IUnknown *onCompleted,
6609        VARIANT state,
6610        IInstallationJob **retval);
6611
6612    HRESULT (STDMETHODCALLTYPE *EndInstall)(
6613        IUpdateInstaller *This,
6614        IInstallationJob *value,
6615        IInstallationResult **retval);
6616
6617    HRESULT (STDMETHODCALLTYPE *EndUninstall)(
6618        IUpdateInstaller *This,
6619        IInstallationJob *value,
6620        IInstallationResult **retval);
6621
6622    HRESULT (STDMETHODCALLTYPE *Install)(
6623        IUpdateInstaller *This,
6624        IInstallationResult **retval);
6625
6626    HRESULT (STDMETHODCALLTYPE *RunWizard)(
6627        IUpdateInstaller *This,
6628        BSTR dialogTitle,
6629        IInstallationResult **retval);
6630
6631    HRESULT (STDMETHODCALLTYPE *get_IsBusy)(
6632        IUpdateInstaller *This,
6633        VARIANT_BOOL *retval);
6634
6635    HRESULT (STDMETHODCALLTYPE *Uninstall)(
6636        IUpdateInstaller *This,
6637        IInstallationResult **retval);
6638
6639    HRESULT (STDMETHODCALLTYPE *get_AllowSourcePrompts)(
6640        IUpdateInstaller *This,
6641        VARIANT_BOOL *retval);
6642
6643    HRESULT (STDMETHODCALLTYPE *put_AllowSourcePrompts)(
6644        IUpdateInstaller *This,
6645        VARIANT_BOOL value);
6646
6647    HRESULT (STDMETHODCALLTYPE *get_RebootRequiredBeforeInstallation)(
6648        IUpdateInstaller *This,
6649        VARIANT_BOOL *retval);
6650
6651    END_INTERFACE
6652} IUpdateInstallerVtbl;
6653
6654interface IUpdateInstaller {
6655    CONST_VTBL IUpdateInstallerVtbl* lpVtbl;
6656};
6657
6658#ifdef COBJMACROS
6659#ifndef WIDL_C_INLINE_WRAPPERS
6660/*** IUnknown methods ***/
6661#define IUpdateInstaller_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6662#define IUpdateInstaller_AddRef(This) (This)->lpVtbl->AddRef(This)
6663#define IUpdateInstaller_Release(This) (This)->lpVtbl->Release(This)
6664/*** IDispatch methods ***/
6665#define IUpdateInstaller_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6666#define IUpdateInstaller_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6667#define IUpdateInstaller_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6668#define IUpdateInstaller_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6669/*** IUpdateInstaller methods ***/
6670#define IUpdateInstaller_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval)
6671#define IUpdateInstaller_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value)
6672#define IUpdateInstaller_get_IsForced(This,retval) (This)->lpVtbl->get_IsForced(This,retval)
6673#define IUpdateInstaller_put_IsForced(This,value) (This)->lpVtbl->put_IsForced(This,value)
6674#define IUpdateInstaller_get_ParentHwnd(This,retval) (This)->lpVtbl->get_ParentHwnd(This,retval)
6675#define IUpdateInstaller_put_ParentHwnd(This,value) (This)->lpVtbl->put_ParentHwnd(This,value)
6676#define IUpdateInstaller_put_ParentWindow(This,value) (This)->lpVtbl->put_ParentWindow(This,value)
6677#define IUpdateInstaller_get_ParentWindow(This,retval) (This)->lpVtbl->get_ParentWindow(This,retval)
6678#define IUpdateInstaller_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval)
6679#define IUpdateInstaller_put_Updates(This,value) (This)->lpVtbl->put_Updates(This,value)
6680#define IUpdateInstaller_BeginInstall(This,onProgressChanged,onCompleted,state,retval) (This)->lpVtbl->BeginInstall(This,onProgressChanged,onCompleted,state,retval)
6681#define IUpdateInstaller_BeginUninstall(This,onProgressChanged,onCompleted,state,retval) (This)->lpVtbl->BeginUninstall(This,onProgressChanged,onCompleted,state,retval)
6682#define IUpdateInstaller_EndInstall(This,value,retval) (This)->lpVtbl->EndInstall(This,value,retval)
6683#define IUpdateInstaller_EndUninstall(This,value,retval) (This)->lpVtbl->EndUninstall(This,value,retval)
6684#define IUpdateInstaller_Install(This,retval) (This)->lpVtbl->Install(This,retval)
6685#define IUpdateInstaller_RunWizard(This,dialogTitle,retval) (This)->lpVtbl->RunWizard(This,dialogTitle,retval)
6686#define IUpdateInstaller_get_IsBusy(This,retval) (This)->lpVtbl->get_IsBusy(This,retval)
6687#define IUpdateInstaller_Uninstall(This,retval) (This)->lpVtbl->Uninstall(This,retval)
6688#define IUpdateInstaller_get_AllowSourcePrompts(This,retval) (This)->lpVtbl->get_AllowSourcePrompts(This,retval)
6689#define IUpdateInstaller_put_AllowSourcePrompts(This,value) (This)->lpVtbl->put_AllowSourcePrompts(This,value)
6690#define IUpdateInstaller_get_RebootRequiredBeforeInstallation(This,retval) (This)->lpVtbl->get_RebootRequiredBeforeInstallation(This,retval)
6691#else
6692/*** IUnknown methods ***/
6693static inline HRESULT IUpdateInstaller_QueryInterface(IUpdateInstaller* This,REFIID riid,void **ppvObject) {
6694    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6695}
6696static inline ULONG IUpdateInstaller_AddRef(IUpdateInstaller* This) {
6697    return This->lpVtbl->AddRef(This);
6698}
6699static inline ULONG IUpdateInstaller_Release(IUpdateInstaller* This) {
6700    return This->lpVtbl->Release(This);
6701}
6702/*** IDispatch methods ***/
6703static inline HRESULT IUpdateInstaller_GetTypeInfoCount(IUpdateInstaller* This,UINT *pctinfo) {
6704    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6705}
6706static inline HRESULT IUpdateInstaller_GetTypeInfo(IUpdateInstaller* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6707    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6708}
6709static inline HRESULT IUpdateInstaller_GetIDsOfNames(IUpdateInstaller* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6710    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6711}
6712static inline HRESULT IUpdateInstaller_Invoke(IUpdateInstaller* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6713    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6714}
6715/*** IUpdateInstaller methods ***/
6716static inline HRESULT IUpdateInstaller_get_ClientApplicationID(IUpdateInstaller* This,BSTR *retval) {
6717    return This->lpVtbl->get_ClientApplicationID(This,retval);
6718}
6719static inline HRESULT IUpdateInstaller_put_ClientApplicationID(IUpdateInstaller* This,BSTR value) {
6720    return This->lpVtbl->put_ClientApplicationID(This,value);
6721}
6722static inline HRESULT IUpdateInstaller_get_IsForced(IUpdateInstaller* This,VARIANT_BOOL *retval) {
6723    return This->lpVtbl->get_IsForced(This,retval);
6724}
6725static inline HRESULT IUpdateInstaller_put_IsForced(IUpdateInstaller* This,VARIANT_BOOL value) {
6726    return This->lpVtbl->put_IsForced(This,value);
6727}
6728static inline HRESULT IUpdateInstaller_get_ParentHwnd(IUpdateInstaller* This,HWND *retval) {
6729    return This->lpVtbl->get_ParentHwnd(This,retval);
6730}
6731static inline HRESULT IUpdateInstaller_put_ParentHwnd(IUpdateInstaller* This,HWND value) {
6732    return This->lpVtbl->put_ParentHwnd(This,value);
6733}
6734static inline HRESULT IUpdateInstaller_put_ParentWindow(IUpdateInstaller* This,IUnknown *value) {
6735    return This->lpVtbl->put_ParentWindow(This,value);
6736}
6737static inline HRESULT IUpdateInstaller_get_ParentWindow(IUpdateInstaller* This,IUnknown **retval) {
6738    return This->lpVtbl->get_ParentWindow(This,retval);
6739}
6740static inline HRESULT IUpdateInstaller_get_Updates(IUpdateInstaller* This,IUpdateCollection **retval) {
6741    return This->lpVtbl->get_Updates(This,retval);
6742}
6743static inline HRESULT IUpdateInstaller_put_Updates(IUpdateInstaller* This,IUpdateCollection *value) {
6744    return This->lpVtbl->put_Updates(This,value);
6745}
6746static inline HRESULT IUpdateInstaller_BeginInstall(IUpdateInstaller* This,IUnknown *onProgressChanged,IUnknown *onCompleted,VARIANT state,IInstallationJob **retval) {
6747    return This->lpVtbl->BeginInstall(This,onProgressChanged,onCompleted,state,retval);
6748}
6749static inline HRESULT IUpdateInstaller_BeginUninstall(IUpdateInstaller* This,IUnknown *onProgressChanged,IUnknown *onCompleted,VARIANT state,IInstallationJob **retval) {
6750    return This->lpVtbl->BeginUninstall(This,onProgressChanged,onCompleted,state,retval);
6751}
6752static inline HRESULT IUpdateInstaller_EndInstall(IUpdateInstaller* This,IInstallationJob *value,IInstallationResult **retval) {
6753    return This->lpVtbl->EndInstall(This,value,retval);
6754}
6755static inline HRESULT IUpdateInstaller_EndUninstall(IUpdateInstaller* This,IInstallationJob *value,IInstallationResult **retval) {
6756    return This->lpVtbl->EndUninstall(This,value,retval);
6757}
6758static inline HRESULT IUpdateInstaller_Install(IUpdateInstaller* This,IInstallationResult **retval) {
6759    return This->lpVtbl->Install(This,retval);
6760}
6761static inline HRESULT IUpdateInstaller_RunWizard(IUpdateInstaller* This,BSTR dialogTitle,IInstallationResult **retval) {
6762    return This->lpVtbl->RunWizard(This,dialogTitle,retval);
6763}
6764static inline HRESULT IUpdateInstaller_get_IsBusy(IUpdateInstaller* This,VARIANT_BOOL *retval) {
6765    return This->lpVtbl->get_IsBusy(This,retval);
6766}
6767static inline HRESULT IUpdateInstaller_Uninstall(IUpdateInstaller* This,IInstallationResult **retval) {
6768    return This->lpVtbl->Uninstall(This,retval);
6769}
6770static inline HRESULT IUpdateInstaller_get_AllowSourcePrompts(IUpdateInstaller* This,VARIANT_BOOL *retval) {
6771    return This->lpVtbl->get_AllowSourcePrompts(This,retval);
6772}
6773static inline HRESULT IUpdateInstaller_put_AllowSourcePrompts(IUpdateInstaller* This,VARIANT_BOOL value) {
6774    return This->lpVtbl->put_AllowSourcePrompts(This,value);
6775}
6776static inline HRESULT IUpdateInstaller_get_RebootRequiredBeforeInstallation(IUpdateInstaller* This,VARIANT_BOOL *retval) {
6777    return This->lpVtbl->get_RebootRequiredBeforeInstallation(This,retval);
6778}
6779#endif
6780#endif
6781
6782#endif
6783
6784
6785#endif  /* __IUpdateInstaller_INTERFACE_DEFINED__ */
6786
6787/*****************************************************************************
6788 * ISystemInformation interface
6789 */
6790#ifndef __ISystemInformation_INTERFACE_DEFINED__
6791#define __ISystemInformation_INTERFACE_DEFINED__
6792
6793DEFINE_GUID(IID_ISystemInformation, 0xade87bf7, 0x7b56, 0x4275, 0x8f,0xab, 0xb9,0xb0,0xe5,0x91,0x84,0x4b);
6794#if defined(__cplusplus) && !defined(CINTERFACE)
6795MIDL_INTERFACE("ade87bf7-7b56-4275-8fab-b9b0e591844b")
6796ISystemInformation : public IDispatch
6797{
6798    virtual HRESULT STDMETHODCALLTYPE get_OemHardwareSupportLink(
6799        BSTR *retval) = 0;
6800
6801    virtual HRESULT STDMETHODCALLTYPE get_RebootRequired(
6802        VARIANT_BOOL *retval) = 0;
6803
6804};
6805#ifdef __CRT_UUID_DECL
6806__CRT_UUID_DECL(ISystemInformation, 0xade87bf7, 0x7b56, 0x4275, 0x8f,0xab, 0xb9,0xb0,0xe5,0x91,0x84,0x4b)
6807#endif
6808#else
6809typedef struct ISystemInformationVtbl {
6810    BEGIN_INTERFACE
6811
6812    /*** IUnknown methods ***/
6813    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6814        ISystemInformation *This,
6815        REFIID riid,
6816        void **ppvObject);
6817
6818    ULONG (STDMETHODCALLTYPE *AddRef)(
6819        ISystemInformation *This);
6820
6821    ULONG (STDMETHODCALLTYPE *Release)(
6822        ISystemInformation *This);
6823
6824    /*** IDispatch methods ***/
6825    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6826        ISystemInformation *This,
6827        UINT *pctinfo);
6828
6829    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6830        ISystemInformation *This,
6831        UINT iTInfo,
6832        LCID lcid,
6833        ITypeInfo **ppTInfo);
6834
6835    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6836        ISystemInformation *This,
6837        REFIID riid,
6838        LPOLESTR *rgszNames,
6839        UINT cNames,
6840        LCID lcid,
6841        DISPID *rgDispId);
6842
6843    HRESULT (STDMETHODCALLTYPE *Invoke)(
6844        ISystemInformation *This,
6845        DISPID dispIdMember,
6846        REFIID riid,
6847        LCID lcid,
6848        WORD wFlags,
6849        DISPPARAMS *pDispParams,
6850        VARIANT *pVarResult,
6851        EXCEPINFO *pExcepInfo,
6852        UINT *puArgErr);
6853
6854    /*** ISystemInformation methods ***/
6855    HRESULT (STDMETHODCALLTYPE *get_OemHardwareSupportLink)(
6856        ISystemInformation *This,
6857        BSTR *retval);
6858
6859    HRESULT (STDMETHODCALLTYPE *get_RebootRequired)(
6860        ISystemInformation *This,
6861        VARIANT_BOOL *retval);
6862
6863    END_INTERFACE
6864} ISystemInformationVtbl;
6865
6866interface ISystemInformation {
6867    CONST_VTBL ISystemInformationVtbl* lpVtbl;
6868};
6869
6870#ifdef COBJMACROS
6871#ifndef WIDL_C_INLINE_WRAPPERS
6872/*** IUnknown methods ***/
6873#define ISystemInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6874#define ISystemInformation_AddRef(This) (This)->lpVtbl->AddRef(This)
6875#define ISystemInformation_Release(This) (This)->lpVtbl->Release(This)
6876/*** IDispatch methods ***/
6877#define ISystemInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6878#define ISystemInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6879#define ISystemInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6880#define ISystemInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6881/*** ISystemInformation methods ***/
6882#define ISystemInformation_get_OemHardwareSupportLink(This,retval) (This)->lpVtbl->get_OemHardwareSupportLink(This,retval)
6883#define ISystemInformation_get_RebootRequired(This,retval) (This)->lpVtbl->get_RebootRequired(This,retval)
6884#else
6885/*** IUnknown methods ***/
6886static inline HRESULT ISystemInformation_QueryInterface(ISystemInformation* This,REFIID riid,void **ppvObject) {
6887    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6888}
6889static inline ULONG ISystemInformation_AddRef(ISystemInformation* This) {
6890    return This->lpVtbl->AddRef(This);
6891}
6892static inline ULONG ISystemInformation_Release(ISystemInformation* This) {
6893    return This->lpVtbl->Release(This);
6894}
6895/*** IDispatch methods ***/
6896static inline HRESULT ISystemInformation_GetTypeInfoCount(ISystemInformation* This,UINT *pctinfo) {
6897    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6898}
6899static inline HRESULT ISystemInformation_GetTypeInfo(ISystemInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6900    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6901}
6902static inline HRESULT ISystemInformation_GetIDsOfNames(ISystemInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6903    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6904}
6905static inline HRESULT ISystemInformation_Invoke(ISystemInformation* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6906    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6907}
6908/*** ISystemInformation methods ***/
6909static inline HRESULT ISystemInformation_get_OemHardwareSupportLink(ISystemInformation* This,BSTR *retval) {
6910    return This->lpVtbl->get_OemHardwareSupportLink(This,retval);
6911}
6912static inline HRESULT ISystemInformation_get_RebootRequired(ISystemInformation* This,VARIANT_BOOL *retval) {
6913    return This->lpVtbl->get_RebootRequired(This,retval);
6914}
6915#endif
6916#endif
6917
6918#endif
6919
6920
6921#endif  /* __ISystemInformation_INTERFACE_DEFINED__ */
6922
6923/*****************************************************************************
6924 * IWindowsUpdateAgentInfo interface
6925 */
6926#ifndef __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__
6927#define __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__
6928
6929DEFINE_GUID(IID_IWindowsUpdateAgentInfo, 0x85713fa1, 0x7796, 0x4fa2, 0xbe,0x3b, 0xe2,0xd6,0x12,0x4d,0xd3,0x73);
6930#if defined(__cplusplus) && !defined(CINTERFACE)
6931MIDL_INTERFACE("85713fa1-7796-4fa2-be3b-e2d6124dd373")
6932IWindowsUpdateAgentInfo : public IDispatch
6933{
6934    virtual HRESULT STDMETHODCALLTYPE GetInfo(
6935        VARIANT varInfoIdentifier,
6936        VARIANT *retval) = 0;
6937
6938};
6939#ifdef __CRT_UUID_DECL
6940__CRT_UUID_DECL(IWindowsUpdateAgentInfo, 0x85713fa1, 0x7796, 0x4fa2, 0xbe,0x3b, 0xe2,0xd6,0x12,0x4d,0xd3,0x73)
6941#endif
6942#else
6943typedef struct IWindowsUpdateAgentInfoVtbl {
6944    BEGIN_INTERFACE
6945
6946    /*** IUnknown methods ***/
6947    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6948        IWindowsUpdateAgentInfo *This,
6949        REFIID riid,
6950        void **ppvObject);
6951
6952    ULONG (STDMETHODCALLTYPE *AddRef)(
6953        IWindowsUpdateAgentInfo *This);
6954
6955    ULONG (STDMETHODCALLTYPE *Release)(
6956        IWindowsUpdateAgentInfo *This);
6957
6958    /*** IDispatch methods ***/
6959    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6960        IWindowsUpdateAgentInfo *This,
6961        UINT *pctinfo);
6962
6963    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6964        IWindowsUpdateAgentInfo *This,
6965        UINT iTInfo,
6966        LCID lcid,
6967        ITypeInfo **ppTInfo);
6968
6969    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6970        IWindowsUpdateAgentInfo *This,
6971        REFIID riid,
6972        LPOLESTR *rgszNames,
6973        UINT cNames,
6974        LCID lcid,
6975        DISPID *rgDispId);
6976
6977    HRESULT (STDMETHODCALLTYPE *Invoke)(
6978        IWindowsUpdateAgentInfo *This,
6979        DISPID dispIdMember,
6980        REFIID riid,
6981        LCID lcid,
6982        WORD wFlags,
6983        DISPPARAMS *pDispParams,
6984        VARIANT *pVarResult,
6985        EXCEPINFO *pExcepInfo,
6986        UINT *puArgErr);
6987
6988    /*** IWindowsUpdateAgentInfo methods ***/
6989    HRESULT (STDMETHODCALLTYPE *GetInfo)(
6990        IWindowsUpdateAgentInfo *This,
6991        VARIANT varInfoIdentifier,
6992        VARIANT *retval);
6993
6994    END_INTERFACE
6995} IWindowsUpdateAgentInfoVtbl;
6996
6997interface IWindowsUpdateAgentInfo {
6998    CONST_VTBL IWindowsUpdateAgentInfoVtbl* lpVtbl;
6999};
7000
7001#ifdef COBJMACROS
7002#ifndef WIDL_C_INLINE_WRAPPERS
7003/*** IUnknown methods ***/
7004#define IWindowsUpdateAgentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7005#define IWindowsUpdateAgentInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
7006#define IWindowsUpdateAgentInfo_Release(This) (This)->lpVtbl->Release(This)
7007/*** IDispatch methods ***/
7008#define IWindowsUpdateAgentInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
7009#define IWindowsUpdateAgentInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
7010#define IWindowsUpdateAgentInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
7011#define IWindowsUpdateAgentInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
7012/*** IWindowsUpdateAgentInfo methods ***/
7013#define IWindowsUpdateAgentInfo_GetInfo(This,varInfoIdentifier,retval) (This)->lpVtbl->GetInfo(This,varInfoIdentifier,retval)
7014#else
7015/*** IUnknown methods ***/
7016static inline HRESULT IWindowsUpdateAgentInfo_QueryInterface(IWindowsUpdateAgentInfo* This,REFIID riid,void **ppvObject) {
7017    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7018}
7019static inline ULONG IWindowsUpdateAgentInfo_AddRef(IWindowsUpdateAgentInfo* This) {
7020    return This->lpVtbl->AddRef(This);
7021}
7022static inline ULONG IWindowsUpdateAgentInfo_Release(IWindowsUpdateAgentInfo* This) {
7023    return This->lpVtbl->Release(This);
7024}
7025/*** IDispatch methods ***/
7026static inline HRESULT IWindowsUpdateAgentInfo_GetTypeInfoCount(IWindowsUpdateAgentInfo* This,UINT *pctinfo) {
7027    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
7028}
7029static inline HRESULT IWindowsUpdateAgentInfo_GetTypeInfo(IWindowsUpdateAgentInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
7030    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
7031}
7032static inline HRESULT IWindowsUpdateAgentInfo_GetIDsOfNames(IWindowsUpdateAgentInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
7033    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
7034}
7035static inline HRESULT IWindowsUpdateAgentInfo_Invoke(IWindowsUpdateAgentInfo* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
7036    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
7037}
7038/*** IWindowsUpdateAgentInfo methods ***/
7039static inline HRESULT IWindowsUpdateAgentInfo_GetInfo(IWindowsUpdateAgentInfo* This,VARIANT varInfoIdentifier,VARIANT *retval) {
7040    return This->lpVtbl->GetInfo(This,varInfoIdentifier,retval);
7041}
7042#endif
7043#endif
7044
7045#endif
7046
7047
7048#endif  /* __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ */
7049
7050/*****************************************************************************
7051 * AutomaticUpdates coclass
7052 */
7053
7054DEFINE_GUID(CLSID_AutomaticUpdates, 0xbfe18e9c, 0x6d87, 0x4450, 0xb3,0x7c, 0xe0,0x2f,0x0b,0x37,0x38,0x03);
7055
7056#ifdef __cplusplus
7057class DECLSPEC_UUID("bfe18e9c-6d87-4450-b37c-e02f0b373803") AutomaticUpdates;
7058#ifdef __CRT_UUID_DECL
7059__CRT_UUID_DECL(AutomaticUpdates, 0xbfe18e9c, 0x6d87, 0x4450, 0xb3,0x7c, 0xe0,0x2f,0x0b,0x37,0x38,0x03)
7060#endif
7061#endif
7062
7063/*****************************************************************************
7064 * UpdateInstaller coclass
7065 */
7066
7067DEFINE_GUID(CLSID_UpdateInstaller, 0xd2e0fe7f, 0xd23e, 0x48e1, 0x93,0xc0, 0x6f,0xa8,0xcc,0x34,0x64,0x74);
7068
7069#ifdef __cplusplus
7070class DECLSPEC_UUID("d2e0fe7f-d23e-48e1-93c0-6fa8cc346474") UpdateInstaller;
7071#ifdef __CRT_UUID_DECL
7072__CRT_UUID_DECL(UpdateInstaller, 0xd2e0fe7f, 0xd23e, 0x48e1, 0x93,0xc0, 0x6f,0xa8,0xcc,0x34,0x64,0x74)
7073#endif
7074#endif
7075
7076/*****************************************************************************
7077 * UpdateSession coclass
7078 */
7079
7080DEFINE_GUID(CLSID_UpdateSession, 0x4cb43d7f, 0x7eee, 0x4906, 0x86,0x98, 0x60,0xda,0x1c,0x38,0xf2,0xfe);
7081
7082#ifdef __cplusplus
7083class DECLSPEC_UUID("4cb43d7f-7eee-4906-8698-60da1c38f2fe") UpdateSession;
7084#ifdef __CRT_UUID_DECL
7085__CRT_UUID_DECL(UpdateSession, 0x4cb43d7f, 0x7eee, 0x4906, 0x86,0x98, 0x60,0xda,0x1c,0x38,0xf2,0xfe)
7086#endif
7087#endif
7088
7089/*****************************************************************************
7090 * SystemInformation coclass
7091 */
7092
7093DEFINE_GUID(CLSID_SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0xa3,0x6f,0x46,0x91,0x33);
7094
7095#ifdef __cplusplus
7096class DECLSPEC_UUID("c01b9ba0-bea7-41ba-b604-d0a36f469133") SystemInformation;
7097#ifdef __CRT_UUID_DECL
7098__CRT_UUID_DECL(SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0xa3,0x6f,0x46,0x91,0x33)
7099#endif
7100#endif
7101
7102/*****************************************************************************
7103 * WindowsUpdateAgentInfo coclass
7104 */
7105
7106DEFINE_GUID(CLSID_WindowsUpdateAgentInfo, 0xc2e88c2f, 0x6f5b, 0x4aaa, 0x89,0x4b, 0x55,0xc8,0x47,0xad,0x3a,0x2d);
7107
7108#ifdef __cplusplus
7109class DECLSPEC_UUID("c2e88c2f-6f5b-4aaa-894b-55c847ad3a2d") WindowsUpdateAgentInfo;
7110#ifdef __CRT_UUID_DECL
7111__CRT_UUID_DECL(WindowsUpdateAgentInfo, 0xc2e88c2f, 0x6f5b, 0x4aaa, 0x89,0x4b, 0x55,0xc8,0x47,0xad,0x3a,0x2d)
7112#endif
7113#endif
7114
7115#endif /* __WUApiLib_LIBRARY_DEFINED__ */
7116/* Begin additional prototypes for all interfaces */
7117
7118ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
7119unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
7120unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
7121void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
7122ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
7123unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
7124unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
7125void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
7126ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
7127unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
7128unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
7129void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
7130
7131/* End additional prototypes */
7132
7133#ifdef __cplusplus
7134}
7135#endif
7136
7137#endif /* __wuapi_h__ */