<div class="content"><p>The GetUpdates method queries the local server for all of
the updates that are installed on the local server.</p><dl>
<dd>
<div><pre> HRESULT GetUpdates(
   [out] ULONG* UpdateCount,
   [out] BSTR* updates
 );
</pre></div>
</dd></dl><p><b>UpdateCount: </b>Upon successful completion of the
method, the server MUST set this parameter to the number of updates in the <b>ClusterUpdates</b>
collection.</p><p><b>updates: </b>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 <b>ClusterUpdates</b>
collection. The XML is formatted as follows:</p><dl>
<dd>
<p>The XML string starts with an XML tag with the name
&#34;updates&#34; that has an attribute with the name &#34;version&#34;
with a value set to 1.0.</p>
</dd>
<dd>
<div><pre> &lt;updates version=&#34;1.0&#34;&gt;
</pre></div>
</dd>
<dd>
<p>Next, for each <b>ClusterUpdate</b> entry in the <b>ClusterUpdates</b>
collection, there is an XML element with the name &#34;update&#34;. These
elements MUST contain the following child elements:</p>
</dd></dl><ul><li><p><span><span> 
</span></span>&#34;id&#34;, with text containing the value of <b>ClusterUpdate.Id</b>.</p>
</li><li><p><span><span> 
</span></span>&#34;title&#34;, with text containing the value of <b>ClusterUpdate.Title</b>.</p>
</li><li><p><span><span> 
</span></span>&#34;description&#34;, with text containing the value of <b>ClusterUpdate.Description</b>.</p>
</li><li><p><span><span> 
</span></span>&#34;supportUrl&#34;, with text containing the value of <b>ClusterUpdate.SupportUrl</b>.</p>
</li><li><p><span><span> 
</span></span>&#34;knowledgebase&#34;, with a child &#34;articleId&#34; XML
element for each entry in the <b>ClusterUpdate.ArticleIds</b> collection. If
the <b>ClusterUpdate.ArticleIds</b> collection is empty, then the
&#34;knowledgebase&#34; element MUST be an empty XML element. Otherwise, the
child XML elements are as follows:</p>
<ul><li><p><span><span>  </span></span>&#34;articleId&#34;,
with text containing the value of one entry from the <b>ClusterUpdate.ArticleIds</b>
collection.</p>
</li></ul></li><li><p><span><span> 
</span></span>&#34;securityBulletin&#34;, with a child XML element for each
entry in the <b>ClusterUpdate.SecurityBulletins</b> collection. If the <b>ClusterUpdate.SecurityBulletins</b>
collection is empty, then the &#34;securityBulletin&#34; element MUST be an
empty XML element. Otherwise, the child XML elements are as follows:</p>
<ul><li><p><span><span>  </span></span>&#34;bulletinId&#34;,
with text containing the value of one entry from the <b>ClusterUpdate.SecurityBulletins</b>
collection.</p>
</li></ul></li><li><p><span><span> 
</span></span>&#34;superseded&#34;, with a child XML element for each entry
in the <b>ClusterUpdate.UpdateIds</b> collection. If the <b>ClusterUpdate.UpdateIds</b>
collection is empty, then the &#34;superseded&#34; element MUST be an empty
XML element. Otherwise, the child XML elements are as follows:</p>
<ul><li><p><span><span>  </span></span>&#34;updateId&#34;,
with text containing the value of one entry from the <b>ClusterUpdate.UpdateIds</b>
collection.</p>
</li></ul><p>The XML string concludes with an XML close tag with
the name &#34;updates&#34;.</p>
</li></ul><p><b>Return Values: </b>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 <a href="../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac" data-linktype="relative-path">HRESULT</a>
values, see <a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a>
sections <a href="../ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d" data-linktype="relative-path">2.2</a>
and <a href="../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a" data-linktype="relative-path">2.1</a>.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>0x00000000</p>
  <p>S_OK</p>
  </td>
  <td>
  <p>The call was successful.</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>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.</p>
</dd></dl><p>Exceptions Thrown: No exceptions are thrown beyond those
thrown by the underlying <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a>
protocol <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p><p>The <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_e127848e-c66d-427d-b3aa-9f904fa4ada7" data-linktype="relative-path">opnum</a>
field value for this method is 3.</p><p>When processing this call, the server MUST do the following:</p><ul><li><p><span><span> 
</span></span>Construct the <b>ClusterUpdates</b> collection consisting of the
list of software updates installed on the local server, using an
implementation-specific mechanism.</p>
</li></ul><p>The server returns the following information to the client:</p><ul><li><p><span><span> 
</span></span>The XML string that describes the updates installed on the local
server.</p>
</li></ul></div>