3.1.4 Message Processing Events and Sequencing Rules

This interface defines the following methods:




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

Opnum: 0


Sets the context for the current shadow copy creation process.

Opnum: 1


Initiates a new shadow copy set for shadow copy creation.

Opnum: 2


Adds a share to an existing shadow copy set.

Opnum: 3


Commits a given shadow copy set.

Opnum: 4


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

Opnum: 5


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

Opnum: 6


Deletes a given shadow copy set on the server.

Opnum: 7


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

Opnum: 8


Queries whether a shadow copy already exists for a share.

Opnum: 9


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

Opnum: 10


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

Opnum: 11


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

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

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

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.