3.1.4.7 RecoveryCompleteShadowCopySet (Opnum 6)

The RecoveryCompleteShadowCopySet method is invoked by the client to indicate to the server that the data associated with the file shares in a shadow copy set have been recovered by the VSS writers.

 DWORD RecoveryCompleteShadowCopySet(
         [in] handle_t hBinding,
         [in] GUID ShadowCopySetId);
  

hBinding:  An RPC binding handle (as defined in [C706]).

ShadowCopySetId: The GUID of the shadow copy set.

Return Values: The method returns one of the values as specified in section 2.2.4. The most common error codes are listed in the following table:

Return value/code

Description

0x00000000

ZERO

The operation completed successfully.

0x80070005

E_ACCESSDENIED

The caller does not have the permissions to perform the operation.

0x80070057

E_INVALIDARG

One or more arguments are invalid.

0x80042301

FSRVP_E_BAD_STATE

The method call is invalid because of the server's state.

0x80042501

FSRVP_E_SHADOWCOPYSET_ID_MISMATCH

The provided ShadowCopySetId does not exist.

The server MUST look up the ShadowCopySet from GlobalShadowCopysetTable using the index ShadowCopySetId. If no shadow copy set is found, the server MUST fail the call with FSRVP_E_SHADOWCOPYSET_ID_MISMATCH.

If ShadowCopySet.Status is not "Exposed", the server MUST fail the call with FSRVP_E_BAD_STATE.

The server MUST stop the Message Sequence Timer specified in section 3.1.2.

If ATTR_NO_AUTO_RECOVERY bit in ShadowCopySet.Context is not set, for each ShadowCopy in ShadowCopySet.ShadowCopyList, the server MUST set the shadow copy identified by ShadowCopy.ShadowCopyId to read-only.

The server MUST update ShadowCopySet.Status to "Recovered", set ContextSet to FALSE, set ShadowCopyClientAddress to NULL, and return ZERO to the caller.