---
title: setVoidValue
description: "为配置信息设置void值，将TEE_NET_RES通过DG_Void赋值给config，然后注册到KCAL中。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0014.html
sourcePath: /source/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0014.html
indexId: 4389da3cd5427f159aa4b18770e5d6b844caf4cfd24219cb446114ad9fdab2f764
---
# setVoidValue

为配置信息设置void值，将TEE_NET_RES通过DG_Void赋值给config，然后注册到KCAL中。

```
int setVoidValue (
DG_Cfg config,
const char *key,
const DG_Void *value
)
```

#### 参数


**表1 参数说明**

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| config | 初始化配置信息 | 输入为初始化成功的config | 输入 |
| key | value的唯一标识，设置通信接口 | key值为DG\_CON\_MPC\_TEE\_VOID\_NET\_API | 输入 |
| value | 设置的通信结构体 | TEE\_NET\_RES结构体 | 输入 |


**表2 DG_Void结构体**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| data | void \* | 结构体指针 |
| size | long | 结构体内存长度 |


**表3 TEE_NET_RES结构体，为DG_Void中data的字段**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| funcSendData | 通信发送函数指针 | int (\*funcSendData)(struct TeeNodeInfo \*nodeInfo, unsigned char \*buf, u64 len); |
| funcRecvData | 通信接收函数指针 | int (\*funcRecvData)(struct TeeNodeInfo \*nodeInfo, unsigned char \*buf, u64 \*len); |


#### 返回值

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


#### 错误码


**表4 错误码**

| 错误码 | 错误码值 | 描述 | 特殊说明 |
| --- | --- | --- | --- |
| DG\_ERR\_CONFIG\_PARAM | 62 | 参数校验失败 | config为NULL或key为NULL或value为NULL |


#### 依赖

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


#### 示例

使用调用DG_InitConfigOpts成功返回的opts来调用setVoidValue接口。


```
#include "data_guard_config.h"
#include "data_guard_mpc.h"
// Senddata和Recvdata为产品实现的通信发送和接收函数。
TEE_NET_RES teeNet = {SendData, RecvData};
DG_Void netFunc;
netFunc.data = &teeNet;
netFunc.size = sizeof(TEE_NET_RES);
// 此opts为DG_InitConfigOpts的结果，假设teeCfg已初始化好。
int res = opts->setVoidValue(teeCfg, DG_CON_MPC_TEE_VOID_NET_API, &netFunc);
```

运行结果：res为0。
