共用方式為


IVssExmentWriterMetadataEx::GetIdentityEx 方法 (vsbackup.h)

GetIdentityEx 方法會取得寫入器實例名稱,以及特定寫入器實例的其他基本資訊。

語法

HRESULT GetIdentityEx(
  [out] VSS_ID          *pidInstance,
  [out] VSS_ID          *pidWriter,
  [out] BSTR            *pbstrWriterName,
  [out] BSTR            *pbstrInstanceName,
  [out] VSS_USAGE_TYPE  *pUsage,
  [out] VSS_SOURCE_TYPE *pSource
);

參數

[out] pidInstance

寫入器實例的全域唯一標識子 (GUID) 。

[out] pidWriter

寫入器類別的 GUID。

[out] pbstrWriterName

指定寫入器名稱的字串指標。

[out] pbstrInstanceName

指定寫入器實例名稱之字串的指標。

[out] pUsage

VSS_USAGE_TYPE列舉值的指標,指出寫入器管理的數據在主系統上的使用方式。

[out] pSource

VSS_SOURCE_TYPE列舉值的指標,指出寫入器所管理之數據類型。

傳回值

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

意義
S_OK
已成功傳回身分識別資訊。
E_INVALIDARG
其中一個參數值無效。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_INVALID_XML_DOCUMENT
XML 檔無效。 請檢查事件記錄檔以取得詳細數據。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

這個方法與除了 pbstrInstanceName 參數以外,IVssEx中WriterMetadata::GetIdentity 方法相同。

pbstrInstanceName 參數是 CVssWriter::Initialize 在寫入器初始化期間指定的寫入器實例名稱。

寫入器實例名稱適用於支援在單一計算機上使用相同的寫入器類別標識碼執行多個寫入器實例的寫入器實例。 寫入器實例名稱可用來識別特定實例。 因此,寫入器必須讓實例名稱在寫入器類別內是唯一的。 此外,寫入器實例名稱預期會在備份與還原之間保存,而且 VSS 會使用它來正確還原多個實例寫入器。

呼叫端必須藉由呼叫 SysFreeString 來釋放 pbstrWriterNamepbstrInstanceName 參數所保留的記憶體。

IVssExrovWriterMetadataEx 介面可能來自儲存的寫入器狀態資訊, (由呼叫 CreateVssExizeWriterMetadata) 所建立。 如果是這種情況,則下列為 true:

  • pidInstance 可能不代表即時寫入器的任何專案。
  • 如果 pidWriter 不符合任何即時寫入器的寫入器類別,則要求者不應該使用該寫入器的元件。

規格需求

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

另請參閱

CVssWriter::Initialize

IVssExrovWriterMetadataEx