VSS_VOLUME_SNAPSHOT_ATTRIBUTES 枚举 (vss.h)

允许为卷影副本指定其他属性。 由 IVssBackupComponents::SetContext 方法) 设置的卷影副本 (的上下文可由包含 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES_VSS_SNAPSHOT_CONTEXT 枚举值的有效组合的位掩码进行修改。

语法

typedef enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES {
  VSS_VOLSNAP_ATTR_PERSISTENT = 0x1,
  VSS_VOLSNAP_ATTR_NO_AUTORECOVERY = 0x2,
  VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = 0x4,
  VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = 0x8,
  VSS_VOLSNAP_ATTR_NO_WRITERS = 0x10,
  VSS_VOLSNAP_ATTR_TRANSPORTABLE = 0x20,
  VSS_VOLSNAP_ATTR_NOT_SURFACED = 0x40,
  VSS_VOLSNAP_ATTR_NOT_TRANSACTED = 0x80,
  VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = 0x10000,
  VSS_VOLSNAP_ATTR_DIFFERENTIAL = 0x20000,
  VSS_VOLSNAP_ATTR_PLEX = 0x40000,
  VSS_VOLSNAP_ATTR_IMPORTED = 0x80000,
  VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = 0x100000,
  VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = 0x200000,
  VSS_VOLSNAP_ATTR_AUTORECOVER = 0x400000,
  VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY = 0x800000,
  VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT = 0x1000000,
  VSS_VOLSNAP_ATTR_TXF_RECOVERY = 0x2000000,
  VSS_VOLSNAP_ATTR_FILE_SHARE = 0x4000000
} VSS_VOLUME_SNAPSHOT_ATTRIBUTES, *PVSS_VOLUME_SNAPSHOT_ATTRIBUTES;

常量

 
VSS_VOLSNAP_ATTR_PERSISTENT
值: 0x1
卷影副本在重新启动后会持久保存。


此属性会自动设置为
的_VSS_SNAPSHOT_CONTEXT 上下文
VSS_CTX_APP_ROLLBACKVSS_CTX_CLIENT_ACCESSIBLE
VSS_CTX_CLIENT_ACCESSIBLE_WRITERS
VSS_CTX_NAS_ROLLBACK

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_NO_AUTORECOVERY
值: 0x2
对卷影副本禁用自动恢复

请求者可以使用此属性的按位 OR 修改卷影副本上下文。 通过执行此操作,请求者指示 VSS 在创建卷影副本后立即将其设置为只读,不允许编写器或其他应用程序更新卷影副本中的组件。

如果卷影副本的任何组件涉及事务数据库操作(例如事务性 NTFS (TxF) 管理的事务性读取和写入操作),则禁用自动恢复可能会导致卷影副本处于不一致状态。 这是因为禁用自动恢复可防止回滚不完整的事务。

禁用自动恢复还会阻止编写器从卷影副本中排除文件。 禁用自动恢复后,编写器仍可调用 IVssCreateWriterMetadataEx::AddExcludeFilesFromSnapshot 方法,但编写器的 CVssWriter::OnPostSnapshot 方法无法从卷影副本中删除文件。

Windows Server 2003 和 Windows XP: 在 Windows Vista 之前不支持此值。
VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE
值: 0x4
指定的卷影副本是 客户端可访问的卷影副本 ,支持共享文件夹的卷影副本,不应公开。

VSS_CTX_CLIENT_ACCESSIBLEVSS_CTX_CLIENT_ACCESSIBLE_WRITERS自动设置此属性。

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE
值: 0x8
卷影复制请求程序进程结束时,不会自动删除卷影副本。 卷影副本
只能通过调用 来删除
IVssBackupComponents::D eleteSnapshots


此属性会自动设置为
的_VSS_SNAPSHOT_CONTEXT 上下文
VSS_CTX_APP_ROLLBACKVSS_CTX_CLIENT_ACCESSIBLE
VSS_CTX_CLIENT_ACCESSIBLE_WRITERS
VSS_CTX_NAS_ROLLBACK

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_NO_WRITERS
值: 0x10
没有编写器参与创建卷影副本。


此属性会自动设置为
的_VSS_SNAPSHOT_CONTEXT 上下文
VSS_CTX_NAS_ROLLBACKVSS_CTX_FILE_SHARE_BACKUP
VSS_CTX_CLIENT_ACCESSIBLE

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_TRANSPORTABLE
值: 0x20
卷影副本将被传输,因此不应在本地显示。


在设置卷影副本的上下文时,请求者可以显式使用此属性,如果为
卷影副本的提供程序支持可传输的卷影副本。

Windows Server 2003、Standard Edition、Windows Server 2003、Web Edition 和 Windows XP: 不支持此属性。 带 SP1 的所有 Windows Server 2003 版本都支持此属性。

请参阅 导入可传输
有关详细信息,请卷影复制卷
VSS_VOLSNAP_ATTR_NOT_SURFACED
值: 0x40
卷影副本当前未公开。


除非显式公开或装载卷影副本,否则为所有卷影副本设置此属性。

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_NOT_TRANSACTED
值: 0x80
卷影副本未事务处理。

请求者可以使用此属性的按位 OR 修改卷影副本上下文。 通过执行此操作,请求者指示 VSS 禁用 VSS 与事务与资源管理器之间的内置集成。

设置此属性可确保请求者不会收到VSS_E_TRANSACTION_FREEZE_TIMEOUT错误。 但是,它可能会导致不必要的后果,例如事务完整性丢失,甚至数据丢失。

Windows Server 2003 和 Windows XP: 在 Windows Vista 之前不支持此值。
VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED
值: 0x10000
指示给定的提供程序是硬件提供程序。


此属性是自动为硬件提供程序设置的。

此枚举值不能用于使用 手动设置上下文 (
IVssBackupComponents::SetContext
方法通过位掩码 (或按位 OR) 此枚举值和有效的卷影副本) 卷影副本
上下文值来自
_VSS_SNAPSHOT_CONTEXT
VSS_VOLSNAP_ATTR_DIFFERENTIAL
值: 0x20000
指示给定提供程序使用差异数据或写入时复制机制来实现卷影副本。


请求者可以使用此属性的按位 OR 修改卷影副本上下文。 通过执行此操作,
请求者指示提供程序使用差异实现创建卷影副本。 如果没有卷影副本
系统上安装的提供程序支持请求的属性,VSS_E_VOLUME_NOT_SUPPORTED错误为
返回到
IVssBackupComponents::AddToSnapshotSet
VSS_VOLSNAP_ATTR_PLEX
值: 0x40000
指示给定提供程序使用 PLEX 或镜像拆分机制来实现卷影副本。


请求者可以使用此属性的按位 OR 修改卷影副本上下文。 通过执行此操作,
请求者指示提供程序使用 PLEX 实现创建卷影副本。 如果没有卷影副本
系统上安装的提供程序支持请求的属性,VSS_E_VOLUME_NOT_SUPPORTED错误为
返回到
IVssBackupComponents::AddToSnapshotSet
VSS_VOLSNAP_ATTR_IMPORTED
值: 0x80000
卷的卷影副本已使用
IVssBackupComponents::ImportSnapshots
方法,而不是使用
IVssBackupComponents::D oSnapshotSet
方法。


如果导入卷影副本,则会自动设置此属性。

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY
值: 0x100000
卷影副本在本地公开。 如果此位标志和VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY位标志为
未设置,隐藏卷影副本。


在调用 时, 属性会自动添加到卷影副本上下文中
IVssBackupComponents::ExposeSnapshot
方法在本地公开卷影副本。

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY
值: 0x200000
远程公开卷影副本。 如果此位标志和VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY位标志为
未设置,隐藏卷影副本。


在调用 时, 属性会自动添加到卷影副本上下文中
IVssBackupComponents::ExposeSnapshot
方法在本地公开卷影副本。

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_AUTORECOVER
值: 0x400000
指示编写器需要 自动恢复CVssWriter::OnPostSnapshot 中的组件。

在设置卷影副本的上下文时,请求者不应显式使用此属性。
VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY
值: 0x800000
指示如果卷影副本用于数据挖掘的回滚 ((例如,) ),则编写器将需要 自动恢复CVssWriter::OnPostSnapshot 中的组件。

请求者会在卷影复制上下文中设置此标志,以指示正在为非备份目的(如数据挖掘)创建卷影副本。
VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT
值: 0x1000000
预留给系统使用。

Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 之前不支持此值。
VSS_VOLSNAP_ATTR_TXF_RECOVERY
值: 0x2000000
指示应在创建卷影副本期间强制实施 TxF 恢复。

Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 之前不支持此值。
VSS_VOLSNAP_ATTR_FILE_SHARE
值: 0x4000000

注解

VSS 卷影副本的默认上下文为VSS_CTX_BACKUP。

请求者通过将 _VSS_SNAPSHOT_CONTEXT 枚举的成员传递给 IVssBackupComponents::SetContext 方法,为即将创建的卷影副本设置上下文。

请求者可以通过将 _VSS_SNAPSHOT_CONTEXT 值的按位 OR 与 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES 枚举中支持的值用作 IVssBackupComponents::SetContext 的参数来修改此上下文。

除非特别请求支持给定机制,否则提供程序可以使用任何类型的机制来实现卷影副本。 因此,如果未指定卷影复制方法,提供程序可以自由选择差异机制 (VSS_VOLSNAP_ATTR_DIFFERENTIAL) 、PLEX 机制 (VSS_VOLSNAP_ATTR_PLEX) ,或任何其他支持卷影复制的机制。

虽然提供程序可以支持这两种机制,但它们对于给定的卷影副本是互斥的。 请求者不应同时使用 VSS_VOLSNAP_ATTR_DIFFERENTIALVSS_VOLSNAP_ATTR_PLEX 来修改特定的卷影副本上下文。

目前, VSS_VOLSNAP_ATTR_DIFFERENTIALVSS_VOLSNAP_ATTR_PLEXVSS_VOLSNAP_ATTR_TRANSPORTABLE 是可用于修改任何上下文的 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES 枚举的唯一值。

此外,它不能用于修改 VSS_CTX_CLIENT_ACCESSIBLE 上下文。

请求者可以从调用 IVssBackupComponents (::GetSnapshotProperties 返回的VSS_OBJECT_PROP结构中解包VSS_SNAPSHOT_PROP结构,获取由VSS_ID) 标识的特定卷影副本的相关信息。

请求者还可以通过调用 IVssBackupComponents::Query 并使用 IVssEnumObject 循环访问返回来获取多个卷影副本的每个VSS_SNAPSHOT_PROP结构。

卷影副本的上下文和属性作为位掩码,包含在 VSS_SNAPSHOT_PROP 结构的 m_lSnapshotAttributes 成员中。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 vss.h

另请参阅

IVssBackupComponents::D eleteSnapshots

IVssBackupComponents::D oSnapshotSet

IVssBackupComponents::ExposeSnapshot

IVssBackupComponents::GetSnapshotProperties

IVssBackupComponents::ImportSnapshots

IVssBackupComponents::SetContext

VSS_OBJECT_PROP

VSS_SNAPSHOT_PROP

_VSS_SNAPSHOT_CONTEXT