IOpcRelationshipSet::CreateRelationship 方法 (msopc.h)
创建一个表示指定关系的关系对象,然后向 集添加指向对象的 IOpcRelationship 接口的指针。
语法
HRESULT CreateRelationship(
[in] LPCWSTR relationshipIdentifier,
[in] LPCWSTR relationshipType,
[in] IUri *targetUri,
[in] OPC_URI_TARGET_MODE targetMode,
[out, retval] IOpcRelationship **relationship
);
参数
[in] relationshipIdentifier
要表示为关系对象的关系的唯一标识符。 若要使用随机生成的标识符,请将 NULL 传递给此参数。
有效标识符符合 xsd:ID 的限制, W3C 建议、XML 架构第 2 部分:数据类型第二版 第 3.3.8 节 (http://www.w3.org/TR/xmlschema-2/#ID) 中所述。
[in] relationshipType
关系类型,用于定义要表示为关系对象的关系的角色。
[in] targetUri
要表示为关系对象的关系的目标的 URI。
如果 targetMode 中的值 OPC_URI_TARGET_MODE_INTERNAL,则 target 是一个部分,并且 URI 必须相对于关系源。
如果 targetMode 中的值 OPC_URI_TARGET_MODE_EXTERNAL,则 target 是包外部的资源,URI 可以是绝对的,也可以是相对于包的位置。
有关关系目标的 URI 的详细信息,请参阅 OPC。
[in] targetMode
一个 值,该值指示要表示为关系对象的关系目标是包的内部还是外部的。
[out, retval] relationship
指向表示关系的关系对象的 IOpcRelationship 接口的指针。
如果不需要指向新对象的指针,此参数可以为 NULL 。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码/值 | 说明 |
---|---|
|
方法成功。 |
|
在 targetMode 参数中传递的值不是有效的OPC_URI_TARGET_MODE枚举值。 |
|
至少一个 relationshipType 和 targetUri 参数为 NULL。 |
|
当前包中已存在具有相同标识符的关系。 |
|
关系的 Id 属性不符合 OPC 中指定的规则。 |
|
targetUri 中的 URI 是绝对的,targetMode 中的值OPC_URI_TARGET_MODE_INTERNAL。 指定此目标模式时,目标的 URI 必须是相对的。 |
|
关系的 Target 属性不符合 OPC 中指定的规则。 |
|
关系的 Type 属性不符合 OPC 中指定的规则。 |
|
包使用错误组中的 HRESULT 错误代码。 |
|
部件 URI 错误组中的 HRESULT 错误代码。 |
注解
创建关系对象并将指向该对象的指针添加到集中时,保存包时保存它表示的关系。
IOpcRelationship 接口提供对关系属性的访问。 有关这些属性的详细信息,请参阅 关系概述 和 IOpcRelationship。
线程安全性
打包对象不是线程安全的。
有关详细信息,请参阅打包 API 的入门。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | msopc.h |
另请参阅
外部资源
概述
引用