IVssComponent::GetAdditionalRestores method

The GetAdditionalRestores method is used by a writer during incremental or differential restore operations to determine whether a given component will require additional restore operations to completely retrieve it.

Either a writer or a requester can call this method.


HRESULT GetAdditionalRestores(
  [out] bool *pbAdditionalRestores


pbAdditionalRestores [out]

The address of a caller-allocated variable that receives true if additional restores will occur for the current component, or false otherwise.

Return value

The following are the valid return codes for this method.


Successfully returned the attribute value.


The specified attribute does not have a value.


One of the parameter values is not valid.


The caller is out of memory or other system resources.


The XML document is not valid. Check the event log for details. For more information, see Event and Error Handling Under VSS.



The value returned by GetAdditionalRestores will be false, unless during a restore operation a requester calls IVssBackupComponents::SetAdditionalRestores.

GetAdditionalRestores should be used to check if it is necessary to use more than one backup set to completely restore a component. A component might first be retrieved by restoring data from a full backup, and then updating that data from one or more subsequent incremental or differential backups.

The GetAdditionalRestores method is typically used by writers that support an explicit recovery mechanism as part of their PostRestore event handler (CVssWriter::OnPostRestore)—for instance, the Exchange Server, and database applications such as SQL Server. For these applications, it is often not possible to perform additional differential, incremental, or log restores after such a recovery is performed.

Therefore, if GetAdditionalRestores returns true for a component, such a writer should not execute its explicit recovery mechanism and should expect that additional differential, incremental, or log restores will be done.

When SetAdditionalRestores returns false, then after the restore has finished, when handling the PostRestore event, the writer can complete its recovery operation and be brought back online.


Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]


VsWriter.h (include Vss.h or VsWriter.h)



See also