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 ICategoryCollection
;
25 interface IStringCollection
;
26 interface IUpdateCollection
;
27 interface IUpdateDownloader
;
28 interface IUpdateInstaller
;
29 interface IUpdateSearcher
;
31 typedef [public] enum tagDownloadPriority
38 typedef [public] enum tagServerSelection
46 typedef [public] enum tagAutomaticUpdatesNotificationLevel
50 aunlNotifyBeforeDownload
,
51 aunlNotifyBeforeInstallation
,
52 aunlScheduledInstallation
,
53 } AutomaticUpdatesNotificationLevel
;
55 typedef [public] enum tagAutomaticUpdatesScheduledInstallationDay
65 } AutomaticUpdatesScheduledInstallationDay
;
67 typedef [public] enum tagDownloadPhase
74 typedef [public] enum tagOperationResultCode
79 orcSucceededWithErrors
,
82 } OperationResultCode
;
84 typedef [public] enum tagUpdateExceptionContext
89 } UpdateExceptionContext
;
91 typedef [public] enum tagInstallationImpact
95 iiRequiresExclusiveHandling
98 typedef [public] enum tagInstallationRebootBehavior
101 irbAlwaysRequiresReboot
,
103 } InstallationRebootBehavior
;
105 typedef [public] enum tagUpdateType
111 typedef [public] enum tagUpdateOperation
117 typedef [public] enum tagDeploymentAction
130 uuid(2ee48f22
-af3c
-405f
-8970-f71be12ee9a2
),
131 pointer_default(unique)
133 interface IAutomaticUpdatesSettings
: IDispatch
135 [propget, id(0x60020001)]
136 HRESULT NotificationLevel
( [out, retval] AutomaticUpdatesNotificationLevel
*retval );
138 [propput, id(0x60020001)]
139 HRESULT NotificationLevel
( [in] AutomaticUpdatesNotificationLevel value
);
141 [propget, id(0x60020002)]
142 HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
144 [propget, id(0x60020003)]
145 HRESULT Required
( [out, retval] VARIANT_BOOL *retval );
147 [propget, id(0x60020004)]
148 HRESULT ScheduledInstallationDay
( [out, retval] AutomaticUpdatesScheduledInstallationDay
*retval );
150 [propput, id(0x60020004)]
151 HRESULT ScheduledInstallationDay
( [in] AutomaticUpdatesScheduledInstallationDay value
);
153 [propget, id(0x60020005)]
154 HRESULT ScheduledInstallationTime
( [out, retval] LONG *retval );
156 [propput, id(0x60020005)]
157 HRESULT ScheduledInstallationTime
( [in] LONG value
);
168 uuid(673425bf
-c082
-4c7c
-bdfd
-569464b8e0ce
),
172 pointer_default(unique),
175 interface IAutomaticUpdates
: IDispatch
180 HRESULT ShowSettingsDialog
();
184 [out, retval] IAutomaticUpdatesSettings
**retval);
187 HRESULT ServiceEnabled
(
188 [out, retval] VARIANT_BOOL *retval);
190 HRESULT EnableService
();
198 uuid(174c81fe
-aecd
-4dae
-b8a0
-2c6318dd86a8
),
199 pointer_default(unique),
201 interface IWebProxy
: IDispatch
203 [propget, id(0x60020001)]
204 HRESULT Address
( [out, retval] BSTR *retval );
206 [propput, id(0x60020001)]
207 HRESULT Address
( [in] BSTR value
);
209 [propget, id(0x60020002)]
210 HRESULT BypassList
( [out, retval] IStringCollection
**retval );
212 [propput, id(0x60020002)]
213 HRESULT BypassList
( [in] IStringCollection
*value
);
215 [propget, id(0x60020003)]
216 HRESULT BypassProxyOnLocal
( [out, retval] VARIANT_BOOL *retval );
218 [propput, id(0x60020003)]
219 HRESULT BypassProxyOnLocal
( [in] VARIANT_BOOL value
);
221 [propget, id(0x60020004)]
222 HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
224 [propget, id(0x60020005)]
225 HRESULT UserName
( [out, retval] BSTR *retval );
227 [propput, id(0x60020005)]
228 HRESULT UserName
( [in] BSTR value
);
231 HRESULT SetPassword
( [in] BSTR value
);
234 HRESULT PromptForCredentials
( [in, unique] IUnknown
*parentWindow
,
237 [restricted, id(0x60020008)]
238 HRESULT PromptForCredentialsFromHwnd
( [in, unique] HWND parentWindow
,
241 [propget, id(0x60020009)]
242 HRESULT AutoDetect
( [out, retval] VARIANT_BOOL *retval );
244 [propput, id(0x60020009)]
245 HRESULT AutoDetect
( [in] VARIANT_BOOL value
);
250 uuid(816858a4
-260d
-4260-933a
-2585f1abc76b
),
254 pointer_default(unique),
256 interface IUpdateSession
: IDispatch
259 HRESULT ClientApplicationID
(
260 [out, retval] BSTR *retval);
263 HRESULT ClientApplicationID
(
268 [out, retval] VARIANT_BOOL *retval);
272 [out, retval] IWebProxy
**retval);
276 [in, unique] IWebProxy
*value
);
278 HRESULT CreateUpdateSearcher
(
279 [out, retval] IUpdateSearcher
**retval);
281 HRESULT CreateUpdateDownloader
(
282 [out, retval] IUpdateDownloader
**retval);
284 HRESULT CreateUpdateInstaller
(
285 [out, retval] IUpdateInstaller
**retval);
293 uuid(7c907864
-346c
-4aeb
-8f3f
-57da289f969f
),
294 pointer_default(unique),
296 interface IImageInformation
: IDispatch
298 [propget, id(0x60020001)]
299 HRESULT AltText
( [out, retval] BSTR *retval );
301 [propget, id(0x60020002)]
302 HRESULT Height
( [out, retval] LONG *retval );
304 [propget, id(0x60020003)]
305 HRESULT Source( [out, retval] BSTR *retval );
307 [propget, id(0x60020004)]
308 HRESULT Width
( [out, retval] LONG *retval );
316 uuid(81ddc1b8
-9d35
-47a6
-b471
-5b80f519223b
),
317 pointer_default(unique),
319 interface ICategory
: IDispatch
321 [propget, id(DISPID_VALUE
)]
322 HRESULT Name
( [out, retval] BSTR *retval );
324 [propget, id(0x60020001)]
325 HRESULT CategoryID
( [out, retval] BSTR *retval );
327 [propget, id(0x60020002)]
328 HRESULT Children
( [out, retval] ICategoryCollection
**retval );
330 [propget, id(0x60020003)]
331 HRESULT Description
( [out, retval] BSTR *retval );
333 [propget, id(0x60020004)]
334 HRESULT Image
( [out, retval] IImageInformation
**retval );
336 [propget, id(0x60020005)]
337 HRESULT Order
( [out, retval] LONG *retval );
339 [propget, id(0x60020006)]
340 HRESULT Parent
( [out, retval] ICategory
**retval );
342 [propget, id(0x60020007)]
343 HRESULT Type
( [out, retval] BSTR *retval );
345 [propget, id(0x60020008)]
346 HRESULT Updates
( [out, retval] IUpdateCollection
**retval );
354 uuid(3a56bfb8
-576c
-43f7
-9335-fe4838fd7e37
),
355 pointer_default(unique),
357 interface ICategoryCollection
: IDispatch
359 [propget, id(DISPID_VALUE
)]
360 HRESULT Item
( [in] LONG index
,
361 [out, retval] ICategory
**retval );
363 [propget, id(DISPID_NEWENUM
)]
364 HRESULT _NewEnum
( [out, retval] IUnknown
**retval );
366 [propget, id(0x60020001)]
367 HRESULT Count
( [out, retval] LONG *retval );
375 uuid(eff90582
-2ddc
-480f
-a06d
-60f3fbc362c3
),
376 pointer_default(unique),
379 interface IStringCollection
: IDispatch
381 [propget, id(DISPID_VALUE
)]
382 HRESULT Item
( [in] LONG index
,
383 [out, retval] BSTR *retval );
385 [propput, id(DISPID_VALUE
)]
386 HRESULT Item
( [in] LONG index
,
389 [propget, id(DISPID_NEWENUM
)]
390 HRESULT _NewEnum
( [out, retval] IUnknown
**retval );
392 [propget, id(0x60020001)]
393 HRESULT Count
( [out, retval] LONG *retval );
395 [propget, id(0x60020002)]
396 HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
399 HRESULT Add
( [in] BSTR value
,
400 [out, retval] LONG *retval );
406 HRESULT Copy
( [out, retval] IStringCollection
**retval );
409 HRESULT Insert
( [in] LONG index
,
413 HRESULT RemoveAt
( [in] LONG index
);
421 uuid(a376dd5e
-09d4
-427f
-af7c
-fed5b6e1c1d6
),
422 pointer_default(unique),
424 interface IUpdateException
: IDispatch
426 [propget, id(DISPID_VALUE
)]
427 HRESULT Message( [out, retval] BSTR *retval );
429 [propget, id(0x60020001)]
430 HRESULT HResult( [out, retval] LONG *retval );
432 [propget, id(0x60020002)]
433 HRESULT Context
( [out, retval] UpdateExceptionContext
*retval );
441 uuid(503626a3
-8e14
-4729-9355-0fe664bd2321
),
442 pointer_default(unique),
444 interface IUpdateExceptionCollection
: IDispatch
446 [propget, id(DISPID_VALUE
)]
447 HRESULT Item
( [in] LONG index
,
448 [out, retval] IUpdateException
**retval );
450 [propget, id(DISPID_NEWENUM
)]
451 HRESULT _NewEnum
( [out, retval] IUnknown
**retval );
453 [propget, id(0x60020001)]
454 HRESULT Count
( [out, retval] LONG *retval );
462 uuid(46297823-9940-4c09
-aed9
-cd3ea6d05968
),
463 pointer_default(unique)
465 interface IUpdateIdentity
: IDispatch
467 [propget, id(0x60020002)]
468 HRESULT RevisionNumber
( [out, retval] LONG *retval );
470 [propget, id(0x60020003)]
471 HRESULT UpdateID
( [out, retval] BSTR *retval );
480 uuid(d9a59339
-e245
-4dbd
-9686-4d5763e39624
),
481 pointer_default(unique),
483 interface IInstallationBehavior
: IDispatch
485 [propget, id(0x60020001)]
486 HRESULT CanRequestUserInput
( [out, retval] VARIANT_BOOL *retval );
488 [propget, id(0x60020002)]
489 HRESULT Impact
( [out, retval] InstallationImpact
*retval );
491 [propget, id(0x60020003)]
492 HRESULT RebootBehavior
( [out, retval] InstallationRebootBehavior
*retval );
494 [propget, id(0x60020004)]
495 HRESULT RequiresNetworkConnectivity
( [out, retval] VARIANT_BOOL *retval );
503 uuid(54a2cb2d
-9a0c
-48b6
-8a50
-9abb69ee2d02
),
504 pointer_default(unique),
506 interface IUpdateDownloadContent
: IDispatch
508 [propget, id(0x60020001)]
509 HRESULT DownloadUrl
( [out, retval] BSTR *retval );
517 uuid(bc5513c8
-b3b8
-4bf7
-a4d4
-361c0d8c88ba
),
518 pointer_default(unique),
520 interface IUpdateDownloadContentCollection
: IDispatch
522 [propget, id(DISPID_VALUE
)]
523 HRESULT Item
( [in] LONG index
,
524 [out, retval] IUpdateDownloadContent
**retval );
526 [propget, id(DISPID_NEWENUM
)]
527 HRESULT _NewEnum
( [out, retval] IUnknown
**retval );
529 [propget, id(0x60020001)]
530 HRESULT Count
( [out, retval] LONG *retval );
539 uuid(6a92b07a
-d821
-4682-b423
-5c805022cc4d
),
540 pointer_default(unique),
542 interface IUpdate
: IDispatch
544 [propget, id(DISPID_VALUE
)]
545 HRESULT Title
( [out, retval] BSTR *retval );
547 [propget, id(0x60020001)]
548 HRESULT AutoSelectOnWebSites
( [out, retval] VARIANT_BOOL *retval );
550 [propget, id(0x60020002)]
551 HRESULT BundledUpdates
( [out, retval] IUpdateCollection
**retval );
553 [propget, id(0x60020003)]
554 HRESULT CanRequireSource
( [out, retval] VARIANT_BOOL *retval );
556 [propget, id(0x60020004)]
557 HRESULT Categories
( [out, retval] ICategoryCollection
**retval );
559 [propget, id(0x60020005)]
560 HRESULT Deadline
( [out, retval] VARIANT *retval );
562 [propget, id(0x60020006)]
563 HRESULT DeltaCompressedContentAvailable
( [out, retval] VARIANT_BOOL *retval );
565 [propget, id(0x60020007)]
566 HRESULT DeltaCompressedContentPreferred
( [out, retval] VARIANT_BOOL *retval );
568 [propget, id(0x60020008)]
569 HRESULT Description
( [out, retval] BSTR *retval );
571 [propget, id(0x60020009)]
572 HRESULT EulaAccepted
( [out, retval] VARIANT_BOOL *retval );
574 [propget, id(0x6002000a)]
575 HRESULT EulaText
( [out, retval] BSTR *retval );
577 [propget, id(0x6002000b)]
578 HRESULT HandlerID
( [out, retval] BSTR *retval );
580 [propget, id(0x6002000c)]
581 HRESULT Identity
( [out, retval] IUpdateIdentity
**retval );
583 [propget, id(0x6002000d)]
584 HRESULT Image
( [out, retval] IImageInformation
**retval );
586 [propget, id(0x6002000e)]
587 HRESULT InstallationBehavior
( [out, retval] IInstallationBehavior
**retval );
589 [propget, id(0x6002000f)]
590 HRESULT IsBeta
( [out, retval] VARIANT_BOOL *retval );
592 [propget, id(0x60020010)]
593 HRESULT IsDownloaded
( [out, retval] VARIANT_BOOL *retval );
595 [propget, id(0x60020011)]
596 HRESULT IsHidden
( [out, retval] VARIANT_BOOL *retval );
598 [propput, id(0x60020011)]
599 HRESULT IsHidden
( [in] VARIANT_BOOL value
);
601 [propget, id(0x60020012)]
602 HRESULT IsInstalled
( [out, retval] VARIANT_BOOL *retval );
604 [propget, id(0x60020013)]
605 HRESULT IsMandatory
( [out, retval] VARIANT_BOOL *retval );
607 [propget, id(0x60020014)]
608 HRESULT IsUninstallable
( [out, retval] VARIANT_BOOL *retval );
610 [propget, id(0x60020015)]
611 HRESULT Languages
( [out, retval] IStringCollection
**retval );
613 [propget, id(0x60020016)]
614 HRESULT LastDeploymentChangeTime
( [out, retval] DATE
*retval );
616 [propget, id(0x60020017)]
617 HRESULT MaxDownloadSize
( [out, retval] DECIMAL
*retval );
619 [propget, id(0x60020018)]
620 HRESULT MinDownloadSize
( [out, retval] DECIMAL
*retval );
622 [propget, id(0x60020019)]
623 HRESULT MoreInfoUrls
( [out, retval] IStringCollection
**retval );
625 [propget, id(0x6002001a)]
626 HRESULT MsrcSeverity
( [out, retval] BSTR *retval );
628 [propget, id(0x6002001b)]
629 HRESULT RecommendedCpuSpeed
( [out, retval] LONG *retval );
631 [propget, id(0x6002001c)]
632 HRESULT RecommendedHardDiskSpace
( [out, retval] LONG *retval );
634 [propget, id(0x6002001d)]
635 HRESULT RecommendedMemory
( [out, retval] LONG *retval );
637 [propget, id(0x6002001e)]
638 HRESULT ReleaseNotes
( [out, retval] BSTR *retval );
640 [propget, id(0x6002001f)]
641 HRESULT SecurityBulletinIDs
( [out, retval] IStringCollection
**retval );
643 [propget, id(0x60020021)]
644 HRESULT SupersededUpdateIDs
( [out, retval] IStringCollection
**retval );
646 [propget, id(0x60020022)]
647 HRESULT SupportUrl
( [out, retval] BSTR *retval );
649 [propget, id(0x60020023)]
650 HRESULT Type
( [out, retval] UpdateType
*retval );
652 [propget, id(0x60020024)]
653 HRESULT UninstallationNotes
( [out, retval] BSTR *retval );
655 [propget, id(0x60020025)]
656 HRESULT UninstallationBehavior
( [out, retval] IInstallationBehavior
**retval );
658 [propget, id(0x60020026)]
659 HRESULT UninstallationSteps
( [out, retval] IStringCollection
**retval );
661 [propget, id(0x60020028)]
662 HRESULT KBArticleIDs
( [out, retval] IStringCollection
**retval );
665 HRESULT AcceptEula
();
667 [propget, id(0x60020029)]
668 HRESULT DeploymentAction
( [out, retval] DeploymentAction
*retval );
671 HRESULT CopyFromCache
( [in, ref] BSTR path
,
672 [in] VARIANT_BOOL toExtractCabFiles
);
674 [propget, id(0x6002002b)]
675 HRESULT DownloadPriority
( [out, retval] DownloadPriority
*retval );
677 [propget, id(0x6002002c)]
678 HRESULT DownloadContents
( [out, retval] IUpdateDownloadContentCollection
**retval );
687 uuid(07f7438c
-7709-4ca5
-b518
-91279288134e
),
688 pointer_default(unique),
691 interface IUpdateCollection
: IDispatch
693 [propget, id(DISPID_VALUE
)]
694 HRESULT Item
( [in] LONG index
,
695 [out, retval] IUpdate
**retval );
697 [propput, id(DISPID_VALUE
)]
698 HRESULT Item
( [in] LONG index
,
699 [in] IUpdate
*value
);
701 [propget, id(DISPID_NEWENUM
)]
702 HRESULT _NewEnum
( [out, retval] IUnknown
**retval );
704 [propget, id(0x60020001)]
705 HRESULT Count
( [out, retval] LONG *retval );
707 [propget, id(0x60020002)]
708 HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
711 HRESULT Add
( [in] IUpdate
*value
,
712 [out, retval] LONG *retval );
718 HRESULT Copy
( [out, retval] IUpdateCollection
**retval );
721 HRESULT Insert
( [in] LONG index
,
722 [in] IUpdate
*value
);
725 HRESULT RemoveAt
( [in] LONG index
);
733 uuid(7366ea16
-7a1a
-4ea2
-b042
-973d3e9cd99b
),
734 pointer_default(unique),
736 interface ISearchJob
: IDispatch
738 [propget, id(0x60020001)]
739 HRESULT AsyncState
( [out, retval] VARIANT *retval );
741 [propget, id(0x60020002)]
742 HRESULT IsCompleted
( [out, retval] VARIANT_BOOL *retval );
748 HRESULT RequestAbort
();
756 uuid(d40cff62
-e08c
-4498-941a
-01e25f0fd33c
),
757 pointer_default(unique),
759 interface ISearchResult
: IDispatch
761 [propget, id(0x60020001)]
762 HRESULT ResultCode
( [out, retval] OperationResultCode
*retval );
764 [propget, id(0x60020002)]
765 HRESULT RootCategories
( [out, retval] ICategoryCollection
**retval );
767 [propget, id(0x60020003)]
768 HRESULT Updates
( [out, retval] IUpdateCollection
**retval );
770 [propget, id(0x60020004)]
771 HRESULT Warnings
( [out, retval] IUpdateExceptionCollection
**retval );
779 uuid(be56a644
-af0e
-4e0e
-a311
-c1d8e695cbff
),
780 pointer_default(unique),
782 interface IUpdateHistoryEntry
: IDispatch
784 [propget, id(0x60020001)]
785 HRESULT Operation
( [out, retval] UpdateOperation
*retval );
787 [propget, id(0x60020002)]
788 HRESULT ResultCode
( [out, retval] OperationResultCode
*retval );
790 [propget, id(0x60020003)]
791 HRESULT HResult( [out, retval] LONG *retval );
793 [propget, id(0x60020004)]
794 HRESULT Date
( [out, retval] DATE
*retval );
796 [propget, id(0x60020005)]
797 HRESULT UpdateIdentity
( [out, retval] IUpdateIdentity
**retval );
799 [propget, id(0x60020006)]
800 HRESULT Title
( [out, retval] BSTR *retval );
802 [propget, id(0x60020007)]
803 HRESULT Description
( [out, retval] BSTR *retval );
805 [propget, id(0x60020008)]
806 HRESULT UnmappedResultCode
( [out, retval] LONG *retval );
808 [propget, id(0x60020009)]
809 HRESULT ClientApplicationID
( [out, retval] BSTR *retval );
811 [propget, id(0x6002000a)]
812 HRESULT ServerSelection
( [out, retval] ServerSelection
*retval );
814 [propget, id(0x6002000b)]
815 HRESULT ServiceID
( [out, retval] BSTR *retval );
817 [propget, id(0x6002000c)]
818 HRESULT UninstallationSteps
( [out, retval] IStringCollection
**retval );
820 [propget, id(0x6002000d)]
821 HRESULT UninstallationNotes
( [out, retval] BSTR *retval );
823 [propget, id(0x6002000e)]
824 HRESULT SupportUrl
( [out, retval] BSTR *retval );
832 uuid(a7f04f3c
-a290
-435b
-aadf
-a116c3357a5c
),
833 pointer_default(unique),
835 interface IUpdateHistoryEntryCollection
: IDispatch
837 [propget, id(DISPID_VALUE
)]
838 HRESULT Item
( [in] LONG index
,
839 [out, retval] IUpdateHistoryEntry
**retval );
841 [propget, id(DISPID_NEWENUM
)]
842 HRESULT _NewEnum
( [out, retval] IUnknown
**retval );
844 [propget, id(0x60020001)]
845 HRESULT Count
( [out, retval] LONG *retval );
850 uuid(8f45abf1
-f9ae
-4b95
-a933
-f0f66e5056ea
),
854 pointer_default(unique),
856 interface IUpdateSearcher
: IDispatch
859 HRESULT CanAutomaticallyUpgradeService
(
860 [out, retval] VARIANT_BOOL *retval);
863 HRESULT CanAutomaticallyUpgradeService
(
864 [in] VARIANT_BOOL value
);
867 HRESULT ClientApplicationID
(
868 [out, retval] BSTR *retval);
871 HRESULT ClientApplicationID
(
875 HRESULT IncludePotentiallySupersededUpdates
(
876 [out, retval] VARIANT_BOOL *retval);
879 HRESULT IncludePotentiallySupersededUpdates
(
880 [in] VARIANT_BOOL value
);
883 HRESULT ServerSelection
(
884 [out, retval] ServerSelection
*retval);
887 HRESULT ServerSelection
(
888 [in] ServerSelection value
);
892 [in] IUnknown
*onCompleted
,
894 [out, retval] ISearchJob
**retval);
897 [in] ISearchJob
*searchJob
,
898 [out, retval] ISearchResult
**retval);
900 HRESULT EscapeString
(
902 [out, retval] BSTR *retval);
904 HRESULT QueryHistory
(
905 [in] LONG startIndex
,
907 [out, retval] IUpdateHistoryEntryCollection
**retval);
911 [out, retval] ISearchResult
**retval);
915 [out, retval] VARIANT_BOOL *retval);
919 [in] VARIANT_BOOL value
);
921 HRESULT GetTotalHistoryCount
(
922 [out, retval] LONG *retval);
926 [out, retval] BSTR *retval);
938 uuid(bf99af76
-b575
-42ad
-8aa4
-33cbb5477af1
),
939 pointer_default(unique),
941 interface IUpdateDownloadResult
: IDispatch
943 [propget, id(0x60020001)]
944 HRESULT HResult( [out, retval] LONG *retval );
946 [propget, id(0x60020002)]
947 HRESULT ResultCode
( [out, retval] OperationResultCode
*retval );
955 uuid(d31a5bac
-f719
-4178-9dbb
-5e2cb47fd18a
),
956 pointer_default(unique),
958 interface IDownloadProgress
: IDispatch
960 [propget, id(0x60020001)]
961 HRESULT CurrentUpdateBytesDownloaded
( [out, retval] DECIMAL
*retval );
963 [propget, id(0x60020002)]
964 HRESULT CurrentUpdateBytesToDownload
( [out, retval] DECIMAL
*retval );
966 [propget, id(0x60020003)]
967 HRESULT CurrentUpdateIndex
( [out, retval] LONG *retval );
969 [propget, id(0x60020004)]
970 HRESULT PercentComplete
( [out, retval] LONG *retval );
972 [propget, id(0x60020005)]
973 HRESULT TotalBytesDownloaded
( [out, retval] DECIMAL
*retval );
975 [propget, id(0x60020006)]
976 HRESULT TotalBytesToDownload
( [out, retval] DECIMAL
*retval );
979 HRESULT GetUpdateResult
( [in] LONG updateIndex
,
980 [out, retval] IUpdateDownloadResult
**retval );
983 [propget, id(0x60020008)]
984 HRESULT CurrentUpdateDownloadPhase
( [out, retval] DownloadPhase
*retval );
986 [propget, id(0x60020009)]
987 HRESULT CurrentUpdatePercentComplete
( [out, retval] LONG *retval );
995 uuid(c574de85
-7358-43f6
-aae8
-8697e62d8ba7
),
996 pointer_default(unique),
998 interface IDownloadJob
: IDispatch
1000 [propget, id(0x60020001)]
1001 HRESULT AsyncState
( [out, retval] VARIANT *retval );
1003 [propget, id(0x60020002)]
1004 HRESULT IsCompleted
( [out, retval] VARIANT_BOOL *retval );
1006 [propget, id(0x60020003)]
1007 HRESULT Updates
( [out, retval] IUpdateCollection
**retval );
1013 HRESULT GetProgress
( [out, retval] IDownloadProgress
**retval );
1016 HRESULT RequestAbort
();
1024 uuid(daa4fdd0
-4727-4dbe
-a1e7
-745dca317144
),
1025 pointer_default(unique),
1027 interface IDownloadResult
: IDispatch
1029 [propget, id(0x60020001)]
1030 HRESULT HResult( [out, retval] LONG *retval );
1032 [propget, id(0x60020002)]
1033 HRESULT ResultCode
( [out, retval] OperationResultCode
*retval );
1036 HRESULT GetUpdateResult
( [in] LONG updateIndex
,
1037 [out, retval] IUpdateDownloadResult
**retval );
1042 uuid(68f1c6f9
-7ecc
-4666-a464
-247fe12496c3
),
1046 pointer_default(unique),
1049 interface IUpdateDownloader
: IDispatch
1052 HRESULT ClientApplicationID
(
1053 [out, retval] BSTR *retval);
1056 HRESULT ClientApplicationID
(
1061 [out, retval] VARIANT_BOOL *retval);
1065 [in] VARIANT_BOOL value
);
1069 [out, retval] DownloadPriority
*retval);
1073 [in] DownloadPriority value
);
1077 [out, retval] IUpdateCollection
**retval);
1081 [in] IUpdateCollection
*value
);
1083 HRESULT BeginDownload
(
1084 [in] IUnknown
*onProgressChanged
,
1085 [in] IUnknown
*onCompleted
,
1087 [out, retval] IDownloadJob
**retval);
1090 [out, retval] IDownloadResult
**retval);
1092 HRESULT EndDownload
(
1093 [in] IDownloadJob
*value
,
1094 [out, retval] IDownloadResult
**retval);
1102 uuid(d940f0f8
-3cbb
-4fd0
-993f
-471e7f2328ad
),
1103 pointer_default(unique),
1105 interface IUpdateInstallationResult
: IDispatch
1107 [propget, id(0x60020001)]
1108 HRESULT HResult( [out, retval] LONG *retval );
1110 [propget, id(0x60020002)]
1111 HRESULT RebootRequired
( [out, retval] VARIANT_BOOL *retval );
1113 [propget, id(0x60020003)]
1114 HRESULT ResultCode
( [out, retval] OperationResultCode
*retval );
1122 uuid(345c8244
-43a3
-4e32
-a368
-65f073b76f36
),
1123 pointer_default(unique),
1125 interface IInstallationProgress
: IDispatch
1127 [propget, id(0x60020001)]
1128 HRESULT CurrentUpdateIndex
( [out, retval] LONG *retval );
1130 [propget, id(0x60020002)]
1131 HRESULT CurrentUpdatePercentComplete
( [out, retval] LONG *retval );
1133 [propget, id(0x60020003)]
1134 HRESULT PercentComplete
( [out, retval] LONG *retval );
1137 HRESULT GetUpdateResult
( [in] LONG updateIndex
,
1138 [out, retval] IUpdateInstallationResult
**retval );
1146 uuid(5c209f0b
-bad5
-432a
-9556-4699bed2638a
),
1147 pointer_default(unique),
1149 interface IInstallationJob
: IDispatch
1151 [propget, id(0x60020001)]
1152 HRESULT AsyncState
( [out, retval] VARIANT *retval );
1154 [propget, id(0x60020002)]
1155 HRESULT IsCompleted
( [out, retval] VARIANT_BOOL *retval );
1157 [propget, id(0x60020003)]
1158 HRESULT Updates
( [out, retval] IUpdateCollection
**retval );
1164 HRESULT GetProgress
( [out, retval] IInstallationProgress
**retval );
1167 HRESULT RequestAbort
();
1175 uuid(a43c56d6
-7451-48d4
-af96
-b6cd2d0d9b7a
),
1176 pointer_default(unique),
1178 interface IInstallationResult
: IDispatch
1180 [propget, id(0x60020001)]
1181 HRESULT HResult( [out, retval] LONG *retval );
1183 [propget, id(0x60020002)]
1184 HRESULT RebootRequired
( [out, retval] VARIANT_BOOL *retval );
1186 [propget, id(0x60020003)]
1187 HRESULT ResultCode
( [out, retval] OperationResultCode
*retval );
1190 HRESULT GetUpdateResult
( [in] LONG updateIndex
,
1191 [out, retval] IUpdateInstallationResult
**retval );
1196 uuid(7b929c68
-ccdc
-4226-96b1
-8724600b54c2
),
1200 pointer_default(unique),
1202 interface IUpdateInstaller
: IDispatch
1205 HRESULT ClientApplicationID
(
1206 [out, retval] BSTR *retval);
1209 HRESULT ClientApplicationID
(
1214 [out, retval] VARIANT_BOOL *retval);
1218 [in] VARIANT_BOOL value
);
1220 [propget, restricted]
1222 [out, retval] HWND
*retval);
1224 [propput, restricted]
1226 [in, unique] HWND value
);
1229 HRESULT ParentWindow
(
1230 [in, unique] IUnknown
*value
);
1233 HRESULT ParentWindow
(
1234 [out, retval] IUnknown
**retval);
1238 [out, retval] IUpdateCollection
**retval);
1242 [in] IUpdateCollection
*value
);
1244 HRESULT BeginInstall
(
1245 [in] IUnknown
*onProgressChanged
,
1246 [in] IUnknown
*onCompleted
,
1248 [out, retval] IInstallationJob
**retval);
1250 HRESULT BeginUninstall
(
1251 [in] IUnknown
*onProgressChanged
,
1252 [in] IUnknown
*onCompleted
,
1254 [out, retval] IInstallationJob
**retval);
1257 [in] IInstallationJob
*value
,
1258 [out, retval] IInstallationResult
**retval);
1260 HRESULT EndUninstall
(
1261 [in] IInstallationJob
*value
,
1262 [out, retval] IInstallationResult
**retval);
1265 [out, retval] IInstallationResult
**retval);
1268 [in, defaultvalue("")] BSTR dialogTitle
,
1269 [out, retval] IInstallationResult
**retval);
1273 [out, retval] VARIANT_BOOL *retval);
1276 [out, retval] IInstallationResult
**retval);
1279 HRESULT AllowSourcePrompts
(
1280 [out, retval] VARIANT_BOOL *retval);
1283 HRESULT AllowSourcePrompts
(
1284 [in] VARIANT_BOOL value
);
1287 HRESULT RebootRequiredBeforeInstallation
(
1288 [out, retval] VARIANT_BOOL *retval);