<div class="content"><p>The <b>CprepPrepareNodePhase2</b> method determines the
number of disks accessible to the system.</p><dl>
<dd>
<div><pre> HRESULT CprepPrepareNodePhase2(
   [in] unsigned long Flags,
   [out] unsigned long* pulNumDisks
 );
</pre></div>
</dd></dl><p><b>Flags: </b>  The client SHOULD<a id="Appendix_A_Target_14"></a><a aria-label="Product behavior note 14" href="6ea29e14-9c33-4927-90a8-258fd1d6d042#Appendix_A_14" data-linktype="relative-path">&lt;14&gt;</a> pass in one 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>ForceOfflineNonClusteredDisks</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>When set, the spaces on the nonclustered pool are
  force detached.</p>
  </td>
 </tr><tr>
  <td>
  <p>SkipNonClusteredPools</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>When set, the nonclustered pools are skipped.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>pulNumDisks: </b>The number of disks accessible to
the system.</p><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><tr>
  <td>
  <p>0x80070548</p>
  <p>ERROR_INVALID_SERVER_STATE</p>
  </td>
  <td>
  <p>The server&#39;s <b>Prepare State</b> is not Online.</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 one consistent, identical manner for all values that are not
listed in the preceding table.</p>
</dd></dl><p>Exceptions Thrown: No exceptions are thrown beyond those
thrown by the underlying RPC protocol <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p><p>The opnum field value for this method is 6.</p><p>When processing this call, the server MUST do the following:
</p><ul><li><p><span><span> 
</span></span>Determine the number of disks accessible to the system in an
implementation-specific way.</p>
</li><li><p><span><span> 
</span></span>If the <i>Flags</i> field includes ForceOfflineNonClusteredDisks
but does not include SkipNonClusteredPools, detach spaces using nonclustered
pools before including them in disks eligible for validation.</p>
</li><li><p><span><span> 
</span></span>If the <i>Flags</i> field includes SkipNonClusteredPools, and the
server supports SkipNonClusteredPools flag, skip nonclustered pools for
validation.</p>
</li><li><p><span><span> 
</span></span>For any other Flags field combination, skip nonclustered pools
with attached spaces for validation.</p>
</li><li><p><span><span> 
</span></span>For each disk:</p>
<ul><li><p><span><span>  </span></span>Create
a <b>ClusPrepDisk</b> object.</p>
</li><li><p><span><span>  </span></span>Initialize
<b>ClusPrepDisk.AttachedState</b> to Not Attached.</p>
</li><li><p><span><span>  </span></span>Initialize
<b>ClusPrepDisk.OnlineState</b> to Not Online.</p>
</li><li><p><span><span>  </span></span>Initialize
<b>ClusPrepDisk.OwnedState</b> to Not Owned.</p>
</li><li><p><span><span>  </span></span>Add
the disk to <b>ClusPrepDiskList</b>.</p>
</li></ul></li><li><p><span><span> 
</span></span>Set <i>pulNumDisks</i> to the number of disks in <b>ClusPrepDiskList</b>.</p>
</li><li><p><span><span> 
</span></span>Set the server <b>Prepare State</b> to Online.</p>
</li></ul><p>The server returns the following information to the client:</p><ul><li><p><span><span> 
</span></span><i>pulNumDisks</i></p>
</li></ul></div>