IVssExamineWriterMetadataEx::GetIdentityEx 方法 (vsbackup.h)

GetIdentityEx 方法获取编写器实例名称以及有关特定编写器实例的其他基本信息。

语法

HRESULT GetIdentityEx(
  [out] VSS_ID          *pidInstance,
  [out] VSS_ID          *pidWriter,
  [out] BSTR            *pbstrWriterName,
  [out] BSTR            *pbstrInstanceName,
  [out] VSS_USAGE_TYPE  *pUsage,
  [out] VSS_SOURCE_TYPE *pSource
);

参数

[out] pidInstance

编写器实例的全局唯一标识符 (GUID) 。

[out] pidWriter

编写器类的 GUID。

[out] pbstrWriterName

指向指定编写器名称的字符串的指针。

[out] pbstrInstanceName

指向指定编写器实例名称的字符串的指针。

[out] pUsage

指向 VSS_USAGE_TYPE 枚举值的指针,该值指示编写器管理的数据在主机系统上的使用方式。

[out] pSource

指向 VSS_SOURCE_TYPE 枚举值的指针,该值指示编写器管理的数据类型。

返回值

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

含义
S_OK
已成功返回标识信息。
E_INVALIDARG
其中一个参数值无效。
E_OUTOFMEMORY
调用方内存或其他系统资源不足。
VSS_E_INVALID_XML_DOCUMENT
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理
VSS_E_UNEXPECTED
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理

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

注解

此方法与 IVssExamineWriterMetadata::GetIdentity 方法相同,但 pbstrInstanceName 参数除外。

pbstrInstanceName 参数是由 CVssWriter::Initialize 在编写器初始化期间指定的编写器实例名称。

编写器实例名称对于支持在单个计算机上运行具有相同编写器类 ID 的多个编写器实例的编写器很有用。 编写器实例名称可用于标识特定实例。 因此,编写器必须在编写器类中使实例名称唯一。 此外,编写器实例名称应在备份和还原之间保留,VSS 使用它来正确还原多实例编写器。

调用方必须通过调用 SysFreeString 释放 pbstrWriterNamepbstrInstanceName 参数保留的内存。

IVssExamineWriterMetadataEx 接口可能来自存储的编写器状态信息, (调用 CreateVssExamineWriterMetadata) 创建。 如果是这种情况,则以下情况为 true:

  • pidInstance 在实时作家方面可能没有任何意义。
  • 如果 pidWriter 与任何实时编写器的编写器类不匹配,则请求者不应使用该编写器的组件。

要求

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

另请参阅

CVssWriter::Initialize

IVssExamineWriterMetadataEx