1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 8.xx.xxxx */
7 /* at a redacted point in time
8  */
9 /* Compiler settings for gen/chrome/updater/app/server/win/updater_idl.idl:
10     Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx
11     protocol : dce , ms_ext, c_ext, robust
12     error checks: allocation ref bounds_check enum stub_data
13     VC __declspec() decoration level:
14          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
15          DECLSPEC_UUID(), MIDL_INTERFACE()
16 */
17 /* @@MIDL_FILE_HEADING(  ) */
18 
19 #pragma warning( disable: 4049 )  /* more than 64k source lines */
20 
21 
22 /* verify that the <rpcndr.h> version is high enough to compile this file*/
23 #ifndef __REQUIRED_RPCNDR_H_VERSION__
24 #define __REQUIRED_RPCNDR_H_VERSION__ 475
25 #endif
26 
27 #include "rpc.h"
28 #include "rpcndr.h"
29 
30 #ifndef __RPCNDR_H_VERSION__
31 #error this stub requires an updated version of <rpcndr.h>
32 #endif /* __RPCNDR_H_VERSION__ */
33 
34 #ifndef COM_NO_WINDOWS_H
35 #include "windows.h"
36 #include "ole2.h"
37 #endif /*COM_NO_WINDOWS_H*/
38 
39 #ifndef __updater_idl_h__
40 #define __updater_idl_h__
41 
42 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
43 #pragma once
44 #endif
45 
46 /* Forward Declarations */
47 
48 #ifndef __ICurrentState_FWD_DEFINED__
49 #define __ICurrentState_FWD_DEFINED__
50 typedef interface ICurrentState ICurrentState;
51 
52 #endif 	/* __ICurrentState_FWD_DEFINED__ */
53 
54 
55 #ifndef __IGoogleUpdate3Web_FWD_DEFINED__
56 #define __IGoogleUpdate3Web_FWD_DEFINED__
57 typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;
58 
59 #endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */
60 
61 
62 #ifndef __IAppBundleWeb_FWD_DEFINED__
63 #define __IAppBundleWeb_FWD_DEFINED__
64 typedef interface IAppBundleWeb IAppBundleWeb;
65 
66 #endif 	/* __IAppBundleWeb_FWD_DEFINED__ */
67 
68 
69 #ifndef __IAppWeb_FWD_DEFINED__
70 #define __IAppWeb_FWD_DEFINED__
71 typedef interface IAppWeb IAppWeb;
72 
73 #endif 	/* __IAppWeb_FWD_DEFINED__ */
74 
75 
76 #ifndef __IUpdaterControlCallback_FWD_DEFINED__
77 #define __IUpdaterControlCallback_FWD_DEFINED__
78 typedef interface IUpdaterControlCallback IUpdaterControlCallback;
79 
80 #endif 	/* __IUpdaterControlCallback_FWD_DEFINED__ */
81 
82 
83 #ifndef __IUpdaterControl_FWD_DEFINED__
84 #define __IUpdaterControl_FWD_DEFINED__
85 typedef interface IUpdaterControl IUpdaterControl;
86 
87 #endif 	/* __IUpdaterControl_FWD_DEFINED__ */
88 
89 
90 #ifndef __IUpdateState_FWD_DEFINED__
91 #define __IUpdateState_FWD_DEFINED__
92 typedef interface IUpdateState IUpdateState;
93 
94 #endif 	/* __IUpdateState_FWD_DEFINED__ */
95 
96 
97 #ifndef __ICompleteStatus_FWD_DEFINED__
98 #define __ICompleteStatus_FWD_DEFINED__
99 typedef interface ICompleteStatus ICompleteStatus;
100 
101 #endif 	/* __ICompleteStatus_FWD_DEFINED__ */
102 
103 
104 #ifndef __IUpdaterObserver_FWD_DEFINED__
105 #define __IUpdaterObserver_FWD_DEFINED__
106 typedef interface IUpdaterObserver IUpdaterObserver;
107 
108 #endif 	/* __IUpdaterObserver_FWD_DEFINED__ */
109 
110 
111 #ifndef __IUpdater_FWD_DEFINED__
112 #define __IUpdater_FWD_DEFINED__
113 typedef interface IUpdater IUpdater;
114 
115 #endif 	/* __IUpdater_FWD_DEFINED__ */
116 
117 
118 #ifndef __UpdaterClass_FWD_DEFINED__
119 #define __UpdaterClass_FWD_DEFINED__
120 
121 #ifdef __cplusplus
122 typedef class UpdaterClass UpdaterClass;
123 #else
124 typedef struct UpdaterClass UpdaterClass;
125 #endif /* __cplusplus */
126 
127 #endif 	/* __UpdaterClass_FWD_DEFINED__ */
128 
129 
130 #ifndef __IUpdater_FWD_DEFINED__
131 #define __IUpdater_FWD_DEFINED__
132 typedef interface IUpdater IUpdater;
133 
134 #endif 	/* __IUpdater_FWD_DEFINED__ */
135 
136 
137 #ifndef __IUpdaterControl_FWD_DEFINED__
138 #define __IUpdaterControl_FWD_DEFINED__
139 typedef interface IUpdaterControl IUpdaterControl;
140 
141 #endif 	/* __IUpdaterControl_FWD_DEFINED__ */
142 
143 
144 #ifndef __ICurrentState_FWD_DEFINED__
145 #define __ICurrentState_FWD_DEFINED__
146 typedef interface ICurrentState ICurrentState;
147 
148 #endif 	/* __ICurrentState_FWD_DEFINED__ */
149 
150 
151 #ifndef __IGoogleUpdate3Web_FWD_DEFINED__
152 #define __IGoogleUpdate3Web_FWD_DEFINED__
153 typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;
154 
155 #endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */
156 
157 
158 #ifndef __IAppBundleWeb_FWD_DEFINED__
159 #define __IAppBundleWeb_FWD_DEFINED__
160 typedef interface IAppBundleWeb IAppBundleWeb;
161 
162 #endif 	/* __IAppBundleWeb_FWD_DEFINED__ */
163 
164 
165 #ifndef __IAppWeb_FWD_DEFINED__
166 #define __IAppWeb_FWD_DEFINED__
167 typedef interface IAppWeb IAppWeb;
168 
169 #endif 	/* __IAppWeb_FWD_DEFINED__ */
170 
171 
172 /* header files for imported files */
173 #include "oaidl.h"
174 #include "ocidl.h"
175 
176 #ifdef __cplusplus
177 extern "C"{
178 #endif
179 
180 
181 /* interface __MIDL_itf_updater_idl_0000_0000 */
182 /* [local] */
183 
184 typedef
185 enum CurrentState
186     {
187         STATE_INIT	= 1,
188         STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,
189         STATE_CHECKING_FOR_UPDATE	= 3,
190         STATE_UPDATE_AVAILABLE	= 4,
191         STATE_WAITING_TO_DOWNLOAD	= 5,
192         STATE_RETRYING_DOWNLOAD	= 6,
193         STATE_DOWNLOADING	= 7,
194         STATE_DOWNLOAD_COMPLETE	= 8,
195         STATE_EXTRACTING	= 9,
196         STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,
197         STATE_READY_TO_INSTALL	= 11,
198         STATE_WAITING_TO_INSTALL	= 12,
199         STATE_INSTALLING	= 13,
200         STATE_INSTALL_COMPLETE	= 14,
201         STATE_PAUSED	= 15,
202         STATE_NO_UPDATE	= 16,
203         STATE_ERROR	= 17
204     } 	CurrentState;
205 
206 
207 
208 extern RPC_IF_HANDLE __MIDL_itf_updater_idl_0000_0000_v0_0_c_ifspec;
209 extern RPC_IF_HANDLE __MIDL_itf_updater_idl_0000_0000_v0_0_s_ifspec;
210 
211 #ifndef __ICurrentState_INTERFACE_DEFINED__
212 #define __ICurrentState_INTERFACE_DEFINED__
213 
214 /* interface ICurrentState */
215 /* [unique][helpstring][uuid][dual][object] */
216 
217 
218 EXTERN_C const IID IID_ICurrentState;
219 
220 #if defined(__cplusplus) && !defined(CINTERFACE)
221 
222     MIDL_INTERFACE("247954F9-9EDC-4E68-8CC3-150C2B89EADF")
223     ICurrentState : public IDispatch
224     {
225     public:
226         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue(
227             /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;
228 
229         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion(
230             /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;
231 
232         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded(
233             /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;
234 
235         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload(
236             /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;
237 
238         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs(
239             /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;
240 
241         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime(
242             /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;
243 
244         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress(
245             /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;
246 
247         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs(
248             /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;
249 
250         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled(
251             /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;
252 
253         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode(
254             /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;
255 
256         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1(
257             /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;
258 
259         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage(
260             /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;
261 
262         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode(
263             /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;
264 
265         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1(
266             /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;
267 
268         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine(
269             /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;
270 
271         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl(
272             /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;
273 
274         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction(
275             /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;
276 
277     };
278 
279 
280 #else 	/* C style interface */
281 
282     typedef struct ICurrentStateVtbl
283     {
284         BEGIN_INTERFACE
285 
286         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
287             ICurrentState * This,
288             /* [in] */ REFIID riid,
289             /* [annotation][iid_is][out] */
290             _COM_Outptr_  void **ppvObject);
291 
292         ULONG ( STDMETHODCALLTYPE *AddRef )(
293             ICurrentState * This);
294 
295         ULONG ( STDMETHODCALLTYPE *Release )(
296             ICurrentState * This);
297 
298         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
299             ICurrentState * This,
300             /* [out] */ UINT *pctinfo);
301 
302         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
303             ICurrentState * This,
304             /* [in] */ UINT iTInfo,
305             /* [in] */ LCID lcid,
306             /* [out] */ ITypeInfo **ppTInfo);
307 
308         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
309             ICurrentState * This,
310             /* [in] */ REFIID riid,
311             /* [size_is][in] */ LPOLESTR *rgszNames,
312             /* [range][in] */ UINT cNames,
313             /* [in] */ LCID lcid,
314             /* [size_is][out] */ DISPID *rgDispId);
315 
316         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
317             ICurrentState * This,
318             /* [annotation][in] */
319             _In_  DISPID dispIdMember,
320             /* [annotation][in] */
321             _In_  REFIID riid,
322             /* [annotation][in] */
323             _In_  LCID lcid,
324             /* [annotation][in] */
325             _In_  WORD wFlags,
326             /* [annotation][out][in] */
327             _In_  DISPPARAMS *pDispParams,
328             /* [annotation][out] */
329             _Out_opt_  VARIANT *pVarResult,
330             /* [annotation][out] */
331             _Out_opt_  EXCEPINFO *pExcepInfo,
332             /* [annotation][out] */
333             _Out_opt_  UINT *puArgErr);
334 
335         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )(
336             ICurrentState * This,
337             /* [retval][out] */ LONG *__MIDL__ICurrentState0000);
338 
339         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )(
340             ICurrentState * This,
341             /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);
342 
343         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )(
344             ICurrentState * This,
345             /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);
346 
347         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )(
348             ICurrentState * This,
349             /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);
350 
351         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )(
352             ICurrentState * This,
353             /* [retval][out] */ LONG *__MIDL__ICurrentState0004);
354 
355         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )(
356             ICurrentState * This,
357             /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);
358 
359         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )(
360             ICurrentState * This,
361             /* [retval][out] */ LONG *__MIDL__ICurrentState0006);
362 
363         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )(
364             ICurrentState * This,
365             /* [retval][out] */ LONG *__MIDL__ICurrentState0007);
366 
367         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )(
368             ICurrentState * This,
369             /* [retval][out] */ VARIANT_BOOL *is_canceled);
370 
371         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )(
372             ICurrentState * This,
373             /* [retval][out] */ LONG *__MIDL__ICurrentState0008);
374 
375         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )(
376             ICurrentState * This,
377             /* [retval][out] */ LONG *__MIDL__ICurrentState0009);
378 
379         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )(
380             ICurrentState * This,
381             /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);
382 
383         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )(
384             ICurrentState * This,
385             /* [retval][out] */ LONG *__MIDL__ICurrentState0011);
386 
387         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )(
388             ICurrentState * This,
389             /* [retval][out] */ LONG *__MIDL__ICurrentState0012);
390 
391         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )(
392             ICurrentState * This,
393             /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);
394 
395         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )(
396             ICurrentState * This,
397             /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);
398 
399         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )(
400             ICurrentState * This,
401             /* [retval][out] */ LONG *__MIDL__ICurrentState0015);
402 
403         END_INTERFACE
404     } ICurrentStateVtbl;
405 
406     interface ICurrentState
407     {
408         CONST_VTBL struct ICurrentStateVtbl *lpVtbl;
409     };
410 
411 
412 
413 #ifdef COBJMACROS
414 
415 
416 #define ICurrentState_QueryInterface(This,riid,ppvObject)	\
417     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
418 
419 #define ICurrentState_AddRef(This)	\
420     ( (This)->lpVtbl -> AddRef(This) )
421 
422 #define ICurrentState_Release(This)	\
423     ( (This)->lpVtbl -> Release(This) )
424 
425 
426 #define ICurrentState_GetTypeInfoCount(This,pctinfo)	\
427     ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
428 
429 #define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
430     ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
431 
432 #define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
433     ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
434 
435 #define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
436     ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
437 
438 
439 #define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\
440     ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) )
441 
442 #define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\
443     ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) )
444 
445 #define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\
446     ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) )
447 
448 #define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\
449     ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) )
450 
451 #define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\
452     ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) )
453 
454 #define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\
455     ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) )
456 
457 #define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\
458     ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) )
459 
460 #define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\
461     ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) )
462 
463 #define ICurrentState_get_isCanceled(This,is_canceled)	\
464     ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) )
465 
466 #define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\
467     ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) )
468 
469 #define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\
470     ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) )
471 
472 #define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\
473     ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) )
474 
475 #define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\
476     ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) )
477 
478 #define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\
479     ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) )
480 
481 #define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\
482     ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) )
483 
484 #define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\
485     ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) )
486 
487 #define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\
488     ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) )
489 
490 #endif /* COBJMACROS */
491 
492 
493 #endif 	/* C style interface */
494 
495 
496 
497 
498 #endif 	/* __ICurrentState_INTERFACE_DEFINED__ */
499 
500 
501 #ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__
502 #define __IGoogleUpdate3Web_INTERFACE_DEFINED__
503 
504 /* interface IGoogleUpdate3Web */
505 /* [unique][helpstring][uuid][dual][object] */
506 
507 
508 EXTERN_C const IID IID_IGoogleUpdate3Web;
509 
510 #if defined(__cplusplus) && !defined(CINTERFACE)
511 
512     MIDL_INTERFACE("494B20CF-282E-4BDD-9F5D-B70CB09D351E")
513     IGoogleUpdate3Web : public IDispatch
514     {
515     public:
516         virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb(
517             /* [retval][out] */ IDispatch **app_bundle_web) = 0;
518 
519     };
520 
521 
522 #else 	/* C style interface */
523 
524     typedef struct IGoogleUpdate3WebVtbl
525     {
526         BEGIN_INTERFACE
527 
528         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
529             IGoogleUpdate3Web * This,
530             /* [in] */ REFIID riid,
531             /* [annotation][iid_is][out] */
532             _COM_Outptr_  void **ppvObject);
533 
534         ULONG ( STDMETHODCALLTYPE *AddRef )(
535             IGoogleUpdate3Web * This);
536 
537         ULONG ( STDMETHODCALLTYPE *Release )(
538             IGoogleUpdate3Web * This);
539 
540         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
541             IGoogleUpdate3Web * This,
542             /* [out] */ UINT *pctinfo);
543 
544         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
545             IGoogleUpdate3Web * This,
546             /* [in] */ UINT iTInfo,
547             /* [in] */ LCID lcid,
548             /* [out] */ ITypeInfo **ppTInfo);
549 
550         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
551             IGoogleUpdate3Web * This,
552             /* [in] */ REFIID riid,
553             /* [size_is][in] */ LPOLESTR *rgszNames,
554             /* [range][in] */ UINT cNames,
555             /* [in] */ LCID lcid,
556             /* [size_is][out] */ DISPID *rgDispId);
557 
558         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
559             IGoogleUpdate3Web * This,
560             /* [annotation][in] */
561             _In_  DISPID dispIdMember,
562             /* [annotation][in] */
563             _In_  REFIID riid,
564             /* [annotation][in] */
565             _In_  LCID lcid,
566             /* [annotation][in] */
567             _In_  WORD wFlags,
568             /* [annotation][out][in] */
569             _In_  DISPPARAMS *pDispParams,
570             /* [annotation][out] */
571             _Out_opt_  VARIANT *pVarResult,
572             /* [annotation][out] */
573             _Out_opt_  EXCEPINFO *pExcepInfo,
574             /* [annotation][out] */
575             _Out_opt_  UINT *puArgErr);
576 
577         HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )(
578             IGoogleUpdate3Web * This,
579             /* [retval][out] */ IDispatch **app_bundle_web);
580 
581         END_INTERFACE
582     } IGoogleUpdate3WebVtbl;
583 
584     interface IGoogleUpdate3Web
585     {
586         CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;
587     };
588 
589 
590 
591 #ifdef COBJMACROS
592 
593 
594 #define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\
595     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
596 
597 #define IGoogleUpdate3Web_AddRef(This)	\
598     ( (This)->lpVtbl -> AddRef(This) )
599 
600 #define IGoogleUpdate3Web_Release(This)	\
601     ( (This)->lpVtbl -> Release(This) )
602 
603 
604 #define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\
605     ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
606 
607 #define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
608     ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
609 
610 #define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
611     ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
612 
613 #define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
614     ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
615 
616 
617 #define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\
618     ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) )
619 
620 #endif /* COBJMACROS */
621 
622 
623 #endif 	/* C style interface */
624 
625 
626 
627 
628 #endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */
629 
630 
631 #ifndef __IAppBundleWeb_INTERFACE_DEFINED__
632 #define __IAppBundleWeb_INTERFACE_DEFINED__
633 
634 /* interface IAppBundleWeb */
635 /* [unique][helpstring][uuid][dual][object] */
636 
637 
638 EXTERN_C const IID IID_IAppBundleWeb;
639 
640 #if defined(__cplusplus) && !defined(CINTERFACE)
641 
642     MIDL_INTERFACE("DD42475D-6D46-496a-924E-BD5630B4CBBA")
643     IAppBundleWeb : public IDispatch
644     {
645     public:
646         virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp(
647             /* [in] */ BSTR app_guid,
648             /* [in] */ BSTR brand_code,
649             /* [in] */ BSTR language,
650             /* [in] */ BSTR ap) = 0;
651 
652         virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp(
653             /* [in] */ BSTR app_id) = 0;
654 
655         virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;
656 
657         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage(
658             /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;
659 
660         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage(
661             /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;
662 
663         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND(
664             /* [in] */ ULONG_PTR hwnd) = 0;
665 
666         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length(
667             /* [retval][out] */ int *index) = 0;
668 
669         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb(
670             /* [in] */ int index,
671             /* [retval][out] */ IDispatch **app_web) = 0;
672 
673         virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;
674 
675         virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;
676 
677         virtual HRESULT STDMETHODCALLTYPE download( void) = 0;
678 
679         virtual HRESULT STDMETHODCALLTYPE install( void) = 0;
680 
681         virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;
682 
683         virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;
684 
685         virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;
686 
687         virtual HRESULT STDMETHODCALLTYPE downloadPackage(
688             /* [in] */ BSTR app_id,
689             /* [in] */ BSTR package_name) = 0;
690 
691         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState(
692             /* [retval][out] */ VARIANT *current_state) = 0;
693 
694     };
695 
696 
697 #else 	/* C style interface */
698 
699     typedef struct IAppBundleWebVtbl
700     {
701         BEGIN_INTERFACE
702 
703         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
704             IAppBundleWeb * This,
705             /* [in] */ REFIID riid,
706             /* [annotation][iid_is][out] */
707             _COM_Outptr_  void **ppvObject);
708 
709         ULONG ( STDMETHODCALLTYPE *AddRef )(
710             IAppBundleWeb * This);
711 
712         ULONG ( STDMETHODCALLTYPE *Release )(
713             IAppBundleWeb * This);
714 
715         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
716             IAppBundleWeb * This,
717             /* [out] */ UINT *pctinfo);
718 
719         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
720             IAppBundleWeb * This,
721             /* [in] */ UINT iTInfo,
722             /* [in] */ LCID lcid,
723             /* [out] */ ITypeInfo **ppTInfo);
724 
725         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
726             IAppBundleWeb * This,
727             /* [in] */ REFIID riid,
728             /* [size_is][in] */ LPOLESTR *rgszNames,
729             /* [range][in] */ UINT cNames,
730             /* [in] */ LCID lcid,
731             /* [size_is][out] */ DISPID *rgDispId);
732 
733         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
734             IAppBundleWeb * This,
735             /* [annotation][in] */
736             _In_  DISPID dispIdMember,
737             /* [annotation][in] */
738             _In_  REFIID riid,
739             /* [annotation][in] */
740             _In_  LCID lcid,
741             /* [annotation][in] */
742             _In_  WORD wFlags,
743             /* [annotation][out][in] */
744             _In_  DISPPARAMS *pDispParams,
745             /* [annotation][out] */
746             _Out_opt_  VARIANT *pVarResult,
747             /* [annotation][out] */
748             _Out_opt_  EXCEPINFO *pExcepInfo,
749             /* [annotation][out] */
750             _Out_opt_  UINT *puArgErr);
751 
752         /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )(
753             IAppBundleWeb * This,
754             /* [in] */ BSTR app_guid,
755             /* [in] */ BSTR brand_code,
756             /* [in] */ BSTR language,
757             /* [in] */ BSTR ap);
758 
759         /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )(
760             IAppBundleWeb * This,
761             /* [in] */ BSTR app_id);
762 
763         /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )(
764             IAppBundleWeb * This);
765 
766         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )(
767             IAppBundleWeb * This,
768             /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);
769 
770         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )(
771             IAppBundleWeb * This,
772             /* [in] */ BSTR __MIDL__IAppBundleWeb0001);
773 
774         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )(
775             IAppBundleWeb * This,
776             /* [in] */ ULONG_PTR hwnd);
777 
778         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
779             IAppBundleWeb * This,
780             /* [retval][out] */ int *index);
781 
782         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )(
783             IAppBundleWeb * This,
784             /* [in] */ int index,
785             /* [retval][out] */ IDispatch **app_web);
786 
787         HRESULT ( STDMETHODCALLTYPE *initialize )(
788             IAppBundleWeb * This);
789 
790         HRESULT ( STDMETHODCALLTYPE *checkForUpdate )(
791             IAppBundleWeb * This);
792 
793         HRESULT ( STDMETHODCALLTYPE *download )(
794             IAppBundleWeb * This);
795 
796         HRESULT ( STDMETHODCALLTYPE *install )(
797             IAppBundleWeb * This);
798 
799         HRESULT ( STDMETHODCALLTYPE *pause )(
800             IAppBundleWeb * This);
801 
802         HRESULT ( STDMETHODCALLTYPE *resume )(
803             IAppBundleWeb * This);
804 
805         HRESULT ( STDMETHODCALLTYPE *cancel )(
806             IAppBundleWeb * This);
807 
808         HRESULT ( STDMETHODCALLTYPE *downloadPackage )(
809             IAppBundleWeb * This,
810             /* [in] */ BSTR app_id,
811             /* [in] */ BSTR package_name);
812 
813         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )(
814             IAppBundleWeb * This,
815             /* [retval][out] */ VARIANT *current_state);
816 
817         END_INTERFACE
818     } IAppBundleWebVtbl;
819 
820     interface IAppBundleWeb
821     {
822         CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;
823     };
824 
825 
826 
827 #ifdef COBJMACROS
828 
829 
830 #define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\
831     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
832 
833 #define IAppBundleWeb_AddRef(This)	\
834     ( (This)->lpVtbl -> AddRef(This) )
835 
836 #define IAppBundleWeb_Release(This)	\
837     ( (This)->lpVtbl -> Release(This) )
838 
839 
840 #define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\
841     ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
842 
843 #define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
844     ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
845 
846 #define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
847     ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
848 
849 #define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
850     ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
851 
852 
853 #define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\
854     ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) )
855 
856 #define IAppBundleWeb_createInstalledApp(This,app_id)	\
857     ( (This)->lpVtbl -> createInstalledApp(This,app_id) )
858 
859 #define IAppBundleWeb_createAllInstalledApps(This)	\
860     ( (This)->lpVtbl -> createAllInstalledApps(This) )
861 
862 #define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\
863     ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) )
864 
865 #define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\
866     ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) )
867 
868 #define IAppBundleWeb_put_parentHWND(This,hwnd)	\
869     ( (This)->lpVtbl -> put_parentHWND(This,hwnd) )
870 
871 #define IAppBundleWeb_get_length(This,index)	\
872     ( (This)->lpVtbl -> get_length(This,index) )
873 
874 #define IAppBundleWeb_get_appWeb(This,index,app_web)	\
875     ( (This)->lpVtbl -> get_appWeb(This,index,app_web) )
876 
877 #define IAppBundleWeb_initialize(This)	\
878     ( (This)->lpVtbl -> initialize(This) )
879 
880 #define IAppBundleWeb_checkForUpdate(This)	\
881     ( (This)->lpVtbl -> checkForUpdate(This) )
882 
883 #define IAppBundleWeb_download(This)	\
884     ( (This)->lpVtbl -> download(This) )
885 
886 #define IAppBundleWeb_install(This)	\
887     ( (This)->lpVtbl -> install(This) )
888 
889 #define IAppBundleWeb_pause(This)	\
890     ( (This)->lpVtbl -> pause(This) )
891 
892 #define IAppBundleWeb_resume(This)	\
893     ( (This)->lpVtbl -> resume(This) )
894 
895 #define IAppBundleWeb_cancel(This)	\
896     ( (This)->lpVtbl -> cancel(This) )
897 
898 #define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\
899     ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) )
900 
901 #define IAppBundleWeb_get_currentState(This,current_state)	\
902     ( (This)->lpVtbl -> get_currentState(This,current_state) )
903 
904 #endif /* COBJMACROS */
905 
906 
907 #endif 	/* C style interface */
908 
909 
910 
911 
912 #endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */
913 
914 
915 #ifndef __IAppWeb_INTERFACE_DEFINED__
916 #define __IAppWeb_INTERFACE_DEFINED__
917 
918 /* interface IAppWeb */
919 /* [unique][helpstring][uuid][dual][object] */
920 
921 
922 EXTERN_C const IID IID_IAppWeb;
923 
924 #if defined(__cplusplus) && !defined(CINTERFACE)
925 
926     MIDL_INTERFACE("18D0F672-18B4-48e6-AD36-6E6BF01DBBC4")
927     IAppWeb : public IDispatch
928     {
929     public:
930         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId(
931             /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;
932 
933         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb(
934             /* [retval][out] */ IDispatch **current) = 0;
935 
936         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb(
937             /* [retval][out] */ IDispatch **next) = 0;
938 
939         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command(
940             /* [in] */ BSTR command_id,
941             /* [retval][out] */ IDispatch **command) = 0;
942 
943         virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;
944 
945         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState(
946             /* [retval][out] */ IDispatch **current_state) = 0;
947 
948         virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;
949 
950         virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;
951 
952         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex(
953             /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;
954 
955         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex(
956             /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;
957 
958     };
959 
960 
961 #else 	/* C style interface */
962 
963     typedef struct IAppWebVtbl
964     {
965         BEGIN_INTERFACE
966 
967         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
968             IAppWeb * This,
969             /* [in] */ REFIID riid,
970             /* [annotation][iid_is][out] */
971             _COM_Outptr_  void **ppvObject);
972 
973         ULONG ( STDMETHODCALLTYPE *AddRef )(
974             IAppWeb * This);
975 
976         ULONG ( STDMETHODCALLTYPE *Release )(
977             IAppWeb * This);
978 
979         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
980             IAppWeb * This,
981             /* [out] */ UINT *pctinfo);
982 
983         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
984             IAppWeb * This,
985             /* [in] */ UINT iTInfo,
986             /* [in] */ LCID lcid,
987             /* [out] */ ITypeInfo **ppTInfo);
988 
989         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
990             IAppWeb * This,
991             /* [in] */ REFIID riid,
992             /* [size_is][in] */ LPOLESTR *rgszNames,
993             /* [range][in] */ UINT cNames,
994             /* [in] */ LCID lcid,
995             /* [size_is][out] */ DISPID *rgDispId);
996 
997         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
998             IAppWeb * This,
999             /* [annotation][in] */
1000             _In_  DISPID dispIdMember,
1001             /* [annotation][in] */
1002             _In_  REFIID riid,
1003             /* [annotation][in] */
1004             _In_  LCID lcid,
1005             /* [annotation][in] */
1006             _In_  WORD wFlags,
1007             /* [annotation][out][in] */
1008             _In_  DISPPARAMS *pDispParams,
1009             /* [annotation][out] */
1010             _Out_opt_  VARIANT *pVarResult,
1011             /* [annotation][out] */
1012             _Out_opt_  EXCEPINFO *pExcepInfo,
1013             /* [annotation][out] */
1014             _Out_opt_  UINT *puArgErr);
1015 
1016         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )(
1017             IAppWeb * This,
1018             /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);
1019 
1020         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )(
1021             IAppWeb * This,
1022             /* [retval][out] */ IDispatch **current);
1023 
1024         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )(
1025             IAppWeb * This,
1026             /* [retval][out] */ IDispatch **next);
1027 
1028         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )(
1029             IAppWeb * This,
1030             /* [in] */ BSTR command_id,
1031             /* [retval][out] */ IDispatch **command);
1032 
1033         HRESULT ( STDMETHODCALLTYPE *cancel )(
1034             IAppWeb * This);
1035 
1036         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )(
1037             IAppWeb * This,
1038             /* [retval][out] */ IDispatch **current_state);
1039 
1040         HRESULT ( STDMETHODCALLTYPE *launch )(
1041             IAppWeb * This);
1042 
1043         HRESULT ( STDMETHODCALLTYPE *uninstall )(
1044             IAppWeb * This);
1045 
1046         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )(
1047             IAppWeb * This,
1048             /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);
1049 
1050         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )(
1051             IAppWeb * This,
1052             /* [in] */ BSTR __MIDL__IAppWeb0002);
1053 
1054         END_INTERFACE
1055     } IAppWebVtbl;
1056 
1057     interface IAppWeb
1058     {
1059         CONST_VTBL struct IAppWebVtbl *lpVtbl;
1060     };
1061 
1062 
1063 
1064 #ifdef COBJMACROS
1065 
1066 
1067 #define IAppWeb_QueryInterface(This,riid,ppvObject)	\
1068     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1069 
1070 #define IAppWeb_AddRef(This)	\
1071     ( (This)->lpVtbl -> AddRef(This) )
1072 
1073 #define IAppWeb_Release(This)	\
1074     ( (This)->lpVtbl -> Release(This) )
1075 
1076 
1077 #define IAppWeb_GetTypeInfoCount(This,pctinfo)	\
1078     ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) )
1079 
1080 #define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
1081     ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) )
1082 
1083 #define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
1084     ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) )
1085 
1086 #define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
1087     ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) )
1088 
1089 
1090 #define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\
1091     ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) )
1092 
1093 #define IAppWeb_get_currentVersionWeb(This,current)	\
1094     ( (This)->lpVtbl -> get_currentVersionWeb(This,current) )
1095 
1096 #define IAppWeb_get_nextVersionWeb(This,next)	\
1097     ( (This)->lpVtbl -> get_nextVersionWeb(This,next) )
1098 
1099 #define IAppWeb_get_command(This,command_id,command)	\
1100     ( (This)->lpVtbl -> get_command(This,command_id,command) )
1101 
1102 #define IAppWeb_cancel(This)	\
1103     ( (This)->lpVtbl -> cancel(This) )
1104 
1105 #define IAppWeb_get_currentState(This,current_state)	\
1106     ( (This)->lpVtbl -> get_currentState(This,current_state) )
1107 
1108 #define IAppWeb_launch(This)	\
1109     ( (This)->lpVtbl -> launch(This) )
1110 
1111 #define IAppWeb_uninstall(This)	\
1112     ( (This)->lpVtbl -> uninstall(This) )
1113 
1114 #define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\
1115     ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) )
1116 
1117 #define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\
1118     ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) )
1119 
1120 #endif /* COBJMACROS */
1121 
1122 
1123 #endif 	/* C style interface */
1124 
1125 
1126 
1127 
1128 #endif 	/* __IAppWeb_INTERFACE_DEFINED__ */
1129 
1130 
1131 #ifndef __IUpdaterControlCallback_INTERFACE_DEFINED__
1132 #define __IUpdaterControlCallback_INTERFACE_DEFINED__
1133 
1134 /* interface IUpdaterControlCallback */
1135 /* [unique][helpstring][uuid][dual][object] */
1136 
1137 
1138 EXTERN_C const IID IID_IUpdaterControlCallback;
1139 
1140 #if defined(__cplusplus) && !defined(CINTERFACE)
1141 
1142     MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")
1143     IUpdaterControlCallback : public IUnknown
1144     {
1145     public:
1146         virtual HRESULT STDMETHODCALLTYPE Run(
1147             /* [in] */ LONG result) = 0;
1148 
1149     };
1150 
1151 
1152 #else 	/* C style interface */
1153 
1154     typedef struct IUpdaterControlCallbackVtbl
1155     {
1156         BEGIN_INTERFACE
1157 
1158         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1159             IUpdaterControlCallback * This,
1160             /* [in] */ REFIID riid,
1161             /* [annotation][iid_is][out] */
1162             _COM_Outptr_  void **ppvObject);
1163 
1164         ULONG ( STDMETHODCALLTYPE *AddRef )(
1165             IUpdaterControlCallback * This);
1166 
1167         ULONG ( STDMETHODCALLTYPE *Release )(
1168             IUpdaterControlCallback * This);
1169 
1170         HRESULT ( STDMETHODCALLTYPE *Run )(
1171             IUpdaterControlCallback * This,
1172             /* [in] */ LONG result);
1173 
1174         END_INTERFACE
1175     } IUpdaterControlCallbackVtbl;
1176 
1177     interface IUpdaterControlCallback
1178     {
1179         CONST_VTBL struct IUpdaterControlCallbackVtbl *lpVtbl;
1180     };
1181 
1182 
1183 
1184 #ifdef COBJMACROS
1185 
1186 
1187 #define IUpdaterControlCallback_QueryInterface(This,riid,ppvObject)	\
1188     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1189 
1190 #define IUpdaterControlCallback_AddRef(This)	\
1191     ( (This)->lpVtbl -> AddRef(This) )
1192 
1193 #define IUpdaterControlCallback_Release(This)	\
1194     ( (This)->lpVtbl -> Release(This) )
1195 
1196 
1197 #define IUpdaterControlCallback_Run(This,result)	\
1198     ( (This)->lpVtbl -> Run(This,result) )
1199 
1200 #endif /* COBJMACROS */
1201 
1202 
1203 #endif 	/* C style interface */
1204 
1205 
1206 
1207 
1208 #endif 	/* __IUpdaterControlCallback_INTERFACE_DEFINED__ */
1209 
1210 
1211 #ifndef __IUpdaterControl_INTERFACE_DEFINED__
1212 #define __IUpdaterControl_INTERFACE_DEFINED__
1213 
1214 /* interface IUpdaterControl */
1215 /* [unique][helpstring][uuid][dual][object] */
1216 
1217 
1218 EXTERN_C const IID IID_IUpdaterControl;
1219 
1220 #if defined(__cplusplus) && !defined(CINTERFACE)
1221 
1222     MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")
1223     IUpdaterControl : public IUnknown
1224     {
1225     public:
1226         virtual HRESULT STDMETHODCALLTYPE Run(
1227             /* [in] */ IUpdaterControlCallback *callback) = 0;
1228 
1229         virtual HRESULT STDMETHODCALLTYPE InitializeUpdateService(
1230             /* [in] */ IUpdaterControlCallback *callback) = 0;
1231 
1232     };
1233 
1234 
1235 #else 	/* C style interface */
1236 
1237     typedef struct IUpdaterControlVtbl
1238     {
1239         BEGIN_INTERFACE
1240 
1241         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1242             IUpdaterControl * This,
1243             /* [in] */ REFIID riid,
1244             /* [annotation][iid_is][out] */
1245             _COM_Outptr_  void **ppvObject);
1246 
1247         ULONG ( STDMETHODCALLTYPE *AddRef )(
1248             IUpdaterControl * This);
1249 
1250         ULONG ( STDMETHODCALLTYPE *Release )(
1251             IUpdaterControl * This);
1252 
1253         HRESULT ( STDMETHODCALLTYPE *Run )(
1254             IUpdaterControl * This,
1255             /* [in] */ IUpdaterControlCallback *callback);
1256 
1257         HRESULT ( STDMETHODCALLTYPE *InitializeUpdateService )(
1258             IUpdaterControl * This,
1259             /* [in] */ IUpdaterControlCallback *callback);
1260 
1261         END_INTERFACE
1262     } IUpdaterControlVtbl;
1263 
1264     interface IUpdaterControl
1265     {
1266         CONST_VTBL struct IUpdaterControlVtbl *lpVtbl;
1267     };
1268 
1269 
1270 
1271 #ifdef COBJMACROS
1272 
1273 
1274 #define IUpdaterControl_QueryInterface(This,riid,ppvObject)	\
1275     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1276 
1277 #define IUpdaterControl_AddRef(This)	\
1278     ( (This)->lpVtbl -> AddRef(This) )
1279 
1280 #define IUpdaterControl_Release(This)	\
1281     ( (This)->lpVtbl -> Release(This) )
1282 
1283 
1284 #define IUpdaterControl_Run(This,callback)	\
1285     ( (This)->lpVtbl -> Run(This,callback) )
1286 
1287 #define IUpdaterControl_InitializeUpdateService(This,callback)	\
1288     ( (This)->lpVtbl -> InitializeUpdateService(This,callback) )
1289 
1290 #endif /* COBJMACROS */
1291 
1292 
1293 #endif 	/* C style interface */
1294 
1295 
1296 
1297 
1298 #endif 	/* __IUpdaterControl_INTERFACE_DEFINED__ */
1299 
1300 
1301 #ifndef __IUpdateState_INTERFACE_DEFINED__
1302 #define __IUpdateState_INTERFACE_DEFINED__
1303 
1304 /* interface IUpdateState */
1305 /* [unique][helpstring][uuid][dual][object] */
1306 
1307 
1308 EXTERN_C const IID IID_IUpdateState;
1309 
1310 #if defined(__cplusplus) && !defined(CINTERFACE)
1311 
1312     MIDL_INTERFACE("46ACF70B-AC13-406D-B53B-B2C4BF091FF6")
1313     IUpdateState : public IUnknown
1314     {
1315     public:
1316         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state(
1317             /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;
1318 
1319         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId(
1320             /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;
1321 
1322         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion(
1323             /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;
1324 
1325         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes(
1326             /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;
1327 
1328         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes(
1329             /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;
1330 
1331         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress(
1332             /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;
1333 
1334         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory(
1335             /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;
1336 
1337         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode(
1338             /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;
1339 
1340         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1(
1341             /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;
1342 
1343     };
1344 
1345 
1346 #else 	/* C style interface */
1347 
1348     typedef struct IUpdateStateVtbl
1349     {
1350         BEGIN_INTERFACE
1351 
1352         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1353             IUpdateState * This,
1354             /* [in] */ REFIID riid,
1355             /* [annotation][iid_is][out] */
1356             _COM_Outptr_  void **ppvObject);
1357 
1358         ULONG ( STDMETHODCALLTYPE *AddRef )(
1359             IUpdateState * This);
1360 
1361         ULONG ( STDMETHODCALLTYPE *Release )(
1362             IUpdateState * This);
1363 
1364         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )(
1365             IUpdateState * This,
1366             /* [retval][out] */ LONG *__MIDL__IUpdateState0000);
1367 
1368         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )(
1369             IUpdateState * This,
1370             /* [retval][out] */ BSTR *__MIDL__IUpdateState0001);
1371 
1372         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )(
1373             IUpdateState * This,
1374             /* [retval][out] */ BSTR *__MIDL__IUpdateState0002);
1375 
1376         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )(
1377             IUpdateState * This,
1378             /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);
1379 
1380         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )(
1381             IUpdateState * This,
1382             /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);
1383 
1384         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )(
1385             IUpdateState * This,
1386             /* [retval][out] */ LONG *__MIDL__IUpdateState0005);
1387 
1388         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )(
1389             IUpdateState * This,
1390             /* [retval][out] */ LONG *__MIDL__IUpdateState0006);
1391 
1392         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )(
1393             IUpdateState * This,
1394             /* [retval][out] */ LONG *__MIDL__IUpdateState0007);
1395 
1396         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )(
1397             IUpdateState * This,
1398             /* [retval][out] */ LONG *__MIDL__IUpdateState0008);
1399 
1400         END_INTERFACE
1401     } IUpdateStateVtbl;
1402 
1403     interface IUpdateState
1404     {
1405         CONST_VTBL struct IUpdateStateVtbl *lpVtbl;
1406     };
1407 
1408 
1409 
1410 #ifdef COBJMACROS
1411 
1412 
1413 #define IUpdateState_QueryInterface(This,riid,ppvObject)	\
1414     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1415 
1416 #define IUpdateState_AddRef(This)	\
1417     ( (This)->lpVtbl -> AddRef(This) )
1418 
1419 #define IUpdateState_Release(This)	\
1420     ( (This)->lpVtbl -> Release(This) )
1421 
1422 
1423 #define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\
1424     ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) )
1425 
1426 #define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\
1427     ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) )
1428 
1429 #define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\
1430     ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) )
1431 
1432 #define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\
1433     ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) )
1434 
1435 #define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\
1436     ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) )
1437 
1438 #define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\
1439     ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) )
1440 
1441 #define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\
1442     ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) )
1443 
1444 #define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\
1445     ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) )
1446 
1447 #define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\
1448     ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) )
1449 
1450 #endif /* COBJMACROS */
1451 
1452 
1453 #endif 	/* C style interface */
1454 
1455 
1456 
1457 
1458 #endif 	/* __IUpdateState_INTERFACE_DEFINED__ */
1459 
1460 
1461 #ifndef __ICompleteStatus_INTERFACE_DEFINED__
1462 #define __ICompleteStatus_INTERFACE_DEFINED__
1463 
1464 /* interface ICompleteStatus */
1465 /* [unique][helpstring][uuid][dual][object] */
1466 
1467 
1468 EXTERN_C const IID IID_ICompleteStatus;
1469 
1470 #if defined(__cplusplus) && !defined(CINTERFACE)
1471 
1472     MIDL_INTERFACE("2FCD14AF-B645-4351-8359-E80A0E202A0B")
1473     ICompleteStatus : public IUnknown
1474     {
1475     public:
1476         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode(
1477             /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;
1478 
1479         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage(
1480             /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;
1481 
1482     };
1483 
1484 
1485 #else 	/* C style interface */
1486 
1487     typedef struct ICompleteStatusVtbl
1488     {
1489         BEGIN_INTERFACE
1490 
1491         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1492             ICompleteStatus * This,
1493             /* [in] */ REFIID riid,
1494             /* [annotation][iid_is][out] */
1495             _COM_Outptr_  void **ppvObject);
1496 
1497         ULONG ( STDMETHODCALLTYPE *AddRef )(
1498             ICompleteStatus * This);
1499 
1500         ULONG ( STDMETHODCALLTYPE *Release )(
1501             ICompleteStatus * This);
1502 
1503         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )(
1504             ICompleteStatus * This,
1505             /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);
1506 
1507         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )(
1508             ICompleteStatus * This,
1509             /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);
1510 
1511         END_INTERFACE
1512     } ICompleteStatusVtbl;
1513 
1514     interface ICompleteStatus
1515     {
1516         CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;
1517     };
1518 
1519 
1520 
1521 #ifdef COBJMACROS
1522 
1523 
1524 #define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\
1525     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1526 
1527 #define ICompleteStatus_AddRef(This)	\
1528     ( (This)->lpVtbl -> AddRef(This) )
1529 
1530 #define ICompleteStatus_Release(This)	\
1531     ( (This)->lpVtbl -> Release(This) )
1532 
1533 
1534 #define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\
1535     ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) )
1536 
1537 #define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\
1538     ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) )
1539 
1540 #endif /* COBJMACROS */
1541 
1542 
1543 #endif 	/* C style interface */
1544 
1545 
1546 
1547 
1548 #endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */
1549 
1550 
1551 #ifndef __IUpdaterObserver_INTERFACE_DEFINED__
1552 #define __IUpdaterObserver_INTERFACE_DEFINED__
1553 
1554 /* interface IUpdaterObserver */
1555 /* [unique][helpstring][uuid][oleautomation][object] */
1556 
1557 
1558 EXTERN_C const IID IID_IUpdaterObserver;
1559 
1560 #if defined(__cplusplus) && !defined(CINTERFACE)
1561 
1562     MIDL_INTERFACE("7B416CFD-4216-4FD6-BD83-7C586054676E")
1563     IUpdaterObserver : public IUnknown
1564     {
1565     public:
1566         virtual HRESULT STDMETHODCALLTYPE OnStateChange(
1567             /* [in] */ IUpdateState *update_state) = 0;
1568 
1569         virtual HRESULT STDMETHODCALLTYPE OnComplete(
1570             /* [in] */ ICompleteStatus *status) = 0;
1571 
1572     };
1573 
1574 
1575 #else 	/* C style interface */
1576 
1577     typedef struct IUpdaterObserverVtbl
1578     {
1579         BEGIN_INTERFACE
1580 
1581         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1582             IUpdaterObserver * This,
1583             /* [in] */ REFIID riid,
1584             /* [annotation][iid_is][out] */
1585             _COM_Outptr_  void **ppvObject);
1586 
1587         ULONG ( STDMETHODCALLTYPE *AddRef )(
1588             IUpdaterObserver * This);
1589 
1590         ULONG ( STDMETHODCALLTYPE *Release )(
1591             IUpdaterObserver * This);
1592 
1593         HRESULT ( STDMETHODCALLTYPE *OnStateChange )(
1594             IUpdaterObserver * This,
1595             /* [in] */ IUpdateState *update_state);
1596 
1597         HRESULT ( STDMETHODCALLTYPE *OnComplete )(
1598             IUpdaterObserver * This,
1599             /* [in] */ ICompleteStatus *status);
1600 
1601         END_INTERFACE
1602     } IUpdaterObserverVtbl;
1603 
1604     interface IUpdaterObserver
1605     {
1606         CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;
1607     };
1608 
1609 
1610 
1611 #ifdef COBJMACROS
1612 
1613 
1614 #define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\
1615     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1616 
1617 #define IUpdaterObserver_AddRef(This)	\
1618     ( (This)->lpVtbl -> AddRef(This) )
1619 
1620 #define IUpdaterObserver_Release(This)	\
1621     ( (This)->lpVtbl -> Release(This) )
1622 
1623 
1624 #define IUpdaterObserver_OnStateChange(This,update_state)	\
1625     ( (This)->lpVtbl -> OnStateChange(This,update_state) )
1626 
1627 #define IUpdaterObserver_OnComplete(This,status)	\
1628     ( (This)->lpVtbl -> OnComplete(This,status) )
1629 
1630 #endif /* COBJMACROS */
1631 
1632 
1633 #endif 	/* C style interface */
1634 
1635 
1636 
1637 
1638 #endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */
1639 
1640 
1641 #ifndef __IUpdater_INTERFACE_DEFINED__
1642 #define __IUpdater_INTERFACE_DEFINED__
1643 
1644 /* interface IUpdater */
1645 /* [unique][helpstring][uuid][dual][object] */
1646 
1647 
1648 EXTERN_C const IID IID_IUpdater;
1649 
1650 #if defined(__cplusplus) && !defined(CINTERFACE)
1651 
1652     MIDL_INTERFACE("63B8FFB1-5314-48C9-9C57-93EC8BC6184B")
1653     IUpdater : public IUnknown
1654     {
1655     public:
1656         virtual HRESULT STDMETHODCALLTYPE GetVersion(
1657             /* [retval][out] */ BSTR *version) = 0;
1658 
1659         virtual HRESULT STDMETHODCALLTYPE CheckForUpdate(
1660             /* [string][in] */ const WCHAR *app_id) = 0;
1661 
1662         virtual HRESULT STDMETHODCALLTYPE Register(
1663             /* [string][in] */ const WCHAR *app_id,
1664             /* [string][in] */ const WCHAR *brand_code,
1665             /* [string][in] */ const WCHAR *tag,
1666             /* [string][in] */ const WCHAR *version,
1667             /* [string][in] */ const WCHAR *existence_checker_path) = 0;
1668 
1669         virtual HRESULT STDMETHODCALLTYPE Update(
1670             /* [string][in] */ const WCHAR *app_id,
1671             /* [in] */ IUpdaterObserver *observer) = 0;
1672 
1673         virtual HRESULT STDMETHODCALLTYPE UpdateAll(
1674             /* [in] */ IUpdaterObserver *observer) = 0;
1675 
1676     };
1677 
1678 
1679 #else 	/* C style interface */
1680 
1681     typedef struct IUpdaterVtbl
1682     {
1683         BEGIN_INTERFACE
1684 
1685         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1686             IUpdater * This,
1687             /* [in] */ REFIID riid,
1688             /* [annotation][iid_is][out] */
1689             _COM_Outptr_  void **ppvObject);
1690 
1691         ULONG ( STDMETHODCALLTYPE *AddRef )(
1692             IUpdater * This);
1693 
1694         ULONG ( STDMETHODCALLTYPE *Release )(
1695             IUpdater * This);
1696 
1697         HRESULT ( STDMETHODCALLTYPE *GetVersion )(
1698             IUpdater * This,
1699             /* [retval][out] */ BSTR *version);
1700 
1701         HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )(
1702             IUpdater * This,
1703             /* [string][in] */ const WCHAR *app_id);
1704 
1705         HRESULT ( STDMETHODCALLTYPE *Register )(
1706             IUpdater * This,
1707             /* [string][in] */ const WCHAR *app_id,
1708             /* [string][in] */ const WCHAR *brand_code,
1709             /* [string][in] */ const WCHAR *tag,
1710             /* [string][in] */ const WCHAR *version,
1711             /* [string][in] */ const WCHAR *existence_checker_path);
1712 
1713         HRESULT ( STDMETHODCALLTYPE *Update )(
1714             IUpdater * This,
1715             /* [string][in] */ const WCHAR *app_id,
1716             /* [in] */ IUpdaterObserver *observer);
1717 
1718         HRESULT ( STDMETHODCALLTYPE *UpdateAll )(
1719             IUpdater * This,
1720             /* [in] */ IUpdaterObserver *observer);
1721 
1722         END_INTERFACE
1723     } IUpdaterVtbl;
1724 
1725     interface IUpdater
1726     {
1727         CONST_VTBL struct IUpdaterVtbl *lpVtbl;
1728     };
1729 
1730 
1731 
1732 #ifdef COBJMACROS
1733 
1734 
1735 #define IUpdater_QueryInterface(This,riid,ppvObject)	\
1736     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1737 
1738 #define IUpdater_AddRef(This)	\
1739     ( (This)->lpVtbl -> AddRef(This) )
1740 
1741 #define IUpdater_Release(This)	\
1742     ( (This)->lpVtbl -> Release(This) )
1743 
1744 
1745 #define IUpdater_GetVersion(This,version)	\
1746     ( (This)->lpVtbl -> GetVersion(This,version) )
1747 
1748 #define IUpdater_CheckForUpdate(This,app_id)	\
1749     ( (This)->lpVtbl -> CheckForUpdate(This,app_id) )
1750 
1751 #define IUpdater_Register(This,app_id,brand_code,tag,version,existence_checker_path)	\
1752     ( (This)->lpVtbl -> Register(This,app_id,brand_code,tag,version,existence_checker_path) )
1753 
1754 #define IUpdater_Update(This,app_id,observer)	\
1755     ( (This)->lpVtbl -> Update(This,app_id,observer) )
1756 
1757 #define IUpdater_UpdateAll(This,observer)	\
1758     ( (This)->lpVtbl -> UpdateAll(This,observer) )
1759 
1760 #endif /* COBJMACROS */
1761 
1762 
1763 #endif 	/* C style interface */
1764 
1765 
1766 
1767 
1768 #endif 	/* __IUpdater_INTERFACE_DEFINED__ */
1769 
1770 
1771 
1772 #ifndef __UpdaterLib_LIBRARY_DEFINED__
1773 #define __UpdaterLib_LIBRARY_DEFINED__
1774 
1775 /* library UpdaterLib */
1776 /* [helpstring][version][uuid] */
1777 
1778 
1779 
1780 
1781 
1782 
1783 
1784 
1785 EXTERN_C const IID LIBID_UpdaterLib;
1786 
1787 EXTERN_C const CLSID CLSID_UpdaterClass;
1788 
1789 #ifdef __cplusplus
1790 
1791 class DECLSPEC_UUID("158428a4-6014-4978-83ba-9fad0dabe791")
1792 UpdaterClass;
1793 #endif
1794 #endif /* __UpdaterLib_LIBRARY_DEFINED__ */
1795 
1796 /* Additional Prototypes for ALL interfaces */
1797 
1798 unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * );
1799 unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * );
1800 unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
1801 void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * );
1802 
1803 unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * );
1804 unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * );
1805 unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
1806 void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * );
1807 
1808 /* end of Additional Prototypes */
1809 
1810 #ifdef __cplusplus
1811 }
1812 #endif
1813 
1814 #endif
1815 
1816 
1817