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

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

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

#### 参数


**表1 参数说明**

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


**表2 TeeNodeInfos结构体**

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


**表3 TeeNodeInfo结构体**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| nodeId | int | nodeId为节点编号，取值为0、1或2（三方） |


#### 返回值

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


#### 错误码


**表4 错误码**

| 错误码 | 错误码值 | 描述 | 特殊说明 |
| --- | --- | --- | --- |
| 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开始依次递增 |
| DG\_ERR\_MEMCPY\_FAIL | 52 | 内存拷贝失败 | 拷贝节点信息失败 |


#### 依赖

- dgTeeCtx依赖  initTeeCtx
的成功初始化。
- 依赖的头文件为"data_guard_mpc.h"。


#### 示例

调用initTeeCtx成功后的dgTeeCtx作为输入，来调用setTeeNodeInfos接口。


```
#include  "data_guard_mpc.h"
// 假设 dgTee 已初始化好
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;
rv = aritOpts.setTeeNodeInfos(dgTee, &allNodes);
if (rv != 0) {
return rv;
}
```

目前节点个数设置为3

运行结果：rv为0。
