下载
中文
注册

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不做释放操作。