iOpcSignatureRelationshipReferenceSet::Create 方法 (msopc.h)
创建表示对 Relationships 部件的引用的 IOpcSignatureRelationshipReference 接口指针,并将新的接口指针添加到该集。 选择要引用的“关系”部件中存储的所有关系或一部分关系进行签名。
语法
HRESULT Create(
[in] IOpcUri *sourceUri,
[in] LPCWSTR digestMethod,
[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
[in] IOpcRelationshipSelectorSet *selectorSet,
[in] OPC_CANONICALIZATION_METHOD transformMethod,
[out, retval] IOpcSignatureRelationshipReference **relationshipReference
);
参数
[in] sourceUri
一个 IOpcUri 接口指针,表示要选择要进行签名的关系的源 URI。
[in] digestMethod
要用于所选关系的摘要方法。 若要使用默认摘要方法,请在此参数中传递 NULL 。
[in] relationshipSigningOption
一个 值,该值指示为签名选择的关系是包括要引用的“关系”部件中所有关系还是部分关系。
有关 relationshipSigningOption 值对其他参数的影响的信息,请参阅备注。
[in] selectorSet
IOpcRelationshipSelectorSet 接口指针,可用于标识要选择要进行签名的“关系”部分中关系的子集。
如果 relationshipSigningOption 设置为 OPC_RELATIONSHIP_SIGN_PART, 则 selectorSet 为 NULL。
有关 selectorSet 值的信息,请参阅备注。
[in] transformMethod
一个 值,该值描述要应用于所选关系的关系标记的规范化方法。
如果将 relationshipSigningOption设置为OPC_RELATIONSHIP_SIGN_USING_SELECTORS,则忽略 transformMethod 的值。
有关 在 relationshipSigningOption 设置为 OPC_RELATIONSHIP_SIGN_USING_SELECTORS 时要应用的转换方法的详细信息,请参阅备注。
[out, retval] relationshipReference
表示引用的关系部分的新 IOpcSignatureRelationshipReference 接口指针。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
在 relationshipSigningOption 参数中传递的值不是有效的 OPC_RELATIONSHIPS_SIGNING_OPTION 枚举值。 |
|
transformMethod 参数中传递的值不是有效的OPC_CANONICALIZATION_METHOD枚举值。 |
|
sourceUri 参数为 NULL。 |
|
在向 relationshipSigningOption 参数传递值OPC_RELATIONSHIP_SIGN_PART时,selectorSet 参数未传递 NULL。 |
注解
此方法创建对 Relationships 部件的引用。 生成签名时,可以对存储在引用的关系部件中的所有关系或部分关系进行签名。
若要对 Relationships 部件中的所有关系进行签名,请调用此方法,其中 relationshipSigningOption 参数值设置为 OPC_RELATIONSHIP_SIGN_PART,selectorSet 参数值设置为 NULL。
若要对 Relationships 部件中关系的子集进行签名,请调用此方法,并将 relationshipSigningOption 参数值设置为 OPC_RELATIONSHIP_SIGN_USING_SELECTORS , 并将 selectorSet 参数值设置为 IOpcRelationshipSelectorSet 接口指针。 若要创建 IOpcRelationshipSelectorSet 接口指针,请调用 CreateRelationshipSelectorSet 方法。
下表汇总了此方法创建引用所需的参数值,该引用指示存储在要引用) 关系部件中存储的所有关系或关系的子集 (。
说明 | relationshipSigningOption 价值 | selectorSet 价值 |
---|---|---|
对“关系”部分中的所有关系进行签名 | OPC_RELATIONSHIP_SIGN_PART | NULL |
在“关系”部件中对关系的子集进行签名 | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | IOpcRelationshipSelectorSet 接口指针 |
如果要对关系的子集进行签名,则忽略指定的转换方法。 相反,在生成签名时,应用的第一个转换是关系转换,第二个转换是 OPC_CANONICALIZATION_C14N 规范化方法。
创建 IOpcSignatureRelationshipReference 接口指针并将其添加到集时,保存包时保存它所表示的引用。
不会签名的关系可以删除、修改或添加到包中,而不会使签名失效。 如果已选择关系子集进行签名,并且该子集已更改,则签名将失效。
线程安全性
打包对象不是线程安全的。
有关详细信息,请参阅打包 API 的入门。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | msopc.h |
另请参阅
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
概述
引用