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