<div class="content" name="ApiOfflineGroupEx" uuid="f442fdeb-08cb-4144-aef2-22fd8b640929"><p>(Protocol Version 3) The ApiOfflineGroupEx method SHOULD<a id="Appendix_A_Target_113"></a><a aria-label="Product behavior note 113" href="1d58eff8-a042-478c-972c-8e9c76a3f978#Appendix_A_113" data-linktype="relative-path">&lt;113&gt;</a> instruct the server to make
all the resources in the designated group inactive or unavailable on the node
that is hosting the group.</p><p>The server MUST handle this method in the same manner as <span><a href="ad49507e-eb5d-4aa2-8a6d-1b736884ce47" data-linktype="relative-path">ApiOfflineGroup (section 3.1.4.2.51)</a></span>
except as follows:</p><ul><li><p><span><span> 
</span></span>If the CLUSAPI_GROUP_OFFLINE_IGNORE_RESOURCE_STATUS flag is set
in the <i>dwOfflineFlags</i> parameter, the server MUST ignore the locked mode
value of the group designated by the <i>hGroup</i> parameter.</p>
</li><li><p><span><span> 
</span></span>For each resource contained in the group designated by the <i>hGroup</i>
parameter that is in the ClusterResourceOnline state (section <span><a href="cac947fb-7066-4d0c-b76d-7d26a89a2d46" data-linktype="relative-path">3.1.4.2.13</a></span>),
the server MUST provide the buffer specified by the <i>lpInBuffer</i> parameter
to the server implementation-specific object that controls the resource
operation while bringing the resource offline.</p>
</li></ul><p>The server MUST accept an ApiOfflineGroupEx 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 MUST require that the access level associated
with the <i>hGroup</i> parameter is &#34;All&#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 ApiOfflineGroupEx(
   [in] HGROUP_RPC hGroup,
   [in] DWORD dwOfflineFlags,
   [in, size_is(cbInBufferSize)] BYTE* lpInBuffer,
   [in] DWORD cbInBufferSize,
   [out] error_status_t *rpc_status
 );
</pre></div>
</dd></dl><p><b>hGroup: </b>An HGROUP_RPC context handle that was
obtained in a previous call to <span><a href="6e23a55f-d94e-454c-9168-ed97840ad53c" data-linktype="relative-path">ApiOpenGroup (section 3.1.4.2.42)</a></span>,
<span><a href="f829f4e6-465d-4c77-a9da-74c531a299cd" data-linktype="relative-path">ApiOpenGroupEx (section 3.1.4.2.118)</a></span>,
or <span><a href="e02d79c2-ae0b-4812-8919-9f2dbc223eb6" data-linktype="relative-path">ApiCreateGroup (section 3.1.4.2.43)</a></span>.</p><p><b>dwOfflineFlags: </b>Either
CLUSAPI_GROUP_OFFLINE_IGNORE_RESOURCE_STATUS (0x00000001), if the client needs
the server to ignore the locked mode for the group specified by the <i>hGroup</i>
parameter (section <span><a href="2cec8d2a-040c-4741-8bf0-ecd4b33de67f" data-linktype="relative-path">3.1.1.1.4</a></span>), or
zero.</p><p><b>lpInBuffer: </b>A pointer to a buffer that the
server will provide to implementation-specific objects that control the
resource operations for each resource in the group. The client SHOULD set this
parameter to a <span><a href="7ed348f2-eddf-4c3f-a1cb-b651ec3cff92" data-linktype="relative-path">PROPERTY_LIST (section 2.2.3.10)</a></span>.
For each value in this list, the client SHOULD set the property name to the
name of the <span><a href="694e5e7a-5833-4f3d-b47e-323ee1d452c2#gt_597fe367-f504-4295-9ed9-92cd892796cd" data-linktype="relative-path">resource type</a></span> of one
of the resources in the group. The client MAY provide a buffer that does not
have a property value corresponding to each resource type in the group, and the
client MAY provide a buffer that has multiple property values for the same resource
type. Except for the following property values, the server MUST treat all
property values provided by the client identically.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Property Name</p>
   </th>
   <th>
   <p>CLUSTER_PROPERTY_FORMAT</p>
   </th>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>Virtual Machine</td>
  <td>CLUSPROP_FORMAT_DWORD</td>
  <td>0x00000000</td>
  <td>For a resource of type &#34;Virtual Machine&#34; in the group that is in the ClusterResourceOnline state (section 3.1.4.2.13), the server MUST turn off the corresponding virtual machine.</td>
 </tr><tr>
  <td>Virtual Machine</td>
  <td>CLUSPROP_FORMAT_DWORD</td>
  <td>0x00000001</td>
  <td>For a resource of type &#34;Virtual Machine&#34; in the group that is in the ClusterResourceOnline state (section 3.1.4.2.13), the server MUST save the corresponding virtual machine.</td>
 </tr><tr>
  <td>Virtual Machine</td>
  <td>CLUSPROP_FORMAT_DWORD</td>
  <td>0x00000002</td>
  <td>For a resource of type &#34;Virtual Machine&#34; in the group that is in the ClusterResourceOnline state (section 3.1.4.2.13), the server MUST shut down the corresponding virtual machine.</td>
 </tr><tr>
  <td>Virtual Machine</td>
  <td>CLUSPROP_FORMAT_DWORD</td>
  <td>0x00000003</td>
  <td>For a resource of type &#34;Virtual Machine&#34; in the group that is in the ClusterResourceOnline state (section 3.1.4.2.13), the server MUST forcibly shut down the corresponding virtual machine.</td>
 </tr><tr>
  <td>Virtual Machine</td>
  <td>CLUSPROP_FORMAT_DWORD</td>
  <td>0x00000004</td>
  <td>Reserved.</td>
 </tr></tbody></table>
</dd></dl><p><b>cbInBufferSize: </b>The size in bytes of the
buffer pointed to by the <i>lpInBuffer</i> parameter.</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
same error codes as specified for
ApiOfflineGroup (section 3.1.4.2.51).</p></div>