<div class="content"><p> </p><p>The <b>RecoveryCompleteShadowCopySet</b> method is invoked
by the client to indicate to the server that the data associated with the file
shares in a <span><a href="0856b278-46f4-4f3e-bc06-bc382b26428b#gt_34537940-5a56-4122-b6ff-b9a4d065d066" data-linktype="relative-path">shadow copy</a></span> set have
been recovered by the <span><a href="0856b278-46f4-4f3e-bc06-bc382b26428b#gt_e5c59c4f-5ba0-4772-9ab2-71320d15e1c1" data-linktype="relative-path">VSS writers</a></span>.</p><dl>
<dd>
<div><pre> DWORD RecoveryCompleteShadowCopySet(
         [in] handle_t hBinding,
         [in] GUID ShadowCopySetId);
  
</pre></div>
</dd></dl><p><b>hBinding:</b>  An RPC binding handle (as defined
in <span><a href="https://go.microsoft.com/fwlink/?LinkId=89824" data-linktype="external">[C706]</a></span>).</p><p><b>ShadowCopySetId:</b> The GUID of the shadow copy
set.</p><p><b>Return Values:</b> The method returns one of the
values as specified in section <span><a href="b45c794e-9362-42b7-80c6-7dae3382acf0" data-linktype="relative-path">2.2.4</a></span>. The most
common error codes are listed in the following table:</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>ZERO</p>
  </td>
  <td>
  <p>The operation completed successfully.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x80070005</p>
  <p>E_ACCESSDENIED</p>
  </td>
  <td>
  <p>The caller does not have the permissions to perform
  the operation.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x80070057</p>
  <p>E_INVALIDARG </p>
  </td>
  <td>
  <p>One or more arguments are invalid.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x80042301</p>
  <p>FSRVP_E_BAD_STATE</p>
  </td>
  <td>
  <p>The method call is invalid because of the server&#39;s
  state.</p>
  </td>
 </tr><tr>
  <td>
  <p>0x80042501</p>
  <p>FSRVP_E_SHADOWCOPYSET_ID_MISMATCH</p>
  </td>
  <td>
  <p>The provided ShadowCopySetId does not exist.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p>The server MUST look up the <b>ShadowCopySet</b> from <b>GlobalShadowCopysetTable</b>
using the index <i>ShadowCopySetId.</i> If no shadow copy set is found, the
server MUST fail the call with FSRVP_E_SHADOWCOPYSET_ID_MISMATCH.</p><p>If <b>ShadowCopySet.Status</b> is not &#34;Exposed&#34;,
the server MUST fail the call with FSRVP_E_BAD_STATE.</p><p>The server MUST stop the Message Sequence Timer specified in
section <span><a href="d88b9fb3-aa00-4396-91e5-f3db036d4a74" data-linktype="relative-path">3.1.2</a></span>.</p><p>If ATTR_NO_AUTO_RECOVERY bit in <b>ShadowCopySet.Context</b>
is not set, for each <b>ShadowCopy</b> in <b>ShadowCopySet.ShadowCopyList</b>,
the server MUST set the shadow copy identified by <b>ShadowCopy.ShadowCopyId</b>
to read-only.</p><p>The server MUST update <b>ShadowCopySet.Status</b> to
&#34;Recovered&#34;, set <b>ContextSet</b> to FALSE, set <b>ShadowCopyClientAddress</b>
to NULL, and return ZERO to the caller.</p></div>