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);