<div class="content"><p align="right"><a href="https://msdn.microsoft.com/en-us/library/ce7b4260-d851-4a42-866a-cf7e96d488a3" data-linktype="external">msdn link</a></p><p>(Protocol Version 3) The ApiCreateNodeEnumEx method SHOULD<a id="Appendix_A_Target_103"></a><a aria-label="Product behavior note 103" href="1d58eff8-a042-478c-972c-8e9c76a3f978#Appendix_A_103" data-linktype="relative-path">&lt;103&gt;</a> return two <a href="3b8f47c7-f694-4841-9aea-afa77184bbfa" data-linktype="relative-path">ENUM_LIST</a> structures of
equal length containing the <b>ID</b> and <b>Name</b> attributes of the
requested objects of the specified enumeration type from the <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_93ba0f62-7125-4a3e-ab60-5fd4f504bc8c" data-linktype="relative-path">cluster state</a>. Each <b>Element</b>
in the <i>ReturnIdEnum</i> parameter corresponds to the ID of the element at
the same offset in the <i>ReturnNameEnum</i> parameter.</p><p>If multiple enumeration types are indicated, the resulting
ENUM_LIST contains zero or more entries of each type, and the type of each
entry in the lists are indicated by the <a href="fbc1bc18-45d4-4668-980d-ed639ea2f03e" data-linktype="relative-path">ENUM_ENTRY</a> data structure,
as specified in section 2.2.3.4.</p><p>The <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_434b0234-e970-4e8c-bdfa-e16a30d96703" data-linktype="relative-path">server</a>
SHOULD accept an ApiCreateNodeEnumEx request if its <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_a93e2fea-3006-4a06-b48f-fdb36d9abac9" data-linktype="relative-path">protocol server state</a> is
read-only, and the server MUST accept the request for processing if it is in
the read/write state, as specified in section <a href="756547e7-ca64-4b7c-9f1b-2b1fbc6153d3" data-linktype="relative-path">3.1.1</a>.</p><p>The server MUST fail this method with the
ERROR_INVALID_PARAMETER (0x00000057) return value if the <i>dwType</i>
parameter is not one of the specified values or if the <i>dwOptions</i>
parameter is not 0x00000000.</p><p>The server SHOULD accept an ApiCreateNodeEnumEx request if
the access level associated with the hNode context handle is at least
&#34;Read&#34; (section <a href="a249a463-3d3b-4058-abf6-3024d81806a0" data-linktype="relative-path">3.1.4</a>).</p><dl>
<dd>
<div><pre> error_status_t ApiCreateNodeEnumEx(
   [in] HNODE_RPC hNode,
   [in] DWORD dwType,
   [in] DWORD dwOptions,
   [out] PENUM_LIST* ReturnIdEnum,
   [out] PENUM_LIST* ReturnNameEnum,
   [out] error_status_t* rpc_status
 );
</pre></div>
</dd></dl><p><b>hNode: </b>An <a href="76c24b3c-2d90-49b4-86b0-68b14e683bf4" data-linktype="relative-path">HNODE_RPC</a> context handle
that was obtained in a previous ApiOpenNode (Opnum 66) or ApiOpenNodeEx (Opnum
118) method call.</p><p><b>dwType: </b>The type of enumeration to be returned
by the server. This value MUST be set to the bitwise OR operator of one or more
of the following values:</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>CLUSTER_NODE_ENUM_NETINTERFACES</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>The server MUST return an enumeration of names, in <i>ReturnNameEnum</i>,
  and an enumeration of IDs, in <i>ReturnIdEnum</i>, representing one or more <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_1e84f613-804f-42bb-a523-658b8ab0df6a" data-linktype="relative-path">cluster network interfaces</a>
  installed on the specified <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_762051d8-4fdc-437e-af9d-3f4da77c3c7d" data-linktype="relative-path">node</a>.</p>
  <p>Each element of <i>ReturnIdEnum</i> that sets <i>dwType</i>
  to CLUSTER_NODE_ENUM_NETINTERFACES contains the ID of the cluster network
  interface as if the CLUSCTL_NETINTERFACE_GET_ID control code is sent to the
  cluster network interface represented by the name in the corresponding
  element of the <i>ReturnNameEnum</i>.</p>
  </td>
 </tr><tr>
  <td>
  <p>CLUSTER_NODE_ENUM_GROUPS</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>The server MUST return an enumeration of names, in <i>ReturnNameEnum</i>,
  and an enumeration of IDs, in <i>ReturnIdEnum</i>, representing one or more <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_feef37b3-c173-4f51-aab6-b55a6366259b" data-linktype="relative-path">cluster</a> groups currently
  owned by the specified node.</p>
  <p>Each element of <i>ReturnIdEnum</i> that sets <i>dwType</i>
  to CLUSTER_NODE_ENUM_GROUPS contains the ID of the cluster group as if the
  CLUSCTL_GROUP_GET_ID control code is sent to the cluster group represented by
  the name in the corresponding element of the <i>ReturnNameEnum</i>.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>dwOptions: </b>A 32-bit integer that specifies the
options on the type of elements to return. The client MUST set this value to
0x00000000. The server MUST fail the call if this parameter is not set to
0x00000000.</p><p><b>ReturnIdEnum: </b>A pointer to an ENUM_LIST (section 2.2.3.5)
that contains IDs of the objects that match the enumeration type that is
indicated by the <i>dwType</i> parameter. The server MUST allocate as much
memory as is required to return the enumeration data. If the method fails, this
parameter MUST be ignored.</p><p><b>ReturnNameEnum: </b>A pointer to an
ENUM_LIST (section 2.2.3.5) that contains the names of the objects
that match the enumeration type that is indicated by the <i>dwType</i>
parameter. The server MUST allocate as much memory as is required to return the
enumeration data. If the method fails, this parameter MUST be ignored.</p><p><b>rpc_status: </b>A 32-bit integer used to indicate
success or failure. The <a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a>
runtime MUST indicate, by writing to this parameter, whether the runtime
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 <a href="https://go.microsoft.com/fwlink/?LinkId=89824" data-linktype="external">[C706]</a>.</p><p><b>Return Values: </b>The method MUST return the
following error codes for the specified conditions.</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>ERROR_SUCCESS</p>
  </td>
  <td>
  <p>Success.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x000000057</p>
  <p>ERROR_INVALID_PARAMETER</p>
  </td>
  <td>
  <p>The <i>dwType</i> parameter is not one of the
  specified values, or the <i>dwOptions</i> parameter is not 0x00000000.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x000006D1</p>
  <p>RPC_S_PROCNUM_OUT_OF_RANGE</p>
  </td>
  <td>
  <p>The server does not support this method.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p>For any other condition, this method returns a value that is
not one of the values listed in the preceding table. The client MUST behave in
one consistent, identical manner for all values that are not listed in the
preceding table. The client SHOULD treat errors specified in <a href="ca75805a-4b39-4074-8b5b-dbaae6e81b1f" data-linktype="relative-path">3.2.4.6</a> as recoverable
errors and initiate the reconnect procedure as specified in section 3.2.4.6.</p></div>