共用方式為


IVssCreateWriterMetadata::AddComponentDependency 方法 (vswriter.h)

AddComponentDependency方法可讓寫入器指出其管理的元件具有明確的寫入器元件相依性;也就是說,必須在另一個寫入器中備份和還原另一個元件。

語法

HRESULT AddComponentDependency(
  [in] LPCWSTR wszForLogicalPath,
  [in] LPCWSTR wszForComponentName,
  [in] VSS_ID  onWriterId,
  [in] LPCWSTR wszOnLogicalPath,
  [in] LPCWSTR wszOnComponentName
);

參數

[in] wszForLogicalPath

以 Null 結尾的寬字元字串,其中包含目前寫入器所管理之元件 (邏輯路徑,) 需要相依性。

[in] wszForComponentName

以 Null 終止的寬字元字串,包含目前寫入器所管理之元件 (需要相依性) 。

[in] onWriterId

管理目前元件相依元件的寫入器) 類別識別碼或 VSS_ID (GUID。

[in] wszOnLogicalPath

元件 (由目前元件相依之 onWriterId 所識別的寫入器所管理的邏輯路徑) 。

[in] wszOnComponentName

由目前元件相依之 onWriterId 所識別的寫入器所管理之元件 (名稱) 。

傳回值

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

意義
S_OK
作業成功。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_INVALID_XML_DOCUMENT
XML 檔無效。 請檢查事件記錄檔以取得詳細資料。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_OBJECT_NOT_FOUND
wszForLogicalPathwszForComponentName指定的元件不存在。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

不允許與目前寫入器所管理的元件相依性。

相依性需要相依性和相依于目標的元件同時還原和備份。 雖然要求者可以選擇實作該元件,但不會指出元件之間的優先順序。

由於邏輯名稱和元件名稱的組合在寫入器類別的所有實例之間必須是唯一的,因此數個寫入器可能具有相同類別識別碼的事實並無問題。

這個方法可以用來宣告遠端相依性。 寫入器可以藉由在wszOnLogicalPath參數中的邏輯路徑前面加上 「\\RemoteComputerName」,其中 RemoteComputerName是遠端元件所在的電腦名稱稱,來宣告遠端相依性。 RemoteComputerName的值可以是GETComputerNameEx函式所傳回的 IP 位址或電腦名稱稱。

如果遠端元件位於叢集上,寫入器必須報告叢集的虛擬名稱,而且要求者必須負責將虛擬名稱對應至叢集節點的機構名稱,才能建立磁片區陰影複製。

若要判斷相依性是本機還是遠端,要求者必須檢查 pbstrComponentName 參數中傳回的元件名稱。 如果元件名稱以 「\」 開頭,要求者必須假設它指定遠端相依性,且 「\」 後面的第一個元件是寫入器所指定的 RemoteComputerName 。 如果元件名稱不是以 「\」 開頭,要求者應該假設它指定本機相依性。

Windows Server 2003: 在 Windows Server 2003 Service Pack 1 (SP1) 之前,這個方法無法用來宣告遠端相依性。

規格需求

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