Share via


IVssBackupComponents::EnableWriterClasses 方法 (vsbackup.h)

EnableWriterClasses 方法可讓指定的寫入器接收所有事件。

語法

HRESULT EnableWriterClasses(
  [in] const VSS_ID *rgWriterClassId,
  [in] UINT         cClassId
);

參數

[in] rgWriterClassId

包含一或多個寫入器類別標識碼的陣列。

[in] cClassId

rgWriterClassId 陣列中的項目數目。

傳回值

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

意義
S_OK
已成功啟用寫入器類別。
E_ACCESSDENIED
呼叫端沒有足夠的備份許可權,或不是系統管理員。
E_OUTOFMEMORY
呼叫端記憶體不足或其他系統資源。
VSS_E_BAD_STATE
備份元件物件未初始化、此方法已在還原作業期間呼叫,或此方法未在正確的順序內呼叫。
VSS_E_UNEXPECTED
非預期的錯誤。 錯誤碼會記錄在錯誤記錄檔中。 如需詳細資訊,請參閱 VSS 下的事件和錯誤處理

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

備註

如果未呼叫 EnableWriterClasses 方法和 IVssBackupComponents::D isableWriterClasses 方法,則會啟用所有寫入器類別。

在第一次呼叫 EnableWriterClasses 傳回之後,會啟用 在 rgWriterClassId 陣列中指定的寫入器類別,並停用所有其他寫入器類別。

如果您多次呼叫 EnableWriterClasses ,則每個呼叫都會將 rgWriterClassId 陣列中的寫入器新增至啟用的寫入器清單。

如果您呼叫 EnableWriterClasses 一次或多次呼叫 DisableWriterClasses則 DisableWriterClasses 的呼叫會停用 rgWriterClassId 陣列中啟用的任何寫入器,而該數組會在對 EnableWriterClasses 的呼叫中啟用。

如果您呼叫 EnableWriterClasses,則必須在呼叫 IVssBackupComponents::GatherWriterMetadata 方法之前執行此動作。 如果您先呼叫 GatherWriterMetadata ,然後呼叫 EnableWriterClasses則 EnableWriterClasses 的呼叫不會有任何作用。 如果您需要先呼叫 GatherWriterMetadata ,才能判斷要啟用的寫入器類別,您必須從 IVssBackupComponents 介面的不同實例呼叫它。

規格需求

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

另請參閱

IVssBackupComponents

IVssBackupComponents::D isableWriterClasses

IVssBackupComponents::D isableWriterInstances