reactos/sdk/include/psdk/wuapi.idl

1350 lines
32 KiB
Text

/*
* Copyright 2008 Hans Leidekker for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
#ifndef __WIDL__
#define threading(model)
#define progid(str)
#define vi_progid(str)
#endif
[
helpstring("WUAPI 2.0 Type Library"),
uuid(b596cc9f-56e5-419e-a622-e01bb457431e),
version(2.0)
]
library WUApiLib {
importlib("stdole2.tlb");
interface ICategoryCollection;
interface IStringCollection;
interface IUpdateCollection;
interface IUpdateDownloader;
interface IUpdateInstaller;
interface IUpdateSearcher;
typedef [public] enum tagDownloadPriority
{
dpLow = 1,
dpNormal = 2,
dpHigh = 3,
} DownloadPriority;
typedef [public] enum tagServerSelection
{
ssDefault = 0,
ssManagedServer = 1,
ssWindowsUpdate = 2,
ssOthers = 3,
} ServerSelection;
typedef [public] enum tagAutomaticUpdatesNotificationLevel
{
aunlNotConfigured,
aunlDisabled,
aunlNotifyBeforeDownload,
aunlNotifyBeforeInstallation,
aunlScheduledInstallation,
} AutomaticUpdatesNotificationLevel;
typedef [public] enum tagAutomaticUpdatesScheduledInstallationDay
{
ausidEveryDay,
ausidEverySunday,
ausidEveryMonday,
ausidEveryTuesday,
ausidEveryWednesday,
ausidEveryThursday,
ausidEveryFriday,
ausidEverySaturday,
} AutomaticUpdatesScheduledInstallationDay;
typedef [public] enum tagDownloadPhase
{
dphInitializing,
dphDownloading,
dphVerifying,
} DownloadPhase;
typedef [public] enum tagOperationResultCode
{
orcNotStarted,
orcInProgress,
orcSucceeded,
orcSucceededWithErrors,
orcFailed,
orcAborted,
} OperationResultCode;
typedef [public] enum tagUpdateExceptionContext
{
uecGeneral = 1,
uecWindowsDriver,
uecWindowsInstaller
} UpdateExceptionContext;
typedef [public] enum tagInstallationImpact
{
iiNormal,
iiMinor,
iiRequiresExclusiveHandling
} InstallationImpact;
typedef [public] enum tagInstallationRebootBehavior
{
irbNeverReboots,
irbAlwaysRequiresReboot,
irbCanRequestReboot
} InstallationRebootBehavior;
typedef [public] enum tagUpdateType
{
utSoftware = 1,
utDriver
} UpdateType;
typedef [public] enum tagUpdateOperation
{
uoInstallation = 1,
uoUninstallation
} UpdateOperation;
typedef [public] enum tagDeploymentAction
{
daNone,
daInstallation,
daUninstallation,
daDetection
} DeploymentAction;
[
object,
oleautomation,
dual,
nonextensible,
uuid(2ee48f22-af3c-405f-8970-f71be12ee9a2),
pointer_default(unique)
]
interface IAutomaticUpdatesSettings : IDispatch
{
[propget, id(0x60020001)]
HRESULT NotificationLevel( [out, retval] AutomaticUpdatesNotificationLevel *retval );
[propput, id(0x60020001)]
HRESULT NotificationLevel( [in] AutomaticUpdatesNotificationLevel value );
[propget, id(0x60020002)]
HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020003)]
HRESULT Required( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020004)]
HRESULT ScheduledInstallationDay( [out, retval] AutomaticUpdatesScheduledInstallationDay *retval );
[propput, id(0x60020004)]
HRESULT ScheduledInstallationDay( [in] AutomaticUpdatesScheduledInstallationDay value );
[propget, id(0x60020005)]
HRESULT ScheduledInstallationTime( [out, retval] LONG *retval );
[propput, id(0x60020005)]
HRESULT ScheduledInstallationTime( [in] LONG value );
[id(0x60020006)]
HRESULT Refresh();
[id(0x60020007)]
HRESULT Save();
}
[
object,
uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce),
oleautomation,
dual,
nonextensible,
pointer_default(unique),
hidden
]
interface IAutomaticUpdates : IDispatch
{
HRESULT DetectNow();
HRESULT Pause();
HRESULT Resume();
HRESULT ShowSettingsDialog();
[propget]
HRESULT Settings(
[out, retval] IAutomaticUpdatesSettings **retval);
[propget]
HRESULT ServiceEnabled(
[out, retval] VARIANT_BOOL *retval);
HRESULT EnableService();
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(174c81fe-aecd-4dae-b8a0-2c6318dd86a8),
pointer_default(unique),
]
interface IWebProxy : IDispatch
{
[propget, id(0x60020001)]
HRESULT Address( [out, retval] BSTR *retval );
[propput, id(0x60020001)]
HRESULT Address( [in] BSTR value );
[propget, id(0x60020002)]
HRESULT BypassList( [out, retval] IStringCollection **retval );
[propput, id(0x60020002)]
HRESULT BypassList( [in] IStringCollection *value );
[propget, id(0x60020003)]
HRESULT BypassProxyOnLocal( [out, retval] VARIANT_BOOL *retval );
[propput, id(0x60020003)]
HRESULT BypassProxyOnLocal( [in] VARIANT_BOOL value );
[propget, id(0x60020004)]
HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020005)]
HRESULT UserName( [out, retval] BSTR *retval );
[propput, id(0x60020005)]
HRESULT UserName( [in] BSTR value );
[id(0x60020006)]
HRESULT SetPassword( [in] BSTR value );
[id(0x60020007)]
HRESULT PromptForCredentials( [in, unique] IUnknown *parentWindow,
[in] BSTR title );
[restricted, id(0x60020008)]
HRESULT PromptForCredentialsFromHwnd( [in, unique] HWND parentWindow,
[in] BSTR title );
[propget, id(0x60020009)]
HRESULT AutoDetect( [out, retval] VARIANT_BOOL *retval );
[propput, id(0x60020009)]
HRESULT AutoDetect( [in] VARIANT_BOOL value );
}
[
object,
uuid(816858a4-260d-4260-933a-2585f1abc76b),
oleautomation,
dual,
nonextensible,
pointer_default(unique),
]
interface IUpdateSession : IDispatch
{
[propget]
HRESULT ClientApplicationID(
[out, retval] BSTR *retval);
[propput]
HRESULT ClientApplicationID(
[in] BSTR value);
[propget]
HRESULT ReadOnly(
[out, retval] VARIANT_BOOL *retval);
[propget]
HRESULT WebProxy(
[out, retval] IWebProxy **retval);
[propput]
HRESULT WebProxy(
[in, unique] IWebProxy *value);
HRESULT CreateUpdateSearcher(
[out, retval] IUpdateSearcher **retval);
HRESULT CreateUpdateDownloader(
[out, retval] IUpdateDownloader **retval);
HRESULT CreateUpdateInstaller(
[out, retval] IUpdateInstaller **retval);
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(7c907864-346c-4aeb-8f3f-57da289f969f),
pointer_default(unique),
]
interface IImageInformation : IDispatch
{
[propget, id(0x60020001)]
HRESULT AltText( [out, retval] BSTR *retval );
[propget, id(0x60020002)]
HRESULT Height( [out, retval] LONG *retval );
[propget, id(0x60020003)]
HRESULT Source( [out, retval] BSTR *retval );
[propget, id(0x60020004)]
HRESULT Width( [out, retval] LONG *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(81ddc1b8-9d35-47a6-b471-5b80f519223b),
pointer_default(unique),
]
interface ICategory : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Name( [out, retval] BSTR *retval );
[propget, id(0x60020001)]
HRESULT CategoryID( [out, retval] BSTR *retval );
[propget, id(0x60020002)]
HRESULT Children( [out, retval] ICategoryCollection **retval );
[propget, id(0x60020003)]
HRESULT Description( [out, retval] BSTR *retval );
[propget, id(0x60020004)]
HRESULT Image( [out, retval] IImageInformation **retval );
[propget, id(0x60020005)]
HRESULT Order( [out, retval] LONG *retval );
[propget, id(0x60020006)]
HRESULT Parent( [out, retval] ICategory **retval );
[propget, id(0x60020007)]
HRESULT Type( [out, retval] BSTR *retval );
[propget, id(0x60020008)]
HRESULT Updates( [out, retval] IUpdateCollection **retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(3a56bfb8-576c-43f7-9335-fe4838fd7e37),
pointer_default(unique),
]
interface ICategoryCollection : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[out, retval] ICategory **retval );
[propget, id(DISPID_NEWENUM)]
HRESULT _NewEnum( [out, retval] IUnknown **retval );
[propget, id(0x60020001)]
HRESULT Count( [out, retval] LONG *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(eff90582-2ddc-480f-a06d-60f3fbc362c3),
pointer_default(unique),
hidden
]
interface IStringCollection : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[out, retval] BSTR *retval );
[propput, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[in] BSTR value );
[propget, id(DISPID_NEWENUM)]
HRESULT _NewEnum( [out, retval] IUnknown **retval );
[propget, id(0x60020001)]
HRESULT Count( [out, retval] LONG *retval );
[propget, id(0x60020002)]
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(a376dd5e-09d4-427f-af7c-fed5b6e1c1d6),
pointer_default(unique),
]
interface IUpdateException : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Message( [out, retval] BSTR *retval );
[propget, id(0x60020001)]
HRESULT HResult( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT Context( [out, retval] UpdateExceptionContext *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(503626a3-8e14-4729-9355-0fe664bd2321),
pointer_default(unique),
]
interface IUpdateExceptionCollection : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[out, retval] IUpdateException **retval );
[propget, id(DISPID_NEWENUM)]
HRESULT _NewEnum( [out, retval] IUnknown **retval );
[propget, id(0x60020001)]
HRESULT Count( [out, retval] LONG *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(46297823-9940-4c09-aed9-cd3ea6d05968),
pointer_default(unique)
]
interface IUpdateIdentity : IDispatch
{
[propget, id(0x60020002)]
HRESULT RevisionNumber( [out, retval] LONG *retval );
[propget, id(0x60020003)]
HRESULT UpdateID( [out, retval] BSTR *retval );
}
[
,
object,
oleautomation,
dual,
nonextensible,
uuid(d9a59339-e245-4dbd-9686-4d5763e39624),
pointer_default(unique),
]
interface IInstallationBehavior : IDispatch
{
[propget, id(0x60020001)]
HRESULT CanRequestUserInput( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020002)]
HRESULT Impact( [out, retval] InstallationImpact *retval );
[propget, id(0x60020003)]
HRESULT RebootBehavior( [out, retval] InstallationRebootBehavior *retval );
[propget, id(0x60020004)]
HRESULT RequiresNetworkConnectivity( [out, retval] VARIANT_BOOL *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02),
pointer_default(unique),
]
interface IUpdateDownloadContent : IDispatch
{
[propget, id(0x60020001)]
HRESULT DownloadUrl( [out, retval] BSTR *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba),
pointer_default(unique),
]
interface IUpdateDownloadContentCollection : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[out, retval] IUpdateDownloadContent **retval );
[propget, id(DISPID_NEWENUM)]
HRESULT _NewEnum( [out, retval] IUnknown **retval );
[propget, id(0x60020001)]
HRESULT Count( [out, retval] LONG *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(6a92b07a-d821-4682-b423-5c805022cc4d),
pointer_default(unique),
]
interface IUpdate : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Title( [out, retval] BSTR *retval );
[propget, id(0x60020001)]
HRESULT AutoSelectOnWebSites( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020002)]
HRESULT BundledUpdates( [out, retval] IUpdateCollection **retval );
[propget, id(0x60020003)]
HRESULT CanRequireSource( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020004)]
HRESULT Categories( [out, retval] ICategoryCollection **retval );
[propget, id(0x60020005)]
HRESULT Deadline( [out, retval] VARIANT *retval );
[propget, id(0x60020006)]
HRESULT DeltaCompressedContentAvailable( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020007)]
HRESULT DeltaCompressedContentPreferred( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020008)]
HRESULT Description( [out, retval] BSTR *retval );
[propget, id(0x60020009)]
HRESULT EulaAccepted( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x6002000a)]
HRESULT EulaText( [out, retval] BSTR *retval );
[propget, id(0x6002000b)]
HRESULT HandlerID( [out, retval] BSTR *retval );
[propget, id(0x6002000c)]
HRESULT Identity( [out, retval] IUpdateIdentity **retval );
[propget, id(0x6002000d)]
HRESULT Image( [out, retval] IImageInformation **retval );
[propget, id(0x6002000e)]
HRESULT InstallationBehavior( [out, retval] IInstallationBehavior **retval );
[propget, id(0x6002000f)]
HRESULT IsBeta( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020010)]
HRESULT IsDownloaded( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020011)]
HRESULT IsHidden( [out, retval] VARIANT_BOOL *retval );
[propput, id(0x60020011)]
HRESULT IsHidden( [in] VARIANT_BOOL value );
[propget, id(0x60020012)]
HRESULT IsInstalled( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020013)]
HRESULT IsMandatory( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020014)]
HRESULT IsUninstallable( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020015)]
HRESULT Languages( [out, retval] IStringCollection **retval );
[propget, id(0x60020016)]
HRESULT LastDeploymentChangeTime( [out, retval] DATE *retval );
[propget, id(0x60020017)]
HRESULT MaxDownloadSize( [out, retval] DECIMAL *retval );
[propget, id(0x60020018)]
HRESULT MinDownloadSize( [out, retval] DECIMAL *retval );
[propget, id(0x60020019)]
HRESULT MoreInfoUrls( [out, retval] IStringCollection **retval );
[propget, id(0x6002001a)]
HRESULT MsrcSeverity( [out, retval] BSTR *retval );
[propget, id(0x6002001b)]
HRESULT RecommendedCpuSpeed( [out, retval] LONG *retval );
[propget, id(0x6002001c)]
HRESULT RecommendedHardDiskSpace( [out, retval] LONG *retval );
[propget, id(0x6002001d)]
HRESULT RecommendedMemory( [out, retval] LONG *retval );
[propget, id(0x6002001e)]
HRESULT ReleaseNotes( [out, retval] BSTR *retval );
[propget, id(0x6002001f)]
HRESULT SecurityBulletinIDs( [out, retval] IStringCollection **retval );
[propget, id(0x60020021)]
HRESULT SupersededUpdateIDs( [out, retval] IStringCollection **retval );
[propget, id(0x60020022)]
HRESULT SupportUrl( [out, retval] BSTR *retval );
[propget, id(0x60020023)]
HRESULT Type( [out, retval] UpdateType *retval );
[propget, id(0x60020024)]
HRESULT UninstallationNotes( [out, retval] BSTR *retval );
[propget, id(0x60020025)]
HRESULT UninstallationBehavior( [out, retval] IInstallationBehavior **retval );
[propget, id(0x60020026)]
HRESULT UninstallationSteps( [out, retval] IStringCollection **retval );
[propget, id(0x60020028)]
HRESULT KBArticleIDs( [out, retval] IStringCollection **retval );
[id(0x60020027)]
HRESULT AcceptEula();
[propget, id(0x60020029)]
HRESULT DeploymentAction( [out, retval] DeploymentAction *retval );
[id(0x6002002a)]
HRESULT CopyFromCache( [in, ref] BSTR path,
[in] VARIANT_BOOL toExtractCabFiles );
[propget, id(0x6002002b)]
HRESULT DownloadPriority( [out, retval] DownloadPriority *retval );
[propget, id(0x6002002c)]
HRESULT DownloadContents( [out, retval] IUpdateDownloadContentCollection **retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(07f7438c-7709-4ca5-b518-91279288134e),
pointer_default(unique),
hidden
]
interface IUpdateCollection : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[out, retval] IUpdate **retval );
[propput, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[in] IUpdate *value );
[propget, id(DISPID_NEWENUM)]
HRESULT _NewEnum( [out, retval] IUnknown **retval );
[propget, id(0x60020001)]
HRESULT Count( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT ReadOnly( [out, retval] VARIANT_BOOL *retval );
[id(0x60020003)]
HRESULT Add( [in] IUpdate *value,
[out, retval] LONG *retval );
[id(0x60020004)]
HRESULT Clear();
[id(0x60020005)]
HRESULT Copy( [out, retval] IUpdateCollection **retval );
[id(0x60020006)]
HRESULT Insert( [in] LONG index,
[in] IUpdate *value );
[id(0x60020007)]
HRESULT RemoveAt( [in] LONG index );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(7366ea16-7a1a-4ea2-b042-973d3e9cd99b),
pointer_default(unique),
]
interface ISearchJob : IDispatch
{
[propget, id(0x60020001)]
HRESULT AsyncState( [out, retval] VARIANT *retval );
[propget, id(0x60020002)]
HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval );
[id(0x60020003)]
HRESULT CleanUp();
[id(0x60020004)]
HRESULT RequestAbort();
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(d40cff62-e08c-4498-941a-01e25f0fd33c),
pointer_default(unique),
]
interface ISearchResult : IDispatch
{
[propget, id(0x60020001)]
HRESULT ResultCode( [out, retval] OperationResultCode *retval );
[propget, id(0x60020002)]
HRESULT RootCategories( [out, retval] ICategoryCollection **retval );
[propget, id(0x60020003)]
HRESULT Updates( [out, retval] IUpdateCollection **retval );
[propget, id(0x60020004)]
HRESULT Warnings( [out, retval] IUpdateExceptionCollection **retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(be56a644-af0e-4e0e-a311-c1d8e695cbff),
pointer_default(unique),
]
interface IUpdateHistoryEntry : IDispatch
{
[propget, id(0x60020001)]
HRESULT Operation( [out, retval] UpdateOperation *retval );
[propget, id(0x60020002)]
HRESULT ResultCode( [out, retval] OperationResultCode *retval );
[propget, id(0x60020003)]
HRESULT HResult( [out, retval] LONG *retval );
[propget, id(0x60020004)]
HRESULT Date( [out, retval] DATE *retval );
[propget, id(0x60020005)]
HRESULT UpdateIdentity( [out, retval] IUpdateIdentity **retval );
[propget, id(0x60020006)]
HRESULT Title( [out, retval] BSTR *retval );
[propget, id(0x60020007)]
HRESULT Description( [out, retval] BSTR *retval );
[propget, id(0x60020008)]
HRESULT UnmappedResultCode( [out, retval] LONG *retval );
[propget, id(0x60020009)]
HRESULT ClientApplicationID( [out, retval] BSTR *retval );
[propget, id(0x6002000a)]
HRESULT ServerSelection( [out, retval] ServerSelection *retval );
[propget, id(0x6002000b)]
HRESULT ServiceID( [out, retval] BSTR *retval );
[propget, id(0x6002000c)]
HRESULT UninstallationSteps( [out, retval] IStringCollection **retval );
[propget, id(0x6002000d)]
HRESULT UninstallationNotes( [out, retval] BSTR *retval );
[propget, id(0x6002000e)]
HRESULT SupportUrl( [out, retval] BSTR *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(a7f04f3c-a290-435b-aadf-a116c3357a5c),
pointer_default(unique),
]
interface IUpdateHistoryEntryCollection : IDispatch
{
[propget, id(DISPID_VALUE)]
HRESULT Item( [in] LONG index,
[out, retval] IUpdateHistoryEntry **retval );
[propget, id(DISPID_NEWENUM)]
HRESULT _NewEnum( [out, retval] IUnknown **retval );
[propget, id(0x60020001)]
HRESULT Count( [out, retval] LONG *retval );
}
[
object,
uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea),
oleautomation,
dual,
nonextensible,
pointer_default(unique),
]
interface IUpdateSearcher : IDispatch
{
[propget]
HRESULT CanAutomaticallyUpgradeService(
[out, retval] VARIANT_BOOL *retval);
[propput]
HRESULT CanAutomaticallyUpgradeService(
[in] VARIANT_BOOL value);
[propget]
HRESULT ClientApplicationID(
[out, retval] BSTR *retval);
[propput]
HRESULT ClientApplicationID(
[in] BSTR value);
[propget]
HRESULT IncludePotentiallySupersededUpdates(
[out, retval] VARIANT_BOOL *retval);
[propput]
HRESULT IncludePotentiallySupersededUpdates(
[in] VARIANT_BOOL value);
[propget]
HRESULT ServerSelection(
[out, retval] ServerSelection *retval);
[propput]
HRESULT ServerSelection(
[in] ServerSelection value);
HRESULT BeginSearch(
[in] BSTR criteria,
[in] IUnknown *onCompleted,
[in] VARIANT state,
[out, retval] ISearchJob **retval);
HRESULT EndSearch(
[in] ISearchJob *searchJob,
[out, retval] ISearchResult **retval);
HRESULT EscapeString(
[in] BSTR unescaped,
[out, retval] BSTR *retval);
HRESULT QueryHistory(
[in] LONG startIndex,
[in] LONG count,
[out, retval] IUpdateHistoryEntryCollection **retval);
HRESULT Search(
[in] BSTR criteria,
[out, retval] ISearchResult **retval);
[propget]
HRESULT Online(
[out, retval] VARIANT_BOOL *retval);
[propput]
HRESULT Online(
[in] VARIANT_BOOL value);
HRESULT GetTotalHistoryCount(
[out, retval] LONG *retval);
[propget]
HRESULT ServiceID(
[out, retval] BSTR *retval);
[propput]
HRESULT ServiceID(
[in] BSTR value);
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(bf99af76-b575-42ad-8aa4-33cbb5477af1),
pointer_default(unique),
]
interface IUpdateDownloadResult : IDispatch
{
[propget, id(0x60020001)]
HRESULT HResult( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT ResultCode( [out, retval] OperationResultCode *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(d31a5bac-f719-4178-9dbb-5e2cb47fd18a),
pointer_default(unique),
]
interface IDownloadProgress : IDispatch
{
[propget, id(0x60020001)]
HRESULT CurrentUpdateBytesDownloaded( [out, retval] DECIMAL *retval );
[propget, id(0x60020002)]
HRESULT CurrentUpdateBytesToDownload( [out, retval] DECIMAL *retval );
[propget, id(0x60020003)]
HRESULT CurrentUpdateIndex( [out, retval] LONG *retval );
[propget, id(0x60020004)]
HRESULT PercentComplete( [out, retval] LONG *retval );
[propget, id(0x60020005)]
HRESULT TotalBytesDownloaded( [out, retval] DECIMAL *retval );
[propget, id(0x60020006)]
HRESULT TotalBytesToDownload( [out, retval] DECIMAL *retval );
[id(0x60020007)]
HRESULT GetUpdateResult( [in] LONG updateIndex,
[out, retval] IUpdateDownloadResult **retval );
[propget, id(0x60020008)]
HRESULT CurrentUpdateDownloadPhase( [out, retval] DownloadPhase *retval );
[propget, id(0x60020009)]
HRESULT CurrentUpdatePercentComplete( [out, retval] LONG *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(c574de85-7358-43f6-aae8-8697e62d8ba7),
pointer_default(unique),
]
interface IDownloadJob : IDispatch
{
[propget, id(0x60020001)]
HRESULT AsyncState( [out, retval] VARIANT *retval );
[propget, id(0x60020002)]
HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020003)]
HRESULT Updates( [out, retval] IUpdateCollection **retval );
[id(0x60020004)]
HRESULT CleanUp();
[id(0x60020005)]
HRESULT GetProgress( [out, retval] IDownloadProgress **retval );
[id(0x60020006)]
HRESULT RequestAbort();
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(daa4fdd0-4727-4dbe-a1e7-745dca317144),
pointer_default(unique),
]
interface IDownloadResult : IDispatch
{
[propget, id(0x60020001)]
HRESULT HResult( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT ResultCode( [out, retval] OperationResultCode *retval );
[id(0x60020003)]
HRESULT GetUpdateResult( [in] LONG updateIndex,
[out, retval] IUpdateDownloadResult **retval );
}
[
object,
uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3),
oleautomation,
dual,
nonextensible,
pointer_default(unique),
hidden
]
interface IUpdateDownloader : IDispatch
{
[propget]
HRESULT ClientApplicationID(
[out, retval] BSTR *retval);
[propput]
HRESULT ClientApplicationID(
[in] BSTR value);
[propget]
HRESULT IsForced(
[out, retval] VARIANT_BOOL *retval);
[propput]
HRESULT IsForced(
[in] VARIANT_BOOL value);
[propget]
HRESULT Priority(
[out, retval] DownloadPriority *retval);
[propput]
HRESULT Priority(
[in] DownloadPriority value);
[propget]
HRESULT Updates(
[out, retval] IUpdateCollection **retval);
[propput]
HRESULT Updates(
[in] IUpdateCollection *value);
HRESULT BeginDownload(
[in] IUnknown *onProgressChanged,
[in] IUnknown *onCompleted,
[in] VARIANT state,
[out, retval] IDownloadJob **retval);
HRESULT Download(
[out, retval] IDownloadResult **retval);
HRESULT EndDownload(
[in] IDownloadJob *value,
[out, retval] IDownloadResult **retval);
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(d940f0f8-3cbb-4fd0-993f-471e7f2328ad),
pointer_default(unique),
]
interface IUpdateInstallationResult : IDispatch
{
[propget, id(0x60020001)]
HRESULT HResult( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT RebootRequired( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020003)]
HRESULT ResultCode( [out, retval] OperationResultCode *retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(345c8244-43a3-4e32-a368-65f073b76f36),
pointer_default(unique),
]
interface IInstallationProgress : IDispatch
{
[propget, id(0x60020001)]
HRESULT CurrentUpdateIndex( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT CurrentUpdatePercentComplete( [out, retval] LONG *retval );
[propget, id(0x60020003)]
HRESULT PercentComplete( [out, retval] LONG *retval );
[id(0x60020004)]
HRESULT GetUpdateResult( [in] LONG updateIndex,
[out, retval] IUpdateInstallationResult **retval );
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(5c209f0b-bad5-432a-9556-4699bed2638a),
pointer_default(unique),
]
interface IInstallationJob : IDispatch
{
[propget, id(0x60020001)]
HRESULT AsyncState( [out, retval] VARIANT *retval );
[propget, id(0x60020002)]
HRESULT IsCompleted( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020003)]
HRESULT Updates( [out, retval] IUpdateCollection **retval );
[id(0x60020004)]
HRESULT CleanUp();
[id(0x60020005)]
HRESULT GetProgress( [out, retval] IInstallationProgress **retval );
[id(0x60020006)]
HRESULT RequestAbort();
}
[
object,
oleautomation,
dual,
nonextensible,
uuid(a43c56d6-7451-48d4-af96-b6cd2d0d9b7a),
pointer_default(unique),
]
interface IInstallationResult : IDispatch
{
[propget, id(0x60020001)]
HRESULT HResult( [out, retval] LONG *retval );
[propget, id(0x60020002)]
HRESULT RebootRequired( [out, retval] VARIANT_BOOL *retval );
[propget, id(0x60020003)]
HRESULT ResultCode( [out, retval] OperationResultCode *retval );
[id(0x60020004)]
HRESULT GetUpdateResult( [in] LONG updateIndex,
[out, retval] IUpdateInstallationResult **retval );
}
[
object,
uuid(7b929c68-ccdc-4226-96b1-8724600b54c2),
oleautomation,
dual,
nonextensible,
pointer_default(unique),
]
interface IUpdateInstaller : IDispatch
{
[propget]
HRESULT ClientApplicationID(
[out, retval] BSTR *retval);
[propput]
HRESULT ClientApplicationID(
[in] BSTR value);
[propget]
HRESULT IsForced(
[out, retval] VARIANT_BOOL *retval);
[propput]
HRESULT IsForced(
[in] VARIANT_BOOL value);
[propget, restricted]
HRESULT ParentHwnd(
[out, retval] HWND *retval);
[propput, restricted]
HRESULT ParentHwnd(
[in, unique] HWND value);
[propput]
HRESULT ParentWindow(
[in, unique] IUnknown *value);
[propget]
HRESULT ParentWindow(
[out, retval] IUnknown **retval);
[propget]
HRESULT Updates(
[out, retval] IUpdateCollection **retval);
[propput]
HRESULT Updates(
[in] IUpdateCollection *value);
HRESULT BeginInstall(
[in] IUnknown *onProgressChanged,
[in] IUnknown *onCompleted,
[in] VARIANT state,
[out, retval] IInstallationJob **retval);
HRESULT BeginUninstall(
[in] IUnknown *onProgressChanged,
[in] IUnknown *onCompleted,
[in] VARIANT state,
[out, retval] IInstallationJob **retval);
HRESULT EndInstall(
[in] IInstallationJob *value,
[out, retval] IInstallationResult **retval);
HRESULT EndUninstall(
[in] IInstallationJob *value,
[out, retval] IInstallationResult **retval);
HRESULT Install(
[out, retval] IInstallationResult **retval);
HRESULT RunWizard(
[in, defaultvalue("")] BSTR dialogTitle,
[out, retval] IInstallationResult **retval);
[propget]
HRESULT IsBusy(
[out, retval] VARIANT_BOOL *retval);
HRESULT Uninstall(
[out, retval] IInstallationResult **retval);
[propget]
HRESULT AllowSourcePrompts(
[out, retval] VARIANT_BOOL *retval);
[propput]
HRESULT AllowSourcePrompts(
[in] VARIANT_BOOL value);
[propget]
HRESULT RebootRequiredBeforeInstallation(
[out, retval] VARIANT_BOOL *retval);
}
[
object,
uuid(ADE87BF7-7B56-4275-8FAB-B9B0E591844B),
oleautomation,
hidden,
dual,
nonextensible,
pointer_default(unique),
]
interface ISystemInformation : IDispatch
{
[propget]
HRESULT OemHardwareSupportLink(
[out, retval] BSTR *retval);
[propget]
HRESULT RebootRequired(
[out, retval] VARIANT_BOOL *retval);
}
[
helpstring("AutomaticUpdates Class"),
threading(both),
progid("Microsoft.Update.AutoUpdate.1"),
vi_progid("Microsoft.Update.AutoUpdate"),
uuid(bfe18e9c-6d87-4450-b37c-e02f0b373803)
]
coclass AutomaticUpdates { interface IAutomaticUpdates; }
[
helpstring("UpdateSession Class"),
threading(both),
progid("Microsoft.Update.Session.1"),
vi_progid("Microsoft.Update.Session"),
uuid(4cb43d7f-7eee-4906-8698-60da1c38f2fe)
]
coclass UpdateSession { interface IUpdateSession; }
[
helpstring("SystemInformation Class"),
threading(both),
progid("Microsoft.Update.SystemInfo.1"),
vi_progid("Microsoft.Update.SystemInfo"),
uuid(C01B9BA0-BEA7-41BA-B604-D0A36F469133)
]
coclass SystemInformation { interface ISystemInformation; }
} /* WUApiLib */