IVssBackupComponentsEx::GetWriterMetadataEx 方法 (vsbackup.h)
GetWriterMetadataEx 方法返回系统上运行的特定编写器实例的元数据。
语法
HRESULT GetWriterMetadataEx(
[in] UINT iWriter,
[out] VSS_ID *pidInstance,
[out] IVssExamineWriterMetadataEx **ppMetadata
);
参数
[in] iWriter
要检索其元数据的编写器的索引。 此参数的值是一个介于 0 到 n–1(含)的整数,其中 n 是当前系统上的写入器总数。 n 的值由 IVssBackupComponents::GetWriterMetadataCount 方法返回。
[out] pidInstance
调用方分配的变量的地址,该变量接收收集元数据的编写器的实例标识符。
[out] ppMetadata
指向包含返回的元数据的 IVssExamineWriterMetadataEx 对象的实例的双间接指针。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功返回指向 IVssExamineWriterMetadataEx 接口对象的指针。 |
|
其中一个参数值无效。 |
|
调用方内存不足或其他系统资源。 |
|
备份组件对象未初始化,在还原操作期间调用了此方法,或者尚未在正确的顺序中调用此方法。 |
|
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
iWriter 参数不指向有效的编写器。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前,不支持此值。 改用E_UNEXPECTED。 |
注解
GetWriterMetadataEx 与 IVssBackupComponents::GetWriterMetadata 方法相同,只是它返回 iVssExamineWriterMetadataEx 接口指针,而不是 ppMetadata 参数中的 IVssExamineWriterMetadata 接口指针。
请求者必须调用异步 IVssBackupComponents::GatherWriterMetadata 方法,并等待它完成,然后再调用 GetWriterMetadataEx。
尽管在还原或备份操作之前必须调用 GatherWriterMetadata 方法,但通常不会为还原调用 GetWriterMetadataEx 。
使用 IVssExamineWriterMetadata::GetComponent 方法在备份操作) 期间 (检索的组件信息,其中 IVssExamineWriterMetadataEx 接口已由 GetWriterMetadataEx 返回,来自实时编写器进程的编写器元数据文档。
这与在还原操作) 期间 GetWriterComponents (返回的信息形成鲜明对比,后者通过调用 IVssBackupComponents::AddComponent 方法存储在备份组件文档中。
此方法的调用方完成对元数据的访问后,必须调用 IUnknown::Release。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008、Windows Server 2003 SP1 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
Library | VssApi.lib |