3.16.4.1 IClusterUpdate::GetUpdates (Opnum 3)

The GetUpdates method queries the local server for all of the updates that are installed on the local server.

 HRESULT GetUpdates(
   [out] ULONG* UpdateCount,
   [out] BSTR* updates
 );

UpdateCount: Upon successful completion of the method, the server MUST set this parameter to the number of updates in the ClusterUpdates collection.

updates: Upon successful completion of this method, the server MUST set this parameter to a null-terminated Unicode string containing XML representing the contents of the ClusterUpdates collection. The XML is formatted as follows:

The XML string starts with an XML tag with the name "updates" that has an attribute with the name "version" with a value set to 1.0.

 <updates version="1.0">

Next, for each ClusterUpdate entry in the ClusterUpdates collection, there is an XML element with the name "update". These elements MUST contain the following child elements:

  • "id", with text containing the value of ClusterUpdate.Id.

  • "title", with text containing the value of ClusterUpdate.Title.

  • "description", with text containing the value of ClusterUpdate.Description.

  • "supportUrl", with text containing the value of ClusterUpdate.SupportUrl.

  • "knowledgebase", with a child "articleId" XML element for each entry in the ClusterUpdate.ArticleIds collection. If the ClusterUpdate.ArticleIds collection is empty, then the "knowledgebase" element MUST be an empty XML element. Otherwise, the child XML elements are as follows:

    • "articleId", with text containing the value of one entry from the ClusterUpdate.ArticleIds collection.

  • "securityBulletin", with a child XML element for each entry in the ClusterUpdate.SecurityBulletins collection. If the ClusterUpdate.SecurityBulletins collection is empty, then the "securityBulletin" element MUST be an empty XML element. Otherwise, the child XML elements are as follows:

    • "bulletinId", with text containing the value of one entry from the ClusterUpdate.SecurityBulletins collection.

  • "superseded", with a child XML element for each entry in the ClusterUpdate.UpdateIds collection. If the ClusterUpdate.UpdateIds collection is empty, then the "superseded" element MUST be an empty XML element. Otherwise, the child XML elements are as follows:

    • "updateId", with text containing the value of one entry from the ClusterUpdate.UpdateIds collection.

    The XML string concludes with an XML close tag with the name "updates".

Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it has failed. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see [MS-ERREF] sections 2.2 and 2.1.

Return value/code

Description

0x00000000

S_OK

The call was successful.

For any other condition, this method MUST return a value that is not one of the values listed in the preceding table. The client MUST behave in an identical manner for all return values not listed in the preceding table.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].

The opnum field value for this method is 3.

When processing this call, the server MUST do the following:

  • Construct the ClusterUpdates collection consisting of the list of software updates installed on the local server, using an implementation-specific mechanism.

The server returns the following information to the client:

  • The XML string that describes the updates installed on the local server.