Click or drag to resize
IVssBackupComponentsSetAdditionalRestores Method
The SetAdditionalRestores method is used by a requester during incremental or differential restore operations to indicate to writers that a given component will require additional restore operations to completely retrieve it.

Namespace: Alphaleonis.Win32.Vss
Assembly: AlphaVSS.Common (in AlphaVSS.Common.dll) Version: 1.3.0.0 (1.3.0.0)
Syntax
void SetAdditionalRestores(
	Guid writerId,
	VssComponentType componentType,
	string logicalPath,
	string componentName,
	bool additionalResources
)

Parameters

writerId
Type: SystemGuid
Writer identifier.
componentType
Type: Alphaleonis.Win32.VssVssComponentType
Type of the component.
logicalPath
Type: SystemString

The logical path of the component to be added. For more information, see Logical Pathing of Components.

The value of the string containing the logical path used here should be the same as was used when the component was added to the backup set using AddComponent(Guid, Guid, VssComponentType, String, String).

The logical path can be .

There are no restrictions on the characters that can appear in a non-null logical path.

componentName
Type: SystemString

The name of the component.

The value of the string should not be , and should contain the same component as was used when the component was added to the backup set using AddComponent(Guid, Guid, VssComponentType, String, String).

additionalResources
Type: SystemBoolean

If the value of this parameter is , additional restores of the component will follow this restore. If the value is , additional restores of the component will not follow this restore.

Exceptions
ExceptionCondition
ArgumentNullExceptionOne of the arguments that cannot be was
ArgumentExceptionOne of the parameter values is not valid.
OutOfMemoryExceptionOut of memory or other system resources.
SystemExceptionUnexpected VSS system error. The error code is logged in the event log.
VssBadStateExceptionThe backup components object is not initialized, this method has been called during a restore operation, or this method has not been called within the correct sequence.
VssObjectNotFoundExceptionThe backup component does not exist.
VssInvalidXmlDocumentExceptionThe XML document is not valid. Check the event log for details.
Remarks

The information provided by the SetAdditionalRestores(Guid, VssComponentType, String, String, Boolean) 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 SetAdditionalRestores(Guid, VssComponentType, String, String, Boolean) for a component is set to , this means that 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(Guid, VssComponentType, String, String, Boolean) on a component is set to , then after the component is restored, the application can complete its recovery operation and be brought back online.

This method must be called before PreRestore.

See Also