Click or drag to resize
VssBackupSchema Enumeration
The VssBackupSchema enumeration is used by a writer to indicate the types of backup operations it can participate in. The supported kinds of backup are expressed as a bit mask (or bitwise OR) of VssBackupSchema values.

Namespace: Alphaleonis.Win32.Vss
Assembly: AlphaVSS.Common (in AlphaVSS.Common.dll) Version: 1.3.0.0 (1.3.0.0)
Syntax
[FlagsAttribute]
public enum VssBackupSchema
Members
  Member nameValueDescription
Undefined0 The writer supports a simple full backup and restoration of entire files (as defined by a VssBackupType value of Full). This backup scheme can be used as the basis of an incremental or differential backup. This is the default value.
Differential1 The writer supports differential backups (corresponding to the VssBackupType value Differential). Files created or changed since the last full backup are saved. Files are not marked as having been backed up. This setting does not preclude mixing of incremental and differential backups.
Incremental2 The writer supports incremental backups (corresponding to the VssBackupType value Incremental). Files created or changed since the last full or incremental backup are saved. Files are marked as having been backed up. This setting does not preclude mixing of incremental and differential backups.
ExclusiveIncrementalDifferential4 The writer supports both differential and incremental backup schemas, but only exclusively: for example, you cannot follow a differential backup with an incremental one. A writer cannot support this schema if it does not support both incremental and differential schemas (Differential | Incremental).
Log8

The writer supports backups that involve only the log files it manages (corresponding to a VssBackupType value of Log).

Copy16 Similar to the default backup schema (Undefined), the writer supports copy backup operations (corresponding to Copy) where file access information (such as information as to when a file was last backed up) will not be updated either in the writer's own state information or in the file system information. This type of backup cannot be used as the basis of an incremental or differential backup.
Timestamped32

A writer supports using the VSS time-stamp mechanism when evaluating if a file should be included in differential or incremental operations (corresponding to Differential and Incremental, respectively) using the PreviousBackupStamp, BackupStamp setters, and the SetPreviousBackupStamp(Guid, VssComponentType, String, String, String) method.

A writer cannot support this schema if it does not support either differential or incremental backup schemas (Differential or Incremental).

LastModify64

When implementing incremental or differential backups with differenced files, a writer can provide last modification time information for files (using IVssComponent.AddDifferencedFileByLastModifyTime). A requester then can use DifferencedFiles to obtain candidate files and information about their last modification data. The requester can use this information (along with any records about previous backup operations it maintains) to decide if a file should be included in incremental and differential backups.

This scheme does not apply to partial file implementations of incremental and differential backup operations.

A writer cannot support this schema if it does not support either incremental or differential backup schemas (Differential or Incremental.

Lsn128 Reserved for system use.
WriterSupportsNewTarget256 The writer supports a requester changing the target for file restoration using AddNewTarget(Guid, VssComponentType, String, String, String, String, Boolean, String).
WriterSupportsRestoreWithMove512

The writer supports running multiple writer instances with the same class ID, and it supports a requester moving a component to a different writer instance at restore time using SetSelectedForRestore Overload.

Windows Server 2003: This value is not supported until Windows Server 2003 SP1.

IndependentSystemState1024

The writer supports backing up data that is part of the system state, but that can also be backed up independently of the system state.

Windows Server 2003: This value is not supported until Windows Vista.

RollForwardRestore4096

The writer supports a requester setting a roll-forward restore point using SetRollForward(Guid, VssComponentType, String, String, VssRollForwardType, String).

Windows Server 2003: This value is not supported until Windows Vista.

RestoreRename8192

The writer supports a requester setting a restore name using SetRestoreName(Guid, VssComponentType, String, String, String).

Windows Server 2003: This value is not supported until Windows Vista.

AuthoritativeRestore16384

The writer supports a requester setting authoritative restore using SetAuthoritativeRestore(Guid, VssComponentType, String, String, Boolean).

Windows Server 2003: This value is not supported until Windows Vista.

WriterSupportsParallelRestores32768

The writer supports multiple unsynchronized restore events.

Windows Vista and Windows Server 2003: This value is not supported until Windows Server 2008.

Remarks

Note Note
Windows XP: This enumeration is not available until Windows Server 2003 or later.

Writer set their backup schemas with calls to IVssCreateWriterMetadata.SetBackupSchema".

Requesters use BackupSchema to determine the backup schema that a writer supports.

For a specific kind of backup operation to be supported, the writer must support the corresponding schema, and the requester must set the corresponding backup type.

For example, to involve a writer in an incremental backup operation, the requester must set the backup type to Incremental, and the writer should have a backup schema that includes Incremental.

A writer that does not support the backup schema corresponding to a requester's backup type should treat the backup operation that is being performed as if it were a default (full) backup. If the desired backup type is not supported by the writer's backup schema, the requester can either perform a full backup for this writer or exclude the writer from the backup operation. A requester can exclude a writer by selecting none of the writer's components, or by disabling the writer (see DisableWriterClasses(Guid) or DisableWriterInstances(Guid)).

See Also