VSS_VOLUME_SNAPSHOT_ATTRIBUTES列舉 (vss.h)
允許為陰影複製指定其他屬性。 陰影複製的內容 (由 IVssBackupComponents::SetCoNtext 方法所設定,) 可由包含有效 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES 和 _VSS_SNAPSHOT_CONTEXT 列舉值的位元遮罩修改。
Syntax
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 所管理的交易式讀取和寫入作業,停用自動復原可能會導致陰影複製處於不一致的狀態,例如交易式 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 方法,以設定即將建立的陰影複製內容。
要求者可以使用位 OR 的 _VSS_SNAPSHOT_CONTEXT 值,搭配 來自 _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