OSD(叠加显示)接口说明文档
| 文档版本 | V1.1 |
|---|---|
| 修订日期 | 2026-08-21 |
| 代码基线 | hi_aiot_solution 8.18 |
| 对应头文件 | components/media/pipeline/include/hi_mapi_osd.h |
| 类型定义 | components/media/pipeline/include/hi_mapi_osd_define.h、include/adapt/*_adapt_define.h |
| 适用模块 | OSD / HI3516CV610 |
1 概述
OSD 模块用于在视频流、显示画面或编码输出上叠加时间、字符串、位图、圆形等图形元素。系统最多支持 16 个 OSD 实例(osd_idx ∈ [0, 15]),每个实例可绑定到多个显示目标(VCAP / VPSS / VENC / DISP 等),绑定数最多 4 个。hi_mapi_osd_init 在内部会创建内容更新线程;若字体库已经初始化,还会额外创建时间字符串更新线程。典型调用流程:hi_mapi_osd_init → hi_mapi_osd_set_attr → hi_mapi_osd_start → (运行期通过 hi_mapi_osd_set_attr 动态更新内容)→ hi_mapi_osd_stop → hi_mapi_osd_deinit。
2 接口总览
| 编号 | 接口 | 功能概述 |
|---|---|---|
| 1 | hi_mapi_osd_init |
初始化 OSD 模块,创建 OSD 内容更新线程;如字体库已初始化,还会创建时间 OSD 自动刷新线程。 |
| 2 | hi_mapi_osd_deinit |
去初始化 OSD 模块,停止所有 OSD 实例、销毁更新线程并释放资源。 |
| 3 | hi_mapi_osd_set_attr |
设置指定 OSD 实例的属性(包括显示目标、内容类型、颜色、位置等)。 |
| 4 | hi_mapi_osd_get_attr |
获取指定 OSD 实例的当前属性。 |
| 5 | hi_mapi_osd_start |
启动指定 OSD 实例:创建底层 region 并将其 attach 到所绑定的通道。 |
| 6 | hi_mapi_osd_stop |
停止指定 OSD 实例,将其从绑定通道 detach 并销毁 region。 |
| 7 | hi_mapi_osd_batch |
按 batch_id 成组地切换一批 OSD 的显隐状态。 |
3 API 参考
1 hi_mapi_osd_init
【描述】 初始化 OSD 模块,创建 OSD 内容更新线程;如字体库已初始化,还会创建时间 OSD 自动刷新线程。
【语法】
【参数】 无
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统尚未初始化。 |
HI_MAPI_OSD_ENOMEM |
创建线程失败。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】
- 重复调用:若已初始化,直接返回成功。
- 必须先调用
hi_mapi_sys_init/hi_mapi_sys_media_init等系统初始化函数。
【举例】 无
【相关主题】
hi_mapi_osd_deinit
2 hi_mapi_osd_deinit
【描述】 去初始化 OSD 模块,停止所有 OSD 实例、销毁更新线程并释放资源。
【语法】
【参数】 无
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统未初始化,或 OSD 模块尚未初始化。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】 无
【举例】 无
【相关主题】
hi_mapi_osd_init
3 hi_mapi_osd_set_attr
【描述】 设置指定 OSD 实例的属性(包括显示目标、内容类型、颜色、位置等)。
【语法】
【参数】
| 参数名称 | 输入/输出 | 类型 | 描述 |
|---|---|---|---|
osd_idx |
输入 | td_u32 |
OSD 索引,范围 [0, 15]。 |
osd_attr |
输入 | const hi_mapi_osd_attr * |
OSD 属性,不能为 NULL。 |
hi_mapi_osd_attr成员:
| 成员名称 | 描述 |
|---|---|
disp_num |
绑定的显示目标个数,范围 [1, 4]。 |
disp_attr |
显示目标属性数组(HI_MAPI_OSD_MAX_DISP_CNT = 4)。 |
osd_content |
OSD 内容(类型、颜色,以及对应联合体成员)。 |
hi_mapi_osd_disp_attr成员:
| 成员名称 | 描述 |
|---|---|
show |
是否显示。 |
binded_mod |
绑定模块(VCAP / VPSS / VENC / DISP;STITCH 在 HI3516CV610 不支持)。 |
mod_hdl |
绑定模块的设备句柄。 |
chn_hdl |
绑定模块的通道句柄。 |
fg_alpha |
前景透明度。 |
bg_alpha |
背景透明度。 |
coordinate_mod |
坐标模式:HI_MAPI_OSD_COORDINATE_RATIO_COOR(比例坐标,范围 [0, 100])或 HI_MAPI_OSD_COORDINATE_ABS_COOR(绝对坐标,单位:像素)。 |
start_pos |
OSD 起点坐标。 |
attach_dest |
仅 VENC 绑定时有效,指定 JPEG 附加目标。 |
batch_id |
批控制 ID,用于 hi_mapi_osd_batch 成组显隐。 |
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_ENULL_PTR |
osd_attr 为空指针;或 type = BITMAP 时 bitmap_content.data 为空指针。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统或 OSD 模块未初始化。 |
HI_MAPI_OSD_EHANDLE_ILLEGAL |
osd_idx 越界。 |
HI_MAPI_OSD_EILLEGAL_PARAM |
disp_num 越界,或 binded_mod / coordinate_mod / attach_dest 非法,或绑定了不支持 CIRCLE 类型的 VENC/STITCH,或时间格式非法。 |
HI_MAPI_OSD_ENOFONT |
类型为 TIME 或 STRING 时,字体库尚未初始化。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】
- OSD 已
start时仍可调用本接口:内容变更会在后台更新线程中异步应用。 - 字符串 OSD 的字符串长度不得超过
HI_MAPI_MAX_STR_LEN(64 字节)。
【举例】 无
【相关主题】
hi_mapi_osd_get_attr、hi_mapi_osd_start
4 hi_mapi_osd_get_attr
【描述】 获取指定 OSD 实例的当前属性。
【语法】
【参数】
| 参数名称 | 输入/输出 | 类型 | 描述 |
|---|---|---|---|
osd_idx |
输入 | td_u32 |
OSD 索引,范围 [0, 15]。 |
osd_attr |
输出 | hi_mapi_osd_attr * |
接收 OSD 属性,不能为 NULL。 |
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_EHANDLE_ILLEGAL |
osd_idx 越界。 |
HI_MAPI_OSD_ENULL_PTR |
osd_attr 为空指针。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统或 OSD 模块未初始化。 |
HI_MAPI_OSD_ENOT_PERM |
该 osd_idx 尚未通过 hi_mapi_osd_set_attr 设置过属性。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】 无
【举例】 无
【相关主题】
hi_mapi_osd_set_attr
5 hi_mapi_osd_start
【描述】 启动指定 OSD 实例:创建底层 region 并将其 attach 到所绑定的通道。
【语法】
【参数】
| 参数名称 | 输入/输出 | 类型 | 描述 |
|---|---|---|---|
osd_idx |
输入 | td_u32 |
OSD 索引,范围 [0, 15]。 |
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_EHANDLE_ILLEGAL |
osd_idx 越界。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统或 OSD 模块未初始化。 |
HI_MAPI_OSD_ENOT_PERM |
该 osd_idx 尚未 set_attr。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】
- 重复启动已启动的 OSD 直接返回成功。
- 调用前必须先调用
hi_mapi_osd_set_attr。
【举例】 无
【相关主题】
hi_mapi_osd_stop、hi_mapi_osd_set_attr
6 hi_mapi_osd_stop
【描述】 停止指定 OSD 实例,将其从绑定通道 detach 并销毁 region。
【语法】
【参数】
| 参数名称 | 输入/输出 | 类型 | 描述 |
|---|---|---|---|
osd_idx |
输入 | td_u32 |
OSD 索引,范围 [0, 15]。 |
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_EHANDLE_ILLEGAL |
osd_idx 越界。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统或 OSD 模块未初始化。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】
- 若 OSD 已经处于停止状态或未设置过属性,直接返回成功。
【举例】 无
【相关主题】
hi_mapi_osd_start
7 hi_mapi_osd_batch
【描述】
按 batch_id 成组地切换一批 OSD 的显隐状态。
【语法】
【参数】
| 参数名称 | 输入/输出 | 类型 | 描述 |
|---|---|---|---|
batch_id |
输入 | td_u32 |
批控制 ID,对应 hi_mapi_osd_disp_attr.batch_id。 |
show |
输入 | td_bool |
TD_TRUE 显示;TD_FALSE 隐藏。 |
【返回值】
| 返回值 | 描述 |
|---|---|
0 |
成功。 |
非0 |
失败,其值为错误码。 |
HI_MAPI_OSD_ENOT_INITED |
MAPI 系统或 OSD 模块未初始化。 |
【需求】
- 头文件:
hi_mapi_osd.h - 库文件:
libhi_mapi.so
【注意】
- 只会作用于已经
start且disp_attr[].batch_id == batch_id的 OSD。 - 若不存在任何匹配
batch_id的 OSD,也返回成功(无操作)。
【举例】 无
【相关主题】
hi_mapi_osd_set_attr
4 数据类型
1 hi_mapi_osd_attach_dest
【说明】 定义 OSD 在 JPEG 编码中的叠加目标枚举,用于指定 OSD 叠加到主码流或多图片文件(MPF)的哪一部分。
【定义】
typedef enum {
HI_MAPI_ATTACH_JPEG_MAIN = 0,
HI_MAPI_ATTACH_JPEG_MPF0,
HI_MAPI_ATTACH_JPEG_MPF1,
HI_MAPI_ATTACH_JPEG_BUTT
} hi_mapi_osd_attach_dest;
【成员】
| 成员名称 | 描述 |
|---|---|
HI_MAPI_ATTACH_JPEG_MAIN |
叠加到 JPEG 主图(值为 0)。 |
HI_MAPI_ATTACH_JPEG_MPF0 |
叠加到 MPF 图片 0(值为 1)。 |
HI_MAPI_ATTACH_JPEG_MPF1 |
叠加到 MPF 图片 1(值为 2)。 |
HI_MAPI_ATTACH_JPEG_BUTT |
枚举上界哨兵,不可使用。 |
【注意事项】 仅在绑定模块为 VENC 时有效。
【相关数据类型及接口】
hi_mapi_osd_disp_attr;hi_mapi_osd_set_attr、hi_mapi_osd_start。
2 hi_mapi_osd_type
【说明】 定义 OSD 内容类型枚举,决定 OSD 显示时间、字符串、位图或圆形。
【定义】
typedef enum {
HI_MAPI_OSD_TYPE_TIME = 0,
HI_MAPI_OSD_TYPE_STRING,
HI_MAPI_OSD_TYPE_BITMAP,
HI_MAPI_OSD_TYPE_CIRCLE,
HI_MAPI_OSD_TYPE_BUTT
} hi_mapi_osd_type;
【成员】
| 成员名称 | 描述 |
|---|---|
HI_MAPI_OSD_TYPE_TIME |
时间 OSD(值为 0),使用 hi_mapi_osd_time_content。 |
HI_MAPI_OSD_TYPE_STRING |
字符串 OSD(值为 1),使用 hi_mapi_str_content。 |
HI_MAPI_OSD_TYPE_BITMAP |
位图 OSD(值为 2),使用 hi_mapi_osd_bitmap。 |
HI_MAPI_OSD_TYPE_CIRCLE |
圆形 OSD(值为 3),使用 hi_mapi_osd_circle_content。 |
HI_MAPI_OSD_TYPE_BUTT |
枚举上界哨兵,不可使用。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_content;hi_mapi_osd_set_attr、hi_mapi_osd_start。
3 hi_mapi_osd_time_fmt
【说明】 定义 OSD 时间显示格式枚举。
【定义】
【成员】
| 成员名称 | 描述 |
|---|---|
HI_MAPI_OSD_TIMEFMT_YMD24H |
年-月-日 24 小时制格式(值为 0),例如 2017-03-10 23:00:59。 |
HI_MAPI_OSD_TIMEFMT_BUTT |
枚举上界哨兵,不可使用。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_time_content;hi_mapi_osd_set_attr。
4 hi_mapi_osd_bind_mod
【说明】 定义 OSD 绑定的目标模块枚举。
【定义】
typedef enum {
HI_MAPI_OSD_BINDMOD_VCAP = 0,
HI_MAPI_OSD_BINDMOD_VPSS,
HI_MAPI_OSD_BINDMOD_STITCH,
HI_MAPI_OSD_BINDMOD_VENC,
HI_MAPI_OSD_BINDMOD_DISP,
HI_MAPI_OSD_BINDMOD_BUTT
} hi_mapi_osd_bind_mod;
【成员】
| 成员名称 | 描述 |
|---|---|
HI_MAPI_OSD_BINDMOD_VCAP |
绑定到 VCAP 模块(值为 0)。 |
HI_MAPI_OSD_BINDMOD_VPSS |
绑定到 VPSS 模块(值为 1)。 |
HI_MAPI_OSD_BINDMOD_STITCH |
绑定到 STITCH 拼接模块(值为 2)。 |
HI_MAPI_OSD_BINDMOD_VENC |
绑定到 VENC 模块(值为 3)。 |
HI_MAPI_OSD_BINDMOD_DISP |
绑定到 DISP 模块(值为 4)。 |
HI_MAPI_OSD_BINDMOD_BUTT |
枚举上界哨兵,不可使用。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_disp_attr;hi_mapi_osd_set_attr、hi_mapi_osd_start。
5 hi_mapi_osd_coordinate_mod
【说明】 定义 OSD 坐标模式枚举,决定 OSD 起始位置使用比例坐标还是绝对坐标。
【定义】
typedef enum {
HI_MAPI_OSD_COORDINATE_RATIO_COOR = 0,
HI_MAPI_OSD_COORDINATE_ABS_COOR = 1
} hi_mapi_osd_coordinate_mod;
【成员】
| 成员名称 | 描述 |
|---|---|
HI_MAPI_OSD_COORDINATE_RATIO_COOR |
比例坐标(值为 0),start_pos 的 x/y 为千分比(0–1000)。 |
HI_MAPI_OSD_COORDINATE_ABS_COOR |
绝对坐标(值为 1),start_pos 的 x/y 为像素值。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_disp_attr;hi_mapi_osd_set_attr。
6 hi_mapi_osd_pixel_fmt
【说明】 定义 OSD 位图像素格式枚举。
【定义】
typedef enum {
HI_MAPI_OSD_PIXEL_FMT_RGB1555 = 0,
HI_MAPI_OSD_PIXEL_FMT_BUTT
} hi_mapi_osd_pixel_fmt;
【成员】
| 成员名称 | 描述 |
|---|---|
HI_MAPI_OSD_PIXEL_FMT_RGB1555 |
RGB 1555 格式(值为 0),每像素 16 bit(1 bit alpha + 5 bit R + 5 bit G + 5 bit B)。 |
HI_MAPI_OSD_PIXEL_FMT_BUTT |
枚举上界哨兵,不可使用。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_bitmap;hi_mapi_osd_set_attr。
7 hi_mapi_osd_bitmap
【说明】 定义 OSD 位图数据,包含像素格式、宽高及位图数据地址。
【定义】
typedef struct {
hi_mapi_pixel_format pixel_format;
td_u32 width;
td_u32 height;
td_void *data;
} hi_mapi_osd_bitmap;
【成员】
| 成员名称 | 描述 |
|---|---|
pixel_format |
位图像素格式(枚举 hi_mapi_pixel_format,参见公共数据类型)。 |
width |
位图宽度,单位像素。 |
height |
位图高度,单位像素。 |
data |
位图数据地址(须对齐)。 |
【注意事项】
data地址须满足硬件对齐要求。- 位图数据格式须与
pixel_format一致。
【相关数据类型及接口】
hi_mapi_pixel_format(公共数据类型)、hi_mapi_osd_content;hi_mapi_osd_set_attr。
8 hi_mapi_osd_time_content
【说明】 定义时间 OSD 的内容属性,包含时间格式、字号及背景颜色。
【定义】
typedef struct {
hi_mapi_osd_time_fmt time_fmt;
hi_mapi_size font_size;
td_u32 bg_color;
} hi_mapi_osd_time_content;
【成员】
| 成员名称 | 描述 |
|---|---|
time_fmt |
时间显示格式(枚举 hi_mapi_osd_time_fmt)。 |
font_size |
字体大小(类型 hi_mapi_size),单位像素。 |
bg_color |
背景颜色,RGB 格式。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_time_fmt、hi_mapi_size(公共数据类型)、hi_mapi_osd_content;hi_mapi_osd_set_attr。
9 hi_mapi_osd_circle_content
【说明】 定义圆形 OSD 的内容属性,包含宽高(外接矩形)。
【定义】
【成员】
| 成员名称 | 描述 |
|---|---|
width |
圆形外接矩形宽度,单位像素。 |
height |
圆形外接矩形高度,单位像素。 |
【注意事项】 无
【相关数据类型及接口】
hi_mapi_osd_content;hi_mapi_osd_set_attr。
10 hi_mapi_osd_content
【说明】 定义 OSD 的内容,包含类型、颜色及对应类型的联合体数据。
【定义】
typedef struct {
hi_mapi_osd_type type;
td_u32 color;
union {
hi_mapi_osd_time_content time_content;
hi_mapi_str_content str_content;
hi_mapi_osd_circle_content circle_content;
hi_mapi_osd_bitmap bitmap_content;
};
} hi_mapi_osd_content;
【成员】
| 成员名称 | 描述 |
|---|---|
type |
OSD 内容类型(枚举 hi_mapi_osd_type),决定联合体中哪个成员有效。 |
color |
OSD 前景颜色,RGB 格式。 |
time_content |
当 type 为 HI_MAPI_OSD_TYPE_TIME 时有效,时间 OSD 属性。 |
str_content |
当 type 为 HI_MAPI_OSD_TYPE_STRING 时有效,字符串内容(类型 hi_mapi_str_content,定义于 hi_mapi_comm_define.h)。 |
circle_content |
当 type 为 HI_MAPI_OSD_TYPE_CIRCLE 时有效,圆形属性。 |
bitmap_content |
当 type 为 HI_MAPI_OSD_TYPE_BITMAP 时有效,位图数据。 |
【注意事项】
- 联合体成员按
type取值选择使用,不可同时设置多个。
【相关数据类型及接口】
hi_mapi_osd_type、hi_mapi_osd_time_content、hi_mapi_str_content(hi_mapi_comm_define.h)、hi_mapi_osd_circle_content、hi_mapi_osd_bitmap、hi_mapi_osd_attr;hi_mapi_osd_set_attr、hi_mapi_osd_get_attr。
11 hi_mapi_osd_disp_attr
【说明】 定义单个 OSD 实例的显示属性,包含显隐、绑定模块、透明度、坐标模式及位置等。
【定义】
typedef struct {
td_bool show;
hi_mapi_osd_bind_mod binded_mod;
td_handle mod_hdl;
td_handle chn_hdl;
td_u32 fg_alpha;
td_u32 bg_alpha;
hi_mapi_osd_coordinate_mod coordinate_mod;
hi_mapi_point start_pos;
hi_mapi_osd_attach_dest attach_dest;
td_u32 batch_id;
} hi_mapi_osd_disp_attr;
【成员】
| 成员名称 | 描述 |
|---|---|
show |
是否显示:TD_TRUE 显示,TD_FALSE 隐藏。 |
binded_mod |
绑定目标模块(枚举 hi_mapi_osd_bind_mod)。 |
mod_hdl |
绑定模块句柄(如 VCAP pipe 句柄、VPSS 组句柄、DISP 句柄等)。 |
chn_hdl |
绑定通道句柄(如 pipe 通道句柄、窗口句柄、VENC 通道句柄等)。 |
fg_alpha |
前景透明度,取值范围 [0, 255],0 为全透明,255 为不透明。 |
bg_alpha |
背景透明度,取值范围 [0, 255]。 |
coordinate_mod |
坐标模式(枚举 hi_mapi_osd_coordinate_mod),决定 start_pos 为比例坐标或绝对坐标。 |
start_pos |
OSD 起始位置(类型 hi_mapi_point),含义由 coordinate_mod 决定。 |
attach_dest |
JPEG 叠加目标(枚举 hi_mapi_osd_attach_dest),仅绑定 VENC 时有效。 |
batch_id |
批处理 ID,用于 hi_mapi_osd_batch 成组切换显隐状态。 |
【注意事项】
binded_mod、mod_hdl、chn_hdl为静态属性,OSD 启动后不可更改。fg_alpha/bg_alpha取值 0 表示完全透明,255 表示完全不透明。
【相关数据类型及接口】
hi_mapi_osd_bind_mod、hi_mapi_osd_coordinate_mod、hi_mapi_point(公共数据类型)、hi_mapi_osd_attach_dest、hi_mapi_osd_attr;hi_mapi_osd_set_attr、hi_mapi_osd_get_attr、hi_mapi_osd_batch。
12 hi_mapi_osd_attr
【说明】 定义 OSD 实例的完整属性,包含显示数量、各显示属性及 OSD 内容。
【定义】
typedef struct {
td_u32 disp_num;
hi_mapi_osd_disp_attr disp_attr[HI_MAPI_OSD_MAX_DISP_CNT];
hi_mapi_osd_content osd_content;
} hi_mapi_osd_attr;
【成员】
| 成员名称 | 描述 |
|---|---|
disp_num |
实际使用的显示属性数量,取值范围 [1, HI_MAPI_OSD_MAX_DISP_CNT],HI_MAPI_OSD_MAX_DISP_CNT = 4(CV610)。 |
disp_attr[] |
显示属性数组,数组大小为 HI_MAPI_OSD_MAX_DISP_CNT(4),每个元素描述一路显示目标上的 OSD 属性。 |
osd_content |
OSD 内容(类型 hi_mapi_osd_content),包含类型、颜色及具体内容数据。 |
【注意事项】
disp_num不得超过HI_MAPI_OSD_MAX_DISP_CNT(4)。- OSD 实例总数上限
HI_MAPI_OSD_MAX_CNT为 16(CV610),实例索引osd_idx取值范围[0, 15]。
【相关数据类型及接口】
hi_mapi_osd_disp_attr、hi_mapi_osd_content;hi_mapi_osd_set_attr、hi_mapi_osd_get_attr、hi_mapi_osd_start、hi_mapi_osd_stop。
5 错误码
模块编号
mod=11,错误码基址0xA30B8000。
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
0xA30B8002 |
HI_MAPI_OSD_EHANDLE_ILLEGAL |
通道号无效。 |
0xA30B8003 |
HI_MAPI_OSD_EILLEGAL_PARAM |
参数非法。 |
0xA30B8006 |
HI_MAPI_OSD_ENULL_PTR |
空指针。 |
0xA30B8009 |
HI_MAPI_OSD_ENOT_PERM |
操作未授权。 |
0xA30B800C |
HI_MAPI_OSD_ENOMEM |
内存分配失败。 |