iOpcUri::CombinePartUri 方法 (msopc.h)

形成由指定的相对 URI 引用的部件的部件名称。 根据表示为当前 OPC URI 对象的 URI 解析部件的指定相对 URI。

语法

HRESULT CombinePartUri(
  [in]          IUri        *relativeUri,
  [out, retval] IOpcPartUri **combinedUri
);

参数

[in] relativeUri

指向部件相对 URI 的 IUri 接口的指针。

要形成表示部件名称的部件 URI 对象,此输入 URI 将针对表示为当前 OPC URI 对象的 URI 进行解析。 因此,输入 URI 必须相对于当前 OPC URI 对象表示的 URI。

此 URI 可能包含片段组件;但是,片段将被忽略,并且不会包含在要形成的部件名称中。 片段组件前面有一个“#”,如 RFC 3986:URI 泛型语法中所述。

[out, retval] combinedUri

指向表示部件名称的部件 URI 对象的 IOpcPartUri 接口的指针。

部件 URI 对象是通过根据当前 OPC URI 对象表示的 URI 解析 relativeUri 中的相对 URI 来构成的。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码/值 说明
S_OK
方法成功。
E_FAIL
CoInternetCombineUrl 函数返回了无效大小。
E_POINTER
至少一个 relativeUricombinedUri 参数为 NULL
E_UNEXPECTED
CoInternetCombineUrl 函数所需的缓冲区大小意外更改。
OPC_E_NONCONFORMING_URI
0x80510001
部件名称不符合 OPC 标准中指定的规则。
OPC_E_RELATIVE_URI_REQUIRED
0x80510002
部件名称不能是绝对 URI。 绝对 URI 以架构组件开头,后跟“:”,如 RFC 3986:URI 泛型语法中所述。
CoInternetCombineUrl 函数错误
CoInternetCombineUrl 函数中的 HRESULT 错误代码。
CreateUri 函数错误
来自 CreateUri 函数的 HRESULT 错误代码。
WinINet 错误
来自 WinINet API 的 HRESULT 错误代码。

注解

示例输入和输出:

输入相对 IUri 当前 IOpcUri Formed IOpcPartUri
picture.jpg /mydoc/markup/page.xml /mydoc/markup/picture.jpg
../picture.jpg /mydoc/markup/page.xml /mydoc/picture.jpg
../../images/picture.jpg /mydoc/page.xml /images/picture.jpg
 

有关如何使用此方法帮助解析部件名称的信息,请参阅 从目标 URI 解析部件名称

对以前 Windows 版本的支持

此方法的行为和性能在所有受支持的 Windows 版本上都是相同的。 有关详细信息,请参阅使用打包 API 入门适用于 Windows Vista 的平台更新

线程安全性

打包对象不是线程安全的。

有关详细信息,请参阅打包 API 的入门

要求

   
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 msopc.h

另请参阅

ECMA-376 OpenXML

外部资源

使用打包 API 入门

IOpcUri

概述

打包 API 参考

打包 API 示例

打包错误

适用于 Windows Vista 的平台更新

RFC 3986:URI 泛型语法

引用

从目标 URI 解析部件名称