CVssWriterEx::OnIdentifyEx 方法 (vswriter.h)

返回指向 IVssCreateWriterMetadataEx 对象的指针。

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

语法

bool OnIdentifyEx(
  [in] IVssCreateWriterMetadataEx *pMetadata
);

参数

[in] pMetadata

指向 IVssCreateWriterMetadataEx 对象的指针。

返回值

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

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

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

注解

OnIdentifyEx 方法与 OnIdentify 方法相同,只不过它在 pMetadata 参数中返回 IVssCreateWriterMetadataEx 接口指针而不是 IVssCreateWriterMetadata 接口指针。 编写器可以替代 OnIdentifyOnIdentifyEx,但不能同时重写两者。

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

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

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

为了响应由另一个应用程序生成的 Identify 事件,编写器调用 OnIdentifyEx 来创建编写 器元数据文档 ,其中包含有关它使用 IVssCreateWriterMetadataEx 接口管理的组件的信息。

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

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

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

因此,编写者绝不应以以下任何方式使用 OnIdentifyEx 的实现:

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

PrepareForBackupPrepareForSnapshotPostSnapshot 事件期间,编写器可以使用 GetIdentifyInformation 方法获取编写器的 OnIdentifyEx 方法先前报告的元数据。

pMetadata 参数指向的 IVssCreateWriterMetadataEx 对象的生命周期由 VSS 基础结构管理。

要求

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

另请参阅

CVssWriterEx

CVssWriterEx::GetIdentifyInformation

IVssCreateWriterMetadataEx