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 枚举值的指针,该值指示编写器管理的数据类型。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功返回标识信息。 |
|
其中一个参数值无效。 |
|
调用方内存或其他系统资源不足。 |
|
XML 文档无效。 有关详细信息,请查看事件日志。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 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 释放 pbstrWriterName 和 pbstrInstanceName 参数保留的内存。
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 |