includes: Fix alignment for 64-bits
[wine/wine64.git] / include / wuapi.idl
blob27a3d5f1c1057d60cd7e60a0d36ea35af5459c82
1 /*
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);")
22 import "oaidl.idl";
24 interface IAutomaticUpdates;
25 interface IAutomaticUpdatesSettings;
26 interface IDownloadJob;
27 interface IDownloadResult;
28 interface IInstallationJob;
29 interface IInstallationResult;
30 interface ISearchJob;
31 interface ISearchResult;
32 interface IUpdateCollection;
33 interface IUpdateDownloader;
34 interface IUpdateHistoryEntryCollection;
35 interface IUpdateInstaller;
36 interface IUpdateSearcher;
37 interface IUpdateSession;
38 interface IWebProxy;
40 typedef [public] enum tagDownloadPriority
42 dpLow = 1,
43 dpNormal = 2,
44 dpHigh = 3,
45 } DownloadPriority;
47 typedef [public] enum tagServerSelection
49 ssDefault = 0,
50 ssManagedServer = 1,
51 ssWindowsUpdate = 2,
52 ssOthers = 3,
53 } ServerSelection;
56 object,
57 uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce),
58 oleautomation,
59 dual,
60 nonextensible,
61 pointer_default(unique),
62 hidden
64 interface IAutomaticUpdates : IDispatch
66 HRESULT DetectNow();
67 HRESULT Pause();
68 HRESULT Resume();
69 HRESULT ShowSettingsDialog();
71 [propget]
72 HRESULT Settings(
73 [out, retval] IAutomaticUpdatesSettings **retval);
75 [propget]
76 HRESULT ServiceEnabled(
77 [out, retval] VARIANT_BOOL *retval);
79 HRESULT EnableService();
83 object,
84 uuid(816858a4-260d-4260-933a-2585f1abc76b),
85 oleautomation,
86 dual,
87 nonextensible,
88 pointer_default(unique),
90 interface IUpdateSession : IDispatch
92 [propget]
93 HRESULT ClientApplicationID(
94 [out, retval] BSTR *retval);
96 [propput]
97 HRESULT ClientApplicationID(
98 [in] BSTR value);
100 [propget]
101 HRESULT ReadOnly(
102 [out, retval] VARIANT_BOOL *retval);
104 [propget]
105 HRESULT WebProxy(
106 [out, retval] IWebProxy **retval);
108 [propput]
109 HRESULT WebProxy(
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);
123 object,
124 uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea),
125 oleautomation,
126 dual,
127 nonextensible,
128 pointer_default(unique),
130 interface IUpdateSearcher : IDispatch
132 [propget]
133 HRESULT CanAutomaticallyUpgradeService(
134 [out, retval] VARIANT_BOOL *retval);
136 [propput]
137 HRESULT CanAutomaticallyUpgradeService(
138 [in] VARIANT_BOOL value);
140 [propget]
141 HRESULT ClientApplicationID(
142 [out, retval] BSTR *retval);
144 [propput]
145 HRESULT ClientApplicationID(
146 [in] BSTR value);
148 [propget]
149 HRESULT IncludePotentiallySupersededUpdates(
150 [out, retval] VARIANT_BOOL *retval);
152 [propput]
153 HRESULT IncludePotentiallySupersededUpdates(
154 [in] VARIANT_BOOL value);
156 [propget]
157 HRESULT ServerSelection(
158 [out, retval] ServerSelection *retval);
160 [propput]
161 HRESULT ServerSelection(
162 [in] ServerSelection value);
164 HRESULT BeginSearch(
165 [in] BSTR criteria,
166 [in] IUnknown *onCompleted,
167 [in] VARIANT state,
168 [out, retval] ISearchJob **retval);
170 HRESULT EndSearch(
171 [in] ISearchJob *searchJob,
172 [out, retval] ISearchResult **retval);
174 HRESULT EscapeString(
175 [in] BSTR unescaped,
176 [out, retval] BSTR *retval);
178 HRESULT QueryHistory(
179 [in] LONG startIndex,
180 [in] LONG count,
181 [out, retval] IUpdateHistoryEntryCollection **retval);
183 HRESULT Search(
184 [in] BSTR criteria,
185 [out, retval] ISearchResult **retval);
187 [propget]
188 HRESULT Online(
189 [out, retval] VARIANT_BOOL *retval);
191 [propput]
192 HRESULT Online(
193 [in] VARIANT_BOOL value);
195 HRESULT GetTotalHistoryCount(
196 [out, retval] LONG *retval);
198 [propget]
199 HRESULT ServiceID(
200 [out, retval] BSTR *retval);
202 [propput]
203 HRESULT ServiceID(
204 [in] BSTR value);
208 object,
209 uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3),
210 oleautomation,
211 dual,
212 nonextensible,
213 pointer_default(unique),
214 hidden
216 interface IUpdateDownloader : IDispatch
218 [propget]
219 HRESULT ClientApplicationID(
220 [out, retval] BSTR *retval);
222 [propput]
223 HRESULT ClientApplicationID(
224 [in] BSTR value);
226 [propget]
227 HRESULT IsForced(
228 [out, retval] VARIANT_BOOL *retval);
230 [propput]
231 HRESULT IsForced(
232 [in] VARIANT_BOOL value);
234 [propget]
235 HRESULT Priority(
236 [out, retval] DownloadPriority *retval);
238 [propput]
239 HRESULT Priority(
240 [in] DownloadPriority value);
242 [propget]
243 HRESULT Updates(
244 [out, retval] IUpdateCollection **retval);
246 [propput]
247 HRESULT Updates(
248 [in] IUpdateCollection *value);
250 HRESULT BeginDownload(
251 [in] IUnknown *onProgressChanged,
252 [in] IUnknown *onCompleted,
253 [in] VARIANT state,
254 [out, retval] IDownloadJob **retval);
256 HRESULT Download(
257 [out, retval] IDownloadResult **retval);
259 HRESULT EndDownload(
260 [in] IDownloadJob *value,
261 [out, retval] IDownloadResult **retval);
265 object,
266 uuid(7b929c68-ccdc-4226-96b1-8724600b54c2),
267 oleautomation,
268 dual,
269 nonextensible,
270 pointer_default(unique),
272 interface IUpdateInstaller : IDispatch
274 [propget]
275 HRESULT ClientApplicationID(
276 [out, retval] BSTR *retval);
278 [propput]
279 HRESULT ClientApplicationID(
280 [in] BSTR value);
282 [propget]
283 HRESULT IsForced(
284 [out, retval] VARIANT_BOOL *retval);
286 [propput]
287 HRESULT IsForced(
288 [in] VARIANT_BOOL value);
290 [propget, restricted]
291 HRESULT ParentHwnd(
292 [out, retval] HWND *retval);
294 [propput, restricted]
295 HRESULT ParentHwnd(
296 [in, unique] HWND value);
298 [propput]
299 HRESULT ParentWindow(
300 [in, unique] IUnknown *value);
302 [propget]
303 HRESULT ParentWindow(
304 [out, retval] IUnknown **retval);
306 [propget]
307 HRESULT Updates(
308 [out, retval] IUpdateCollection **retval);
310 [propput]
311 HRESULT Updates(
312 [in] IUpdateCollection *value);
314 HRESULT BeginInstall(
315 [in] IUnknown *onProgressChanged,
316 [in] IUnknown *onCompleted,
317 [in] VARIANT state,
318 [out, retval] IInstallationJob **retval);
320 HRESULT BeginUninstall(
321 [in] IUnknown *onProgressChanged,
322 [in] IUnknown *onCompleted,
323 [in] VARIANT state,
324 [out, retval] IInstallationJob **retval);
326 HRESULT EndInstall(
327 [in] IInstallationJob *value,
328 [out, retval] IInstallationResult **retval);
330 HRESULT EndUninstall(
331 [in] IInstallationJob *value,
332 [out, retval] IInstallationResult **retval);
334 HRESULT Install(
335 [out, retval] IInstallationResult **retval);
337 HRESULT RunWizard(
338 [in, defaultvalue("")] BSTR dialogTitle,
339 [out, retval] IInstallationResult **retval);
341 [propget]
342 HRESULT IsBusy(
343 [out, retval] VARIANT_BOOL *retval);
345 HRESULT Uninstall(
346 [out, retval] IInstallationResult **retval);
348 [propget]
349 HRESULT AllowSourcePrompts(
350 [out, retval] VARIANT_BOOL *retval);
352 [propput]
353 HRESULT AllowSourcePrompts(
354 [in] VARIANT_BOOL value);
356 [propget]
357 HRESULT RebootRequiredBeforeInstallation(
358 [out, retval] VARIANT_BOOL *retval);