---
title: hi_mpi_awb_sensor_reg_callback
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0019.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0019.html
indexId: 3069be9e0732d8bc8905e54ea3ae9b365b6925d0251d8a15dab0a1b0b701ce9b65
---
# hi_mpi_awb_sensor_reg_callback

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | ☓ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | ☓ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | ☓ |
| Atlas 训练系列产品 | ☓ |


#### 功能说明

AWB库提供的Sensor注册的回调接口。AWB通过Sensor注册的一系列回调接口，获取差异化的初始化参数，并控制Sensor。

此接口不支持多进程操作。


#### 函数原型

```
hi_s32
hi_mpi_awb_sensor_reg_callback(
hi_vi_pipe
vi_pipe,
hi_isp_3a_alg_lib
*awb_lib, const
hi_isp_sns_attr_info
*sns_attr_info, const
hi_isp_awb_sensor_register
*awb_sns_register);
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| vi\_pipe | 输入 | VI PIPE号。 取值范围：[0, 12)。 |
| awb\_lib | 输入 | AWB算法库结构体指针。 |
| sns\_attr\_info | 输入 | 向AWB注册的Sensor的属性。 该结构体内的sensor\_id是Sensor库中自定义的值，需确保唯一，主要用于校对向ISP注册的Sensor和向3A注册的Sensor是否为同一个Sensor。 |
| awb\_sns\_register | 输入 | Sensor注册结构体指针。 |


#### 返回值说明

- 0：成功
- 非0：失败，参见  错误码
。


#### 调用示例

```
hi_isp_3a_alg_lib awb_lib;
hi_isp_awb_sensor_register awb_register;
hi_isp_sns_attr_info sns_attr_info;
hi_isp_awb_sensor_exp_func *exp_funcs = &awb_register.sns_exp;
memset(exp_funcs, 0, sizeof(hi_isp_awb_sensor_exp_func));
exp_funcs-> pfn_cmos_get_awb_default = cmos_get_awb_default;
hi_vi_pipe vi_pipe = 0;
awb_lib.id = 0;
sns_attr_info.sensor_id = IMX178_ID;
strcpy(awb_lib.lib_name, HI_AWB_LIB_NAME);
ret = hi_mpi_awb_sensor_reg_callback(vi_pipe, &awb_lib, &sns_attr_info, &awb_register);
if (ret) {
printf("Sensor register callback function to awb lib failed!\n");
return ret;
}
```
