6 Appendix A: Full IDL
For ease of implementation the full IDL is provided below, where "ms-dtyp.idl" refers to the IDL found in [MS-DTYP] Appendix A and "ms-oaut.idl" refers to the IDL found in [MS-OAUT] Appendix A. The syntax uses the IDL syntax extensions defined in [MS-RPCE] sections 2.2.4. For example, as noted in [MS-RPCE] section 2.2.4.8, a pointer_default declaration is not required and pointer_default(unique) is assumed.
-
-
import "ms-dtyp.idl"; import "ms-oaut.idl"; [ v1_enum ] typedef enum tagDownloadPriority { dpLow = 1, dpNormal = 2, dpHigh = 3, dpExtraHigh = 4, } DownloadPriority; [ v1_enum ] typedef enum tagAutoSelectionMode { asLetWindowsUpdateDecide = 0, asAutoSelectIfDownloaded = 1, asNeverAutoSelect = 2, asAlwaysAutoSelect = 3, } AutoSelectionMode; [ v1_enum ] typedef enum tagAutoDownloadMode { adLetWindowsUpdateDecide = 0, adNeverAutoDownload = 1, adAlwaysAutoDownload = 2, } AutoDownloadMode; [ v1_enum ] typedef enum tagInstallationImpact { iiNormal = 0, iiMinor = 1, iiRequiresExclusiveHandling = 2, } InstallationImpact; [ v1_enum ] typedef enum tagInstallationRebootBehavior { irbNeverReboots = 0, irbAlwaysRequiresReboot = 1, irbCanRequestReboot = 2, } InstallationRebootBehavior; [ v1_enum ] typedef enum tagOperationResultCode { orcNotStarted = 0, orcInProgress = 1, orcSucceeded = 2, orcSucceededWithErrors = 3, orcFailed = 4, orcAborted = 5, } OperationResultCode; [ v1_enum ] typedef enum tagServerSelection { ssDefault = 0, ssManagedServer = 1, ssWindowsUpdate = 2, ssOthers = 3, } ServerSelection; [ v1_enum ] typedef enum tagUpdateType { utSoftware = 1, utDriver = 2, } UpdateType; [ v1_enum ] typedef enum tagUpdateOperation { uoInstallation = 1, uoUninstallation = 2, } UpdateOperation; [ v1_enum ] typedef enum tagDeploymentAction { daNone = 0, daInstallation = 1, daUninstallation = 2, daDetection = 3, } DeploymentAction; [ v1_enum ] typedef enum tagUpdateExceptionContext { uecGeneral = 1, uecWindowsDriver = 2, uecWindowsInstaller = 3, } UpdateExceptionContext; [ v1_enum ] typedef enum tagUpdateServiceRegistrationState { usrsNotRegistered = 1, usrsRegistrationPending = 2, usrsRegistered = 3, } UpdateServiceRegistrationState; [ v1_enum ] typedef enum tagSearchScope { searchScopeDefault = 0, searchScopeMachineOnly = 1, searchScopeCurrentUserOnly = 2, searchScopeMachineAndCurrentUser = 3, searchScopeMachineAndAllUsers = 4, searchScopeAllUsers = 5 }SearchScope; typedef enum tagAddServiceFlag { asfAllowPendingRegistration = 0x00000001, asfAllowOnlineRegistration = 0x00000002, asfRegisterServiceWithAU = 0x00000004, } AddServiceFlag; typedef enum tagUpdateServiceOption { usoNonVolatileService = 0x00000001, } UpdateServiceOption; typedef DECIMAL DECIMAL; interface ICategoryCollection; interface IUpdateCollection; interface IUpdate; interface IUpdateServiceManager2; [ object, oleautomation, dual, nonextensible, uuid(eff90582-2ddc-480f-a06d-60f3fbc362c3), pointer_default(unique), ] interface IStringCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] BSTR* retval); [ id(DISPID_VALUE), propput, ] HRESULT Item( [in] LONG index, [in] BSTR value); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); [ id(0x60020002), propget ] HRESULT ReadOnly( [out, retval] VARIANT_BOOL* retval); [ id(0x60020003) ] HRESULT Add( [in] BSTR value, [out, retval] LONG* retval); [ id(0x60020004) ] HRESULT Clear( ); [ id(0x60020005), ] HRESULT Copy( [out, retval] IStringCollection** retval); [ id(0x60020006) ] HRESULT Insert( [in] LONG index, [in] BSTR value); [ id(0x60020007) ] HRESULT RemoveAt( [in] LONG index); } [ object, oleautomation, dual, nonextensible, uuid(85713fa1-7796-4fa2-be3b-e2d6124dd373), pointer_default(unique) ] interface IWindowsUpdateAgentInfo : IDispatch { [ id(0x60020001) ] HRESULT GetInfo( [in] VARIANT varInfoIdentifier, [out, retval] VARIANT* retval); } [ object, oleautomation, dual, nonextensible, uuid(E7A4D634-7942-4DD9-A111-82228BA33901), pointer_default(unique) ] interface IAutomaticUpdatesResults : IDispatch { [ id(0x60020001), propget ] HRESULT LastSearchSuccessDate( [out, retval] VARIANT* retval); [ id(0x60020002), propget ] HRESULT LastInstallationSuccessDate( [out, retval] VARIANT* retval); } [ object, oleautomation, dual, nonextensible, uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce), pointer_default(unique) ] interface IAutomaticUpdates : IDispatch { [ id(0x60020001), ] HRESULT DetectNow(); HRESULT Opnum9NotUsedOnWire(); HRESULT Opnum10NotUsedOnWire(); HRESULT Opnum11NotUsedOnWire(); HRESULT Opnum12NotUsedOnWire(); HRESULT Opnum13NotUsedOnWire(); HRESULT Opnum14NotUsedOnWire(); } [ object, oleautomation, dual, nonextensible, uuid(4A2F5C31-CFD9-410E-B7FB-29A653973A0F), pointer_default(unique) ] interface IAutomaticUpdates2 : IAutomaticUpdates { [ id(0x60030001), propget ] HRESULT Results( [out, retval] IAutomaticUpdatesResults** retval); } [ object, oleautomation, dual, nonextensible, uuid(46297823-9940-4c09-aed9-cd3ea6d05968), pointer_default(unique) ] interface IUpdateIdentity : IDispatch { [ id(0x60020002), propget ] HRESULT RevisionNumber( [out, retval] LONG* retval); [ id(0x60020003), propget ] HRESULT UpdateID( [out, retval] BSTR* retval); } [ object, oleautomation, dual, nonextensible, uuid(7c907864-346c-4aeb-8f3f-57da289f969f), pointer_default(unique), ] interface IImageInformation : IDispatch { [ id(0x60020001), propget ] HRESULT AltText( [out, retval] BSTR* retval); [ id(0x60020002), propget ] HRESULT Height( [out, retval] LONG* retval); [ id(0x60020003), propget ] HRESULT Source( [out, retval] BSTR* retval); [ id(0x60020004), propget ] HRESULT Width( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(81ddc1b8-9d35-47a6-b471-5b80f519223b), pointer_default(unique), ] interface ICategory : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Name( [out, retval] BSTR* retval); [ id(0x60020001), propget ] HRESULT CategoryID( [out, retval] BSTR* retval); [ id(0x60020002), propget ] HRESULT Children( [out, retval] ICategoryCollection** retval); [ id(0x60020003), propget ] HRESULT Description( [out, retval] BSTR* retval); [ id(0x60020004), propget ] HRESULT Image( [out, retval] IImageInformation** retval); [ id(0x60020005), propget ] HRESULT Order( [out, retval] LONG* retval); [ id(0x60020006), propget ] HRESULT Parent( [out, retval] ICategory** retval); [ id(0x60020007), propget ] HRESULT Type( [out, retval] BSTR* retval); [ id(0x60020008), propget ] HRESULT Updates( [out, retval] IUpdateCollection** retval); } [ object, oleautomation, dual, nonextensible, uuid(3a56bfb8-576c-43f7-9335-fe4838fd7e37), pointer_default(unique), ] interface ICategoryCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] ICategory** retval); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(d9a59339-e245-4dbd-9686-4d5763e39624), pointer_default(unique), ] interface IInstallationBehavior : IDispatch { [ id(0x60020001), propget ] HRESULT CanRequestUserInput( [out, retval] VARIANT_BOOL* retval); [ id(0x60020002), propget ] HRESULT Impact( [out, retval] InstallationImpact* retval); [ id(0x60020003), propget ] HRESULT RebootBehavior( [out, retval] InstallationRebootBehavior* retval); [ id(0x60020004), propget ] HRESULT RequiresNetworkConnectivity( [out, retval] VARIANT_BOOL* retval); } [ object, oleautomation, dual, nonextensible, uuid(54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02), pointer_default(unique), ] interface IUpdateDownloadContent : IDispatch { [ id(0x60020001), propget ] HRESULT DownloadUrl( [out, retval] BSTR* retval); } [ object, oleautomation, dual, nonextensible, uuid(c97ad11b-f257-420b-9d9f-377f733f6f68), pointer_default(unique), ] interface IUpdateDownloadContent2 : IUpdateDownloadContent { [ id(0x60030001), propget ] HRESULT IsDeltaCompressedContent( [out, retval] VARIANT_BOOL* retval); } [ object, oleautomation, dual, nonextensible, uuid(bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba), pointer_default(unique), ] interface IUpdateDownloadContentCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] IUpdateDownloadContent** retval); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(6a92b07a-d821-4682-b423-5c805022cc4d), pointer_default(unique), ] interface IUpdate : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Title( [out, retval] BSTR* retval); [ id(0x60020001), propget ] HRESULT AutoSelectOnWebSites( [out, retval] VARIANT_BOOL* retval); [ id(0x60020002), propget ] HRESULT BundledUpdates( [out, retval] IUpdateCollection** retval); [ id(0x60020003), propget ] HRESULT CanRequireSource( [out, retval] VARIANT_BOOL* retval); [ id(0x60020004), propget ] HRESULT Categories( [out, retval] ICategoryCollection** retval); [ id(0x60020005), propget ] HRESULT Deadline( [out, retval] VARIANT* retval); [ id(0x60020006), propget ] HRESULT DeltaCompressedContentAvailable( [out, retval] VARIANT_BOOL* retval); [ id(0x60020007), propget ] HRESULT DeltaCompressedContentPreferred( [out, retval] VARIANT_BOOL* retval); [ id(0x60020008), propget ] HRESULT Description( [out, retval] BSTR* retval); [ id(0x60020009), propget ] HRESULT EulaAccepted( [out, retval] VARIANT_BOOL* retval); [ id(0x6002000a), propget ] HRESULT EulaText( [out, retval] BSTR* retval); [ id(0x6002000b), propget ] HRESULT HandlerID( [out, retval] BSTR* retval); [ id(0x6002000c), propget ] HRESULT Identity( [out, retval] IUpdateIdentity** retval); [ id(0x6002000d), propget ] HRESULT Image( [out, retval] IImageInformation** retval); [ id(0x6002000e), propget ] HRESULT InstallationBehavior( [out, retval] IInstallationBehavior** retval); [ id(0x6002000f), propget ] HRESULT IsBeta( [out, retval] VARIANT_BOOL* retval); [ id(0x60020010), propget ] HRESULT IsDownloaded( [out, retval] VARIANT_BOOL* retval); [ id(0x60020011), propget ] HRESULT IsHidden( [out, retval] VARIANT_BOOL* retval); HRESULT Opnum26NotUsedOnWire(); [ id(0x60020012), propget ] HRESULT IsInstalled( [out, retval] VARIANT_BOOL* retval); [ id(0x60020013), propget ] HRESULT IsMandatory( [out, retval] VARIANT_BOOL* retval); [ id(0x60020014), propget ] HRESULT IsUninstallable( [out, retval] VARIANT_BOOL* retval); [ id(0x60020015), propget ] HRESULT Languages( [out, retval] IStringCollection** retval); [ id(0x60020016), propget ] HRESULT LastDeploymentChangeTime( [out, retval] DATE* retval); [ id(0x60020017), propget ] HRESULT MaxDownloadSize( [out, retval] DECIMAL* retval); [ id(0x60020018), propget ] HRESULT MinDownloadSize( [out, retval] DECIMAL* retval); [ id(0x60020019), propget ] HRESULT MoreInfoUrls( [out, retval] IStringCollection** retval); [ id(0x6002001a), propget ] HRESULT MsrcSeverity( [out, retval] BSTR* retval); [ id(0x6002001b), propget ] HRESULT RecommendedCpuSpeed( [out, retval] LONG* retval); [ id(0x6002001c), propget ] HRESULT RecommendedHardDiskSpace( [out, retval] LONG* retval); [ id(0x6002001d), propget ] HRESULT RecommendedMemory( [out, retval] LONG* retval); [ id(0x6002001e), propget ] HRESULT ReleaseNotes( [out, retval] BSTR* retval); [ id(0x6002001f), propget ] HRESULT SecurityBulletinIDs( [out, retval] IStringCollection** retval); [ id(0x60020021), propget ] HRESULT SupersededUpdateIDs( [out, retval] IStringCollection** retval); [ id(0x60020022), propget ] HRESULT SupportUrl( [out, retval] BSTR* retval); [ id(0x60020023), propget ] HRESULT Type( [out, retval] UpdateType* retval); [ id(0x60020024), propget ] HRESULT UninstallationNotes( [out, retval] BSTR* retval); [ id(0x60020025), propget ] HRESULT UninstallationBehavior( [out, retval] IInstallationBehavior** retval); [ id(0x60020026), propget ] HRESULT UninstallationSteps( [out, retval] IStringCollection** retval); [ id(0x60020028), propget ] HRESULT KBArticleIDs( [out, retval] IStringCollection** retval); HRESULT Opnum48NotUsedOnWire(); [ id(0x60020029), propget ] HRESULT DeploymentAction( [out, retval] DeploymentAction* retval); HRESULT Opnum50NotUsedOnWire(); [ id(0x6002002b), propget ] HRESULT DownloadPriority( [out, retval] DownloadPriority* retval); [ id(0x6002002c), propget ] HRESULT DownloadContents( [out, retval] IUpdateDownloadContentCollection** retval); }
-
-
[ object, oleautomation, dual, nonextensible, uuid(b383cd1a-5ce9-4504-9f63-764b1236f191), pointer_default(unique), ] interface IWindowsDriverUpdate : IUpdate { [ id(0x60030001), propget ] HRESULT DriverClass( [out, retval] BSTR* retval); [ id(0x60030002), propget ] HRESULT DriverHardwareID( [out, retval] BSTR* retval); [ id(0x60030003), propget ] HRESULT DriverManufacturer( [out, retval] BSTR* retval); [ id(0x60030004), propget ] HRESULT DriverModel( [out, retval] BSTR* retval); [ id(0x60030005), propget ] HRESULT DriverProvider( [out, retval] BSTR* retval); [ id(0x60030006), propget ] HRESULT DriverVerDate( [out, retval] DATE* retval); [ id(0x60030007), propget ] HRESULT DeviceProblemNumber( [out, retval] LONG* retval); [ id(0x60030008), propget ] HRESULT DeviceStatus( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(144fe9b0-d23d-4a8b-8634-fb4457533b7a), pointer_default(unique), ] interface IUpdate2 : IUpdate { [ id(0x60030001), propget ] HRESULT RebootRequired( [out, retval] VARIANT_BOOL* retval); [ id(0x60030003), propget ] HRESULT IsPresent([out, retval] VARIANT_BOOL* retval); [ id(0x60030004), propget ] HRESULT CveIDs( [out, retval] IStringCollection** retval); HRESULT Opnum56NotUsedOnWire(); } [ object, oleautomation, dual, nonextensible, uuid(112EDA6B-95B3-476F-9D90-AEE82C6B8181), pointer_default(unique), ] interface IUpdate3 : IUpdate2 { [ id(0x60040001), propget ] HRESULT BrowseOnly( [out, retval] VARIANT_BOOL* retval); } [ object, oleautomation, dual, nonextensible, uuid(27e94b0d-5139-49a2-9a61-93522dc54652), pointer_default(unique), ] interface IUpdate4 : IUpdate3 { [ id(0x60050001), propget ] HRESULT PerUser( [out, retval] VARIANT_BOOL* retval); } [ object, oleautomation, dual, nonextensible, uuid(C1C2F21A-D2F4-4902-B5C6-8A081C19A890), pointer_default(unique), ] interface IUpdate5 : IUpdate4 { [ id(0x60060001), propget ] HRESULT AutoSelection( [out, retval] AutoSelectionMode* retval); [ id(0x60060002), propget ] HRESULT AutoDownload( [out, retval] AutoDownloadMode* retval); } [ object, oleautomation, dual, nonextensible, uuid(ED8BFE40-A60B-42ea-9652-817DFCFA23EC), pointer_default(unique), ] interface IWindowsDriverUpdateEntry : IDispatch { [ id(0x60030001), propget ] HRESULT DriverClass( [out, retval] BSTR* retval); [ id(0x60030002), propget ] HRESULT DriverHardwareID( [out, retval] BSTR* retval); [ id(0x60030003), propget ] HRESULT DriverManufacturer( [out, retval] BSTR* retval); [ id(0x60030004), propget ] HRESULT DriverModel( [out, retval] BSTR* retval); [ id(0x60030005), propget ] HRESULT DriverProvider( [out, retval] BSTR* retval); [ id(0x60030006), propget ] HRESULT DriverVerDate( [out, retval] DATE* retval); [ id(0x60030007), propget ] HRESULT DeviceProblemNumber( [out, retval] LONG* retval); [ id(0x60030008), propget ] HRESULT DeviceStatus( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(0D521700-A372-4bef-828B-3D00C10ADEBD), pointer_default(unique), ] interface IWindowsDriverUpdateEntryCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] IWindowsDriverUpdateEntry ** retval); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(615c4269-7a48-43bd-96b7-bf6ca27d6c3e), pointer_default(unique), ] interface IWindowsDriverUpdate2 : IWindowsDriverUpdate { [ id(0x60040001), propget ] HRESULT RebootRequired( [out, retval] VARIANT_BOOL* retval); [ id(0x60040003), propget ] HRESULT IsPresent([out, retval] VARIANT_BOOL* retval); [ id(0x60040004), propget ] HRESULT CveIDs( [out, retval] IStringCollection** retval); HRESULT Opnum64NotUsedOnWire(); } [ helpstring("IWindowsDriverUpdate3 Interface"), object, oleautomation, dual, nonextensible, uuid(49EBD502-4A96-41BD-9E3E-4C5057F4250C), pointer_default(unique) ] interface IWindowsDriverUpdate3 : IWindowsDriverUpdate2 { [ id(0x60050001), propget ] HRESULT BrowseOnly( [out, retval] VARIANT_BOOL* retval); } [ helpstring("IWindowsDriverUpdate4 Interface"), object, oleautomation, dual, nonextensible, uuid(004C6A2B-0C19-4c69-9F5C-A269B2560DB9), pointer_default(unique), ] interface IWindowsDriverUpdate4 : IWindowsDriverUpdate3 { [ id(0x60060001), propget ] HRESULT WindowsDriverUpdateEntries( [out, retval] IWindowsDriverUpdateEntryCollection** retval); [ id(0x60060002), propget ] HRESULT PerUser( [out, retval] VARIANT_BOOL* retval); } [ helpstring("IWindowsDriverUpdate5 Interface"), object, oleautomation, dual, nonextensible, uuid(70CF5C82-8642-42bb-9DBC-0CFD263C6C4F), pointer_default(unique), ] interface IWindowsDriverUpdate5 : IWindowsDriverUpdate4 { [ id(0x60070001), propget ] HRESULT AutoSelection( [out, retval] AutoSelectionMode* retval); [ id(0x60070002), propget ] HRESULT AutoDownload( [out, retval] AutoDownloadMode* retval); } [ object, oleautomation, dual, nonextensible, uuid(07f7438c-7709-4ca5-b518-91279288134e), pointer_default(unique) ] interface IUpdateCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] IUpdate** retval); [ id(DISPID_VALUE), propput ] HRESULT Item( [in] LONG index, [in] IUpdate* value); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); [ id(0x60020002), propget ] HRESULT ReadOnly( [out, retval] VARIANT_BOOL* retval); [ id(0x60020003), ] HRESULT Add( [in] IUpdate* value, [out, retval] LONG* retval); [ id(0x60020004), ] HRESULT Clear( ); HRESULT Opnum15NotUsedOnWire(); [ id(0x60020006), ] HRESULT Insert( [in] LONG index, [in] IUpdate* value); [ id(0x60020007), ] HRESULT RemoveAt( [in] LONG index); } [ object, oleautomation, dual, nonextensible, uuid(a376dd5e-09d4-427f-af7c-fed5b6e1c1d6), pointer_default(unique), ] interface IUpdateException : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Message( [out, retval] BSTR* retval); [ id(0x60020001), propget ] HRESULT HResult( [out, retval] LONG* retval); [ id(0x60020002), propget ] HRESULT Context( [out, retval] UpdateExceptionContext* retval); } [ object, oleautomation, dual, nonextensible, uuid(503626a3-8e14-4729-9355-0fe664bd2321), pointer_default(unique), ] interface IUpdateExceptionCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] IUpdateException** retval); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(d40cff62-e08c-4498-941a-01e25f0fd33c), pointer_default(unique), ] interface ISearchResult : IDispatch { [ id(0x60020001), propget ] HRESULT ResultCode( [out, retval] OperationResultCode* retval); [ id(0x60020002), propget ] HRESULT RootCategories( [out, retval] ICategoryCollection** retval); [ id(0x60020003), propget ] HRESULT Updates( [out, retval] IUpdateCollection** retval); [ id(0x60020004), propget ] HRESULT Warnings( [out, retval] IUpdateExceptionCollection** retval); } [ object, oleautomation, dual, nonextensible, uuid(be56a644-af0e-4e0e-a311-c1d8e695cbff), pointer_default(unique), ] interface IUpdateHistoryEntry : IDispatch { [ id(0x60020001), propget ] HRESULT Operation( [out, retval] UpdateOperation* retval ); [ id(0x60020002), propget ] HRESULT ResultCode( [out, retval] OperationResultCode* retval ); [ id(0x60020003), propget ] HRESULT HResult( [out, retval] LONG* retval ); [ id(0x60020004), propget ] HRESULT Date( [out, retval] DATE* retval); [ id(0x60020005), propget ] HRESULT UpdateIdentity( [out, retval] IUpdateIdentity** retval); [ id(0x60020006), propget ] HRESULT Title( [out, retval] BSTR* retval); [ id(0x60020007), propget ] HRESULT Description( [out, retval] BSTR* retval); [ id(0x60020008), propget ] HRESULT UnmappedResultCode( [out, retval] LONG* retval); [ id(0x60020009), propget ] HRESULT ClientApplicationID( [out, retval] BSTR* retval); [ id(0x6002000a), propget ] HRESULT ServerSelection( [out, retval] ServerSelection* retval ); [ id(0x6002000b), propget ] HRESULT ServiceID( [out, retval] BSTR* retval ); [ id(0x6002000c), propget ] HRESULT UninstallationSteps( [out, retval] IStringCollection** retval); [ id(0x6002000d), propget ] HRESULT UninstallationNotes( [out, retval] BSTR* retval); [ id(0x6002000e), propget ] HRESULT SupportUrl( [out, retval] BSTR* retval); } [ object, oleautomation, dual, nonextensible, uuid(c2bfb780-4539-4132-ab8c-0a8772013ab6), pointer_default(unique), ] interface IUpdateHistoryEntry2 : IUpdateHistoryEntry { [ id(0x60030001), propget ] HRESULT Categories( [out, retval] ICategoryCollection** retval); } [ object, oleautomation, dual, nonextensible, uuid(a7f04f3c-a290-435b-aadf-a116c3357a5c), pointer_default(unique), ] interface IUpdateHistoryEntryCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] IUpdateHistoryEntry** retval); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea), pointer_default(unique), ] interface IUpdateSearcher : IDispatch { [ id(0x60020001), propget ] HRESULT CanAutomaticallyUpgradeService( [out, retval] VARIANT_BOOL* retval); [ id(0x60020001), propput, ] HRESULT CanAutomaticallyUpgradeService( [in] VARIANT_BOOL value); [ id(0x60020003), propget ] HRESULT ClientApplicationID( [out, retval] BSTR* retval); [ id(0x60020003), propput, ] HRESULT ClientApplicationID( [in] BSTR value); [ id(0x60020004), propget ] HRESULT IncludePotentiallySupersededUpdates( [out, retval] VARIANT_BOOL* retval); [ id(0x60020004), propput, ] HRESULT IncludePotentiallySupersededUpdates( [in] VARIANT_BOOL value); [ id(0x60020007), propget ] HRESULT ServerSelection( [out, retval] ServerSelection* retval); [ id(0x60020007), propput, ] HRESULT ServerSelection( [in] ServerSelection value); HRESULT Opnum16NotUsedOnWire(); HRESULT Opnum17NotUsedOnWire(); [ id(0x6002000a), ] HRESULT EscapeString( [in] BSTR unescaped, [out, retval] BSTR* retval); [ id(0x6002000b), ] HRESULT QueryHistory( [in] LONG startIndex, [in] LONG count, [out, retval] IUpdateHistoryEntryCollection** retval); [ id(0x6002000c), ] HRESULT Search( [in] BSTR criteria, [out, retval] ISearchResult** retval); [ id(0x6002000d), propget ] HRESULT Online( [out, retval] VARIANT_BOOL* retval); [ id(0x6002000d), propput, ] HRESULT Online( [in] VARIANT_BOOL value); [ id(0x6002000e), ] HRESULT GetTotalHistoryCount( [out, retval] LONG* retval); [ id(0x6002000f), propget ] HRESULT ServiceID( [out, retval] BSTR* retval); [ id(0x6002000f), propput ] HRESULT ServiceID( [in] BSTR value); }; [ object, oleautomation, dual, nonextensible, uuid(4cbdcb2d-1589-4beb-bd1c-3e582ff0add0), pointer_default(unique) ] interface IUpdateSearcher2 : IUpdateSearcher { [ id(0x60030001), propget ] HRESULT IgnoreDownloadPriority( [out, retval] VARIANT_BOOL* retval); [ id(0x60030001), propput ] HRESULT IgnoreDownloadPriority( [in] VARIANT_BOOL value); } [ object, oleautomation, dual, nonextensible, uuid(04C6895D-EAF2-4034-97F3-311DE9BE413A), pointer_default(unique) ] interface IUpdateSearcher3 : IUpdateSearcher2 { [ id(0x60040001), propget ] HRESULT SearchScope( [out, retval] SearchScope* retval); [ id(0x60040001), propput, ] HRESULT SearchScope( [in] SearchScope value); } [ object, oleautomation, dual, nonextensible, uuid(816858a4-260d-4260-933a-2585f1abc76b), pointer_default(unique), ] interface IUpdateSession : IDispatch { [ id(0x60020001), propget ] HRESULT ClientApplicationID( [out, retval] BSTR* retval); [ id(0x60020001), propput ] HRESULT ClientApplicationID( [in] BSTR value); [ id(0x60020002), propget ] HRESULT ReadOnly( [out, retval] VARIANT_BOOL* retval); HRESULT Opnum11NotUsedOnWire(); HRESULT Opnum12NotUsedOnWire(); [ id(0x60020004) ] HRESULT CreateUpdateSearcher( [out, retval] IUpdateSearcher** retval); HRESULT Opnum14NotUsedOnWire(); HRESULT Opnum15NotUsedOnWire(); } [ object, oleautomation, dual, nonextensible, uuid(91caf7b0-eb23-49ed-9937-c52d817f46f7), pointer_default(unique) ] interface IUpdateSession2 : IUpdateSession { [ id(0x60030001), propget ] HRESULT UserLocale( [out, retval] LCID* retval); [ id(0x60030001), propput ] HRESULT UserLocale( [in] LCID lcid); } [ object, oleautomation, dual, nonextensible, uuid(918EFD1E-B5D8-4c90-8540-AEB9BDC56F9D), pointer_default(unique) ] interface IUpdateSession3 : IUpdateSession2 { [ id(0x60040001) ] HRESULT CreateUpdateServiceManager( [out, retval] IUpdateServiceManager2** retval); [ id(0x60040002) ] HRESULT QueryHistory( [in] BSTR criteria, [in] LONG startIndex, [in] LONG count, [out, retval] IUpdateHistoryEntryCollection** retval); } [ object, oleautomation, dual, nonextensible, uuid(76b3b17e-aed6-4da5-85f0-83587f81abe3), pointer_default(unique) ] interface IUpdateService : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Name( [out, retval] BSTR* retval); [ id(0x60020001), propget ] HRESULT ContentValidationCert( [out, retval] VARIANT* retval); [ id(0x60020002), propget ] HRESULT ExpirationDate( [out, retval] DATE* retval); [ id(0x60020003), propget ] HRESULT IsManaged( [out, retval] VARIANT_BOOL* retval); [ id(0x60020004), propget ] HRESULT IsRegisteredWithAU( [out, retval] VARIANT_BOOL* retval); [ id(0x60020005), propget ] HRESULT IssueDate( [out, retval] DATE* retval); [ id(0x60020006), propget ] HRESULT OffersWindowsUpdates( [out, retval] VARIANT_BOOL* retval); [ id(0x60020007), propget ] HRESULT RedirectUrls( [out, retval] IStringCollection** retval); [ id(0x60020008), propget ] HRESULT ServiceID( [out, retval] BSTR* retval); [ id(0x6002000A), propget ] HRESULT IsScanPackageService( [out, retval] VARIANT_BOOL* retval); [ id(0x6002000B), propget ] HRESULT CanRegisterWithAU( [out, retval] VARIANT_BOOL* retval); [ id(0x6002000C), propget ] HRESULT ServiceUrl( [out, retval] BSTR* retval); [ id(0x6002000D), propget ] HRESULT SetupPrefix( [out, retval] BSTR* retval); } [ object, oleautomation, dual, nonextensible, uuid(1518b460-6518-4172-940f-c75883b24ceb), pointer_default(unique) ] interface IUpdateService2 : IUpdateService { [ id(0x60030001), propget ] HRESULT IsDefaultAUService( [out, retval] VARIANT_BOOL* retval); } [ object, oleautomation, dual, nonextensible, uuid(9b0353aa-0e52-44ff-b8b0-1f7fa0437f88), pointer_default(unique) ] interface IUpdateServiceCollection : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Item( [in] LONG index, [out, retval] IUpdateService** retval); [ id(DISPID_NEWENUM), propget ] HRESULT _NewEnum( [out, retval] IUnknown** retval); [ id(0x60020001), propget ] HRESULT Count( [out, retval] LONG* retval); } [ object, oleautomation, dual, nonextensible, uuid(dde02280-12b3-4e0b-937b-6747f6acb286), pointer_default(unique) ] interface IUpdateServiceRegistration : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT RegistrationState( [out, retval] UpdateServiceRegistrationState* retval); [ id(0x60020001), propget ] HRESULT ServiceID( [out, retval] BSTR* retval); [ id(0x60020002), propget ] HRESULT IsPendingRegistrationWithAU( [out, retval] VARIANT_BOOL* retval); [ id(0x60020003), propget ] HRESULT Service( [out, retval] IUpdateService2** retval); } [ object, oleautomation, dual, nonextensible, uuid(23857e3c-02ba-44a3-9423-b1c900805f37), pointer_default(unique) ] interface IUpdateServiceManager : IDispatch { [ id(0x60020001), propget ] HRESULT Services( [out, retval] IUpdateServiceCollection** retval); HRESULT Opnum9NotUsedOnWire(); [ id(0x60020003) ] HRESULT RegisterServiceWithAU( [in] BSTR serviceID); [ id(0x60020004) ] HRESULT RemoveService( [in] BSTR serviceID); HRESULT Opnum12NotUsedOnWire(); [ id(0x60020006) ] HRESULT AddScanPackageService( [in] BSTR serviceName, [in] BSTR scanFileLocation, [in, defaultvalue(0)] LONG flags, [out, retval] IUpdateService **ppService); [ id(0x60010007) ] HRESULT SetOption ( [in] BSTR optionName, [in] VARIANT optionValue); } [ object, oleautomation, dual, nonextensible, uuid(0bb8531d-7e8d-424f-986c-a0b8f60a3e7b), pointer_default(unique) ] interface IUpdateServiceManager2 : IUpdateServiceManager { [ id(0x60030001), propget ] HRESULT ClientApplicationID( [out, retval] BSTR* retval); [ id(0x60030001), propput ] HRESULT ClientApplicationID( [in] BSTR value); [ id(0x60030002) ] HRESULT QueryServiceRegistration( [in] BSTR serviceID, [out, retval] IUpdateServiceRegistration** retval); [ id(0x60030003) ] HRESULT AddService2( [in] BSTR serviceID, [in] LONG flags, [in] BSTR authorizationCabPath, [out, retval] IUpdateServiceRegistration** retval); }
-