IVssBackupComponents::D isableWriterClasses 方法 (vsbackup.h)
DisableWriterClasses方法可防止特定類別的寫入器接收任何事件。
語法
HRESULT DisableWriterClasses(
[in] const VSS_ID *rgWriterClassId,
[in] UINT cClassId
);
參數
[in] rgWriterClassId
包含一或多個寫入器類別識別碼的陣列。
[in] cClassId
rgWriterClassId陣列中的專案數。
傳回值
以下是這個方法的有效傳回碼。
值 | 意義 |
---|---|
|
已成功停用寫入器類別。 |
|
呼叫端沒有足夠的備份許可權,或不是系統管理員。 |
|
呼叫端記憶體不足或其他系統資源。 |
|
備份元件物件未初始化、在還原作業期間呼叫此方法,或未在正確的順序內呼叫此方法。 |
|
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支援此值。 E_UNEXPECTED改用。 |
備註
如果您有相同寫入器的多個執行中複本,它們都會有相同的寫入器類別識別碼,但它們會有不同的寫入器實例識別碼。 停用寫入器類別會導致停用所有寫入器的實例。
如果永遠不會呼叫 DisableWriterClasses 方法和 IVssBackupComponents::EnableWriterClasses 方法,則會啟用所有寫入器類別。
第一次呼叫 DisableWriterClasses 傳回之後, 會停用 rgWriterClassId 陣列中指定的寫入器類別,並啟用所有其他寫入器類別。
如果您多次呼叫 DisableWriterClasses ,則每個呼叫都會將 rgWriterClassId 陣列中的寫入器新增至停用的寫入器清單。
如果您呼叫 DisableWriterClasses 一或多次,然後呼叫 EnableWriterClasses,則第一次呼叫 EnableWriterClasses 會取消 對 DisableWriterClasses 的呼叫效果,並且只啟用 rgWriterClassId 陣列中的寫入器。
如果您呼叫 DisableWriterClasses,您必須先這麼做,才能呼叫 IVssBackupComponents::GatherWriterMetadata 方法。 如果您先呼叫 GatherWriterMetadata ,然後再呼叫 DisableWriterClasses, 則 DisableWriterClasses 的呼叫不會有任何作用。 如果您需要先呼叫 GatherWriterMetadata ,才能判斷要停用的寫入器類別,您必須從 不同的 IVssBackupComponents 介面實例呼叫它。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
程式庫 | VssApi.lib |