3.2.4.1.1 Shadow Copy Management Protocol Object Relationships
This section describes the hierarchy of interfaces and objects that are used by the Shadow Copy Management Protocol and the relationships between those objects.
Shadow copies and volumes supporting shadow copies: The first interface that is obtained by the client is the IVssSnapshotMgmt interface. The client invokes the IVssSnapshotMgmt::QueryVolumesSupportedForSnasphots method to obtain a collection of volumes that can be shadow copied. The server MUST respond with an IVssEnumMgmtObject interface on which the client can call methods to iterate through the collection. The client invokes IVssSnapshotMgmt::QuerySnapshotsByVolume to obtain a collection of shadow copies that already exist on a specified volume. The server MUST respond with an IVssEnumObject interface on which the client can call methods to iterate through the collection. The client invokes the IVssSnapshotMgmt::GetProviderMgmtInterface method to obtain an IVssDifferentialSoftwareSnapshotMgmt interface. The server MUST respond with an IVssDifferentialSoftwareSnapshotMgmt interface on which the client can call methods to manage shadow copy storage associations.
Shadow copy storage associations: The interface that is used to manage shadow copy storage associations is obtained through the IVssSnapshotMgmt::GetProviderMgmtInterface. The client invokes the IVssDifferentialSoftwareSnapshotMgmt::QueryVolumesSupportedForDiffArea method to obtain a collection of volumes that can be used to store shadow copy differential data. The server MUST respond with an IVssEnumMgmtObject interface on which the client can call methods to iterate through the collection. The client invokes IVssDifferentialSoftwareSnapshotMgmt::QueryDiffAreasForVolume to obtain a collection of shadow copy storage associations that already exist to store shadow copy differential data for a specific original volume. The server MUST respond with an IVssEnumMgmtObject interface on which the client can call methods to iterate through the collection. The client invokes IVssDifferentialSoftwareSnapshotMgmt::QueryDiffAreasOnVolume to obtain a collection of shadow copy storage associations that are in use to store differential data on a specific volume. The server MUST respond with an IVssEnumMgmtObject interface on which the client can call methods to iterate through the collection.