IVssComponent::AddPartialFile 方法 (vswriter.h)
AddPartialFile 方法表示只備份指定檔案的部分,以及那些部分。
只有寫入器可以呼叫這個方法,而且只能在備份作業期間呼叫。
語法
HRESULT AddPartialFile(
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFilename,
[in] LPCWSTR wszRanges,
[in] LPCWSTR wszMetadata
);
參數
[in] wszPath
以 Null 終止的寬字元字串,其中包含部分檔案作業所涉及的檔案路徑。
路徑可以包含環境變數 (,例如%SystemRoot%) ,但不能包含通配符。
路徑結尾不需要反斜杠 (“”) 。 這是擷取此資訊以檢查的應用程式。
如果元件定義元件集) ,此路徑應該符合或位於元件 (或其中一個子元件中的檔案集路徑下方。
[in] wszFilename
以 Null 結尾的寬字元字串,其中包含部分檔案作業所涉及的檔名。 wszFilename) 檔案 (的名稱不能包含通配符 (* 或 ?) ,而且必須與包含 wszPath (wszPath) 之檔案集的檔案規格一致。
[in] wszRanges
Null 終止的寬字元字串,其中包含組成部分檔案支援範圍的檔案位移和長度清單, (實際備份檔區段) ,或包含這類清單的檔名。
需要指定部分檔案支援範圍,而且此值不能是 NULL。
[in] wszMetadata
以 Null 終止的寬字元字串,其中包含寫入器驗證部分檔案還原作業所需的任何其他元數據。 此元數據字串中的資訊會不透明給要求者。
如果不需要額外的元數據,此值可以是 NULL。
傳回值
以下是此方法的有效傳回碼。
值 | 意義 |
---|---|
|
成功設定專案。 |
|
其中一個參數值無效。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
寫入器未呼叫方法,或者,如果寫入器呼叫,則不會在還原作業期間呼叫方法。 |
備註
只有寫入器可以呼叫這個方法,而且寫入器無法在還原作業期間呼叫此方法。
範圍清單 (wszRanges) 語法是格式 offset1:length1、offset2:length2 的逗號分隔清單,其中每個位移和長度都是 64 位整數,分別指定位元組位移和位元組長度。 位移和長度可以表示為十六進位或十進位值。
如果 wszRange 是指包含範圍檔案) (所有位移和長度的檔案, wszRange 只會包含檔案的完整路徑。
範圍檔案必須是具有下列格式的二進位檔案:
- 64 位整數,指出需要備份的相異檔案範圍數目
- 每個範圍都以一對64位整數表示:要以位元組為單位備份之檔案的位移,以及從該位移開始要備份的數據長度
要求者可以使用 IVssComponent::GetPartialFile 擷取部分檔案資訊,並使用 GetPartialFile 傳回的位移和長度資訊,將備份區段還原到磁碟上磁碟上檔案複本內的適當位置。
如果元件定義元件集) ,也可以將 AddPartialFile 套用至元件 (或其中一個子元件所管理的檔案,也可以將新檔案新增至元件,並指出它會參與部分檔案作業。
當指出要參與的檔案是新的檔案時,該檔案必須存在於陰影複製的磁碟區上,且其路徑 (wszPath) 應該符合或位於元件 (或其中一個子元件的路徑下,如果元件定義元件集) 。 不過,檔案的檔案規格 (wszFileSpec) 不應該與元件中的檔案規格相符。
任何新增的檔案都不支援替代位置對應。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vswriter.h (包括 Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |