Export (0) Print
Expand All

3.2.4.8 Application Requests Deleting Shadow Copy Of a Share

The caller provides the following:

  • Identifier: The GUID of either a shadow copy set or a shadow copy, based on the IsShadowCopySet parameter.

  • IsShadowCopySet: A Boolean that when set to TRUE indicates that the Identifier parameter refers to a shadow copy set.

If IsShadowCopySet is TRUE, the client MUST perform the following:

The client MUST look up ShadowCopySet in GlobalShadowCopySetTable where ShadowCopySet.ShadowCopySetId matches the caller-supplied Identifier. If no entry is found, the client MUST return an implementation-defined error to the caller.

The client MUST call the RPC GetSupportedVersion method. If the MinVersion returned by the server is greater than ClientVersion, the client MUST return an implementation-specific error the caller. The client MUST choose the highest value between MinVersion and MaxVersion that is equal to or less than ClientVersion as the protocol version to be used.

For each ShadowCopy in ShadowCopySet.ShadowCopyList, the client MUST call the RPC DeleteShareMapping method, with ShadowCopySetId set to ShadowCopySet.ServerShadowCopySetId, ShadowCopyId set to ShadowCopy.ServerShadowCopyId, and ShareName set to ShadowCopy.ShareName. If the server returns an error, the client MUST return the same error code to the caller. If the server returns ZERO, the client MUST remove ShadowCopy from ShadowCopySet.ShadowCopyList and free ShadowCopy object. If deletion of all the shadow copies in the ShadowCopySet succeeds, the client must return ZERO to the caller.

If IsShadowCopySet is FALSE, the client MUST do the following:

  • The client MUST iterate through the ShadowCopySet objects in GlobalShadowCopySetTable and look up ShadowCopy in ShadowCopySet.ShadowCopyList where ShadowCopy.ShadowCopyId matches the caller-supplied Identifier. If no entry is found, the client MUST return an implementation-defined error to the caller.

  • The client MUST call the RPC DeleteShareMapping method, with ShadowCopySetId set to ShadowCopySet.ServerShadowCopySetId, ShadowCopyId set to ShadowCopy.ServerShadowCopyId, and ShareName set to ShadowCopy.ShareName. If the server returns an error, the client MUST return the same error code to the caller. If the server returns ZERO, the client MUST remove ShadowCopy from ShadowCopySet.ShadowCopyList, free ShadowCopy object and return ZERO to the caller.

 
Show:
© 2014 Microsoft