1*c2c66affSColin Finck/* 2*c2c66affSColin Finck * Copyright 2008 Hans Leidekker for CodeWeavers 3*c2c66affSColin Finck * 4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or 5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 6*c2c66affSColin Finck * License as published by the Free Software Foundation; either 7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 8*c2c66affSColin Finck * 9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12*c2c66affSColin Finck * Lesser General Public License for more details. 13*c2c66affSColin Finck * 14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software 16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17*c2c66affSColin Finck */ 18*c2c66affSColin Finck 19*c2c66affSColin Finckimport "oaidl.idl"; 20*c2c66affSColin Finck 21*c2c66affSColin Finck#ifndef __WIDL__ 22*c2c66affSColin Finck#define threading(model) 23*c2c66affSColin Finck#define progid(str) 24*c2c66affSColin Finck#define vi_progid(str) 25*c2c66affSColin Finck#endif 26*c2c66affSColin Finck 27*c2c66affSColin Finck[ 28*c2c66affSColin Finck helpstring("WUAPI 2.0 Type Library"), 29*c2c66affSColin Finck uuid(b596cc9f-56e5-419e-a622-e01bb457431e), 30*c2c66affSColin Finck version(2.0) 31*c2c66affSColin Finck] 32*c2c66affSColin Fincklibrary WUApiLib { 33*c2c66affSColin Finck 34*c2c66affSColin Finckimportlib("stdole2.tlb"); 35*c2c66affSColin Finck 36*c2c66affSColin Finckinterface ICategoryCollection; 37*c2c66affSColin Finckinterface IStringCollection; 38*c2c66affSColin Finckinterface IUpdateCollection; 39*c2c66affSColin Finckinterface IUpdateDownloader; 40*c2c66affSColin Finckinterface IUpdateInstaller; 41*c2c66affSColin Finckinterface IUpdateSearcher; 42*c2c66affSColin Finck 43*c2c66affSColin Fincktypedef [public] enum tagDownloadPriority 44*c2c66affSColin Finck{ 45*c2c66affSColin Finck dpLow = 1, 46*c2c66affSColin Finck dpNormal = 2, 47*c2c66affSColin Finck dpHigh = 3, 48*c2c66affSColin Finck} DownloadPriority; 49*c2c66affSColin Finck 50*c2c66affSColin Fincktypedef [public] enum tagServerSelection 51*c2c66affSColin Finck{ 52*c2c66affSColin Finck ssDefault = 0, 53*c2c66affSColin Finck ssManagedServer = 1, 54*c2c66affSColin Finck ssWindowsUpdate = 2, 55*c2c66affSColin Finck ssOthers = 3, 56*c2c66affSColin Finck} ServerSelection; 57*c2c66affSColin Finck 58*c2c66affSColin Fincktypedef [public] enum tagAutomaticUpdatesNotificationLevel 59*c2c66affSColin Finck{ 60*c2c66affSColin Finck aunlNotConfigured, 61*c2c66affSColin Finck aunlDisabled, 62*c2c66affSColin Finck aunlNotifyBeforeDownload, 63*c2c66affSColin Finck aunlNotifyBeforeInstallation, 64*c2c66affSColin Finck aunlScheduledInstallation, 65*c2c66affSColin Finck} AutomaticUpdatesNotificationLevel; 66*c2c66affSColin Finck 67*c2c66affSColin Fincktypedef [public] enum tagAutomaticUpdatesScheduledInstallationDay 68*c2c66affSColin Finck{ 69*c2c66affSColin Finck ausidEveryDay, 70*c2c66affSColin Finck ausidEverySunday, 71*c2c66affSColin Finck ausidEveryMonday, 72*c2c66affSColin Finck ausidEveryTuesday, 73*c2c66affSColin Finck ausidEveryWednesday, 74*c2c66affSColin Finck ausidEveryThursday, 75*c2c66affSColin Finck ausidEveryFriday, 76*c2c66affSColin Finck ausidEverySaturday, 77*c2c66affSColin Finck} AutomaticUpdatesScheduledInstallationDay; 78*c2c66affSColin Finck 79*c2c66affSColin Fincktypedef [public] enum tagDownloadPhase 80*c2c66affSColin Finck{ 81*c2c66affSColin Finck dphInitializing, 82*c2c66affSColin Finck dphDownloading, 83*c2c66affSColin Finck dphVerifying, 84*c2c66affSColin Finck} DownloadPhase; 85*c2c66affSColin Finck 86*c2c66affSColin Fincktypedef [public] enum tagOperationResultCode 87*c2c66affSColin Finck{ 88*c2c66affSColin Finck orcNotStarted, 89*c2c66affSColin Finck orcInProgress, 90*c2c66affSColin Finck orcSucceeded, 91*c2c66affSColin Finck orcSucceededWithErrors, 92*c2c66affSColin Finck orcFailed, 93*c2c66affSColin Finck orcAborted, 94*c2c66affSColin Finck} OperationResultCode; 95*c2c66affSColin Finck 96*c2c66affSColin Fincktypedef [public] enum tagUpdateExceptionContext 97*c2c66affSColin Finck{ 98*c2c66affSColin Finck uecGeneral = 1, 99*c2c66affSColin Finck uecWindowsDriver, 100*c2c66affSColin Finck uecWindowsInstaller 101*c2c66affSColin Finck} UpdateExceptionContext; 102*c2c66affSColin Finck 103*c2c66affSColin Fincktypedef [public] enum tagInstallationImpact 104*c2c66affSColin Finck{ 105*c2c66affSColin Finck iiNormal, 106*c2c66affSColin Finck iiMinor, 107*c2c66affSColin Finck iiRequiresExclusiveHandling 108*c2c66affSColin Finck} InstallationImpact; 109*c2c66affSColin Finck 110*c2c66affSColin Fincktypedef [public] enum tagInstallationRebootBehavior 111*c2c66affSColin Finck{ 112*c2c66affSColin Finck irbNeverReboots, 113*c2c66affSColin Finck irbAlwaysRequiresReboot, 114*c2c66affSColin Finck irbCanRequestReboot 115*c2c66affSColin Finck} InstallationRebootBehavior; 116*c2c66affSColin Finck 117*c2c66affSColin Fincktypedef [public] enum tagUpdateType 118*c2c66affSColin Finck{ 119*c2c66affSColin Finck utSoftware = 1, 120*c2c66affSColin Finck utDriver 121*c2c66affSColin Finck} UpdateType; 122*c2c66affSColin Finck 123*c2c66affSColin Fincktypedef [public] enum tagUpdateOperation 124*c2c66affSColin Finck{ 125*c2c66affSColin Finck uoInstallation = 1, 126*c2c66affSColin Finck uoUninstallation 127*c2c66affSColin Finck} UpdateOperation; 128*c2c66affSColin Finck 129*c2c66affSColin Fincktypedef [public] enum tagDeploymentAction 130*c2c66affSColin Finck{ 131*c2c66affSColin Finck daNone, 132*c2c66affSColin Finck daInstallation, 133*c2c66affSColin Finck daUninstallation, 134*c2c66affSColin Finck daDetection 135*c2c66affSColin Finck} DeploymentAction; 136*c2c66affSColin Finck 137*c2c66affSColin Finck[ 138*c2c66affSColin Finck object, 139*c2c66affSColin Finck oleautomation, 140*c2c66affSColin Finck dual, 141*c2c66affSColin Finck nonextensible, 142*c2c66affSColin Finck uuid(2ee48f22-af3c-405f-8970-f71be12ee9a2), 143*c2c66affSColin Finck pointer_default(unique) 144*c2c66affSColin Finck] 145*c2c66affSColin Finckinterface IAutomaticUpdatesSettings : IDispatch 146*c2c66affSColin Finck{ 147*c2c66affSColin Finck [propget, id(0x60020001)] 148*c2c66affSColin Finck HRESULT NotificationLevel( [out, retval] AutomaticUpdatesNotificationLevel *retval ); 149*c2c66affSColin Finck 150*c2c66affSColin Finck [propput, id(0x60020001)] 151*c2c66affSColin Finck HRESULT NotificationLevel( [in] AutomaticUpdatesNotificationLevel value ); 152*c2c66affSColin Finck 153*c2c66affSColin Finck [propget, id(0x60020002)] 154*c2c66affSColin Finck HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval ); 155*c2c66affSColin Finck 156*c2c66affSColin Finck [propget, id(0x60020003)] 157*c2c66affSColin Finck HRESULT Required( [out, retval] VARIANT_BOOL *retval ); 158*c2c66affSColin Finck 159*c2c66affSColin Finck [propget, id(0x60020004)] 160*c2c66affSColin Finck HRESULT ScheduledInstallationDay( [out, retval] AutomaticUpdatesScheduledInstallationDay *retval ); 161*c2c66affSColin Finck 162*c2c66affSColin Finck [propput, id(0x60020004)] 163*c2c66affSColin Finck HRESULT ScheduledInstallationDay( [in] AutomaticUpdatesScheduledInstallationDay value ); 164*c2c66affSColin Finck 165*c2c66affSColin Finck [propget, id(0x60020005)] 166*c2c66affSColin Finck HRESULT ScheduledInstallationTime( [out, retval] LONG *retval ); 167*c2c66affSColin Finck 168*c2c66affSColin Finck [propput, id(0x60020005)] 169*c2c66affSColin Finck HRESULT ScheduledInstallationTime( [in] LONG value ); 170*c2c66affSColin Finck 171*c2c66affSColin Finck [id(0x60020006)] 172*c2c66affSColin Finck HRESULT Refresh(); 173*c2c66affSColin Finck 174*c2c66affSColin Finck [id(0x60020007)] 175*c2c66affSColin Finck HRESULT Save(); 176*c2c66affSColin Finck} 177*c2c66affSColin Finck 178*c2c66affSColin Finck[ 179*c2c66affSColin Finck object, 180*c2c66affSColin Finck uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce), 181*c2c66affSColin Finck oleautomation, 182*c2c66affSColin Finck dual, 183*c2c66affSColin Finck nonextensible, 184*c2c66affSColin Finck pointer_default(unique), 185*c2c66affSColin Finck hidden 186*c2c66affSColin Finck] 187*c2c66affSColin Finckinterface IAutomaticUpdates : IDispatch 188*c2c66affSColin Finck{ 189*c2c66affSColin Finck HRESULT DetectNow(); 190*c2c66affSColin Finck HRESULT Pause(); 191*c2c66affSColin Finck HRESULT Resume(); 192*c2c66affSColin Finck HRESULT ShowSettingsDialog(); 193*c2c66affSColin Finck 194*c2c66affSColin Finck [propget] 195*c2c66affSColin Finck HRESULT Settings( 196*c2c66affSColin Finck [out, retval] IAutomaticUpdatesSettings **retval); 197*c2c66affSColin Finck 198*c2c66affSColin Finck [propget] 199*c2c66affSColin Finck HRESULT ServiceEnabled( 200*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 201*c2c66affSColin Finck 202*c2c66affSColin Finck HRESULT EnableService(); 203*c2c66affSColin Finck} 204*c2c66affSColin Finck 205*c2c66affSColin Finck[ 206*c2c66affSColin Finck object, 207*c2c66affSColin Finck oleautomation, 208*c2c66affSColin Finck dual, 209*c2c66affSColin Finck nonextensible, 210*c2c66affSColin Finck uuid(174c81fe-aecd-4dae-b8a0-2c6318dd86a8), 211*c2c66affSColin Finck pointer_default(unique), 212*c2c66affSColin Finck] 213*c2c66affSColin Finckinterface IWebProxy : IDispatch 214*c2c66affSColin Finck{ 215*c2c66affSColin Finck [propget, id(0x60020001)] 216*c2c66affSColin Finck HRESULT Address( [out, retval] BSTR *retval ); 217*c2c66affSColin Finck 218*c2c66affSColin Finck [propput, id(0x60020001)] 219*c2c66affSColin Finck HRESULT Address( [in] BSTR value ); 220*c2c66affSColin Finck 221*c2c66affSColin Finck [propget, id(0x60020002)] 222*c2c66affSColin Finck HRESULT BypassList( [out, retval] IStringCollection **retval ); 223*c2c66affSColin Finck 224*c2c66affSColin Finck [propput, id(0x60020002)] 225*c2c66affSColin Finck HRESULT BypassList( [in] IStringCollection *value ); 226*c2c66affSColin Finck 227*c2c66affSColin Finck [propget, id(0x60020003)] 228*c2c66affSColin Finck HRESULT BypassProxyOnLocal( [out, retval] VARIANT_BOOL *retval ); 229*c2c66affSColin Finck 230*c2c66affSColin Finck [propput, id(0x60020003)] 231*c2c66affSColin Finck HRESULT BypassProxyOnLocal( [in] VARIANT_BOOL value ); 232*c2c66affSColin Finck 233*c2c66affSColin Finck [propget, id(0x60020004)] 234*c2c66affSColin Finck HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval ); 235*c2c66affSColin Finck 236*c2c66affSColin Finck [propget, id(0x60020005)] 237*c2c66affSColin Finck HRESULT UserName( [out, retval] BSTR *retval ); 238*c2c66affSColin Finck 239*c2c66affSColin Finck [propput, id(0x60020005)] 240*c2c66affSColin Finck HRESULT UserName( [in] BSTR value ); 241*c2c66affSColin Finck 242*c2c66affSColin Finck [id(0x60020006)] 243*c2c66affSColin Finck HRESULT SetPassword( [in] BSTR value ); 244*c2c66affSColin Finck 245*c2c66affSColin Finck [id(0x60020007)] 246*c2c66affSColin Finck HRESULT PromptForCredentials( [in, unique] IUnknown *parentWindow, 247*c2c66affSColin Finck [in] BSTR title ); 248*c2c66affSColin Finck 249*c2c66affSColin Finck [restricted, id(0x60020008)] 250*c2c66affSColin Finck HRESULT PromptForCredentialsFromHwnd( [in, unique] HWND parentWindow, 251*c2c66affSColin Finck [in] BSTR title ); 252*c2c66affSColin Finck 253*c2c66affSColin Finck [propget, id(0x60020009)] 254*c2c66affSColin Finck HRESULT AutoDetect( [out, retval] VARIANT_BOOL *retval ); 255*c2c66affSColin Finck 256*c2c66affSColin Finck [propput, id(0x60020009)] 257*c2c66affSColin Finck HRESULT AutoDetect( [in] VARIANT_BOOL value ); 258*c2c66affSColin Finck} 259*c2c66affSColin Finck 260*c2c66affSColin Finck[ 261*c2c66affSColin Finck object, 262*c2c66affSColin Finck uuid(816858a4-260d-4260-933a-2585f1abc76b), 263*c2c66affSColin Finck oleautomation, 264*c2c66affSColin Finck dual, 265*c2c66affSColin Finck nonextensible, 266*c2c66affSColin Finck pointer_default(unique), 267*c2c66affSColin Finck] 268*c2c66affSColin Finckinterface IUpdateSession : IDispatch 269*c2c66affSColin Finck{ 270*c2c66affSColin Finck [propget] 271*c2c66affSColin Finck HRESULT ClientApplicationID( 272*c2c66affSColin Finck [out, retval] BSTR *retval); 273*c2c66affSColin Finck 274*c2c66affSColin Finck [propput] 275*c2c66affSColin Finck HRESULT ClientApplicationID( 276*c2c66affSColin Finck [in] BSTR value); 277*c2c66affSColin Finck 278*c2c66affSColin Finck [propget] 279*c2c66affSColin Finck HRESULT ReadOnly( 280*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 281*c2c66affSColin Finck 282*c2c66affSColin Finck [propget] 283*c2c66affSColin Finck HRESULT WebProxy( 284*c2c66affSColin Finck [out, retval] IWebProxy **retval); 285*c2c66affSColin Finck 286*c2c66affSColin Finck [propput] 287*c2c66affSColin Finck HRESULT WebProxy( 288*c2c66affSColin Finck [in, unique] IWebProxy *value); 289*c2c66affSColin Finck 290*c2c66affSColin Finck HRESULT CreateUpdateSearcher( 291*c2c66affSColin Finck [out, retval] IUpdateSearcher **retval); 292*c2c66affSColin Finck 293*c2c66affSColin Finck HRESULT CreateUpdateDownloader( 294*c2c66affSColin Finck [out, retval] IUpdateDownloader **retval); 295*c2c66affSColin Finck 296*c2c66affSColin Finck HRESULT CreateUpdateInstaller( 297*c2c66affSColin Finck [out, retval] IUpdateInstaller **retval); 298*c2c66affSColin Finck} 299*c2c66affSColin Finck 300*c2c66affSColin Finck[ 301*c2c66affSColin Finck object, 302*c2c66affSColin Finck oleautomation, 303*c2c66affSColin Finck dual, 304*c2c66affSColin Finck nonextensible, 305*c2c66affSColin Finck uuid(7c907864-346c-4aeb-8f3f-57da289f969f), 306*c2c66affSColin Finck pointer_default(unique), 307*c2c66affSColin Finck] 308*c2c66affSColin Finckinterface IImageInformation : IDispatch 309*c2c66affSColin Finck{ 310*c2c66affSColin Finck [propget, id(0x60020001)] 311*c2c66affSColin Finck HRESULT AltText( [out, retval] BSTR *retval ); 312*c2c66affSColin Finck 313*c2c66affSColin Finck [propget, id(0x60020002)] 314*c2c66affSColin Finck HRESULT Height( [out, retval] LONG *retval ); 315*c2c66affSColin Finck 316*c2c66affSColin Finck [propget, id(0x60020003)] 317*c2c66affSColin Finck HRESULT Source( [out, retval] BSTR *retval ); 318*c2c66affSColin Finck 319*c2c66affSColin Finck [propget, id(0x60020004)] 320*c2c66affSColin Finck HRESULT Width( [out, retval] LONG *retval ); 321*c2c66affSColin Finck} 322*c2c66affSColin Finck 323*c2c66affSColin Finck[ 324*c2c66affSColin Finck object, 325*c2c66affSColin Finck oleautomation, 326*c2c66affSColin Finck dual, 327*c2c66affSColin Finck nonextensible, 328*c2c66affSColin Finck uuid(81ddc1b8-9d35-47a6-b471-5b80f519223b), 329*c2c66affSColin Finck pointer_default(unique), 330*c2c66affSColin Finck] 331*c2c66affSColin Finckinterface ICategory : IDispatch 332*c2c66affSColin Finck{ 333*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 334*c2c66affSColin Finck HRESULT Name( [out, retval] BSTR *retval ); 335*c2c66affSColin Finck 336*c2c66affSColin Finck [propget, id(0x60020001)] 337*c2c66affSColin Finck HRESULT CategoryID( [out, retval] BSTR *retval ); 338*c2c66affSColin Finck 339*c2c66affSColin Finck [propget, id(0x60020002)] 340*c2c66affSColin Finck HRESULT Children( [out, retval] ICategoryCollection **retval ); 341*c2c66affSColin Finck 342*c2c66affSColin Finck [propget, id(0x60020003)] 343*c2c66affSColin Finck HRESULT Description( [out, retval] BSTR *retval ); 344*c2c66affSColin Finck 345*c2c66affSColin Finck [propget, id(0x60020004)] 346*c2c66affSColin Finck HRESULT Image( [out, retval] IImageInformation **retval ); 347*c2c66affSColin Finck 348*c2c66affSColin Finck [propget, id(0x60020005)] 349*c2c66affSColin Finck HRESULT Order( [out, retval] LONG *retval ); 350*c2c66affSColin Finck 351*c2c66affSColin Finck [propget, id(0x60020006)] 352*c2c66affSColin Finck HRESULT Parent( [out, retval] ICategory **retval ); 353*c2c66affSColin Finck 354*c2c66affSColin Finck [propget, id(0x60020007)] 355*c2c66affSColin Finck HRESULT Type( [out, retval] BSTR *retval ); 356*c2c66affSColin Finck 357*c2c66affSColin Finck [propget, id(0x60020008)] 358*c2c66affSColin Finck HRESULT Updates( [out, retval] IUpdateCollection **retval ); 359*c2c66affSColin Finck} 360*c2c66affSColin Finck 361*c2c66affSColin Finck[ 362*c2c66affSColin Finck object, 363*c2c66affSColin Finck oleautomation, 364*c2c66affSColin Finck dual, 365*c2c66affSColin Finck nonextensible, 366*c2c66affSColin Finck uuid(3a56bfb8-576c-43f7-9335-fe4838fd7e37), 367*c2c66affSColin Finck pointer_default(unique), 368*c2c66affSColin Finck] 369*c2c66affSColin Finckinterface ICategoryCollection : IDispatch 370*c2c66affSColin Finck{ 371*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 372*c2c66affSColin Finck HRESULT Item( [in] LONG index, 373*c2c66affSColin Finck [out, retval] ICategory **retval ); 374*c2c66affSColin Finck 375*c2c66affSColin Finck [propget, id(DISPID_NEWENUM)] 376*c2c66affSColin Finck HRESULT _NewEnum( [out, retval] IUnknown **retval ); 377*c2c66affSColin Finck 378*c2c66affSColin Finck [propget, id(0x60020001)] 379*c2c66affSColin Finck HRESULT Count( [out, retval] LONG *retval ); 380*c2c66affSColin Finck} 381*c2c66affSColin Finck 382*c2c66affSColin Finck[ 383*c2c66affSColin Finck object, 384*c2c66affSColin Finck oleautomation, 385*c2c66affSColin Finck dual, 386*c2c66affSColin Finck nonextensible, 387*c2c66affSColin Finck uuid(eff90582-2ddc-480f-a06d-60f3fbc362c3), 388*c2c66affSColin Finck pointer_default(unique), 389*c2c66affSColin Finck hidden 390*c2c66affSColin Finck] 391*c2c66affSColin Finckinterface IStringCollection : IDispatch 392*c2c66affSColin Finck{ 393*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 394*c2c66affSColin Finck HRESULT Item( [in] LONG index, 395*c2c66affSColin Finck [out, retval] BSTR *retval ); 396*c2c66affSColin Finck 397*c2c66affSColin Finck [propput, id(DISPID_VALUE)] 398*c2c66affSColin Finck HRESULT Item( [in] LONG index, 399*c2c66affSColin Finck [in] BSTR value ); 400*c2c66affSColin Finck 401*c2c66affSColin Finck [propget, id(DISPID_NEWENUM)] 402*c2c66affSColin Finck HRESULT _NewEnum( [out, retval] IUnknown **retval ); 403*c2c66affSColin Finck 404*c2c66affSColin Finck [propget, id(0x60020001)] 405*c2c66affSColin Finck HRESULT Count( [out, retval] LONG *retval ); 406*c2c66affSColin Finck 407*c2c66affSColin Finck [propget, id(0x60020002)] 408*c2c66affSColin Finck HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval ); 409*c2c66affSColin Finck 410*c2c66affSColin Finck [id(0x60020003)] 411*c2c66affSColin Finck HRESULT Add( [in] BSTR value, 412*c2c66affSColin Finck [out, retval] LONG *retval ); 413*c2c66affSColin Finck 414*c2c66affSColin Finck [id(0x60020004)] 415*c2c66affSColin Finck HRESULT Clear(); 416*c2c66affSColin Finck 417*c2c66affSColin Finck [id(0x60020005)] 418*c2c66affSColin Finck HRESULT Copy( [out, retval] IStringCollection **retval ); 419*c2c66affSColin Finck 420*c2c66affSColin Finck [id(0x60020006)] 421*c2c66affSColin Finck HRESULT Insert( [in] LONG index, 422*c2c66affSColin Finck [in] BSTR value ); 423*c2c66affSColin Finck 424*c2c66affSColin Finck [id(0x60020007)] 425*c2c66affSColin Finck HRESULT RemoveAt( [in] LONG index ); 426*c2c66affSColin Finck} 427*c2c66affSColin Finck 428*c2c66affSColin Finck[ 429*c2c66affSColin Finck object, 430*c2c66affSColin Finck oleautomation, 431*c2c66affSColin Finck dual, 432*c2c66affSColin Finck nonextensible, 433*c2c66affSColin Finck uuid(a376dd5e-09d4-427f-af7c-fed5b6e1c1d6), 434*c2c66affSColin Finck pointer_default(unique), 435*c2c66affSColin Finck] 436*c2c66affSColin Finckinterface IUpdateException : IDispatch 437*c2c66affSColin Finck{ 438*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 439*c2c66affSColin Finck HRESULT Message( [out, retval] BSTR *retval ); 440*c2c66affSColin Finck 441*c2c66affSColin Finck [propget, id(0x60020001)] 442*c2c66affSColin Finck HRESULT HResult( [out, retval] LONG *retval ); 443*c2c66affSColin Finck 444*c2c66affSColin Finck [propget, id(0x60020002)] 445*c2c66affSColin Finck HRESULT Context( [out, retval] UpdateExceptionContext *retval ); 446*c2c66affSColin Finck} 447*c2c66affSColin Finck 448*c2c66affSColin Finck[ 449*c2c66affSColin Finck object, 450*c2c66affSColin Finck oleautomation, 451*c2c66affSColin Finck dual, 452*c2c66affSColin Finck nonextensible, 453*c2c66affSColin Finck uuid(503626a3-8e14-4729-9355-0fe664bd2321), 454*c2c66affSColin Finck pointer_default(unique), 455*c2c66affSColin Finck] 456*c2c66affSColin Finckinterface IUpdateExceptionCollection : IDispatch 457*c2c66affSColin Finck{ 458*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 459*c2c66affSColin Finck HRESULT Item( [in] LONG index, 460*c2c66affSColin Finck [out, retval] IUpdateException **retval ); 461*c2c66affSColin Finck 462*c2c66affSColin Finck [propget, id(DISPID_NEWENUM)] 463*c2c66affSColin Finck HRESULT _NewEnum( [out, retval] IUnknown **retval ); 464*c2c66affSColin Finck 465*c2c66affSColin Finck [propget, id(0x60020001)] 466*c2c66affSColin Finck HRESULT Count( [out, retval] LONG *retval ); 467*c2c66affSColin Finck} 468*c2c66affSColin Finck 469*c2c66affSColin Finck[ 470*c2c66affSColin Finck object, 471*c2c66affSColin Finck oleautomation, 472*c2c66affSColin Finck dual, 473*c2c66affSColin Finck nonextensible, 474*c2c66affSColin Finck uuid(46297823-9940-4c09-aed9-cd3ea6d05968), 475*c2c66affSColin Finck pointer_default(unique) 476*c2c66affSColin Finck] 477*c2c66affSColin Finckinterface IUpdateIdentity : IDispatch 478*c2c66affSColin Finck{ 479*c2c66affSColin Finck [propget, id(0x60020002)] 480*c2c66affSColin Finck HRESULT RevisionNumber( [out, retval] LONG *retval ); 481*c2c66affSColin Finck 482*c2c66affSColin Finck [propget, id(0x60020003)] 483*c2c66affSColin Finck HRESULT UpdateID( [out, retval] BSTR *retval ); 484*c2c66affSColin Finck} 485*c2c66affSColin Finck 486*c2c66affSColin Finck[ 487*c2c66affSColin Finck , 488*c2c66affSColin Finck object, 489*c2c66affSColin Finck oleautomation, 490*c2c66affSColin Finck dual, 491*c2c66affSColin Finck nonextensible, 492*c2c66affSColin Finck uuid(d9a59339-e245-4dbd-9686-4d5763e39624), 493*c2c66affSColin Finck pointer_default(unique), 494*c2c66affSColin Finck] 495*c2c66affSColin Finckinterface IInstallationBehavior : IDispatch 496*c2c66affSColin Finck{ 497*c2c66affSColin Finck [propget, id(0x60020001)] 498*c2c66affSColin Finck HRESULT CanRequestUserInput( [out, retval] VARIANT_BOOL *retval ); 499*c2c66affSColin Finck 500*c2c66affSColin Finck [propget, id(0x60020002)] 501*c2c66affSColin Finck HRESULT Impact( [out, retval] InstallationImpact *retval ); 502*c2c66affSColin Finck 503*c2c66affSColin Finck [propget, id(0x60020003)] 504*c2c66affSColin Finck HRESULT RebootBehavior( [out, retval] InstallationRebootBehavior *retval ); 505*c2c66affSColin Finck 506*c2c66affSColin Finck [propget, id(0x60020004)] 507*c2c66affSColin Finck HRESULT RequiresNetworkConnectivity( [out, retval] VARIANT_BOOL *retval ); 508*c2c66affSColin Finck} 509*c2c66affSColin Finck 510*c2c66affSColin Finck[ 511*c2c66affSColin Finck object, 512*c2c66affSColin Finck oleautomation, 513*c2c66affSColin Finck dual, 514*c2c66affSColin Finck nonextensible, 515*c2c66affSColin Finck uuid(54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02), 516*c2c66affSColin Finck pointer_default(unique), 517*c2c66affSColin Finck] 518*c2c66affSColin Finckinterface IUpdateDownloadContent : IDispatch 519*c2c66affSColin Finck{ 520*c2c66affSColin Finck [propget, id(0x60020001)] 521*c2c66affSColin Finck HRESULT DownloadUrl( [out, retval] BSTR *retval ); 522*c2c66affSColin Finck} 523*c2c66affSColin Finck 524*c2c66affSColin Finck[ 525*c2c66affSColin Finck object, 526*c2c66affSColin Finck oleautomation, 527*c2c66affSColin Finck dual, 528*c2c66affSColin Finck nonextensible, 529*c2c66affSColin Finck uuid(bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba), 530*c2c66affSColin Finck pointer_default(unique), 531*c2c66affSColin Finck] 532*c2c66affSColin Finckinterface IUpdateDownloadContentCollection : IDispatch 533*c2c66affSColin Finck{ 534*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 535*c2c66affSColin Finck HRESULT Item( [in] LONG index, 536*c2c66affSColin Finck [out, retval] IUpdateDownloadContent **retval ); 537*c2c66affSColin Finck 538*c2c66affSColin Finck [propget, id(DISPID_NEWENUM)] 539*c2c66affSColin Finck HRESULT _NewEnum( [out, retval] IUnknown **retval ); 540*c2c66affSColin Finck 541*c2c66affSColin Finck [propget, id(0x60020001)] 542*c2c66affSColin Finck HRESULT Count( [out, retval] LONG *retval ); 543*c2c66affSColin Finck} 544*c2c66affSColin Finck 545*c2c66affSColin Finck[ 546*c2c66affSColin Finck 547*c2c66affSColin Finck object, 548*c2c66affSColin Finck oleautomation, 549*c2c66affSColin Finck dual, 550*c2c66affSColin Finck nonextensible, 551*c2c66affSColin Finck uuid(6a92b07a-d821-4682-b423-5c805022cc4d), 552*c2c66affSColin Finck pointer_default(unique), 553*c2c66affSColin Finck] 554*c2c66affSColin Finckinterface IUpdate : IDispatch 555*c2c66affSColin Finck{ 556*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 557*c2c66affSColin Finck HRESULT Title( [out, retval] BSTR *retval ); 558*c2c66affSColin Finck 559*c2c66affSColin Finck [propget, id(0x60020001)] 560*c2c66affSColin Finck HRESULT AutoSelectOnWebSites( [out, retval] VARIANT_BOOL *retval ); 561*c2c66affSColin Finck 562*c2c66affSColin Finck [propget, id(0x60020002)] 563*c2c66affSColin Finck HRESULT BundledUpdates( [out, retval] IUpdateCollection **retval ); 564*c2c66affSColin Finck 565*c2c66affSColin Finck [propget, id(0x60020003)] 566*c2c66affSColin Finck HRESULT CanRequireSource( [out, retval] VARIANT_BOOL *retval ); 567*c2c66affSColin Finck 568*c2c66affSColin Finck [propget, id(0x60020004)] 569*c2c66affSColin Finck HRESULT Categories( [out, retval] ICategoryCollection **retval ); 570*c2c66affSColin Finck 571*c2c66affSColin Finck [propget, id(0x60020005)] 572*c2c66affSColin Finck HRESULT Deadline( [out, retval] VARIANT *retval ); 573*c2c66affSColin Finck 574*c2c66affSColin Finck [propget, id(0x60020006)] 575*c2c66affSColin Finck HRESULT DeltaCompressedContentAvailable( [out, retval] VARIANT_BOOL *retval ); 576*c2c66affSColin Finck 577*c2c66affSColin Finck [propget, id(0x60020007)] 578*c2c66affSColin Finck HRESULT DeltaCompressedContentPreferred( [out, retval] VARIANT_BOOL *retval ); 579*c2c66affSColin Finck 580*c2c66affSColin Finck [propget, id(0x60020008)] 581*c2c66affSColin Finck HRESULT Description( [out, retval] BSTR *retval ); 582*c2c66affSColin Finck 583*c2c66affSColin Finck [propget, id(0x60020009)] 584*c2c66affSColin Finck HRESULT EulaAccepted( [out, retval] VARIANT_BOOL *retval ); 585*c2c66affSColin Finck 586*c2c66affSColin Finck [propget, id(0x6002000a)] 587*c2c66affSColin Finck HRESULT EulaText( [out, retval] BSTR *retval ); 588*c2c66affSColin Finck 589*c2c66affSColin Finck [propget, id(0x6002000b)] 590*c2c66affSColin Finck HRESULT HandlerID( [out, retval] BSTR *retval ); 591*c2c66affSColin Finck 592*c2c66affSColin Finck [propget, id(0x6002000c)] 593*c2c66affSColin Finck HRESULT Identity( [out, retval] IUpdateIdentity **retval ); 594*c2c66affSColin Finck 595*c2c66affSColin Finck [propget, id(0x6002000d)] 596*c2c66affSColin Finck HRESULT Image( [out, retval] IImageInformation **retval ); 597*c2c66affSColin Finck 598*c2c66affSColin Finck [propget, id(0x6002000e)] 599*c2c66affSColin Finck HRESULT InstallationBehavior( [out, retval] IInstallationBehavior **retval ); 600*c2c66affSColin Finck 601*c2c66affSColin Finck [propget, id(0x6002000f)] 602*c2c66affSColin Finck HRESULT IsBeta( [out, retval] VARIANT_BOOL *retval ); 603*c2c66affSColin Finck 604*c2c66affSColin Finck [propget, id(0x60020010)] 605*c2c66affSColin Finck HRESULT IsDownloaded( [out, retval] VARIANT_BOOL *retval ); 606*c2c66affSColin Finck 607*c2c66affSColin Finck [propget, id(0x60020011)] 608*c2c66affSColin Finck HRESULT IsHidden( [out, retval] VARIANT_BOOL *retval ); 609*c2c66affSColin Finck 610*c2c66affSColin Finck [propput, id(0x60020011)] 611*c2c66affSColin Finck HRESULT IsHidden( [in] VARIANT_BOOL value ); 612*c2c66affSColin Finck 613*c2c66affSColin Finck [propget, id(0x60020012)] 614*c2c66affSColin Finck HRESULT IsInstalled( [out, retval] VARIANT_BOOL *retval ); 615*c2c66affSColin Finck 616*c2c66affSColin Finck [propget, id(0x60020013)] 617*c2c66affSColin Finck HRESULT IsMandatory( [out, retval] VARIANT_BOOL *retval ); 618*c2c66affSColin Finck 619*c2c66affSColin Finck [propget, id(0x60020014)] 620*c2c66affSColin Finck HRESULT IsUninstallable( [out, retval] VARIANT_BOOL *retval ); 621*c2c66affSColin Finck 622*c2c66affSColin Finck [propget, id(0x60020015)] 623*c2c66affSColin Finck HRESULT Languages( [out, retval] IStringCollection **retval ); 624*c2c66affSColin Finck 625*c2c66affSColin Finck [propget, id(0x60020016)] 626*c2c66affSColin Finck HRESULT LastDeploymentChangeTime( [out, retval] DATE *retval ); 627*c2c66affSColin Finck 628*c2c66affSColin Finck [propget, id(0x60020017)] 629*c2c66affSColin Finck HRESULT MaxDownloadSize( [out, retval] DECIMAL *retval ); 630*c2c66affSColin Finck 631*c2c66affSColin Finck [propget, id(0x60020018)] 632*c2c66affSColin Finck HRESULT MinDownloadSize( [out, retval] DECIMAL *retval ); 633*c2c66affSColin Finck 634*c2c66affSColin Finck [propget, id(0x60020019)] 635*c2c66affSColin Finck HRESULT MoreInfoUrls( [out, retval] IStringCollection **retval ); 636*c2c66affSColin Finck 637*c2c66affSColin Finck [propget, id(0x6002001a)] 638*c2c66affSColin Finck HRESULT MsrcSeverity( [out, retval] BSTR *retval ); 639*c2c66affSColin Finck 640*c2c66affSColin Finck [propget, id(0x6002001b)] 641*c2c66affSColin Finck HRESULT RecommendedCpuSpeed( [out, retval] LONG *retval ); 642*c2c66affSColin Finck 643*c2c66affSColin Finck [propget, id(0x6002001c)] 644*c2c66affSColin Finck HRESULT RecommendedHardDiskSpace( [out, retval] LONG *retval ); 645*c2c66affSColin Finck 646*c2c66affSColin Finck [propget, id(0x6002001d)] 647*c2c66affSColin Finck HRESULT RecommendedMemory( [out, retval] LONG *retval ); 648*c2c66affSColin Finck 649*c2c66affSColin Finck [propget, id(0x6002001e)] 650*c2c66affSColin Finck HRESULT ReleaseNotes( [out, retval] BSTR *retval ); 651*c2c66affSColin Finck 652*c2c66affSColin Finck [propget, id(0x6002001f)] 653*c2c66affSColin Finck HRESULT SecurityBulletinIDs( [out, retval] IStringCollection **retval ); 654*c2c66affSColin Finck 655*c2c66affSColin Finck [propget, id(0x60020021)] 656*c2c66affSColin Finck HRESULT SupersededUpdateIDs( [out, retval] IStringCollection **retval ); 657*c2c66affSColin Finck 658*c2c66affSColin Finck [propget, id(0x60020022)] 659*c2c66affSColin Finck HRESULT SupportUrl( [out, retval] BSTR *retval ); 660*c2c66affSColin Finck 661*c2c66affSColin Finck [propget, id(0x60020023)] 662*c2c66affSColin Finck HRESULT Type( [out, retval] UpdateType *retval ); 663*c2c66affSColin Finck 664*c2c66affSColin Finck [propget, id(0x60020024)] 665*c2c66affSColin Finck HRESULT UninstallationNotes( [out, retval] BSTR *retval ); 666*c2c66affSColin Finck 667*c2c66affSColin Finck [propget, id(0x60020025)] 668*c2c66affSColin Finck HRESULT UninstallationBehavior( [out, retval] IInstallationBehavior **retval ); 669*c2c66affSColin Finck 670*c2c66affSColin Finck [propget, id(0x60020026)] 671*c2c66affSColin Finck HRESULT UninstallationSteps( [out, retval] IStringCollection **retval ); 672*c2c66affSColin Finck 673*c2c66affSColin Finck [propget, id(0x60020028)] 674*c2c66affSColin Finck HRESULT KBArticleIDs( [out, retval] IStringCollection **retval ); 675*c2c66affSColin Finck 676*c2c66affSColin Finck [id(0x60020027)] 677*c2c66affSColin Finck HRESULT AcceptEula(); 678*c2c66affSColin Finck 679*c2c66affSColin Finck [propget, id(0x60020029)] 680*c2c66affSColin Finck HRESULT DeploymentAction( [out, retval] DeploymentAction *retval ); 681*c2c66affSColin Finck 682*c2c66affSColin Finck [id(0x6002002a)] 683*c2c66affSColin Finck HRESULT CopyFromCache( [in, ref] BSTR path, 684*c2c66affSColin Finck [in] VARIANT_BOOL toExtractCabFiles ); 685*c2c66affSColin Finck 686*c2c66affSColin Finck [propget, id(0x6002002b)] 687*c2c66affSColin Finck HRESULT DownloadPriority( [out, retval] DownloadPriority *retval ); 688*c2c66affSColin Finck 689*c2c66affSColin Finck [propget, id(0x6002002c)] 690*c2c66affSColin Finck HRESULT DownloadContents( [out, retval] IUpdateDownloadContentCollection **retval ); 691*c2c66affSColin Finck} 692*c2c66affSColin Finck 693*c2c66affSColin Finck[ 694*c2c66affSColin Finck 695*c2c66affSColin Finck object, 696*c2c66affSColin Finck oleautomation, 697*c2c66affSColin Finck dual, 698*c2c66affSColin Finck nonextensible, 699*c2c66affSColin Finck uuid(07f7438c-7709-4ca5-b518-91279288134e), 700*c2c66affSColin Finck pointer_default(unique), 701*c2c66affSColin Finck hidden 702*c2c66affSColin Finck] 703*c2c66affSColin Finckinterface IUpdateCollection : IDispatch 704*c2c66affSColin Finck{ 705*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 706*c2c66affSColin Finck HRESULT Item( [in] LONG index, 707*c2c66affSColin Finck [out, retval] IUpdate **retval ); 708*c2c66affSColin Finck 709*c2c66affSColin Finck [propput, id(DISPID_VALUE)] 710*c2c66affSColin Finck HRESULT Item( [in] LONG index, 711*c2c66affSColin Finck [in] IUpdate *value ); 712*c2c66affSColin Finck 713*c2c66affSColin Finck [propget, id(DISPID_NEWENUM)] 714*c2c66affSColin Finck HRESULT _NewEnum( [out, retval] IUnknown **retval ); 715*c2c66affSColin Finck 716*c2c66affSColin Finck [propget, id(0x60020001)] 717*c2c66affSColin Finck HRESULT Count( [out, retval] LONG *retval ); 718*c2c66affSColin Finck 719*c2c66affSColin Finck [propget, id(0x60020002)] 720*c2c66affSColin Finck HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval ); 721*c2c66affSColin Finck 722*c2c66affSColin Finck [id(0x60020003)] 723*c2c66affSColin Finck HRESULT Add( [in] IUpdate *value, 724*c2c66affSColin Finck [out, retval] LONG *retval ); 725*c2c66affSColin Finck 726*c2c66affSColin Finck [id(0x60020004)] 727*c2c66affSColin Finck HRESULT Clear(); 728*c2c66affSColin Finck 729*c2c66affSColin Finck [id(0x60020005)] 730*c2c66affSColin Finck HRESULT Copy( [out, retval] IUpdateCollection **retval ); 731*c2c66affSColin Finck 732*c2c66affSColin Finck [id(0x60020006)] 733*c2c66affSColin Finck HRESULT Insert( [in] LONG index, 734*c2c66affSColin Finck [in] IUpdate *value ); 735*c2c66affSColin Finck 736*c2c66affSColin Finck [id(0x60020007)] 737*c2c66affSColin Finck HRESULT RemoveAt( [in] LONG index ); 738*c2c66affSColin Finck} 739*c2c66affSColin Finck 740*c2c66affSColin Finck[ 741*c2c66affSColin Finck object, 742*c2c66affSColin Finck oleautomation, 743*c2c66affSColin Finck dual, 744*c2c66affSColin Finck nonextensible, 745*c2c66affSColin Finck uuid(7366ea16-7a1a-4ea2-b042-973d3e9cd99b), 746*c2c66affSColin Finck pointer_default(unique), 747*c2c66affSColin Finck] 748*c2c66affSColin Finckinterface ISearchJob : IDispatch 749*c2c66affSColin Finck{ 750*c2c66affSColin Finck [propget, id(0x60020001)] 751*c2c66affSColin Finck HRESULT AsyncState( [out, retval] VARIANT *retval ); 752*c2c66affSColin Finck 753*c2c66affSColin Finck [propget, id(0x60020002)] 754*c2c66affSColin Finck HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval ); 755*c2c66affSColin Finck 756*c2c66affSColin Finck [id(0x60020003)] 757*c2c66affSColin Finck HRESULT CleanUp(); 758*c2c66affSColin Finck 759*c2c66affSColin Finck [id(0x60020004)] 760*c2c66affSColin Finck HRESULT RequestAbort(); 761*c2c66affSColin Finck} 762*c2c66affSColin Finck 763*c2c66affSColin Finck[ 764*c2c66affSColin Finck object, 765*c2c66affSColin Finck oleautomation, 766*c2c66affSColin Finck dual, 767*c2c66affSColin Finck nonextensible, 768*c2c66affSColin Finck uuid(d40cff62-e08c-4498-941a-01e25f0fd33c), 769*c2c66affSColin Finck pointer_default(unique), 770*c2c66affSColin Finck] 771*c2c66affSColin Finckinterface ISearchResult : IDispatch 772*c2c66affSColin Finck{ 773*c2c66affSColin Finck [propget, id(0x60020001)] 774*c2c66affSColin Finck HRESULT ResultCode( [out, retval] OperationResultCode *retval ); 775*c2c66affSColin Finck 776*c2c66affSColin Finck [propget, id(0x60020002)] 777*c2c66affSColin Finck HRESULT RootCategories( [out, retval] ICategoryCollection **retval ); 778*c2c66affSColin Finck 779*c2c66affSColin Finck [propget, id(0x60020003)] 780*c2c66affSColin Finck HRESULT Updates( [out, retval] IUpdateCollection **retval ); 781*c2c66affSColin Finck 782*c2c66affSColin Finck [propget, id(0x60020004)] 783*c2c66affSColin Finck HRESULT Warnings( [out, retval] IUpdateExceptionCollection **retval ); 784*c2c66affSColin Finck} 785*c2c66affSColin Finck 786*c2c66affSColin Finck[ 787*c2c66affSColin Finck object, 788*c2c66affSColin Finck oleautomation, 789*c2c66affSColin Finck dual, 790*c2c66affSColin Finck nonextensible, 791*c2c66affSColin Finck uuid(be56a644-af0e-4e0e-a311-c1d8e695cbff), 792*c2c66affSColin Finck pointer_default(unique), 793*c2c66affSColin Finck] 794*c2c66affSColin Finckinterface IUpdateHistoryEntry : IDispatch 795*c2c66affSColin Finck{ 796*c2c66affSColin Finck [propget, id(0x60020001)] 797*c2c66affSColin Finck HRESULT Operation( [out, retval] UpdateOperation *retval ); 798*c2c66affSColin Finck 799*c2c66affSColin Finck [propget, id(0x60020002)] 800*c2c66affSColin Finck HRESULT ResultCode( [out, retval] OperationResultCode *retval ); 801*c2c66affSColin Finck 802*c2c66affSColin Finck [propget, id(0x60020003)] 803*c2c66affSColin Finck HRESULT HResult( [out, retval] LONG *retval ); 804*c2c66affSColin Finck 805*c2c66affSColin Finck [propget, id(0x60020004)] 806*c2c66affSColin Finck HRESULT Date( [out, retval] DATE *retval ); 807*c2c66affSColin Finck 808*c2c66affSColin Finck [propget, id(0x60020005)] 809*c2c66affSColin Finck HRESULT UpdateIdentity( [out, retval] IUpdateIdentity **retval ); 810*c2c66affSColin Finck 811*c2c66affSColin Finck [propget, id(0x60020006)] 812*c2c66affSColin Finck HRESULT Title( [out, retval] BSTR *retval ); 813*c2c66affSColin Finck 814*c2c66affSColin Finck [propget, id(0x60020007)] 815*c2c66affSColin Finck HRESULT Description( [out, retval] BSTR *retval ); 816*c2c66affSColin Finck 817*c2c66affSColin Finck [propget, id(0x60020008)] 818*c2c66affSColin Finck HRESULT UnmappedResultCode( [out, retval] LONG *retval ); 819*c2c66affSColin Finck 820*c2c66affSColin Finck [propget, id(0x60020009)] 821*c2c66affSColin Finck HRESULT ClientApplicationID( [out, retval] BSTR *retval ); 822*c2c66affSColin Finck 823*c2c66affSColin Finck [propget, id(0x6002000a)] 824*c2c66affSColin Finck HRESULT ServerSelection( [out, retval] ServerSelection *retval ); 825*c2c66affSColin Finck 826*c2c66affSColin Finck [propget, id(0x6002000b)] 827*c2c66affSColin Finck HRESULT ServiceID( [out, retval] BSTR *retval ); 828*c2c66affSColin Finck 829*c2c66affSColin Finck [propget, id(0x6002000c)] 830*c2c66affSColin Finck HRESULT UninstallationSteps( [out, retval] IStringCollection **retval ); 831*c2c66affSColin Finck 832*c2c66affSColin Finck [propget, id(0x6002000d)] 833*c2c66affSColin Finck HRESULT UninstallationNotes( [out, retval] BSTR *retval ); 834*c2c66affSColin Finck 835*c2c66affSColin Finck [propget, id(0x6002000e)] 836*c2c66affSColin Finck HRESULT SupportUrl( [out, retval] BSTR *retval ); 837*c2c66affSColin Finck} 838*c2c66affSColin Finck 839*c2c66affSColin Finck[ 840*c2c66affSColin Finck object, 841*c2c66affSColin Finck oleautomation, 842*c2c66affSColin Finck dual, 843*c2c66affSColin Finck nonextensible, 844*c2c66affSColin Finck uuid(a7f04f3c-a290-435b-aadf-a116c3357a5c), 845*c2c66affSColin Finck pointer_default(unique), 846*c2c66affSColin Finck] 847*c2c66affSColin Finckinterface IUpdateHistoryEntryCollection : IDispatch 848*c2c66affSColin Finck{ 849*c2c66affSColin Finck [propget, id(DISPID_VALUE)] 850*c2c66affSColin Finck HRESULT Item( [in] LONG index, 851*c2c66affSColin Finck [out, retval] IUpdateHistoryEntry **retval ); 852*c2c66affSColin Finck 853*c2c66affSColin Finck [propget, id(DISPID_NEWENUM)] 854*c2c66affSColin Finck HRESULT _NewEnum( [out, retval] IUnknown **retval ); 855*c2c66affSColin Finck 856*c2c66affSColin Finck [propget, id(0x60020001)] 857*c2c66affSColin Finck HRESULT Count( [out, retval] LONG *retval ); 858*c2c66affSColin Finck} 859*c2c66affSColin Finck 860*c2c66affSColin Finck[ 861*c2c66affSColin Finck object, 862*c2c66affSColin Finck uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea), 863*c2c66affSColin Finck oleautomation, 864*c2c66affSColin Finck dual, 865*c2c66affSColin Finck nonextensible, 866*c2c66affSColin Finck pointer_default(unique), 867*c2c66affSColin Finck] 868*c2c66affSColin Finckinterface IUpdateSearcher : IDispatch 869*c2c66affSColin Finck{ 870*c2c66affSColin Finck [propget] 871*c2c66affSColin Finck HRESULT CanAutomaticallyUpgradeService( 872*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 873*c2c66affSColin Finck 874*c2c66affSColin Finck [propput] 875*c2c66affSColin Finck HRESULT CanAutomaticallyUpgradeService( 876*c2c66affSColin Finck [in] VARIANT_BOOL value); 877*c2c66affSColin Finck 878*c2c66affSColin Finck [propget] 879*c2c66affSColin Finck HRESULT ClientApplicationID( 880*c2c66affSColin Finck [out, retval] BSTR *retval); 881*c2c66affSColin Finck 882*c2c66affSColin Finck [propput] 883*c2c66affSColin Finck HRESULT ClientApplicationID( 884*c2c66affSColin Finck [in] BSTR value); 885*c2c66affSColin Finck 886*c2c66affSColin Finck [propget] 887*c2c66affSColin Finck HRESULT IncludePotentiallySupersededUpdates( 888*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 889*c2c66affSColin Finck 890*c2c66affSColin Finck [propput] 891*c2c66affSColin Finck HRESULT IncludePotentiallySupersededUpdates( 892*c2c66affSColin Finck [in] VARIANT_BOOL value); 893*c2c66affSColin Finck 894*c2c66affSColin Finck [propget] 895*c2c66affSColin Finck HRESULT ServerSelection( 896*c2c66affSColin Finck [out, retval] ServerSelection *retval); 897*c2c66affSColin Finck 898*c2c66affSColin Finck [propput] 899*c2c66affSColin Finck HRESULT ServerSelection( 900*c2c66affSColin Finck [in] ServerSelection value); 901*c2c66affSColin Finck 902*c2c66affSColin Finck HRESULT BeginSearch( 903*c2c66affSColin Finck [in] BSTR criteria, 904*c2c66affSColin Finck [in] IUnknown *onCompleted, 905*c2c66affSColin Finck [in] VARIANT state, 906*c2c66affSColin Finck [out, retval] ISearchJob **retval); 907*c2c66affSColin Finck 908*c2c66affSColin Finck HRESULT EndSearch( 909*c2c66affSColin Finck [in] ISearchJob *searchJob, 910*c2c66affSColin Finck [out, retval] ISearchResult **retval); 911*c2c66affSColin Finck 912*c2c66affSColin Finck HRESULT EscapeString( 913*c2c66affSColin Finck [in] BSTR unescaped, 914*c2c66affSColin Finck [out, retval] BSTR *retval); 915*c2c66affSColin Finck 916*c2c66affSColin Finck HRESULT QueryHistory( 917*c2c66affSColin Finck [in] LONG startIndex, 918*c2c66affSColin Finck [in] LONG count, 919*c2c66affSColin Finck [out, retval] IUpdateHistoryEntryCollection **retval); 920*c2c66affSColin Finck 921*c2c66affSColin Finck HRESULT Search( 922*c2c66affSColin Finck [in] BSTR criteria, 923*c2c66affSColin Finck [out, retval] ISearchResult **retval); 924*c2c66affSColin Finck 925*c2c66affSColin Finck [propget] 926*c2c66affSColin Finck HRESULT Online( 927*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 928*c2c66affSColin Finck 929*c2c66affSColin Finck [propput] 930*c2c66affSColin Finck HRESULT Online( 931*c2c66affSColin Finck [in] VARIANT_BOOL value); 932*c2c66affSColin Finck 933*c2c66affSColin Finck HRESULT GetTotalHistoryCount( 934*c2c66affSColin Finck [out, retval] LONG *retval); 935*c2c66affSColin Finck 936*c2c66affSColin Finck [propget] 937*c2c66affSColin Finck HRESULT ServiceID( 938*c2c66affSColin Finck [out, retval] BSTR *retval); 939*c2c66affSColin Finck 940*c2c66affSColin Finck [propput] 941*c2c66affSColin Finck HRESULT ServiceID( 942*c2c66affSColin Finck [in] BSTR value); 943*c2c66affSColin Finck} 944*c2c66affSColin Finck 945*c2c66affSColin Finck[ 946*c2c66affSColin Finck object, 947*c2c66affSColin Finck oleautomation, 948*c2c66affSColin Finck dual, 949*c2c66affSColin Finck nonextensible, 950*c2c66affSColin Finck uuid(bf99af76-b575-42ad-8aa4-33cbb5477af1), 951*c2c66affSColin Finck pointer_default(unique), 952*c2c66affSColin Finck] 953*c2c66affSColin Finckinterface IUpdateDownloadResult : IDispatch 954*c2c66affSColin Finck{ 955*c2c66affSColin Finck [propget, id(0x60020001)] 956*c2c66affSColin Finck HRESULT HResult( [out, retval] LONG *retval ); 957*c2c66affSColin Finck 958*c2c66affSColin Finck [propget, id(0x60020002)] 959*c2c66affSColin Finck HRESULT ResultCode( [out, retval] OperationResultCode *retval ); 960*c2c66affSColin Finck} 961*c2c66affSColin Finck 962*c2c66affSColin Finck[ 963*c2c66affSColin Finck object, 964*c2c66affSColin Finck oleautomation, 965*c2c66affSColin Finck dual, 966*c2c66affSColin Finck nonextensible, 967*c2c66affSColin Finck uuid(d31a5bac-f719-4178-9dbb-5e2cb47fd18a), 968*c2c66affSColin Finck pointer_default(unique), 969*c2c66affSColin Finck] 970*c2c66affSColin Finckinterface IDownloadProgress : IDispatch 971*c2c66affSColin Finck{ 972*c2c66affSColin Finck [propget, id(0x60020001)] 973*c2c66affSColin Finck HRESULT CurrentUpdateBytesDownloaded( [out, retval] DECIMAL *retval ); 974*c2c66affSColin Finck 975*c2c66affSColin Finck [propget, id(0x60020002)] 976*c2c66affSColin Finck HRESULT CurrentUpdateBytesToDownload( [out, retval] DECIMAL *retval ); 977*c2c66affSColin Finck 978*c2c66affSColin Finck [propget, id(0x60020003)] 979*c2c66affSColin Finck HRESULT CurrentUpdateIndex( [out, retval] LONG *retval ); 980*c2c66affSColin Finck 981*c2c66affSColin Finck [propget, id(0x60020004)] 982*c2c66affSColin Finck HRESULT PercentComplete( [out, retval] LONG *retval ); 983*c2c66affSColin Finck 984*c2c66affSColin Finck [propget, id(0x60020005)] 985*c2c66affSColin Finck HRESULT TotalBytesDownloaded( [out, retval] DECIMAL *retval ); 986*c2c66affSColin Finck 987*c2c66affSColin Finck [propget, id(0x60020006)] 988*c2c66affSColin Finck HRESULT TotalBytesToDownload( [out, retval] DECIMAL *retval ); 989*c2c66affSColin Finck 990*c2c66affSColin Finck [id(0x60020007)] 991*c2c66affSColin Finck HRESULT GetUpdateResult( [in] LONG updateIndex, 992*c2c66affSColin Finck [out, retval] IUpdateDownloadResult **retval ); 993*c2c66affSColin Finck 994*c2c66affSColin Finck 995*c2c66affSColin Finck [propget, id(0x60020008)] 996*c2c66affSColin Finck HRESULT CurrentUpdateDownloadPhase( [out, retval] DownloadPhase *retval ); 997*c2c66affSColin Finck 998*c2c66affSColin Finck [propget, id(0x60020009)] 999*c2c66affSColin Finck HRESULT CurrentUpdatePercentComplete( [out, retval] LONG *retval ); 1000*c2c66affSColin Finck} 1001*c2c66affSColin Finck 1002*c2c66affSColin Finck[ 1003*c2c66affSColin Finck object, 1004*c2c66affSColin Finck oleautomation, 1005*c2c66affSColin Finck dual, 1006*c2c66affSColin Finck nonextensible, 1007*c2c66affSColin Finck uuid(c574de85-7358-43f6-aae8-8697e62d8ba7), 1008*c2c66affSColin Finck pointer_default(unique), 1009*c2c66affSColin Finck] 1010*c2c66affSColin Finckinterface IDownloadJob : IDispatch 1011*c2c66affSColin Finck{ 1012*c2c66affSColin Finck [propget, id(0x60020001)] 1013*c2c66affSColin Finck HRESULT AsyncState( [out, retval] VARIANT *retval ); 1014*c2c66affSColin Finck 1015*c2c66affSColin Finck [propget, id(0x60020002)] 1016*c2c66affSColin Finck HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval ); 1017*c2c66affSColin Finck 1018*c2c66affSColin Finck [propget, id(0x60020003)] 1019*c2c66affSColin Finck HRESULT Updates( [out, retval] IUpdateCollection **retval ); 1020*c2c66affSColin Finck 1021*c2c66affSColin Finck [id(0x60020004)] 1022*c2c66affSColin Finck HRESULT CleanUp(); 1023*c2c66affSColin Finck 1024*c2c66affSColin Finck [id(0x60020005)] 1025*c2c66affSColin Finck HRESULT GetProgress( [out, retval] IDownloadProgress **retval ); 1026*c2c66affSColin Finck 1027*c2c66affSColin Finck [id(0x60020006)] 1028*c2c66affSColin Finck HRESULT RequestAbort(); 1029*c2c66affSColin Finck} 1030*c2c66affSColin Finck 1031*c2c66affSColin Finck[ 1032*c2c66affSColin Finck object, 1033*c2c66affSColin Finck oleautomation, 1034*c2c66affSColin Finck dual, 1035*c2c66affSColin Finck nonextensible, 1036*c2c66affSColin Finck uuid(daa4fdd0-4727-4dbe-a1e7-745dca317144), 1037*c2c66affSColin Finck pointer_default(unique), 1038*c2c66affSColin Finck] 1039*c2c66affSColin Finckinterface IDownloadResult : IDispatch 1040*c2c66affSColin Finck{ 1041*c2c66affSColin Finck [propget, id(0x60020001)] 1042*c2c66affSColin Finck HRESULT HResult( [out, retval] LONG *retval ); 1043*c2c66affSColin Finck 1044*c2c66affSColin Finck [propget, id(0x60020002)] 1045*c2c66affSColin Finck HRESULT ResultCode( [out, retval] OperationResultCode *retval ); 1046*c2c66affSColin Finck 1047*c2c66affSColin Finck [id(0x60020003)] 1048*c2c66affSColin Finck HRESULT GetUpdateResult( [in] LONG updateIndex, 1049*c2c66affSColin Finck [out, retval] IUpdateDownloadResult **retval ); 1050*c2c66affSColin Finck} 1051*c2c66affSColin Finck 1052*c2c66affSColin Finck[ 1053*c2c66affSColin Finck object, 1054*c2c66affSColin Finck uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3), 1055*c2c66affSColin Finck oleautomation, 1056*c2c66affSColin Finck dual, 1057*c2c66affSColin Finck nonextensible, 1058*c2c66affSColin Finck pointer_default(unique), 1059*c2c66affSColin Finck hidden 1060*c2c66affSColin Finck] 1061*c2c66affSColin Finckinterface IUpdateDownloader : IDispatch 1062*c2c66affSColin Finck{ 1063*c2c66affSColin Finck [propget] 1064*c2c66affSColin Finck HRESULT ClientApplicationID( 1065*c2c66affSColin Finck [out, retval] BSTR *retval); 1066*c2c66affSColin Finck 1067*c2c66affSColin Finck [propput] 1068*c2c66affSColin Finck HRESULT ClientApplicationID( 1069*c2c66affSColin Finck [in] BSTR value); 1070*c2c66affSColin Finck 1071*c2c66affSColin Finck [propget] 1072*c2c66affSColin Finck HRESULT IsForced( 1073*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 1074*c2c66affSColin Finck 1075*c2c66affSColin Finck [propput] 1076*c2c66affSColin Finck HRESULT IsForced( 1077*c2c66affSColin Finck [in] VARIANT_BOOL value); 1078*c2c66affSColin Finck 1079*c2c66affSColin Finck [propget] 1080*c2c66affSColin Finck HRESULT Priority( 1081*c2c66affSColin Finck [out, retval] DownloadPriority *retval); 1082*c2c66affSColin Finck 1083*c2c66affSColin Finck [propput] 1084*c2c66affSColin Finck HRESULT Priority( 1085*c2c66affSColin Finck [in] DownloadPriority value); 1086*c2c66affSColin Finck 1087*c2c66affSColin Finck [propget] 1088*c2c66affSColin Finck HRESULT Updates( 1089*c2c66affSColin Finck [out, retval] IUpdateCollection **retval); 1090*c2c66affSColin Finck 1091*c2c66affSColin Finck [propput] 1092*c2c66affSColin Finck HRESULT Updates( 1093*c2c66affSColin Finck [in] IUpdateCollection *value); 1094*c2c66affSColin Finck 1095*c2c66affSColin Finck HRESULT BeginDownload( 1096*c2c66affSColin Finck [in] IUnknown *onProgressChanged, 1097*c2c66affSColin Finck [in] IUnknown *onCompleted, 1098*c2c66affSColin Finck [in] VARIANT state, 1099*c2c66affSColin Finck [out, retval] IDownloadJob **retval); 1100*c2c66affSColin Finck 1101*c2c66affSColin Finck HRESULT Download( 1102*c2c66affSColin Finck [out, retval] IDownloadResult **retval); 1103*c2c66affSColin Finck 1104*c2c66affSColin Finck HRESULT EndDownload( 1105*c2c66affSColin Finck [in] IDownloadJob *value, 1106*c2c66affSColin Finck [out, retval] IDownloadResult **retval); 1107*c2c66affSColin Finck} 1108*c2c66affSColin Finck 1109*c2c66affSColin Finck[ 1110*c2c66affSColin Finck object, 1111*c2c66affSColin Finck oleautomation, 1112*c2c66affSColin Finck dual, 1113*c2c66affSColin Finck nonextensible, 1114*c2c66affSColin Finck uuid(d940f0f8-3cbb-4fd0-993f-471e7f2328ad), 1115*c2c66affSColin Finck pointer_default(unique), 1116*c2c66affSColin Finck] 1117*c2c66affSColin Finckinterface IUpdateInstallationResult : IDispatch 1118*c2c66affSColin Finck{ 1119*c2c66affSColin Finck [propget, id(0x60020001)] 1120*c2c66affSColin Finck HRESULT HResult( [out, retval] LONG *retval ); 1121*c2c66affSColin Finck 1122*c2c66affSColin Finck [propget, id(0x60020002)] 1123*c2c66affSColin Finck HRESULT RebootRequired( [out, retval] VARIANT_BOOL *retval ); 1124*c2c66affSColin Finck 1125*c2c66affSColin Finck [propget, id(0x60020003)] 1126*c2c66affSColin Finck HRESULT ResultCode( [out, retval] OperationResultCode *retval ); 1127*c2c66affSColin Finck} 1128*c2c66affSColin Finck 1129*c2c66affSColin Finck[ 1130*c2c66affSColin Finck object, 1131*c2c66affSColin Finck oleautomation, 1132*c2c66affSColin Finck dual, 1133*c2c66affSColin Finck nonextensible, 1134*c2c66affSColin Finck uuid(345c8244-43a3-4e32-a368-65f073b76f36), 1135*c2c66affSColin Finck pointer_default(unique), 1136*c2c66affSColin Finck] 1137*c2c66affSColin Finckinterface IInstallationProgress : IDispatch 1138*c2c66affSColin Finck{ 1139*c2c66affSColin Finck [propget, id(0x60020001)] 1140*c2c66affSColin Finck HRESULT CurrentUpdateIndex( [out, retval] LONG *retval ); 1141*c2c66affSColin Finck 1142*c2c66affSColin Finck [propget, id(0x60020002)] 1143*c2c66affSColin Finck HRESULT CurrentUpdatePercentComplete( [out, retval] LONG *retval ); 1144*c2c66affSColin Finck 1145*c2c66affSColin Finck [propget, id(0x60020003)] 1146*c2c66affSColin Finck HRESULT PercentComplete( [out, retval] LONG *retval ); 1147*c2c66affSColin Finck 1148*c2c66affSColin Finck [id(0x60020004)] 1149*c2c66affSColin Finck HRESULT GetUpdateResult( [in] LONG updateIndex, 1150*c2c66affSColin Finck [out, retval] IUpdateInstallationResult **retval ); 1151*c2c66affSColin Finck} 1152*c2c66affSColin Finck 1153*c2c66affSColin Finck[ 1154*c2c66affSColin Finck object, 1155*c2c66affSColin Finck oleautomation, 1156*c2c66affSColin Finck dual, 1157*c2c66affSColin Finck nonextensible, 1158*c2c66affSColin Finck uuid(5c209f0b-bad5-432a-9556-4699bed2638a), 1159*c2c66affSColin Finck pointer_default(unique), 1160*c2c66affSColin Finck] 1161*c2c66affSColin Finckinterface IInstallationJob : IDispatch 1162*c2c66affSColin Finck{ 1163*c2c66affSColin Finck [propget, id(0x60020001)] 1164*c2c66affSColin Finck HRESULT AsyncState( [out, retval] VARIANT *retval ); 1165*c2c66affSColin Finck 1166*c2c66affSColin Finck [propget, id(0x60020002)] 1167*c2c66affSColin Finck HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval ); 1168*c2c66affSColin Finck 1169*c2c66affSColin Finck [propget, id(0x60020003)] 1170*c2c66affSColin Finck HRESULT Updates( [out, retval] IUpdateCollection **retval ); 1171*c2c66affSColin Finck 1172*c2c66affSColin Finck [id(0x60020004)] 1173*c2c66affSColin Finck HRESULT CleanUp(); 1174*c2c66affSColin Finck 1175*c2c66affSColin Finck [id(0x60020005)] 1176*c2c66affSColin Finck HRESULT GetProgress( [out, retval] IInstallationProgress **retval ); 1177*c2c66affSColin Finck 1178*c2c66affSColin Finck [id(0x60020006)] 1179*c2c66affSColin Finck HRESULT RequestAbort(); 1180*c2c66affSColin Finck} 1181*c2c66affSColin Finck 1182*c2c66affSColin Finck[ 1183*c2c66affSColin Finck object, 1184*c2c66affSColin Finck oleautomation, 1185*c2c66affSColin Finck dual, 1186*c2c66affSColin Finck nonextensible, 1187*c2c66affSColin Finck uuid(a43c56d6-7451-48d4-af96-b6cd2d0d9b7a), 1188*c2c66affSColin Finck pointer_default(unique), 1189*c2c66affSColin Finck] 1190*c2c66affSColin Finckinterface IInstallationResult : IDispatch 1191*c2c66affSColin Finck{ 1192*c2c66affSColin Finck [propget, id(0x60020001)] 1193*c2c66affSColin Finck HRESULT HResult( [out, retval] LONG *retval ); 1194*c2c66affSColin Finck 1195*c2c66affSColin Finck [propget, id(0x60020002)] 1196*c2c66affSColin Finck HRESULT RebootRequired( [out, retval] VARIANT_BOOL *retval ); 1197*c2c66affSColin Finck 1198*c2c66affSColin Finck [propget, id(0x60020003)] 1199*c2c66affSColin Finck HRESULT ResultCode( [out, retval] OperationResultCode *retval ); 1200*c2c66affSColin Finck 1201*c2c66affSColin Finck [id(0x60020004)] 1202*c2c66affSColin Finck HRESULT GetUpdateResult( [in] LONG updateIndex, 1203*c2c66affSColin Finck [out, retval] IUpdateInstallationResult **retval ); 1204*c2c66affSColin Finck} 1205*c2c66affSColin Finck 1206*c2c66affSColin Finck[ 1207*c2c66affSColin Finck object, 1208*c2c66affSColin Finck uuid(7b929c68-ccdc-4226-96b1-8724600b54c2), 1209*c2c66affSColin Finck oleautomation, 1210*c2c66affSColin Finck dual, 1211*c2c66affSColin Finck nonextensible, 1212*c2c66affSColin Finck pointer_default(unique), 1213*c2c66affSColin Finck] 1214*c2c66affSColin Finckinterface IUpdateInstaller : IDispatch 1215*c2c66affSColin Finck{ 1216*c2c66affSColin Finck [propget] 1217*c2c66affSColin Finck HRESULT ClientApplicationID( 1218*c2c66affSColin Finck [out, retval] BSTR *retval); 1219*c2c66affSColin Finck 1220*c2c66affSColin Finck [propput] 1221*c2c66affSColin Finck HRESULT ClientApplicationID( 1222*c2c66affSColin Finck [in] BSTR value); 1223*c2c66affSColin Finck 1224*c2c66affSColin Finck [propget] 1225*c2c66affSColin Finck HRESULT IsForced( 1226*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 1227*c2c66affSColin Finck 1228*c2c66affSColin Finck [propput] 1229*c2c66affSColin Finck HRESULT IsForced( 1230*c2c66affSColin Finck [in] VARIANT_BOOL value); 1231*c2c66affSColin Finck 1232*c2c66affSColin Finck [propget, restricted] 1233*c2c66affSColin Finck HRESULT ParentHwnd( 1234*c2c66affSColin Finck [out, retval] HWND *retval); 1235*c2c66affSColin Finck 1236*c2c66affSColin Finck [propput, restricted] 1237*c2c66affSColin Finck HRESULT ParentHwnd( 1238*c2c66affSColin Finck [in, unique] HWND value); 1239*c2c66affSColin Finck 1240*c2c66affSColin Finck [propput] 1241*c2c66affSColin Finck HRESULT ParentWindow( 1242*c2c66affSColin Finck [in, unique] IUnknown *value); 1243*c2c66affSColin Finck 1244*c2c66affSColin Finck [propget] 1245*c2c66affSColin Finck HRESULT ParentWindow( 1246*c2c66affSColin Finck [out, retval] IUnknown **retval); 1247*c2c66affSColin Finck 1248*c2c66affSColin Finck [propget] 1249*c2c66affSColin Finck HRESULT Updates( 1250*c2c66affSColin Finck [out, retval] IUpdateCollection **retval); 1251*c2c66affSColin Finck 1252*c2c66affSColin Finck [propput] 1253*c2c66affSColin Finck HRESULT Updates( 1254*c2c66affSColin Finck [in] IUpdateCollection *value); 1255*c2c66affSColin Finck 1256*c2c66affSColin Finck HRESULT BeginInstall( 1257*c2c66affSColin Finck [in] IUnknown *onProgressChanged, 1258*c2c66affSColin Finck [in] IUnknown *onCompleted, 1259*c2c66affSColin Finck [in] VARIANT state, 1260*c2c66affSColin Finck [out, retval] IInstallationJob **retval); 1261*c2c66affSColin Finck 1262*c2c66affSColin Finck HRESULT BeginUninstall( 1263*c2c66affSColin Finck [in] IUnknown *onProgressChanged, 1264*c2c66affSColin Finck [in] IUnknown *onCompleted, 1265*c2c66affSColin Finck [in] VARIANT state, 1266*c2c66affSColin Finck [out, retval] IInstallationJob **retval); 1267*c2c66affSColin Finck 1268*c2c66affSColin Finck HRESULT EndInstall( 1269*c2c66affSColin Finck [in] IInstallationJob *value, 1270*c2c66affSColin Finck [out, retval] IInstallationResult **retval); 1271*c2c66affSColin Finck 1272*c2c66affSColin Finck HRESULT EndUninstall( 1273*c2c66affSColin Finck [in] IInstallationJob *value, 1274*c2c66affSColin Finck [out, retval] IInstallationResult **retval); 1275*c2c66affSColin Finck 1276*c2c66affSColin Finck HRESULT Install( 1277*c2c66affSColin Finck [out, retval] IInstallationResult **retval); 1278*c2c66affSColin Finck 1279*c2c66affSColin Finck HRESULT RunWizard( 1280*c2c66affSColin Finck [in, defaultvalue("")] BSTR dialogTitle, 1281*c2c66affSColin Finck [out, retval] IInstallationResult **retval); 1282*c2c66affSColin Finck 1283*c2c66affSColin Finck [propget] 1284*c2c66affSColin Finck HRESULT IsBusy( 1285*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 1286*c2c66affSColin Finck 1287*c2c66affSColin Finck HRESULT Uninstall( 1288*c2c66affSColin Finck [out, retval] IInstallationResult **retval); 1289*c2c66affSColin Finck 1290*c2c66affSColin Finck [propget] 1291*c2c66affSColin Finck HRESULT AllowSourcePrompts( 1292*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 1293*c2c66affSColin Finck 1294*c2c66affSColin Finck [propput] 1295*c2c66affSColin Finck HRESULT AllowSourcePrompts( 1296*c2c66affSColin Finck [in] VARIANT_BOOL value); 1297*c2c66affSColin Finck 1298*c2c66affSColin Finck [propget] 1299*c2c66affSColin Finck HRESULT RebootRequiredBeforeInstallation( 1300*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 1301*c2c66affSColin Finck} 1302*c2c66affSColin Finck 1303*c2c66affSColin Finck[ 1304*c2c66affSColin Finck object, 1305*c2c66affSColin Finck uuid(ADE87BF7-7B56-4275-8FAB-B9B0E591844B), 1306*c2c66affSColin Finck oleautomation, 1307*c2c66affSColin Finck hidden, 1308*c2c66affSColin Finck dual, 1309*c2c66affSColin Finck nonextensible, 1310*c2c66affSColin Finck pointer_default(unique), 1311*c2c66affSColin Finck] 1312*c2c66affSColin Finckinterface ISystemInformation : IDispatch 1313*c2c66affSColin Finck{ 1314*c2c66affSColin Finck [propget] 1315*c2c66affSColin Finck HRESULT OemHardwareSupportLink( 1316*c2c66affSColin Finck [out, retval] BSTR *retval); 1317*c2c66affSColin Finck 1318*c2c66affSColin Finck [propget] 1319*c2c66affSColin Finck HRESULT RebootRequired( 1320*c2c66affSColin Finck [out, retval] VARIANT_BOOL *retval); 1321*c2c66affSColin Finck} 1322*c2c66affSColin Finck 1323*c2c66affSColin Finck[ 1324*c2c66affSColin Finck helpstring("AutomaticUpdates Class"), 1325*c2c66affSColin Finck threading(both), 1326*c2c66affSColin Finck progid("Microsoft.Update.AutoUpdate.1"), 1327*c2c66affSColin Finck vi_progid("Microsoft.Update.AutoUpdate"), 1328*c2c66affSColin Finck uuid(bfe18e9c-6d87-4450-b37c-e02f0b373803) 1329*c2c66affSColin Finck] 1330*c2c66affSColin Finckcoclass AutomaticUpdates { interface IAutomaticUpdates; } 1331*c2c66affSColin Finck 1332*c2c66affSColin Finck[ 1333*c2c66affSColin Finck helpstring("UpdateSession Class"), 1334*c2c66affSColin Finck threading(both), 1335*c2c66affSColin Finck progid("Microsoft.Update.Session.1"), 1336*c2c66affSColin Finck vi_progid("Microsoft.Update.Session"), 1337*c2c66affSColin Finck uuid(4cb43d7f-7eee-4906-8698-60da1c38f2fe) 1338*c2c66affSColin Finck] 1339*c2c66affSColin Finckcoclass UpdateSession { interface IUpdateSession; } 1340*c2c66affSColin Finck 1341*c2c66affSColin Finck[ 1342*c2c66affSColin Finck helpstring("SystemInformation Class"), 1343*c2c66affSColin Finck threading(both), 1344*c2c66affSColin Finck progid("Microsoft.Update.SystemInfo.1"), 1345*c2c66affSColin Finck vi_progid("Microsoft.Update.SystemInfo"), 1346*c2c66affSColin Finck uuid(C01B9BA0-BEA7-41BA-B604-D0A36F469133) 1347*c2c66affSColin Finck] 1348*c2c66affSColin Finckcoclass SystemInformation { interface ISystemInformation; } 1349*c2c66affSColin Finck 1350*c2c66affSColin Finck} /* WUApiLib */ 1351