IVssBackupComponents::AddToSnapshotSet 方法 (vsbackup.h)
AddToSnapshotSet 方法會將原始磁碟區或原始遠端檔案共用新增至陰影複製集。
語法
HRESULT AddToSnapshotSet(
[in] VSS_PWSZ pwszVolumeName,
[in] VSS_ID ProviderId,
[out] VSS_ID *pidSnapshot
);
參數
[in] pwszVolumeName
以 Null 結束的寬字元字串,其中包含要陰影複製之遠端檔案共用的磁碟區名稱或 UNC 路徑。 名稱或 UNC 路徑必須是下列其中一種格式,且必須包含尾端反斜杠 (\) :
- 掛接資料夾的路徑,例如 Y:\MountX\
- 驅動器號,例如 D:\
- 格式為 \\?\Volume{GUID}\ 的磁碟區 GUID 路徑 (,其中 GUID 會識別磁碟區)
- 指定遠端檔案共用的 UNC 路徑,例如 \\Clusterx\Share1\
[in] ProviderId
要使用的提供者。 您可以使用GUID_NULL,在此情況下會使用預設提供者。
[out] pidSnapshot
傳回已新增陰影複製的標識碼。
傳回值
以下是這個方法的有效傳回碼。
值 | 意義 |
---|---|
|
已成功將磁碟區或遠端檔案共用新增至陰影複製集。 |
|
呼叫端沒有足夠的備份許可權,或不是系統管理員。 |
|
其中一個參數值無效。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。 |
|
陰影複製集已新增磁碟區或遠端檔案共享的數目上限。 指定的磁碟區或遠端檔案共用未新增至陰影複製集。 |
|
磁碟區或遠端檔案共用已新增至陰影複製集的最大數目。 指定的磁碟區或遠端檔案共用未新增至陰影複製集。 |
|
指定的磁碟區巢狀太深,無法參與 VSS 作業。 此錯誤的可能原因包括:
|
|
pwszVolumeName 未對應至現有的磁碟區或遠端檔案共用。 |
|
ProviderId 未對應至已註冊的提供者。 |
|
預期的提供者錯誤。 提供者在事件記錄檔中記錄錯誤。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
另一個陰影複製建立正在進行中。 發生於同時將 CSV 磁碟區新增至多個節點的快照集,或同時將向外延展共用新增至多個 SMB 用戶端節點的快照集時。 |
|
ProviderId 參數的值GUID_NULL,而且沒有 VSS 提供者表示它支援指定的磁碟區或遠端檔案共用。 |
|
指定的提供者不支援磁碟區或遠端檔案共用。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。 |
|
提供者傳回非預期的錯誤碼。 此錯誤碼只會透過 ppAsync 參數中傳回之 IVssAsync 介面上的 QueryStatus 方法傳回。 |
備註
Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003: 除非 Windows 8 和 Windows Server 2012,否則不支援遠端檔案共用。
如果 pwszVolumeName 是 UNC 共用路徑,則伺服器名稱部分必須是主機名或完整功能變數名稱格式。 使用IP位址的 UNC 共用名必須先呼叫 IVssBackupComponentsEx4::GetRootAndLogicalPrefixPaths 方法來正規化,才能將它們傳遞至 AddToSnapshotSet。
在一組陰影複製中,可進行陰影複製的磁碟區數目上限為 64 個。
如果 ProviderId 是GUID_NULL,則會根據下列演算法選取預設提供者:
- 如果有任何硬體提供者支援指定的磁碟區或遠端檔案共用,則會選取該提供者。
- 如果沒有可用的硬體提供者,如果有任何軟體提供者支援指定的磁碟區,則會選取它。
- 如果沒有可用的硬體提供者或軟體提供者,則會選取系統提供者。 (只有一個預安裝的系統提供者,必須支援所有不可移動的本機磁碟區。)
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援 VHD。
pidSnapshot 參數中傳回的陰影複製標識符會儲存在備份元件檔中。 不過,沒有查詢此資訊的方法,而且呼叫端可能需要儲存它,以便在還原期間使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |