<div class="content"><p>The ClearPR method performs a <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_c8818c63-7458-4054-a17d-bea04fa50618" data-linktype="relative-path">SCSI</a> PERSISTENT RESERVE OUT
command (see <a href="https://go.microsoft.com/fwlink/?LinkId=90528" data-linktype="external">[SPC-3]</a>
section 6.12) with a REGISTER AND IGNORE EXISTING KEY action, followed by a
CLEAR action.</p><dl>
<dd>
<div><pre> HRESULT ClearPR(
   [in] unsigned long DeviceNumber
 );
</pre></div>
</dd></dl><p><b>DeviceNumber: </b> The number of the <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_c4133b2a-a990-4042-ba44-7fda3090f118" data-linktype="relative-path">disk</a> to act on.</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>0x80070002</p>
  <p>ERROR_FILE_NOT_FOUND</p>
  </td>
  <td>
  <p>The disk was not found.</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 <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 4.</p><p>When processing this call, the server MUST do the following:</p><ul><li><p><span><span> 
</span></span>Determine the list of disks accessible to the system and for each
disk, create an entry in a list that stores the <a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_4712ded2-d927-4930-9450-29499f98cef4" data-linktype="relative-path">device</a> number in an
implementation-specific way. Device numbers are assigned incrementally starting
from zero to the number of disks minus one. The mapping between device number
and actual device is implementation-specific and is established prior to the
method call.</p>
</li><li><p><span><span> 
</span></span>Find the disk corresponding to the value passed in the <i>DeviceNumber</i>
parameter. If the disk is not found, return ERROR_FILE_NOT_FOUND.</p>
</li><li><p><span><span> 
</span></span>Issue a PERSISTENT RESERVE OUT command REGISTER AND IGNORE
EXISTING KEY action as specified in [SPC-3] section 6.12.</p>
</li><li><p><span><span> 
</span></span>Issue a PERSISTENT RESERVE OUT command CLEAR action as specified
in [SPC-3] section 6.12.</p>
</li><li><p><span><span> 
</span></span>Destroy the list of disks accessible to the system created as
part of this method.</p>
</li></ul></div>