<div class="content" name="CprepDiskIsPRPresent3" uuid="cd09a962-491d-4284-9f92-3dc5665f0c29"><p>The CprepDiskIsPRPresent3 method queries the <span><a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_c8818c63-7458-4054-a17d-bea04fa50618" data-linktype="relative-path">SCSI</a></span>
Persistent Reserve reservation table for the disk and determines if the
specified key is listed in the table.</p><dl>
<dd>
<div><pre> HRESULT CprepDiskIsPRPresent3(
   [in] CPREP_DISKID DiskId,
   [in] ULONGLONG Key
 );
</pre></div>
</dd></dl><p><b>DiskId: </b>The identifier of the <span><a href="fd583e19-b6a1-43d0-a77e-0ea7836626e4" data-linktype="relative-path">ClusPrepDisk</a></span>
representing the disk.</p><p><b>Key: </b>The reservation key to search for in the
SCSI Persistent Reserve reservation table for the <span><a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_7593b869-71a9-4a02-bab3-377e51729067" data-linktype="relative-path">LUN</a></span> underlying the
operating system disk identified by the <i>DiskId</i> parameter.</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.
Non-negative values indicate success, with the lower 16 bits of the value
containing warnings or flags defined in the method implementation. For more
information about <b>Win32</b> error codes and <span><a href="../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac" data-linktype="relative-path">HRESULT</a></span>
values, see <span><a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a></span>
sections <span><a href="../ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d" data-linktype="relative-path">2.2</a></span>
and <span><a href="../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a" data-linktype="relative-path">2.1</a></span>.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000 S_OK</td>
  <td>The call was successful.</td>
 </tr><tr>
  <td>0x80070490 ERROR_NOT_FOUND</td>
  <td>The key was not found in the reservation table.</td>
 </tr><tr>
  <td>0x80070002 ERROR_FILE_NOT_FOUND</td>
  <td>The disk was not found.</td>
 </tr><tr>
  <td>0x00000057 ERROR_INVALID_PARAMETER</td>
  <td>An internal error occurred.</td>
 </tr><tr>
  <td>0x80070548 ERROR_INVALID_SERVER_STATE</td>
  <td>The server&#39;s Prepare State is not Online.</td>
 </tr><tr>
  <td>0x8007139F ERROR_INVALID_STATE</td>
  <td>The value of ClusPrepDisk.AttachedState is not Attached.</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 <span><a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> protocol (see <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>).</p><p>The <span><a href="b30bcd1c-8ff6-46d2-a27e-61bd85ace9f4#gt_e127848e-c66d-427d-b3aa-9f904fa4ada7" data-linktype="relative-path">opnum</a></span> field value
for this method is 15.</p><p>When processing this call, the server MUST do the following:</p><ul><li><p><span><span> 
</span></span>Obtain the ClusPrepDisk identified by the DiskId parameter, as
described in section <span><a href="c17ce220-d244-45c9-95c0-4c31942253ee" data-linktype="relative-path">3.2.4</a></span>.</p>
</li><li><p><span><span> 
</span></span>Search the SCSI Persistent Reserve reservation table as specified
in <span><a href="https://go.microsoft.com/fwlink/?LinkId=90528" data-linktype="external">[SPC-3]</a></span> section
6.12.</p>
</li></ul></div>