CVssWriterEx::OnIdentifyEx 方法 (vswriter.h)
會傳回 IVssCreateWriterMetadataEx 物件的指標。
OnIdentifyEx 是虛擬方法。 它是由 CVssWriterEx 基類實作,但可由衍生類別覆寫。
語法
bool OnIdentifyEx(
[in] IVssCreateWriterMetadataEx *pMetadata
);
參數
[in] pMetadata
IVssCreateWriterMetadataEx物件的指標。
傳回值
如同基類所實作, OnIdentifyEx 一律會傳回 true。
此方法的任何其他實作都必須傳回 true ,但發生嚴重錯誤的情況除外。 如果發生嚴重錯誤,方法應該會傳回 false。
在發生失敗的所有情況下,包括非嚴重錯誤,方法應該將詳細專案寫入事件記錄檔,以報告失敗的確切原因。
備註
OnIdentifyEx方法與OnIdentify方法相同,不同之處在于它會傳回pMetadata參數中的IVssCreateWriterMetadataEx介面指標,而不是IVssCreateWriterMetadata介面指標。 寫入器可以覆寫 OnIdentify 或 OnIdentifyEx,但不能同時覆寫這兩者。
寫入器永遠不會從這個方法或任何其他CVssWriter (Ex) ::OnXxx回呼方法擲回例外狀況。
寫入器不應該從OnIdentify或OnIdentifyEx方法呼叫CVssWriter::SetWriterFailure方法。
如果這個方法呼叫 CVssWriterEx2::GetSessionId 方法,則必須在呼叫此方法的相同執行緒中執行此動作。 如需詳細資訊,請參閱 寫入器事件處理。
為了回應另一個應用程式所產生的 Identify 事件,寫入器會呼叫 OnIdentifyEx 來建立 寫入器元資料檔案 ,其中包含其使用 IVssCreateWriterMetadataEx 介面所管理之元件的相關資訊。
產生 Identify 事件的應用程式接著會擷取 寫入器元資料檔案 ,並使用 IVssExriterMetadata 介面檢查寫入器的元件資訊。
在組成備份或還原順序的事件之前,需要 識別 事件。 因此, 通常會呼叫 OnIdentifyEx 來處理 Identify 事件,以回應要求者的 IVssBackupComponents::GatherWriterMetadata 作為備份或還原作業的一部分。
不過, 識別 事件本身不是組成備份或還原順序的事件序列的一部分,而且 VSS 服務不會防止 產生識別 事件,即使備份或還原順序正在進行也一樣。 例如,VSS 管理應用程式會使用 Identify 事件來判斷及顯示系統上寫入器的狀態。
基於這個理由,寫入器絕對不應該使用其 OnIdentifyEx 的實作,其方式如下:
- 做為其處理備份或還原順序的開頭
- 設定或維護寫入器狀態的相關資訊
在 PrepareForBackup、 PrepareForSnapshot和 PostSnapshot 事件期間,寫入器可以使用 GetIdentifyInformation 方法來取得寫入器先前所回報 OnIdentifyEx 方法的中繼資料。
PMetadata參數指向的IVssCreateWriterMetadataEx物件的生命週期是由 VSS 基礎結構所管理。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | vswriter.h (包括 Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |