2 * Copyright 2008 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 cpp_quote
("DEFINE_GUID(CLSID_AutomaticUpdates, 0xbfe18e9c,0x6d87,0x4450,0xb3,0x7c,0xe0,0x2f,0x0b,0x37,0x38,0x03);")
20 cpp_quote
("DEFINE_GUID(CLSID_UpdateSession, 0x4cb43d7f,0x7eee,0x4906,0x86,0x98,0x60,0xda,0x1c,0x38,0xf2,0xfe);")
24 interface IAutomaticUpdates
;
25 interface IAutomaticUpdatesSettings
;
26 interface IDownloadJob
;
27 interface IDownloadResult
;
28 interface IInstallationJob
;
29 interface IInstallationResult
;
31 interface ISearchResult
;
32 interface IUpdateCollection
;
33 interface IUpdateDownloader
;
34 interface IUpdateHistoryEntryCollection
;
35 interface IUpdateInstaller
;
36 interface IUpdateSearcher
;
37 interface IUpdateSession
;
40 typedef [public] enum tagDownloadPriority
47 typedef [public] enum tagServerSelection
57 uuid(673425bf
-c082
-4c7c
-bdfd
-569464b8e0ce
),
61 pointer_default(unique),
64 interface IAutomaticUpdates
: IDispatch
69 HRESULT ShowSettingsDialog
();
73 [out, retval] IAutomaticUpdatesSettings
**retval);
76 HRESULT ServiceEnabled
(
77 [out, retval] VARIANT_BOOL *retval);
79 HRESULT EnableService
();
84 uuid(816858a4
-260d
-4260-933a
-2585f1abc76b
),
88 pointer_default(unique),
90 interface IUpdateSession
: IDispatch
93 HRESULT ClientApplicationID
(
94 [out, retval] BSTR *retval);
97 HRESULT ClientApplicationID
(
102 [out, retval] VARIANT_BOOL *retval);
106 [out, retval] IWebProxy
**retval);
110 [in, unique] IWebProxy
*value
);
112 HRESULT CreateUpdateSearcher
(
113 [out, retval] IUpdateSearcher
**retval);
115 HRESULT CreateUpdateDownloader
(
116 [out, retval] IUpdateDownloader
**retval);
118 HRESULT CreateUpdateInstaller
(
119 [out, retval] IUpdateInstaller
**retval);
124 uuid(8f45abf1
-f9ae
-4b95
-a933
-f0f66e5056ea
),
128 pointer_default(unique),
130 interface IUpdateSearcher
: IDispatch
133 HRESULT CanAutomaticallyUpgradeService
(
134 [out, retval] VARIANT_BOOL *retval);
137 HRESULT CanAutomaticallyUpgradeService
(
138 [in] VARIANT_BOOL value
);
141 HRESULT ClientApplicationID
(
142 [out, retval] BSTR *retval);
145 HRESULT ClientApplicationID
(
149 HRESULT IncludePotentiallySupersededUpdates
(
150 [out, retval] VARIANT_BOOL *retval);
153 HRESULT IncludePotentiallySupersededUpdates
(
154 [in] VARIANT_BOOL value
);
157 HRESULT ServerSelection
(
158 [out, retval] ServerSelection
*retval);
161 HRESULT ServerSelection
(
162 [in] ServerSelection value
);
166 [in] IUnknown
*onCompleted
,
168 [out, retval] ISearchJob
**retval);
171 [in] ISearchJob
*searchJob
,
172 [out, retval] ISearchResult
**retval);
174 HRESULT EscapeString
(
176 [out, retval] BSTR *retval);
178 HRESULT QueryHistory
(
179 [in] LONG startIndex
,
181 [out, retval] IUpdateHistoryEntryCollection
**retval);
185 [out, retval] ISearchResult
**retval);
189 [out, retval] VARIANT_BOOL *retval);
193 [in] VARIANT_BOOL value
);
195 HRESULT GetTotalHistoryCount
(
196 [out, retval] LONG *retval);
200 [out, retval] BSTR *retval);
209 uuid(68f1c6f9
-7ecc
-4666-a464
-247fe12496c3
),
213 pointer_default(unique),
216 interface IUpdateDownloader
: IDispatch
219 HRESULT ClientApplicationID
(
220 [out, retval] BSTR *retval);
223 HRESULT ClientApplicationID
(
228 [out, retval] VARIANT_BOOL *retval);
232 [in] VARIANT_BOOL value
);
236 [out, retval] DownloadPriority
*retval);
240 [in] DownloadPriority value
);
244 [out, retval] IUpdateCollection
**retval);
248 [in] IUpdateCollection
*value
);
250 HRESULT BeginDownload
(
251 [in] IUnknown
*onProgressChanged
,
252 [in] IUnknown
*onCompleted
,
254 [out, retval] IDownloadJob
**retval);
257 [out, retval] IDownloadResult
**retval);
260 [in] IDownloadJob
*value
,
261 [out, retval] IDownloadResult
**retval);
266 uuid(7b929c68
-ccdc
-4226-96b1
-8724600b54c2
),
270 pointer_default(unique),
272 interface IUpdateInstaller
: IDispatch
275 HRESULT ClientApplicationID
(
276 [out, retval] BSTR *retval);
279 HRESULT ClientApplicationID
(
284 [out, retval] VARIANT_BOOL *retval);
288 [in] VARIANT_BOOL value
);
290 [propget, restricted]
292 [out, retval] HWND
*retval);
294 [propput, restricted]
296 [in, unique] HWND value
);
299 HRESULT ParentWindow
(
300 [in, unique] IUnknown
*value
);
303 HRESULT ParentWindow
(
304 [out, retval] IUnknown
**retval);
308 [out, retval] IUpdateCollection
**retval);
312 [in] IUpdateCollection
*value
);
314 HRESULT BeginInstall
(
315 [in] IUnknown
*onProgressChanged
,
316 [in] IUnknown
*onCompleted
,
318 [out, retval] IInstallationJob
**retval);
320 HRESULT BeginUninstall
(
321 [in] IUnknown
*onProgressChanged
,
322 [in] IUnknown
*onCompleted
,
324 [out, retval] IInstallationJob
**retval);
327 [in] IInstallationJob
*value
,
328 [out, retval] IInstallationResult
**retval);
330 HRESULT EndUninstall
(
331 [in] IInstallationJob
*value
,
332 [out, retval] IInstallationResult
**retval);
335 [out, retval] IInstallationResult
**retval);
338 [in, defaultvalue("")] BSTR dialogTitle
,
339 [out, retval] IInstallationResult
**retval);
343 [out, retval] VARIANT_BOOL *retval);
346 [out, retval] IInstallationResult
**retval);
349 HRESULT AllowSourcePrompts
(
350 [out, retval] VARIANT_BOOL *retval);
353 HRESULT AllowSourcePrompts
(
354 [in] VARIANT_BOOL value
);
357 HRESULT RebootRequiredBeforeInstallation
(
358 [out, retval] VARIANT_BOOL *retval);