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_ROLLBACK、 VSS_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_ACCESSIBLE 和 VSS_CTX_CLIENT_ACCESSIBLE_WRITERS自动设置此属性。 在设置卷影副本的上下文时,请求者不应显式使用此属性。 |
VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE 值: 0x8 卷影复制请求程序进程结束时,不会自动删除卷影副本。 卷影副本 只能通过调用 来删除 IVssBackupComponents::D eleteSnapshots。 此属性会自动设置为 的_VSS_SNAPSHOT_CONTEXT 上下文 VSS_CTX_APP_ROLLBACK、 VSS_CTX_CLIENT_ACCESSIBLE、 VSS_CTX_CLIENT_ACCESSIBLE_WRITERS和 VSS_CTX_NAS_ROLLBACK。 在设置卷影副本的上下文时,请求者不应显式使用此属性。 |
VSS_VOLSNAP_ATTR_NO_WRITERS 值: 0x10 没有编写器参与创建卷影副本。 此属性会自动设置为 的_VSS_SNAPSHOT_CONTEXT 上下文 VSS_CTX_NAS_ROLLBACK、 VSS_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_DIFFERENTIAL 和 VSS_VOLSNAP_ATTR_PLEX 来修改特定的卷影副本上下文。
目前, VSS_VOLSNAP_ATTR_DIFFERENTIAL、 VSS_VOLSNAP_ATTR_PLEX和 VSS_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