IVssCreateWriterMetadata::AddAlternateLocationMapping 方法 (vswriter.h)

AddAlternateLocationMapping 方法會建立檔案集的替代位置對應。

語法

HRESULT AddAlternateLocationMapping(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszDestination
);

參數

[in] wszSourcePath

以 Null 結束的寬字元字串,其中包含要對應的檔案之目錄或目錄階層的名稱。

目錄可以是 VSS 電腦上的本機目錄,也可以是遠端檔案檔案上的檔案共享目錄。

路徑可以包含環境變數 (例如%SystemRoot%) ,但不能包含通配符。

路徑結尾不需要反斜杠 (“”) 。 它由擷取這項資訊以檢查的應用程式決定。

[in] wszSourceFilespec

以 Null 結尾的寬字元字串,其中包含要對應的檔案檔案規格。

例如,檔案規格不能包含目錄規格 (,沒有反斜杠) 但可以包含 ? 和 * 通配符。

[in] bRecursive

布爾值,指定 wszPath 參數所指定的路徑是否只識別單一目錄,或指出要以遞歸方式周遊的目錄階層。 如果路徑被視為以遞歸方式周遊的目錄階層,則此參數應設定為 true ,否則為 false

如需周遊掛接資料夾的資訊,請參閱 使用掛接的資料夾和重新分析點

[in] wszDestination

以 Null 結束的寬字元字串,其中包含要重新放置檔案之目錄的完整路徑。

目錄可以是 VSS 電腦上的本機目錄,也可以是遠端檔案檔案上的檔案共享目錄。

支援 UNC 路徑。

傳回值

以下是這個方法的有效傳回碼。

意義
S_OK
0x00000000L
作業成功。
E_INVALIDARG
0x80070057L
其中一個參數值無效。
E_OUTOFMEMORY
0x8007000EL
呼叫端記憶體不足或其他系統資源。
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_OBJECT_NOT_FOUND
0x80042308L
呼叫此方法之前,未呼叫 IVssCreateWriterMetadata::SetRestoreMethod 方法。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。

備註

Windows 7、Windows Server 2008 R2、Windows Vista、Windows Server 2008、Windows XP 和 Windows Server 2003: 除非 Windows 8 和 Windows Server 2012,否則不支援遠端檔案共用。 寫入器僅支援本機資源—其絕對路徑以有效本機磁碟區規格開頭的檔案集合,而且不能是對應的網路驅動器機。 因此, (wszPathwszDestination) 到 AddAlternateLocationMapping (的路徑輸入,) 的任何環境變數解析之後,都必須使用這個格式。

這個方法可以多次呼叫,以新增多個檔案的對應。

路徑、檔案規格和遞歸旗標的組合, (wszPathwszFileSpec、 和 bRecursive 分別) 提供給 AddAlternateLocationMapping 的對應,必須符合其中一個檔案集使用 IVssCreateWriterMetadata::AddFilesToFileGroupIVssCreateWriterMetadata::AddDatabaseFilesIVssCreateWriterMetadata::AddDatabaseLogFiles

只有在呼叫 IVssCreateWriterMetadata::SetRestoreMethod 之後,才應該呼叫 AddAlternateLocationMapping 方法。

如果下列任一項成立,檔案應一律還原至其替代位置對應:

  • ) 備份時設定的還原方法 (VSS_RME_RESTORE_TO_ALTERNATE_LOCATION。
  • 其還原目標是在還原時間) (設定為VSS_RT_ALTERNATE。
不論是哪一種情況,如果未定義有效的替代位置對應,這會構成寫入器錯誤。

如果下列任一項成立,則可以將檔案還原至替代位置對應:

  • 還原方法VSS_RME_RESTORE_IF_NOT_THERE,而且磁碟上已經有檔案版本。
  • 還原方法VSS_RME_RESTORE_IF_CAN_REPLACE,且磁碟上存在檔案版本且無法取代。
同樣地,如果未定義有效的替代位置對應,這會構成寫入器錯誤。

替代位置對應只會在還原作業期間使用,不應與替代路徑混淆,而此路徑只會在備份作業期間使用。

如需 VSS 下備份和還原檔位置的詳細資訊,請參閱 非預設備份和還原位置

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 vswriter.h (包括 Vss.h、VsWriter.h)
程式庫 VssApi.lib

另請參閱

IVssCreateWriterMetadata