IVssBackupComponents::GetWriterMetadata 方法 (vsbackup.h)

GetWriterMetadata 方法返回系统中运行的特定编写器的元数据。

语法

HRESULT GetWriterMetadata(
  [in]  UINT                      iWriter,
  [out] VSS_ID                    *pidInstance,
  [out] IVssExamineWriterMetadata **ppMetadata
);

参数

[in] iWriter

要检索其元数据的编写器的索引。 此参数的值是一个介于 0 到 n–1(含 0 到 n-1)的整数,其中 n 是当前系统上写入器的总数。 n 的值由 IVssBackupComponents::GetWriterMetadataCount 返回

[out] pidInstance

指向收集元数据的编写器的实例标识符的指针。

[out] ppMetadata

指向包含返回元数据的 IVssExamineWriterMetadata 对象的实例的双重间接指针。

返回值

下面是此方法的有效返回代码。

含义
S_OK
已成功返回指向 IVssExamineWriterMetadata 接口对象的指针。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存或其他系统资源不足。
VSS_E_BAD_STATE
备份组件对象未初始化,在还原操作期间调用了此方法,或者未按正确的顺序调用此方法。
VSS_E_INVALID_XML_DOCUMENT
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_OBJECT_NOT_FOUND
指定的卷影副本不存在。
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前不支持此值。 改用E_UNEXPECTED。

注解

请求者必须调用异步操作 IVssBackupComponents::GatherWriterMetadata ,并在调用 GetWriterMetadata 之前等待该操作完成。

尽管必须在还原或备份操作之前调用 IVssBackupComponents::GatherWriterMetadata ,但通常不会为还原调用 GetWriterMetadata

使用 IVssExamineWriterMetadata::GetComponent(其中 IVssExamineWriterMetadata 接口已由 GetWriterMetadata 返回)在备份操作) 期间 (检索的组件信息来自实时编写器的编写器元数据文档。

这与 GetWriterComponents 在还原操作) 期间 (返回的信息形成鲜明对比,后者是通过调用 AddComponent 存储在备份组件文档中的。

此方法的调用方访问完元数据后,必须调用 IUnknown::Release

要求

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

另请参阅

IVssBackupComponents

IVssBackupComponents::AddComponent

IVssBackupComponents::GatherWriterMetadata

IVssBackupComponents::GetWriterComponents

IVssBackupComponents::GetWriterMetadataCount

IVssExamineWriterMetadata