---
title: hi_mpi_awb_sensor_reg_callback
description: "AWB库提供的Sensor注册的回调接口。AWB通过Sensor注册的一系列回调接口，获取差异化的初始化参数，并控制Sensor。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_0797.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_0797.html
indexId: 67a8e5e097dac73dccce2aa03dd280ed92cce56172a1b3bdb2471cbb03f1e3a1105
---
# hi_mpi_awb_sensor_reg_callback

#### 函数功能

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, 4)。 |
| awb\_lib | 输入 | AWB算法库结构体指针。 |
| sns\_attr\_info | 输入 | 向AWB注册的Sensor的属性。 该结构体内的sensor\_id是sensor库中自定义的值，需确保唯一，主要用于校对向ISP注册的sensor和向3A注册的sensor是否为同一个sensor。 |
| awb\_sns\_register | 输入 | Sensor注册结构体指针。 |


#### 返回值说明

- 0：成功
- 非0：失败，参见  ISP返回码
。


#### 参考资源

接口调用流程，参见视频数据获取功能。


#### 参考样例

```
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;
}
```
