中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

InitVmiEngine

函数功能

初始化云手机服务端。

约束说明

  • 不支持反复调用,初始化成功后,不允许再次调用。
  • 不允许长时间阻塞数据输出的回调函数,建议回调函数需在1ms内返回。

函数原型

VmiErrCode InitVmiEngine(VmiConfigEngine *config);

参数说明

字段名称

输入/输出

字段类型

字段描述

config

输入

VmiConfigEngine

该结构体由DataCallback和DataTypeConfig数组构成。

启动引擎需要的配置项为VmiConfigEngine,包含DataCallback数据回调和需要启动的模块列表。

struct VmiConfigEngine {
    DataCallback dataCallback = nullptr;        // 用于发送服务端数据的回调
    DataTypeConfig dataTypeConfig[DATA_TYPE_MAX];
} __attribute__((packed));

数据输出统一使用回调函数实现,不提供数据输出的函数接口。回调函数定义如下:

using DataCallback = int(*)(VmiDataType module, VmiCmd cmd, uint8_t *data, uint32_t size);

DataTypeConfig数组指明每个模块是否需要初始化,以及初始化时数据包头前需要预留的内存空间大小,便于开发者填充需要的数据。

若sendDataOffset不为0,则引擎调dataCallback接口时,第三个参数data指针的内存排布为|SendDataOffset预留数据|size长度的有效数据|,第四个参数size指示有效数据长度,即data指针前面会预留SendDataOffset字节的数据后再接size长度的有效数据。

struct DataTypeConfig {
    bool shouldInit = false;
    uint32_t sendDataOffset = 0;                // 通过回调函数发送数据时,在数据头预留的空间,最小值是0,最大值是1024,单位为Byte
} __attribute__((packed));

返回值说明

数据类型:enum VmiErrCode : int32_t

取值如下:

  • OK(0):表示初始化成功。
  • 非0值:表示初始化失败,返回值指示错误码。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词