---
title: initTeeCtx
description: "初始化dgTeeCtx"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0081.html
sourcePath: /source/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0081.html
indexId: 086a2c0f6098a48ce755c11606d14ff4dbb12845d7a1d4a98e4733e32c99018364
---
# initTeeCtx

初始化dgTeeCtx

```
int initTeeCtx(
DG_Cfg dgCfg,
DG_TeeCtx **dgTeeCtx
)
```

#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| dgCfg | DG\_Cfg | 不为空，已初始化过 | 输入 |
| dgTeeCtx | DG\_TeeCtx\*\* | 一级指针为空，二级指针不为空 | 输出 |


#### 返回值

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


#### 错误码

| 错误码 | 错误码值 | 描述 | 特殊说明 |
| --- | --- | --- | --- |
| DG\_SUCCESS | 0 | 成功 | \- |
| DG\_ERR\_MPC\_TEE\_INVALID\_PARAM | 4501 | 参数校验失败 | dgCfg为NULL或dgTeeCtx二级指针为空 |
| DG\_ERR\_MPC\_TEE\_NODEID\_NOT\_SET | 4506 | nodeId未设置 | 需要各个节点设置自己的节点信息 |
| DG\_ERR\_MPC\_TEE\_NET\_API\_CALLBACK\_NOT\_SET | 4507 | 网络发送或接收函数未注册 | 通信提供回调由产品注册 |
| DG\_ERR\_MPC\_TEE\_FXP\_BITS\_NOT\_SET | 4509 | 小数精度位数未设置 | \- |
| DG\_ERR\_MPC\_TEE\_INVALID\_ENVIRONMENT | 4511 | 无效的CPUID或CVM环境 | 只能在CPUID为920和920新型号的鲲鹏服务器上运行密态计算功能 |


#### 依赖

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


#### 示例

此函数用于创建并初始化dgTeeCtx结构体。


```
#include  "data_guard_mpc.h"
// 假设teeCfg已初始化好
DG_Matrix_Opts aritOpts = DG_InitMatrixOpts();
struct DG_TeeCtx *dgTee = nullptr;
int rv = aritOpts.initTeeCtx(teeCfg, &dgTee);
if (rv != 0) {
printf("tee init error.-%d\n", rv);
return rv;
}
```

运行结果：rv为0。
