drvHdcAllocMsg
函数功能
申请普通通道消息接收、发送所需描述符。
函数原型
drvError_t drvHdcAllocMsg(HDC_SESSION session, struct drvHdcMsg **ppMsg, int count)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
session |
输入 |
指定接收数据的session。 类型:HDC_SESSION。 |
ppMsg |
输出 |
消息描述符指针,用于存放收发Buffer的地址和长度。 类型:struct drvHdcMsg *。 |
count |
输入 |
消息描述符中的Buffer个数,当前只支持1个,固定传入1。 类型:int。 |
返回值说明
- 0:DRV_ERROR_NONE,成功
- 3:DRV_ERROR_INVALID_VALUE,参数错误
- 40:DRV_ERROR_MALLOC_FAIL,内存申请失败
约束说明
- 用户在收发数据前需要先申请消息描述符,使用完再释放消息描述符。
- 如果是用于发送,消息描述符中的Buffer需要由用户调用drvHdcAddMsgBuffer接口添加到消息描述符中,发送完成后由用户自行释放。
- 如果是用于offline场景接收,消息描述符中的Buffer在drvHdcRecv中申请并赋值,用户使用drvHdcMsgGetBuffer接口获取Buffer地址并使用,使用完调用drvHdcFreeMsg释放消息描述符和对应的消息指针。
- 如果是用于online场景接收,消息描述符中的Buffer在drvHdcRecv中直接将对端传递过来的Buffer地址赋值进去,用户使用drvHdcMsgGetBuffer接口获取Buffer地址并使用,使用完调用drvHdcFreeMsg释放消息描述符,对应的Buffer不做释放操作。
父主题: 普通通道收发接口