3.1.1.4 Message Processing Events and Sequencing Rules

For all the following methods, the server SHOULD obtain the identity and authorization information before processing the method about the client from the underlying DCOM or RPC runtime to verify that the client has sufficient permissions to create, modify, or delete the object as appropriate. These methods SHOULD impose an authorization policy decision before performing the function. The suggested minimum requirement is that the caller have permission to create, modify, query, or delete the object (or a combination of these permissions) as appropriate.

All Shadow Copy Management Protocol interfaces that are listed inherit the IUnknown interface. Method opnum field values for all Shadow Copy Management Protocol interfaces start with 3; opnum values 0 through 2 represent IUnknown::QueryInterface, IUnknown::AddRef, and IUnknown::Release, respectively. Details are specified in [MS-DCOM].

To retrieve an interface of a particular object, call the QueryInterface method on the DCOM IUnknown interface of the object. Details are as specified in [MS-DCOM] and [MS-OAUT].

Unless otherwise specified in the following sections, all methods MUST return zero when successful or an implementation-specific nonzero error code on failure. Unless otherwise specified, client implementations of the protocol MUST NOT take any action on an error code but instead, return the error to the invoking application.

If parameter validation fails, the server MUST fail the operation immediately and return E_INVALIDARG.

Methods in RPC Opnum Order

Method

Description

GetProviderMgmtInterface

Retrieves the IVssDifferentialSoftwareSnapshotMgmt interface.

Opnum: 3

QueryVolumesSupportedForSnapshots

Retrieves from the server the collection of volumes that support shadow copies.

Opnum: 4

QuerySnapshotsByVolume

Retrieves from the server the collection of shadow copies for the specified client that are accessible to the client.

Opnum: 5

All methods MUST NOT throw exceptions.

Message Processing Details

This protocol indicates to the RPC runtime to do the following:

  • Perform a strict NDR data consistency check at target level 5.0, as specified in [MS-RPCE] section 3.1.1.5.3.2.

  • Perform a strict NDR data consistency check at target level 6.0, as specified in [MS-RPCE] section 3.1.1.5.3.3.

  • Reject a NULL unique or full pointer with a nonzero conformant value, as specified in [MS-RPCE] section 3.1.1.5.