CVssWriterEx::OnIdentifyEx 方法 (vswriter.h)
返回指向 IVssCreateWriterMetadataEx 对象的指针。
OnIdentifyEx 是一种虚拟方法。 它由 CVssWriterEx 基类实现,但可由派生类重写。
语法
bool OnIdentifyEx(
[in] IVssCreateWriterMetadataEx *pMetadata
);
参数
[in] pMetadata
指向 IVssCreateWriterMetadataEx 对象的指针。
返回值
由基类实现的 OnIdentifyEx 始终返回 true。
此方法的任何其他实现都必须返回 true ,出现严重错误时除外。 如果发生严重错误,该方法应返回 false。
在发生故障(包括非严重错误)的所有情况下,方法都应将详细条目写入事件日志,以报告失败的确切原因。
注解
OnIdentifyEx 方法与 OnIdentify 方法相同,只不过它在 pMetadata 参数中返回 IVssCreateWriterMetadataEx 接口指针而不是 IVssCreateWriterMetadata 接口指针。 编写器可以替代 OnIdentify 或 OnIdentifyEx,但不能同时重写两者。
编写器绝不应从此方法或任何其他 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 的实现:
- 作为处理备份或还原序列的开始
- 设置或维护有关编写器状态的信息
在 PrepareForBackup、 PrepareForSnapshot 和 PostSnapshot 事件期间,编写器可以使用 GetIdentifyInformation 方法获取编写器的 OnIdentifyEx 方法先前报告的元数据。
pMetadata 参数指向的 IVssCreateWriterMetadataEx 对象的生命周期由 VSS 基础结构管理。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | vswriter.h (包括 Vss.h、VsWriter.h) |
Library | VssApi.lib |