---
title: setTeeNodeInfos
description: "设置全局节点信息，目前支持两方0，1节点或三方0，1，2节点。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0031.html
sourcePath: /source/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0031.html
indexId: b1395794e8ab3365efc348d6709fdcfe1062436a9d11c8f61e39e659da9392c264
---
# setTeeNodeInfos

设置全局节点信息，目前支持两方0，1节点或三方0，1，2节点。

```
int setTeeNodeInfos (
DG_TeeCtx *dgTeeCtx,
struct TeeNodeInfos *teeNodeInfos
)
```

#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| dgTeeCtx | KCAL上下文信息 | 为initTeeCtx成功初始化的结果 | 输入 |
| teeNodeInfos | 全局节点信息 | 不为NULL | 输入 |


**表1 TeeNodeInfo结构体**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| nodeId | int | 计算方节点编号0，1，2 |


**表2 TeeNodeInfos结构体**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| nodeInfo | TeeNodeInfo \* | 多个节点信息 |
| size | unsigned long | 节点个数，目前支持两个节点或者三个节点 |


#### 返回值

- 成功：返回0。
- 失败：返回错误码。


#### 错误码

| 错误码 | 错误码值 | 描述 | 特殊说明 |
| --- | --- | --- | --- |
| DG\_ERR\_MPC\_TEE\_INVALID\_PARAM | 4501 | 参数校验失败 | dgTeeCtx为NULL或teeNodeInfos为NULL |
| DG\_ERR\_MPC\_TEE\_INVALID\_NODE\_INFO | 4503 | 无效的节点信息 | 网络参数设置不正确或全局节点个数设置不正确 |
| DG\_ERR\_MPC\_TEE\_NODE\_NOT\_SORT\_AND\_START\_0 | 4505 | nodeId未按照从0编号开始 | nodeId规定从0开始依次递增 |


#### 依赖

- teeOpts依赖  DG_InitPsiOpts
的成功初始化PSI类函数组。

- #include "data_guard_mpc.h"：该接口声明所在的头文件。


#### 示例

```
#include  "data_guard_mpc.h"
// 假设dgTeeCtx已初始化完成
struct TeeNodeInfo teeNodes[3];
teeNodes[0].nodeId = 0;
teeNodes[1].nodeId = 1;
teeNodes[2].nodeId = 2;
struct TeeNodeInfos allNodes;
allNodes.nodeInfo = teeNodes;
allNodes.size = 3;
// teeOpts为DG_InitPsiOpts成功后的结果，dgTee为initTeeCtx成功后的结果。
int rv = teeOpts.setTeeNodeInfos(dgTeeCtx, &allNodes);
```

目前节点个数设置为3。

运行结果：rv为0。

使用调用DG_InitPsiOpts成功后的teeOpts来调用setTeeNodeInfos接口。
