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) |
Library | VssApi.lib |