CVssWriter::OnIdentify 方法 (vswriter.h)

在收到 Identify 事件后,编写器将调用 OnIdentify 方法。

OnIdentify 是一种虚拟方法。 它由 CVssWriter 基类实现,但可由派生类重写。

语法

bool OnIdentify(
  [in] IVssCreateWriterMetadata *pMetadata
);

参数

[in] pMetadata

指向用于构造编写器元数据的 IVssCreateWriterMetadata 对象的指针。

返回值

由基类实现的 OnIdentify 始终返回 true

此方法的任何其他实现都必须返回 true ,出现致命错误时除外。 如果发生严重错误,该方法应返回 false

在发生失败(包括非致命错误)的所有情况下,方法都应将详细条目写入事件日志,以报告失败的确切原因。

注解

CVssWriter 基类对此方法的默认实现返回 true,而不执行任何其他操作。

编写器绝不应从此方法或任何其他 CVssWriter (Ex) ::OnXxx 回调方法引发异常。

编写器不应从 OnIdentify 或 CVssWriterEx::OnIdentifyEx 方法调用 CVssWriter::SetWriterFailure 方法。

如果此方法调用 CVssWriterEx2::GetSessionId 方法,则必须在调用此方法的同一线程中执行此操作。 有关详细信息,请参阅 编写器事件处理

为了响应另一个应用程序生成的标识事件,编写器使用 OnIdentify 处理程序创建一个编写器元数据文档,其中包含有关它使用 IVssCreateWriterMetadata 接口管理的组件的信息。

然后,生成 Identify 事件的应用程序检索编写器元数据文档,并使用 IVssExamineWriterMetadata 接口检查编写器的组件信息。

在构成备份或还原序列的事件之前,需要确定事件。 因此,通常调用 OnIdentify 来处理标识事件,以响应请求者在备份或还原操作过程中对 IVssBackupComponents::GatherWriterMetadata 的调用。

但是,标识事件本身不是构成备份或还原的事件序列的一部分,并且 VSS 服务不会阻止其生成,即使在备份或还原序列正在进行时也是如此。 例如,VSS 管理应用程序使用“标识”事件来确定并显示系统上编写器的状态。

在这种情况下,编写者不应通过以下方式使用其 OnIdentify 实现:

  • 作为处理备份或还原的开始
  • 设置或维护有关编写器状态的信息
有关 编写器与事件的 交互的详细信息,请参阅编写器事件处理。

传递到 OnIdentifyIVssCreateWriterMetadata 对象的生命周期由 VSS 基础结构管理。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 vswriter.h (包括 Vss.h、VsWriter.h)
Library VssApi.lib

另请参阅

CVssWriter

IVssBackupComponents::GatherWriterMetadata

IVssCreateWriterMetadata