<div class="content" name="CprepDiskVerifyFileData" uuid="232aa384-959a-4b3f-8c3f-dd4bb0ba6fde"><p>The <b>CprepDiskVerifyFileData</b> method verifies that the
data in the file matches the data passed to the method.</p><dl>
<dd>
<div><pre> HRESULT CprepDiskVerifyFileData(
   [in] CPREP_DISKID DiskId,
   [in] unsigned long ulPartition,
   [in, string] wchar_t* FileName,
   [in] unsigned long cbDataIn,
   [in, size_is(cbDataIn)] byte* DataIn
 );
</pre></div>
</dd></dl><p><b>DiskId: </b> The identifier of the <b>ClusPrepDisk</b>
representing the disk that holds the file to verify.</p><p><b>ulPartition: </b>The partition number of the
partition associated with the volume on the disk that holds the file to verify
from.</p><p><b>FileName: </b> The path and name of the file to
verify from.</p><p><b>cbDataIn: </b> The size, in bytes, of the buffer <i>DataIn</i>.</p><p><b>DataIn: </b> The data to verify against the file.</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 <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>0x8007139F ERROR_INVALID_STATE</td>
  <td>The ClusPrepDisk.OnlineState is not equal to Online.</td>
 </tr><tr>
  <td>0x80070002 ERROR_FILE_NOT_FOUND</td>
  <td>The disk was not found or ulPartition cannot be mapped to a volume. The file does not exist.</td>
 </tr><tr>
  <td>0x800703ED ERROR_UNRECOGNIZED_VOLUME</td>
  <td>The volume does not contain a file system.</td>
 </tr><tr>
  <td>0x80070548 ERROR_INVALID_SERVER_STATE</td>
  <td>The server&#39;s Prepare State is not Online.</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 <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>.</p><p>The opnum field value for this method is 18. </p><p>When processing this call, the server MUST do the following
as specified in section <span><a href="c17ce220-d244-45c9-95c0-4c31942253ee" data-linktype="relative-path">3.2.4</a></span>:</p><ul><li><p><span><span> 
</span></span>Obtain the <b>ClusPrepDisk</b> identified by the <i>DiskId</i>
parameter.</p>
</li><li><p><span><span> 
</span></span>Verify that the <b>ClusPrepDisk.OnlineState</b> is Online.</p>
</li><li><p><span><span> 
</span></span>Map <i>ulPartition</i> to the corresponding volume.</p>
</li><li><p><span><span> 
</span></span>Verify that the volume contains a file system.</p>
</li><li><p><span><span> 
</span></span>If the file does not exist, return ERROR_FILE_NOT_FOUND.</p>
</li><li><p><span><span> 
</span></span>Starting at offset 0, verify that the contents of the file match
the number of <i>cbDataIn</i> bytes and the contents of <i>DataIn</i>.
Verification is performed by a byte for byte comparison of the two sets of
data.</p>
</li></ul></div>