halHdcRecvEx
函数功能
普通通道接收数据接口,支持一次接收多个数据,并汇总到一块数据buffer内。
函数原型
hdcError_t halHdcRecvEx(HDC_SESSION session, struct drvHdcMsg *pMsg, int bufLen, int *recvBufCount, struct drvHdcRecvConfig *userConfig)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
session |
输入 |
指定接收数据的session。 类型:HDC_SESSION。 |
pMsg |
输出 |
用于接收消息的描述符指针。 类型:drvHdcMsg。 |
bufLen |
输入 |
该参数为预留参数,用于指定接收数据buffer的长度,单位为字节,当前未使用。 类型:int。 |
recvBufCount |
输出 |
接收到的数据buffer数量。 类型:int。 |
userConfig |
输入 |
传入用户相关配置 类型:drvHdcRecvConfig。 |
返回值说明
- 0:DRV_ERROR_NONE,成功
- 3:DRV_ERROR_INVALID_VALUE,参数错误
- 6:DRV_ERROR_OUT_OF_MEMORY,内存超限
- 16:DRV_ERROR_WAIT_TIMEOUT,等待超时
- 25:DRV_ERROR_SOCKET_CLOSE,会话关闭
- 26:DRV_ERROR_RECV_MESG,接收消息失败
- 36:DRV_ERROR_NON_BLOCK,非阻塞没有数据
- 40:DRV_ERROR_MALLOC_FAIL,内存分配失败
- 46:DRV_ERROR_OPER_NOT_PERMITTED,无权限访问
约束说明
该接口会自动根据接收数据长度申请内存并保存接收到的数据,用户取出数据后,可以调用drvHdcReuseMsg接口释放所有消息块资源,也可以调用drvHdcReuseMsg接口只释放数据buffer内存,保留消息块。该接口本身并不提供数据拆分功能,需要用户自行根据recvBufCount来拆分pMsg内的数据buffer。
父主题: 普通通道收发接口