3.1.4 Message Processing Events and Sequencing Rules

This interface defines the following methods:

Method

Description

GetSupportedVersion

Gets the minimum and maximum versions of the protocol that the server supports.

Opnum: 0

SetContext

Sets the context for the current shadow copy creation process.

Opnum: 1

StartShadowCopySet

Initiates a new shadow copy set for shadow copy creation.

Opnum: 2

AddToShadowCopySet

Adds a share to an existing shadow copy set.

Opnum: 3

CommitShadowCopySet

Commits a given shadow copy set.

Opnum: 4

ExposeShadowCopySet

Exposes all the shadow copies in a shadow copy set as file shares on the file server.

Opnum: 5

RecoveryCompleteShadowCopySet

Indicates to the server that the VSS writers have recovered the data associated with the file shares in a shadow copy set.

Opnum: 6

AbortShadowCopySet

Deletes a given shadow copy set on the server.

Opnum: 7

IsPathSupported

Queries whether a given share is supported by the server for shadow copy operations.

Opnum: 8

IsPathShadowCopied

Queries whether a shadow copy already exists for a share.

Opnum: 9

GetShareMapping

Gets the shadow copy information for a given file share on the server after the shadow copy of the share is exposed.

Opnum: 10

DeleteShareMapping

Deletes the mapping of a shadow copy for a share from a shadow copy set.

Opnum: 11

PrepareShadowCopySet

Ensures that the server is finished with preparations to create the shadow copy set.

Opnum: 12

All methods MUST NOT throw exceptions.

The server MUST enforce the following security measures to verify that the caller has the required permissions to execute any method:

  • The security provider as RPC_C_AUTHN_GSS_NEGOTIATE or RPC_C_AUTHN_GSS_KERBEROS or RPC_C_AUTHN_WINNT, as specified in [MS-RPCE] section 2.2.1.1.7.

  • The authentication level as RPC_C_AUTHN_LEVEL_PKT_INTEGRITY or RPC_C_AUTHN_LEVEL_PKT_PRIVACY, as specified in [MS-RPCE] section 2.2.1.1.8.

The server can perform additional implementation-specific<4> checks to verify that the caller has permission.

If the caller does not have the required permissions, then the server MUST fail the call and return E_ACCESSDENIED. The details on how to determine the identity of the caller for the purpose of performing an access check are specified in [MS-RPCE] section 3.3.3.1.3.

For all methods, unless otherwise specified, if any of the parameters is NULL, the server MUST fail the call with E_INVALIDARG.

For all methods, when the server returns ZERO to the client, the server MUST persist all state information into an implementation-specific configuration store.