IVssComponent::GetPartialFile 方法 (vswriter.h)
GetPartialFile 方法會傳回與此元件相關聯的部分檔案資訊。
語法
HRESULT GetPartialFile(
[in] UINT iPartialFile,
[out] BSTR *pbstrPath,
[out] BSTR *pbstrFilename,
[out] BSTR *pbstrRange,
[out] BSTR *pbstrMetadata
);
參數
[in] iPartialFile
部分檔案的索引編號。 此參數的值是包含 0 到 n–1 的整數,其中 n 是與指定元件相關聯的部分檔案總數。 iVssComponent::GetPartialFileCount 會傳回 n 的值。
[out] pbstrPath
包含部分檔案路徑的字串指標。
此方法的用戶必須檢查此路徑是否以反斜杠 (“”) 結尾。
[out] pbstrFilename
包含部分檔名的字串指標。
[out] pbstrRange
字串的指標,其中包含組成部分檔案支援範圍的檔案位移和長度清單, (備份) 的檔案區段,或包含這類清單的檔名。
[out] pbstrMetadata
字串的指標,其中包含寫入器驗證部分檔還原作業所需的任何其他元數據。 此元數據字串中的資訊會不透明給要求者。
不需要其他元數據,因此 pbstrMetadata 也可能是空的 (零長度) 。
傳回值
以下是此方法的有效傳回碼。
值 | 意義 |
---|---|
|
已成功傳回屬性值。 |
|
其中一個參數值無效。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
呼叫端未處於正確的狀態, (作業的備份或還原) 。 |
|
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。 |
|
找不到指定的專案。 |
備註
呼叫端應該藉由呼叫 SysFreeString 來釋放 pbstrPath、pbstrFilename、pbstrRange 和 pbstrMetadata 參數所保留的記憶體。
範圍表示要備份之指定檔案的子區段,與檔案的其餘部分無關。
(pbstrRanges 範圍清單的語法) 是格式 offset1:length1、offset2:length2 格式的逗號分隔清單,其中每個位移和長度都是 64 位整數,分別指定位元組位移和位元組長度。 位移和長度可以表示為十六進位或十進位值。
如果 pbstrRanges 是指包含範圍檔案 (所有位移和長度的檔案 ) ,pbstrRanges 應該包含檔案的完整路徑。
如果 wszRange 是指包含範圍檔案 () 之所有位移和長度的檔案, wszRange 應該包含檔案的完整路徑。
範圍檔案必須是具有下列格式的二進位檔案:
- 64 位整數,指出需要備份的相異檔案範圍數目。
- 每個範圍都以一對64位整數表示:要備份之檔案的位移、以位元組為單位,以及從該位移開始要備份的數據長度。
不過,要求者可能會改變要還原範圍檔案的位置,而要求者會使用 IVssBackupComponents::SetRangesFilePath 來指出這一點,並更新備份元件檔,讓 pbstrRanges 指出正確的範圍檔案。
要求者會使用 GetPartialFile 傳回的範圍資訊,在還原時將備份的區段還原到磁碟上檔案復本內的適當位置。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vswriter.h (包括 Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |