<div class="content" name="ApiCreateResourceEnum" uuid="ee51adff-a3ac-4676-8972-418dff630174"><p>(Protocol Version 3) The ApiCreateResourceEnum method SHOULD<a id="Appendix_A_Target_127"></a><a aria-label="Product behavior note 127" href="1d58eff8-a042-478c-972c-8e9c76a3f978#Appendix_A_127" data-linktype="relative-path">&lt;127&gt;</a> return an enumeration of
resources from the current set of resources in the cluster.</p><p>The server MUST accept an ApiCreateResourceEnum request only
if it is in the read/write state, as specified in section <span><a href="756547e7-ca64-4b7c-9f1b-2b1fbc6153d3" data-linktype="relative-path">3.1.1</a></span>.</p><p>The server SHOULD accept an ApiCreateResourceEnum request if
the access level associated with the <i>hCluster</i> parameter is
&#34;Read&#34; (section <span><a href="a249a463-3d3b-4058-abf6-3024d81806a0" data-linktype="relative-path">3.1.4</a></span>).</p><dl>
<dd>
<div><pre> error_status_t ApiCreateResourceEnum(
   [in] HCLUSTER_RPC hCluster,
   [in, unique, size_is(cbProperties)] 
     UCHAR* pProperties,
   [in] DWORD cbProperties,
   [in, unique, size_is(cbRoProperties)] 
     UCHAR* pRoProperties,
   [in] DWORD cbRoProperties,
   [out] PRESOURCE_ENUM_LIST* ppResultList,
   [out] error_status_t *rpc_status
 );
</pre></div>
</dd></dl><p><b>hCluster: </b>A valid context handle to the cluster
from which the client wishes to obtain a resource enumeration.</p><p><b>pProperties: </b>A <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_d59a8bb4-ff07-4898-a3d4-2f6643990f15" data-linktype="relative-path">MULTI_SZ</a></span> list
containing a list of names of common properties requested by the client. For
each <span><a href="c1db118d-90a8-4b99-a11a-b99597693cd0" data-linktype="relative-path">RESOURCE_ENUM_ENTRY (section 2.2.3.27)</a></span>
in the resulting <span><a href="90033a29-59c3-485b-a089-6dbe9569b2e8" data-linktype="relative-path">RESOURCE_ENUM_LIST (section 2.2.3.28)</a></span>,
the server MUST return a <span><a href="7ed348f2-eddf-4c3f-a1cb-b651ec3cff92" data-linktype="relative-path">PROPERTY_LIST (section 2.2.3.10)</a></span>
containing a <span><a href="de73d6f9-bfdf-47ef-b008-b2da17c1a073" data-linktype="relative-path">Property
Value (section 2.2.3.10.1)</a></span> for each property name
specified by the client in the <i>pProperties</i> parameter. If the client sets
the <i>pProperties</i> parameter to a single NULL-terminated <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_b069acb4-e364-453e-ac83-42d469bb339e" data-linktype="relative-path">Unicode
string</a></span> equaling &#34;*&#34;, then the server MUST return a
PROPERTY_LIST containing a Property Value for each of the common properties of
the resource, as would be returned by a call to <span><a href="c55c5fa0-8dab-4785-80cb-0e1903248f26" data-linktype="relative-path">CLUSCTL_RESOURCE_GET_COMMON_PROPERTIES (section 3.1.4.3.1.11)</a></span>.</p><p><b>cbProperties: </b>The size in bytes of the
property list buffer pointed to by the <i>pProperties</i> parameter.</p><p><b>pRoProperties: </b>A MULTI_SZ list containing a
list of names of read-only properties requested by the client. For each
RESOURCE_ENUM_ENTRY (section 2.2.3.27) in the resulting
RESOURCE_ENUM_LIST (section 2.2.3.28), the server MUST return a
PROPERTY_LIST (section 2.2.3.10) containing a Property
Value (section 2.2.3.10.1) for each property name specified by the
client in the <i>pRoProperties</i> parameter. If the client sets the <i>pRoProperties</i>
parameter to a single NULL-terminated Unicode string equaling &#34;*&#34;,
then the server MUST return a PROPERTY_LIST containing a Property Value for
each of the read-only properties of the resource, as would be returned by a
call to <span><a href="64042c41-9458-40a9-baff-364b8cddf135" data-linktype="relative-path">CLUSCTL_RESOURCE_GET_RO_COMMON_PROPERTIES (section 3.1.4.3.1.10)</a></span>.</p><p><b>cbRoProperties: </b>The size in bytes of the
property list buffer pointed to by the <i>pRoProperties</i> parameter.</p><p><b>ppResultList: </b>A pointer to the enumerated
resource list as specified in RESOURCE_ENUM_LIST (section 2.2.3.28).
Each entry in the list is specified by a
RESOURCE_ENUM_ENTRY (section 2.2.3.27).</p><p><b>rpc_status: </b>A 32-bit integer used to indicate
success or failure. The <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> runtime MUST
indicate, by writing to this parameter, whether it succeeded in executing this
method on the server. The encoding of the value passed in this parameter MUST
conform to encoding for comm_status and fault_status, as specified in Appendix
E of <span><a href="https://go.microsoft.com/fwlink/?LinkId=89824" data-linktype="external">[C706]</a></span>.</p><p><b>Return Values: </b>This method MUST return the
following values for the following conditions.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000 ERROR_SUCCESS</td>
  <td>The method completed successfully.</td>
 </tr></tbody></table>
</dd></dl><p>For any other condition, the server returns a value that is
not one of the values listed in the preceding table. Clients MUST treat all
such values identically, with the exception of errors specified in section <span><a href="ca75805a-4b39-4074-8b5b-dbaae6e81b1f" data-linktype="relative-path">3.2.4.6</a></span>,
which are recoverable errors for which the client SHOULD initiate the reconnect
procedure.</p></div>