wuapi.idl 33 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384
  1. /*
  2. * Copyright 2008 Hans Leidekker for CodeWeavers
  3. *
  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.
  8. *
  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.
  13. *
  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
  17. */
  18. import "oaidl.idl";
  19. #ifndef __WIDL__
  20. #define threading(model)
  21. #define progid(str)
  22. #define vi_progid(str)
  23. #endif
  24. [
  25. helpstring("WUAPI 2.0 Type Library"),
  26. uuid(b596cc9f-56e5-419e-a622-e01bb457431e),
  27. version(2.0)
  28. ]
  29. library WUApiLib {
  30. importlib("stdole2.tlb");
  31. interface ICategoryCollection;
  32. interface IStringCollection;
  33. interface IUpdateCollection;
  34. interface IUpdateDownloader;
  35. interface IUpdateInstaller;
  36. interface IUpdateSearcher;
  37. typedef [public] enum tagDownloadPriority
  38. {
  39. dpLow = 1,
  40. dpNormal = 2,
  41. dpHigh = 3,
  42. } DownloadPriority;
  43. typedef [public] enum tagServerSelection
  44. {
  45. ssDefault = 0,
  46. ssManagedServer = 1,
  47. ssWindowsUpdate = 2,
  48. ssOthers = 3,
  49. } ServerSelection;
  50. typedef [public] enum tagAutomaticUpdatesNotificationLevel
  51. {
  52. aunlNotConfigured,
  53. aunlDisabled,
  54. aunlNotifyBeforeDownload,
  55. aunlNotifyBeforeInstallation,
  56. aunlScheduledInstallation,
  57. } AutomaticUpdatesNotificationLevel;
  58. typedef [public] enum tagAutomaticUpdatesScheduledInstallationDay
  59. {
  60. ausidEveryDay,
  61. ausidEverySunday,
  62. ausidEveryMonday,
  63. ausidEveryTuesday,
  64. ausidEveryWednesday,
  65. ausidEveryThursday,
  66. ausidEveryFriday,
  67. ausidEverySaturday,
  68. } AutomaticUpdatesScheduledInstallationDay;
  69. typedef [public] enum tagDownloadPhase
  70. {
  71. dphInitializing,
  72. dphDownloading,
  73. dphVerifying,
  74. } DownloadPhase;
  75. typedef [public] enum tagOperationResultCode
  76. {
  77. orcNotStarted,
  78. orcInProgress,
  79. orcSucceeded,
  80. orcSucceededWithErrors,
  81. orcFailed,
  82. orcAborted,
  83. } OperationResultCode;
  84. typedef [public] enum tagUpdateExceptionContext
  85. {
  86. uecGeneral = 1,
  87. uecWindowsDriver,
  88. uecWindowsInstaller
  89. } UpdateExceptionContext;
  90. typedef [public] enum tagInstallationImpact
  91. {
  92. iiNormal,
  93. iiMinor,
  94. iiRequiresExclusiveHandling
  95. } InstallationImpact;
  96. typedef [public] enum tagInstallationRebootBehavior
  97. {
  98. irbNeverReboots,
  99. irbAlwaysRequiresReboot,
  100. irbCanRequestReboot
  101. } InstallationRebootBehavior;
  102. typedef [public] enum tagUpdateType
  103. {
  104. utSoftware = 1,
  105. utDriver
  106. } UpdateType;
  107. typedef [public] enum tagUpdateOperation
  108. {
  109. uoInstallation = 1,
  110. uoUninstallation
  111. } UpdateOperation;
  112. typedef [public] enum tagDeploymentAction
  113. {
  114. daNone,
  115. daInstallation,
  116. daUninstallation,
  117. daDetection
  118. } DeploymentAction;
  119. [
  120. object,
  121. oleautomation,
  122. dual,
  123. nonextensible,
  124. uuid(2ee48f22-af3c-405f-8970-f71be12ee9a2),
  125. pointer_default(unique)
  126. ]
  127. interface IAutomaticUpdatesSettings : IDispatch
  128. {
  129. [propget, id(0x60020001)]
  130. HRESULT NotificationLevel( [out, retval] AutomaticUpdatesNotificationLevel *retval );
  131. [propput, id(0x60020001)]
  132. HRESULT NotificationLevel( [in] AutomaticUpdatesNotificationLevel value );
  133. [propget, id(0x60020002)]
  134. HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
  135. [propget, id(0x60020003)]
  136. HRESULT Required( [out, retval] VARIANT_BOOL *retval );
  137. [propget, id(0x60020004)]
  138. HRESULT ScheduledInstallationDay( [out, retval] AutomaticUpdatesScheduledInstallationDay *retval );
  139. [propput, id(0x60020004)]
  140. HRESULT ScheduledInstallationDay( [in] AutomaticUpdatesScheduledInstallationDay value );
  141. [propget, id(0x60020005)]
  142. HRESULT ScheduledInstallationTime( [out, retval] LONG *retval );
  143. [propput, id(0x60020005)]
  144. HRESULT ScheduledInstallationTime( [in] LONG value );
  145. [id(0x60020006)]
  146. HRESULT Refresh();
  147. [id(0x60020007)]
  148. HRESULT Save();
  149. }
  150. [
  151. object,
  152. uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce),
  153. oleautomation,
  154. dual,
  155. nonextensible,
  156. pointer_default(unique),
  157. hidden
  158. ]
  159. interface IAutomaticUpdates : IDispatch
  160. {
  161. HRESULT DetectNow();
  162. HRESULT Pause();
  163. HRESULT Resume();
  164. HRESULT ShowSettingsDialog();
  165. [propget]
  166. HRESULT Settings(
  167. [out, retval] IAutomaticUpdatesSettings **retval);
  168. [propget]
  169. HRESULT ServiceEnabled(
  170. [out, retval] VARIANT_BOOL *retval);
  171. HRESULT EnableService();
  172. }
  173. [
  174. object,
  175. oleautomation,
  176. dual,
  177. nonextensible,
  178. uuid(174c81fe-aecd-4dae-b8a0-2c6318dd86a8),
  179. pointer_default(unique),
  180. ]
  181. interface IWebProxy : IDispatch
  182. {
  183. [propget, id(0x60020001)]
  184. HRESULT Address( [out, retval] BSTR *retval );
  185. [propput, id(0x60020001)]
  186. HRESULT Address( [in] BSTR value );
  187. [propget, id(0x60020002)]
  188. HRESULT BypassList( [out, retval] IStringCollection **retval );
  189. [propput, id(0x60020002)]
  190. HRESULT BypassList( [in] IStringCollection *value );
  191. [propget, id(0x60020003)]
  192. HRESULT BypassProxyOnLocal( [out, retval] VARIANT_BOOL *retval );
  193. [propput, id(0x60020003)]
  194. HRESULT BypassProxyOnLocal( [in] VARIANT_BOOL value );
  195. [propget, id(0x60020004)]
  196. HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
  197. [propget, id(0x60020005)]
  198. HRESULT UserName( [out, retval] BSTR *retval );
  199. [propput, id(0x60020005)]
  200. HRESULT UserName( [in] BSTR value );
  201. [id(0x60020006)]
  202. HRESULT SetPassword( [in] BSTR value );
  203. [id(0x60020007)]
  204. HRESULT PromptForCredentials( [in, unique] IUnknown *parentWindow,
  205. [in] BSTR title );
  206. [restricted, id(0x60020008)]
  207. HRESULT PromptForCredentialsFromHwnd( [in, unique] HWND parentWindow,
  208. [in] BSTR title );
  209. [propget, id(0x60020009)]
  210. HRESULT AutoDetect( [out, retval] VARIANT_BOOL *retval );
  211. [propput, id(0x60020009)]
  212. HRESULT AutoDetect( [in] VARIANT_BOOL value );
  213. }
  214. [
  215. object,
  216. uuid(816858a4-260d-4260-933a-2585f1abc76b),
  217. oleautomation,
  218. dual,
  219. nonextensible,
  220. pointer_default(unique),
  221. ]
  222. interface IUpdateSession : IDispatch
  223. {
  224. [propget]
  225. HRESULT ClientApplicationID(
  226. [out, retval] BSTR *retval);
  227. [propput]
  228. HRESULT ClientApplicationID(
  229. [in] BSTR value);
  230. [propget]
  231. HRESULT ReadOnly(
  232. [out, retval] VARIANT_BOOL *retval);
  233. [propget]
  234. HRESULT WebProxy(
  235. [out, retval] IWebProxy **retval);
  236. [propput]
  237. HRESULT WebProxy(
  238. [in, unique] IWebProxy *value);
  239. HRESULT CreateUpdateSearcher(
  240. [out, retval] IUpdateSearcher **retval);
  241. HRESULT CreateUpdateDownloader(
  242. [out, retval] IUpdateDownloader **retval);
  243. HRESULT CreateUpdateInstaller(
  244. [out, retval] IUpdateInstaller **retval);
  245. }
  246. [
  247. object,
  248. oleautomation,
  249. dual,
  250. nonextensible,
  251. uuid(7c907864-346c-4aeb-8f3f-57da289f969f),
  252. pointer_default(unique),
  253. ]
  254. interface IImageInformation : IDispatch
  255. {
  256. [propget, id(0x60020001)]
  257. HRESULT AltText( [out, retval] BSTR *retval );
  258. [propget, id(0x60020002)]
  259. HRESULT Height( [out, retval] LONG *retval );
  260. [propget, id(0x60020003)]
  261. HRESULT Source( [out, retval] BSTR *retval );
  262. [propget, id(0x60020004)]
  263. HRESULT Width( [out, retval] LONG *retval );
  264. }
  265. [
  266. object,
  267. oleautomation,
  268. dual,
  269. nonextensible,
  270. uuid(81ddc1b8-9d35-47a6-b471-5b80f519223b),
  271. pointer_default(unique),
  272. ]
  273. interface ICategory : IDispatch
  274. {
  275. [propget, id(DISPID_VALUE)]
  276. HRESULT Name( [out, retval] BSTR *retval );
  277. [propget, id(0x60020001)]
  278. HRESULT CategoryID( [out, retval] BSTR *retval );
  279. [propget, id(0x60020002)]
  280. HRESULT Children( [out, retval] ICategoryCollection **retval );
  281. [propget, id(0x60020003)]
  282. HRESULT Description( [out, retval] BSTR *retval );
  283. [propget, id(0x60020004)]
  284. HRESULT Image( [out, retval] IImageInformation **retval );
  285. [propget, id(0x60020005)]
  286. HRESULT Order( [out, retval] LONG *retval );
  287. [propget, id(0x60020006)]
  288. HRESULT Parent( [out, retval] ICategory **retval );
  289. [propget, id(0x60020007)]
  290. HRESULT Type( [out, retval] BSTR *retval );
  291. [propget, id(0x60020008)]
  292. HRESULT Updates( [out, retval] IUpdateCollection **retval );
  293. }
  294. [
  295. object,
  296. oleautomation,
  297. dual,
  298. nonextensible,
  299. uuid(3a56bfb8-576c-43f7-9335-fe4838fd7e37),
  300. pointer_default(unique),
  301. ]
  302. interface ICategoryCollection : IDispatch
  303. {
  304. [propget, id(DISPID_VALUE)]
  305. HRESULT Item( [in] LONG index,
  306. [out, retval] ICategory **retval );
  307. [propget, id(DISPID_NEWENUM)]
  308. HRESULT _NewEnum( [out, retval] IUnknown **retval );
  309. [propget, id(0x60020001)]
  310. HRESULT Count( [out, retval] LONG *retval );
  311. }
  312. [
  313. object,
  314. oleautomation,
  315. dual,
  316. nonextensible,
  317. uuid(eff90582-2ddc-480f-a06d-60f3fbc362c3),
  318. pointer_default(unique),
  319. hidden
  320. ]
  321. interface IStringCollection : IDispatch
  322. {
  323. [propget, id(DISPID_VALUE)]
  324. HRESULT Item( [in] LONG index,
  325. [out, retval] BSTR *retval );
  326. [propput, id(DISPID_VALUE)]
  327. HRESULT Item( [in] LONG index,
  328. [in] BSTR value );
  329. [propget, id(DISPID_NEWENUM)]
  330. HRESULT _NewEnum( [out, retval] IUnknown **retval );
  331. [propget, id(0x60020001)]
  332. HRESULT Count( [out, retval] LONG *retval );
  333. [propget, id(0x60020002)]
  334. HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
  335. [id(0x60020003)]
  336. HRESULT Add( [in] BSTR value,
  337. [out, retval] LONG *retval );
  338. [id(0x60020004)]
  339. HRESULT Clear();
  340. [id(0x60020005)]
  341. HRESULT Copy( [out, retval] IStringCollection **retval );
  342. [id(0x60020006)]
  343. HRESULT Insert( [in] LONG index,
  344. [in] BSTR value );
  345. [id(0x60020007)]
  346. HRESULT RemoveAt( [in] LONG index );
  347. }
  348. [
  349. object,
  350. oleautomation,
  351. dual,
  352. nonextensible,
  353. uuid(a376dd5e-09d4-427f-af7c-fed5b6e1c1d6),
  354. pointer_default(unique),
  355. ]
  356. interface IUpdateException : IDispatch
  357. {
  358. [propget, id(DISPID_VALUE)]
  359. HRESULT Message( [out, retval] BSTR *retval );
  360. [propget, id(0x60020001)]
  361. HRESULT HResult( [out, retval] LONG *retval );
  362. [propget, id(0x60020002)]
  363. HRESULT Context( [out, retval] UpdateExceptionContext *retval );
  364. }
  365. [
  366. object,
  367. oleautomation,
  368. dual,
  369. nonextensible,
  370. uuid(503626a3-8e14-4729-9355-0fe664bd2321),
  371. pointer_default(unique),
  372. ]
  373. interface IUpdateExceptionCollection : IDispatch
  374. {
  375. [propget, id(DISPID_VALUE)]
  376. HRESULT Item( [in] LONG index,
  377. [out, retval] IUpdateException **retval );
  378. [propget, id(DISPID_NEWENUM)]
  379. HRESULT _NewEnum( [out, retval] IUnknown **retval );
  380. [propget, id(0x60020001)]
  381. HRESULT Count( [out, retval] LONG *retval );
  382. }
  383. [
  384. object,
  385. oleautomation,
  386. dual,
  387. nonextensible,
  388. uuid(46297823-9940-4c09-aed9-cd3ea6d05968),
  389. pointer_default(unique)
  390. ]
  391. interface IUpdateIdentity : IDispatch
  392. {
  393. [propget, id(0x60020002)]
  394. HRESULT RevisionNumber( [out, retval] LONG *retval );
  395. [propget, id(0x60020003)]
  396. HRESULT UpdateID( [out, retval] BSTR *retval );
  397. }
  398. [
  399. ,
  400. object,
  401. oleautomation,
  402. dual,
  403. nonextensible,
  404. uuid(d9a59339-e245-4dbd-9686-4d5763e39624),
  405. pointer_default(unique),
  406. ]
  407. interface IInstallationBehavior : IDispatch
  408. {
  409. [propget, id(0x60020001)]
  410. HRESULT CanRequestUserInput( [out, retval] VARIANT_BOOL *retval );
  411. [propget, id(0x60020002)]
  412. HRESULT Impact( [out, retval] InstallationImpact *retval );
  413. [propget, id(0x60020003)]
  414. HRESULT RebootBehavior( [out, retval] InstallationRebootBehavior *retval );
  415. [propget, id(0x60020004)]
  416. HRESULT RequiresNetworkConnectivity( [out, retval] VARIANT_BOOL *retval );
  417. }
  418. [
  419. object,
  420. oleautomation,
  421. dual,
  422. nonextensible,
  423. uuid(54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02),
  424. pointer_default(unique),
  425. ]
  426. interface IUpdateDownloadContent : IDispatch
  427. {
  428. [propget, id(0x60020001)]
  429. HRESULT DownloadUrl( [out, retval] BSTR *retval );
  430. }
  431. [
  432. object,
  433. oleautomation,
  434. dual,
  435. nonextensible,
  436. uuid(bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba),
  437. pointer_default(unique),
  438. ]
  439. interface IUpdateDownloadContentCollection : IDispatch
  440. {
  441. [propget, id(DISPID_VALUE)]
  442. HRESULT Item( [in] LONG index,
  443. [out, retval] IUpdateDownloadContent **retval );
  444. [propget, id(DISPID_NEWENUM)]
  445. HRESULT _NewEnum( [out, retval] IUnknown **retval );
  446. [propget, id(0x60020001)]
  447. HRESULT Count( [out, retval] LONG *retval );
  448. }
  449. [
  450. object,
  451. oleautomation,
  452. dual,
  453. nonextensible,
  454. uuid(6a92b07a-d821-4682-b423-5c805022cc4d),
  455. pointer_default(unique),
  456. ]
  457. interface IUpdate : IDispatch
  458. {
  459. [propget, id(DISPID_VALUE)]
  460. HRESULT Title( [out, retval] BSTR *retval );
  461. [propget, id(0x60020001)]
  462. HRESULT AutoSelectOnWebSites( [out, retval] VARIANT_BOOL *retval );
  463. [propget, id(0x60020002)]
  464. HRESULT BundledUpdates( [out, retval] IUpdateCollection **retval );
  465. [propget, id(0x60020003)]
  466. HRESULT CanRequireSource( [out, retval] VARIANT_BOOL *retval );
  467. [propget, id(0x60020004)]
  468. HRESULT Categories( [out, retval] ICategoryCollection **retval );
  469. [propget, id(0x60020005)]
  470. HRESULT Deadline( [out, retval] VARIANT *retval );
  471. [propget, id(0x60020006)]
  472. HRESULT DeltaCompressedContentAvailable( [out, retval] VARIANT_BOOL *retval );
  473. [propget, id(0x60020007)]
  474. HRESULT DeltaCompressedContentPreferred( [out, retval] VARIANT_BOOL *retval );
  475. [propget, id(0x60020008)]
  476. HRESULT Description( [out, retval] BSTR *retval );
  477. [propget, id(0x60020009)]
  478. HRESULT EulaAccepted( [out, retval] VARIANT_BOOL *retval );
  479. [propget, id(0x6002000a)]
  480. HRESULT EulaText( [out, retval] BSTR *retval );
  481. [propget, id(0x6002000b)]
  482. HRESULT HandlerID( [out, retval] BSTR *retval );
  483. [propget, id(0x6002000c)]
  484. HRESULT Identity( [out, retval] IUpdateIdentity **retval );
  485. [propget, id(0x6002000d)]
  486. HRESULT Image( [out, retval] IImageInformation **retval );
  487. [propget, id(0x6002000e)]
  488. HRESULT InstallationBehavior( [out, retval] IInstallationBehavior **retval );
  489. [propget, id(0x6002000f)]
  490. HRESULT IsBeta( [out, retval] VARIANT_BOOL *retval );
  491. [propget, id(0x60020010)]
  492. HRESULT IsDownloaded( [out, retval] VARIANT_BOOL *retval );
  493. [propget, id(0x60020011)]
  494. HRESULT IsHidden( [out, retval] VARIANT_BOOL *retval );
  495. [propput, id(0x60020011)]
  496. HRESULT IsHidden( [in] VARIANT_BOOL value );
  497. [propget, id(0x60020012)]
  498. HRESULT IsInstalled( [out, retval] VARIANT_BOOL *retval );
  499. [propget, id(0x60020013)]
  500. HRESULT IsMandatory( [out, retval] VARIANT_BOOL *retval );
  501. [propget, id(0x60020014)]
  502. HRESULT IsUninstallable( [out, retval] VARIANT_BOOL *retval );
  503. [propget, id(0x60020015)]
  504. HRESULT Languages( [out, retval] IStringCollection **retval );
  505. [propget, id(0x60020016)]
  506. HRESULT LastDeploymentChangeTime( [out, retval] DATE *retval );
  507. [propget, id(0x60020017)]
  508. HRESULT MaxDownloadSize( [out, retval] DECIMAL *retval );
  509. [propget, id(0x60020018)]
  510. HRESULT MinDownloadSize( [out, retval] DECIMAL *retval );
  511. [propget, id(0x60020019)]
  512. HRESULT MoreInfoUrls( [out, retval] IStringCollection **retval );
  513. [propget, id(0x6002001a)]
  514. HRESULT MsrcSeverity( [out, retval] BSTR *retval );
  515. [propget, id(0x6002001b)]
  516. HRESULT RecommendedCpuSpeed( [out, retval] LONG *retval );
  517. [propget, id(0x6002001c)]
  518. HRESULT RecommendedHardDiskSpace( [out, retval] LONG *retval );
  519. [propget, id(0x6002001d)]
  520. HRESULT RecommendedMemory( [out, retval] LONG *retval );
  521. [propget, id(0x6002001e)]
  522. HRESULT ReleaseNotes( [out, retval] BSTR *retval );
  523. [propget, id(0x6002001f)]
  524. HRESULT SecurityBulletinIDs( [out, retval] IStringCollection **retval );
  525. [propget, id(0x60020021)]
  526. HRESULT SupersededUpdateIDs( [out, retval] IStringCollection **retval );
  527. [propget, id(0x60020022)]
  528. HRESULT SupportUrl( [out, retval] BSTR *retval );
  529. [propget, id(0x60020023)]
  530. HRESULT Type( [out, retval] UpdateType *retval );
  531. [propget, id(0x60020024)]
  532. HRESULT UninstallationNotes( [out, retval] BSTR *retval );
  533. [propget, id(0x60020025)]
  534. HRESULT UninstallationBehavior( [out, retval] IInstallationBehavior **retval );
  535. [propget, id(0x60020026)]
  536. HRESULT UninstallationSteps( [out, retval] IStringCollection **retval );
  537. [propget, id(0x60020028)]
  538. HRESULT KBArticleIDs( [out, retval] IStringCollection **retval );
  539. [id(0x60020027)]
  540. HRESULT AcceptEula();
  541. [propget, id(0x60020029)]
  542. HRESULT DeploymentAction( [out, retval] DeploymentAction *retval );
  543. [id(0x6002002a)]
  544. HRESULT CopyFromCache( [in, ref] BSTR path,
  545. [in] VARIANT_BOOL toExtractCabFiles );
  546. [propget, id(0x6002002b)]
  547. HRESULT DownloadPriority( [out, retval] DownloadPriority *retval );
  548. [propget, id(0x6002002c)]
  549. HRESULT DownloadContents( [out, retval] IUpdateDownloadContentCollection **retval );
  550. }
  551. [
  552. object,
  553. oleautomation,
  554. dual,
  555. nonextensible,
  556. uuid(07f7438c-7709-4ca5-b518-91279288134e),
  557. pointer_default(unique),
  558. hidden
  559. ]
  560. interface IUpdateCollection : IDispatch
  561. {
  562. [propget, id(DISPID_VALUE)]
  563. HRESULT Item( [in] LONG index,
  564. [out, retval] IUpdate **retval );
  565. [propput, id(DISPID_VALUE)]
  566. HRESULT Item( [in] LONG index,
  567. [in] IUpdate *value );
  568. [propget, id(DISPID_NEWENUM)]
  569. HRESULT _NewEnum( [out, retval] IUnknown **retval );
  570. [propget, id(0x60020001)]
  571. HRESULT Count( [out, retval] LONG *retval );
  572. [propget, id(0x60020002)]
  573. HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
  574. [id(0x60020003)]
  575. HRESULT Add( [in] IUpdate *value,
  576. [out, retval] LONG *retval );
  577. [id(0x60020004)]
  578. HRESULT Clear();
  579. [id(0x60020005)]
  580. HRESULT Copy( [out, retval] IUpdateCollection **retval );
  581. [id(0x60020006)]
  582. HRESULT Insert( [in] LONG index,
  583. [in] IUpdate *value );
  584. [id(0x60020007)]
  585. HRESULT RemoveAt( [in] LONG index );
  586. }
  587. [
  588. object,
  589. oleautomation,
  590. dual,
  591. nonextensible,
  592. uuid(7366ea16-7a1a-4ea2-b042-973d3e9cd99b),
  593. pointer_default(unique),
  594. ]
  595. interface ISearchJob : IDispatch
  596. {
  597. [propget, id(0x60020001)]
  598. HRESULT AsyncState( [out, retval] VARIANT *retval );
  599. [propget, id(0x60020002)]
  600. HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval );
  601. [id(0x60020003)]
  602. HRESULT CleanUp();
  603. [id(0x60020004)]
  604. HRESULT RequestAbort();
  605. }
  606. [
  607. object,
  608. oleautomation,
  609. dual,
  610. nonextensible,
  611. uuid(d40cff62-e08c-4498-941a-01e25f0fd33c),
  612. pointer_default(unique),
  613. ]
  614. interface ISearchResult : IDispatch
  615. {
  616. [propget, id(0x60020001)]
  617. HRESULT ResultCode( [out, retval] OperationResultCode *retval );
  618. [propget, id(0x60020002)]
  619. HRESULT RootCategories( [out, retval] ICategoryCollection **retval );
  620. [propget, id(0x60020003)]
  621. HRESULT Updates( [out, retval] IUpdateCollection **retval );
  622. [propget, id(0x60020004)]
  623. HRESULT Warnings( [out, retval] IUpdateExceptionCollection **retval );
  624. }
  625. [
  626. object,
  627. oleautomation,
  628. dual,
  629. nonextensible,
  630. uuid(be56a644-af0e-4e0e-a311-c1d8e695cbff),
  631. pointer_default(unique),
  632. ]
  633. interface IUpdateHistoryEntry : IDispatch
  634. {
  635. [propget, id(0x60020001)]
  636. HRESULT Operation( [out, retval] UpdateOperation *retval );
  637. [propget, id(0x60020002)]
  638. HRESULT ResultCode( [out, retval] OperationResultCode *retval );
  639. [propget, id(0x60020003)]
  640. HRESULT HResult( [out, retval] LONG *retval );
  641. [propget, id(0x60020004)]
  642. HRESULT Date( [out, retval] DATE *retval );
  643. [propget, id(0x60020005)]
  644. HRESULT UpdateIdentity( [out, retval] IUpdateIdentity **retval );
  645. [propget, id(0x60020006)]
  646. HRESULT Title( [out, retval] BSTR *retval );
  647. [propget, id(0x60020007)]
  648. HRESULT Description( [out, retval] BSTR *retval );
  649. [propget, id(0x60020008)]
  650. HRESULT UnmappedResultCode( [out, retval] LONG *retval );
  651. [propget, id(0x60020009)]
  652. HRESULT ClientApplicationID( [out, retval] BSTR *retval );
  653. [propget, id(0x6002000a)]
  654. HRESULT ServerSelection( [out, retval] ServerSelection *retval );
  655. [propget, id(0x6002000b)]
  656. HRESULT ServiceID( [out, retval] BSTR *retval );
  657. [propget, id(0x6002000c)]
  658. HRESULT UninstallationSteps( [out, retval] IStringCollection **retval );
  659. [propget, id(0x6002000d)]
  660. HRESULT UninstallationNotes( [out, retval] BSTR *retval );
  661. [propget, id(0x6002000e)]
  662. HRESULT SupportUrl( [out, retval] BSTR *retval );
  663. }
  664. [
  665. object,
  666. oleautomation,
  667. dual,
  668. nonextensible,
  669. uuid(a7f04f3c-a290-435b-aadf-a116c3357a5c),
  670. pointer_default(unique),
  671. ]
  672. interface IUpdateHistoryEntryCollection : IDispatch
  673. {
  674. [propget, id(DISPID_VALUE)]
  675. HRESULT Item( [in] LONG index,
  676. [out, retval] IUpdateHistoryEntry **retval );
  677. [propget, id(DISPID_NEWENUM)]
  678. HRESULT _NewEnum( [out, retval] IUnknown **retval );
  679. [propget, id(0x60020001)]
  680. HRESULT Count( [out, retval] LONG *retval );
  681. }
  682. [
  683. object,
  684. uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea),
  685. oleautomation,
  686. dual,
  687. nonextensible,
  688. pointer_default(unique),
  689. ]
  690. interface IUpdateSearcher : IDispatch
  691. {
  692. [propget]
  693. HRESULT CanAutomaticallyUpgradeService(
  694. [out, retval] VARIANT_BOOL *retval);
  695. [propput]
  696. HRESULT CanAutomaticallyUpgradeService(
  697. [in] VARIANT_BOOL value);
  698. [propget]
  699. HRESULT ClientApplicationID(
  700. [out, retval] BSTR *retval);
  701. [propput]
  702. HRESULT ClientApplicationID(
  703. [in] BSTR value);
  704. [propget]
  705. HRESULT IncludePotentiallySupersededUpdates(
  706. [out, retval] VARIANT_BOOL *retval);
  707. [propput]
  708. HRESULT IncludePotentiallySupersededUpdates(
  709. [in] VARIANT_BOOL value);
  710. [propget]
  711. HRESULT ServerSelection(
  712. [out, retval] ServerSelection *retval);
  713. [propput]
  714. HRESULT ServerSelection(
  715. [in] ServerSelection value);
  716. HRESULT BeginSearch(
  717. [in] BSTR criteria,
  718. [in] IUnknown *onCompleted,
  719. [in] VARIANT state,
  720. [out, retval] ISearchJob **retval);
  721. HRESULT EndSearch(
  722. [in] ISearchJob *searchJob,
  723. [out, retval] ISearchResult **retval);
  724. HRESULT EscapeString(
  725. [in] BSTR unescaped,
  726. [out, retval] BSTR *retval);
  727. HRESULT QueryHistory(
  728. [in] LONG startIndex,
  729. [in] LONG count,
  730. [out, retval] IUpdateHistoryEntryCollection **retval);
  731. HRESULT Search(
  732. [in] BSTR criteria,
  733. [out, retval] ISearchResult **retval);
  734. [propget]
  735. HRESULT Online(
  736. [out, retval] VARIANT_BOOL *retval);
  737. [propput]
  738. HRESULT Online(
  739. [in] VARIANT_BOOL value);
  740. HRESULT GetTotalHistoryCount(
  741. [out, retval] LONG *retval);
  742. [propget]
  743. HRESULT ServiceID(
  744. [out, retval] BSTR *retval);
  745. [propput]
  746. HRESULT ServiceID(
  747. [in] BSTR value);
  748. }
  749. [
  750. object,
  751. oleautomation,
  752. dual,
  753. nonextensible,
  754. uuid(bf99af76-b575-42ad-8aa4-33cbb5477af1),
  755. pointer_default(unique),
  756. ]
  757. interface IUpdateDownloadResult : IDispatch
  758. {
  759. [propget, id(0x60020001)]
  760. HRESULT HResult( [out, retval] LONG *retval );
  761. [propget, id(0x60020002)]
  762. HRESULT ResultCode( [out, retval] OperationResultCode *retval );
  763. }
  764. [
  765. object,
  766. oleautomation,
  767. dual,
  768. nonextensible,
  769. uuid(d31a5bac-f719-4178-9dbb-5e2cb47fd18a),
  770. pointer_default(unique),
  771. ]
  772. interface IDownloadProgress : IDispatch
  773. {
  774. [propget, id(0x60020001)]
  775. HRESULT CurrentUpdateBytesDownloaded( [out, retval] DECIMAL *retval );
  776. [propget, id(0x60020002)]
  777. HRESULT CurrentUpdateBytesToDownload( [out, retval] DECIMAL *retval );
  778. [propget, id(0x60020003)]
  779. HRESULT CurrentUpdateIndex( [out, retval] LONG *retval );
  780. [propget, id(0x60020004)]
  781. HRESULT PercentComplete( [out, retval] LONG *retval );
  782. [propget, id(0x60020005)]
  783. HRESULT TotalBytesDownloaded( [out, retval] DECIMAL *retval );
  784. [propget, id(0x60020006)]
  785. HRESULT TotalBytesToDownload( [out, retval] DECIMAL *retval );
  786. [id(0x60020007)]
  787. HRESULT GetUpdateResult( [in] LONG updateIndex,
  788. [out, retval] IUpdateDownloadResult **retval );
  789. [propget, id(0x60020008)]
  790. HRESULT CurrentUpdateDownloadPhase( [out, retval] DownloadPhase *retval );
  791. [propget, id(0x60020009)]
  792. HRESULT CurrentUpdatePercentComplete( [out, retval] LONG *retval );
  793. }
  794. [
  795. object,
  796. oleautomation,
  797. dual,
  798. nonextensible,
  799. uuid(c574de85-7358-43f6-aae8-8697e62d8ba7),
  800. pointer_default(unique),
  801. ]
  802. interface IDownloadJob : IDispatch
  803. {
  804. [propget, id(0x60020001)]
  805. HRESULT AsyncState( [out, retval] VARIANT *retval );
  806. [propget, id(0x60020002)]
  807. HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval );
  808. [propget, id(0x60020003)]
  809. HRESULT Updates( [out, retval] IUpdateCollection **retval );
  810. [id(0x60020004)]
  811. HRESULT CleanUp();
  812. [id(0x60020005)]
  813. HRESULT GetProgress( [out, retval] IDownloadProgress **retval );
  814. [id(0x60020006)]
  815. HRESULT RequestAbort();
  816. }
  817. [
  818. object,
  819. oleautomation,
  820. dual,
  821. nonextensible,
  822. uuid(daa4fdd0-4727-4dbe-a1e7-745dca317144),
  823. pointer_default(unique),
  824. ]
  825. interface IDownloadResult : IDispatch
  826. {
  827. [propget, id(0x60020001)]
  828. HRESULT HResult( [out, retval] LONG *retval );
  829. [propget, id(0x60020002)]
  830. HRESULT ResultCode( [out, retval] OperationResultCode *retval );
  831. [id(0x60020003)]
  832. HRESULT GetUpdateResult( [in] LONG updateIndex,
  833. [out, retval] IUpdateDownloadResult **retval );
  834. }
  835. [
  836. object,
  837. uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3),
  838. oleautomation,
  839. dual,
  840. nonextensible,
  841. pointer_default(unique),
  842. hidden
  843. ]
  844. interface IUpdateDownloader : IDispatch
  845. {
  846. [propget]
  847. HRESULT ClientApplicationID(
  848. [out, retval] BSTR *retval);
  849. [propput]
  850. HRESULT ClientApplicationID(
  851. [in] BSTR value);
  852. [propget]
  853. HRESULT IsForced(
  854. [out, retval] VARIANT_BOOL *retval);
  855. [propput]
  856. HRESULT IsForced(
  857. [in] VARIANT_BOOL value);
  858. [propget]
  859. HRESULT Priority(
  860. [out, retval] DownloadPriority *retval);
  861. [propput]
  862. HRESULT Priority(
  863. [in] DownloadPriority value);
  864. [propget]
  865. HRESULT Updates(
  866. [out, retval] IUpdateCollection **retval);
  867. [propput]
  868. HRESULT Updates(
  869. [in] IUpdateCollection *value);
  870. HRESULT BeginDownload(
  871. [in] IUnknown *onProgressChanged,
  872. [in] IUnknown *onCompleted,
  873. [in] VARIANT state,
  874. [out, retval] IDownloadJob **retval);
  875. HRESULT Download(
  876. [out, retval] IDownloadResult **retval);
  877. HRESULT EndDownload(
  878. [in] IDownloadJob *value,
  879. [out, retval] IDownloadResult **retval);
  880. }
  881. [
  882. object,
  883. oleautomation,
  884. dual,
  885. nonextensible,
  886. uuid(d940f0f8-3cbb-4fd0-993f-471e7f2328ad),
  887. pointer_default(unique),
  888. ]
  889. interface IUpdateInstallationResult : IDispatch
  890. {
  891. [propget, id(0x60020001)]
  892. HRESULT HResult( [out, retval] LONG *retval );
  893. [propget, id(0x60020002)]
  894. HRESULT RebootRequired( [out, retval] VARIANT_BOOL *retval );
  895. [propget, id(0x60020003)]
  896. HRESULT ResultCode( [out, retval] OperationResultCode *retval );
  897. }
  898. [
  899. object,
  900. oleautomation,
  901. dual,
  902. nonextensible,
  903. uuid(345c8244-43a3-4e32-a368-65f073b76f36),
  904. pointer_default(unique),
  905. ]
  906. interface IInstallationProgress : IDispatch
  907. {
  908. [propget, id(0x60020001)]
  909. HRESULT CurrentUpdateIndex( [out, retval] LONG *retval );
  910. [propget, id(0x60020002)]
  911. HRESULT CurrentUpdatePercentComplete( [out, retval] LONG *retval );
  912. [propget, id(0x60020003)]
  913. HRESULT PercentComplete( [out, retval] LONG *retval );
  914. [id(0x60020004)]
  915. HRESULT GetUpdateResult( [in] LONG updateIndex,
  916. [out, retval] IUpdateInstallationResult **retval );
  917. }
  918. [
  919. object,
  920. oleautomation,
  921. dual,
  922. nonextensible,
  923. uuid(5c209f0b-bad5-432a-9556-4699bed2638a),
  924. pointer_default(unique),
  925. ]
  926. interface IInstallationJob : IDispatch
  927. {
  928. [propget, id(0x60020001)]
  929. HRESULT AsyncState( [out, retval] VARIANT *retval );
  930. [propget, id(0x60020002)]
  931. HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval );
  932. [propget, id(0x60020003)]
  933. HRESULT Updates( [out, retval] IUpdateCollection **retval );
  934. [id(0x60020004)]
  935. HRESULT CleanUp();
  936. [id(0x60020005)]
  937. HRESULT GetProgress( [out, retval] IInstallationProgress **retval );
  938. [id(0x60020006)]
  939. HRESULT RequestAbort();
  940. }
  941. [
  942. object,
  943. oleautomation,
  944. dual,
  945. nonextensible,
  946. uuid(a43c56d6-7451-48d4-af96-b6cd2d0d9b7a),
  947. pointer_default(unique),
  948. ]
  949. interface IInstallationResult : IDispatch
  950. {
  951. [propget, id(0x60020001)]
  952. HRESULT HResult( [out, retval] LONG *retval );
  953. [propget, id(0x60020002)]
  954. HRESULT RebootRequired( [out, retval] VARIANT_BOOL *retval );
  955. [propget, id(0x60020003)]
  956. HRESULT ResultCode( [out, retval] OperationResultCode *retval );
  957. [id(0x60020004)]
  958. HRESULT GetUpdateResult( [in] LONG updateIndex,
  959. [out, retval] IUpdateInstallationResult **retval );
  960. }
  961. [
  962. object,
  963. uuid(7b929c68-ccdc-4226-96b1-8724600b54c2),
  964. oleautomation,
  965. dual,
  966. nonextensible,
  967. pointer_default(unique),
  968. ]
  969. interface IUpdateInstaller : IDispatch
  970. {
  971. [propget]
  972. HRESULT ClientApplicationID(
  973. [out, retval] BSTR *retval);
  974. [propput]
  975. HRESULT ClientApplicationID(
  976. [in] BSTR value);
  977. [propget]
  978. HRESULT IsForced(
  979. [out, retval] VARIANT_BOOL *retval);
  980. [propput]
  981. HRESULT IsForced(
  982. [in] VARIANT_BOOL value);
  983. [propget, restricted]
  984. HRESULT ParentHwnd(
  985. [out, retval] HWND *retval);
  986. [propput, restricted]
  987. HRESULT ParentHwnd(
  988. [in, unique] HWND value);
  989. [propput]
  990. HRESULT ParentWindow(
  991. [in, unique] IUnknown *value);
  992. [propget]
  993. HRESULT ParentWindow(
  994. [out, retval] IUnknown **retval);
  995. [propget]
  996. HRESULT Updates(
  997. [out, retval] IUpdateCollection **retval);
  998. [propput]
  999. HRESULT Updates(
  1000. [in] IUpdateCollection *value);
  1001. HRESULT BeginInstall(
  1002. [in] IUnknown *onProgressChanged,
  1003. [in] IUnknown *onCompleted,
  1004. [in] VARIANT state,
  1005. [out, retval] IInstallationJob **retval);
  1006. HRESULT BeginUninstall(
  1007. [in] IUnknown *onProgressChanged,
  1008. [in] IUnknown *onCompleted,
  1009. [in] VARIANT state,
  1010. [out, retval] IInstallationJob **retval);
  1011. HRESULT EndInstall(
  1012. [in] IInstallationJob *value,
  1013. [out, retval] IInstallationResult **retval);
  1014. HRESULT EndUninstall(
  1015. [in] IInstallationJob *value,
  1016. [out, retval] IInstallationResult **retval);
  1017. HRESULT Install(
  1018. [out, retval] IInstallationResult **retval);
  1019. HRESULT RunWizard(
  1020. [in, defaultvalue("")] BSTR dialogTitle,
  1021. [out, retval] IInstallationResult **retval);
  1022. [propget]
  1023. HRESULT IsBusy(
  1024. [out, retval] VARIANT_BOOL *retval);
  1025. HRESULT Uninstall(
  1026. [out, retval] IInstallationResult **retval);
  1027. [propget]
  1028. HRESULT AllowSourcePrompts(
  1029. [out, retval] VARIANT_BOOL *retval);
  1030. [propput]
  1031. HRESULT AllowSourcePrompts(
  1032. [in] VARIANT_BOOL value);
  1033. [propget]
  1034. HRESULT RebootRequiredBeforeInstallation(
  1035. [out, retval] VARIANT_BOOL *retval);
  1036. }
  1037. [
  1038. object,
  1039. uuid(ADE87BF7-7B56-4275-8FAB-B9B0E591844B),
  1040. oleautomation,
  1041. hidden,
  1042. dual,
  1043. nonextensible,
  1044. pointer_default(unique),
  1045. ]
  1046. interface ISystemInformation : IDispatch
  1047. {
  1048. [propget]
  1049. HRESULT OemHardwareSupportLink(
  1050. [out, retval] BSTR *retval);
  1051. [propget]
  1052. HRESULT RebootRequired(
  1053. [out, retval] VARIANT_BOOL *retval);
  1054. }
  1055. [
  1056. object,
  1057. uuid(85713fa1-7796-4fa2-be3b-e2d6124dd373),
  1058. oleautomation,
  1059. dual,
  1060. nonextensible,
  1061. pointer_default(unique),
  1062. hidden
  1063. ]
  1064. interface IWindowsUpdateAgentInfo : IDispatch
  1065. {
  1066. [id(0x60020001)]
  1067. HRESULT GetInfo([in] VARIANT varInfoIdentifier,
  1068. [out, retval] VARIANT *retval);
  1069. }
  1070. [
  1071. helpstring("AutomaticUpdates Class"),
  1072. threading(both),
  1073. progid("Microsoft.Update.AutoUpdate.1"),
  1074. vi_progid("Microsoft.Update.AutoUpdate"),
  1075. uuid(bfe18e9c-6d87-4450-b37c-e02f0b373803)
  1076. ]
  1077. coclass AutomaticUpdates { interface IAutomaticUpdates; }
  1078. [
  1079. helpstring("UpdateInstaller Class"),
  1080. threading(both),
  1081. progid("Microsoft.Update.Installer.1"),
  1082. vi_progid("Microsoft.Update.Installer"),
  1083. uuid(d2e0fe7f-d23e-48e1-93c0-6fa8cc346474)
  1084. ]
  1085. coclass UpdateInstaller { interface IUpdateInstaller; }
  1086. [
  1087. helpstring("UpdateSession Class"),
  1088. threading(both),
  1089. progid("Microsoft.Update.Session.1"),
  1090. vi_progid("Microsoft.Update.Session"),
  1091. uuid(4cb43d7f-7eee-4906-8698-60da1c38f2fe)
  1092. ]
  1093. coclass UpdateSession { interface IUpdateSession; }
  1094. [
  1095. helpstring("SystemInformation Class"),
  1096. threading(both),
  1097. progid("Microsoft.Update.SystemInfo.1"),
  1098. vi_progid("Microsoft.Update.SystemInfo"),
  1099. uuid(C01B9BA0-BEA7-41BA-B604-D0A36F469133)
  1100. ]
  1101. coclass SystemInformation { interface ISystemInformation; }
  1102. [
  1103. helpstring("WindowsUpdateAgentInfo Class"),
  1104. threading(both),
  1105. progid("Microsoft.Update.AgentInfo.1"),
  1106. vi_progid("Microsoft.Update.AgentInfo"),
  1107. uuid(c2e88c2f-6f5b-4aaa-894b-55c847ad3a2d)
  1108. ]
  1109. coclass WindowsUpdateAgentInfo { interface IWindowsUpdateAgentInfo; }
  1110. } /* WUApiLib */