3.20.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

The server maintains the following data elements.

Locale: An LCID identifying the locale for localized data.

Title: A string containing the localized title of the update.

AutoSelectOnWebSites: A VARIANT_BOOL indicating whether the update is recommended to be automatically selected in website UIs.

BundledUpdates: An IUpdateCollection instance containing IUpdate instances representing the updates that are bundled by this update.

CanRequireSource: A VARIANT_BOOL indicating whether the installation of this update can require source media.

Categories: An ICategoryCollection instance containing ICategory instances representing the categories to which this update belongs.

HasDeadline: A Boolean indicating whether the administrator has set a deadline before which the update is required to be installed.

Deadline: A DATE ([MS-OAUT] section 2.2.25) set to the date-time, in UTC, before which the update is required to be installed.

DeltaCompressedContentAvailable: A VARIANT_BOOL indicating whether delta-compressed content is available for the update.

DeltaCompressedContentPreferred: A VARIANT_BOOL indicating whether delta-compressed content is preferred for the update.

Description: A string containing the localized description of the update.

HasEula: A Boolean indicating whether the update has an associated software license agreement.

EulaAccepted: A VARIANT_BOOL indicating whether the software license agreement associated with the update has been accepted by the user.

EulaText: A string containing the text of the software license agreement associated with the update.

HandlerID: A string containing a URI that identifies the handler for the update.

Identity: An IUpdateIdentity instance that uniquely identifies this update.

Image: An IImageInformation instance that represents a localized image associated with the update. This can be NULL if no such image exists.

InstallationBehavior: An IInstallationBehavior instance describing the installation behavior of the update.

IsBeta: A VARIANT_BOOL indicating whether this update is a beta release.

IsDownloaded: A VARIANT_BOOL indicating whether the update is currently cached by the update agent.

IsHidden: A VARIANT_BOOL indicating whether the update has been hidden by a user.

IsInstalled: A VARIANT_BOOL indicating whether the update is installed.

IsMandatory: A VARIANT_BOOL indicating whether the installation of the update is mandatory.

IsUninstallable: A VARIANT_BOOL indicating whether the update can be uninstalled.

Languages: An IStringCollection instance identifying the set of languages supported by the update. Each language is identified by a separate string containing a language identifier as specified by [W3C-XSD].

LastDeploymentChangeTime: A DATE set to the date-time, in UTC, when the update was last published.

MaxDownloadSize: A DECIMAL (section 2.2.16) set to the maximum download size of the update, in bytes.

MinDownloadSize: Retrieves the minimum download size of the update, in bytes.

MoreInfoUrls: An IStringCollection instance containing URLs of documents that contain more information about the update.

MsrcSeverity: A string containing a rating of the severity of the problem that the update fixes.

RecommendedCpuSpeed: A LONG set to the CPU speed, in megahertz, recommended for the installation of the update or to 0x00000000 if there is no recommended CPU speed.

RecommendedHardDiskSpace: A LONG set to the free hard disk space, in megabytes, recommended for the installation of the update or to 0x00000000 if there is no recommended hard disk space.

RecommendedMemory: A LONG set to the amount of memory, in megabytes, recommended for the installation of the update or to 0x00000000 if there is no recommended amount of memory.

ReleaseNotes: A string set to the localized release notes for the update.

SecurityBulletinIDs: An IStringCollection instance containing the security bulletin IDs associated with the update.

SupersededUpdateIDs: An IStringCollection instance containing the IDs of updates that are superseded by the update. Each ID is the string form of a UUID, as specified in [RFC4122] section 3.

SupportUrl: A string containing a URL of a document containing support information for the update.

Type: A value from the UpdateType (section 2.2.3) enumeration indicating the type of the update.

UninstallationNotes: A string containing the localized uninstallation notes for the update.

UninstallationBehavior: An IInstallationBehavior instance describing the uninstallation behavior of the update.

UninstallationSteps: An IStringCollection instance containing a list of localized uninstallation steps for the update.

KBArticleIDs: An IStringCollection instance containing a list of Knowledge Base article IDs associated with the update.

DeploymentAction: A value from the DeploymentAction (section 2.2.4) enumeration indicating the deployment action for the update.

DownloadPriority: A value from the DownloadPriority (section 2.2.5) enumeration indicating the download priority for the update.

DownloadContents: An IUpdateDownloadContentCollection instance containing IUpdateDownloadContent instances representing download content locations for the update.

RebootRequired: A VARIANT_BOOL indicating whether a reboot is needed to complete installation or uninstallation of the update.

IsPresent: A VARIANT_BOOL indicating whether this update is installed for one or more products.

CveIDs: An IStringCollection instance containing the Common Vulnerabilities and Exposures (CVE) IDs associated with the update.

BrowseOnly: A VARIANT_BOOL that describes whether the update is considered browse-only.

PerUser: A VARIANT_BOOL that describes whether the update is installed per user rather than per machine.

AutoSelection: A value from the AutoSelectionMode (section 2.2.6) enumeration that describes the conditions under which this update is recommended to be selected in a GUI.

AutoDownload: A value from the AutoDownloadMode (section 2.2.7) enumeration that describes the conditions under which this update is recommended to be automatically downloaded by an update agent.

WindowsDriverUpdateEntries: An IWindowsDriverUpdateEntryCollection containing IWindowsDriverUpdateEntry instances describing the devices that this driver matches. If the update is not a driver, this SHOULD be NULL.

DefaultWindowsDriverUpdateEntry: An IWindowsDriverUpdateEntry instance chosen from the collection of IWindowsDriverUpdateEntry instances contained in the WindowsDriverUpdateEntries ADM element. If the update is not a driver, this SHOULD be NULL.

Once initialized, these data elements are not modified.