halHdcRecv
函数功能
普通通道接收数据接口。
函数原型
hdcError_t halHdcRecv(HDC_SESSION session, struct drvHdcMsg *pMsg, int bufLen,UINT64 flag, int *recvBufCount, UINT32 timeout)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
session |
输入 |
指定接收数据的session。 类型:HDC_SESSION。 |
pMsg |
输出 |
用于接收消息的描述符指针。 类型:drvHdcMsg。 |
flag |
输入 |
HDC阻塞标志(若处于阻塞状态时,可通过session close完成强制退出),有以下取值:
|
timeout |
输入 |
当“flag”取值为“2”时,设置超时时间,单位毫秒。 类型:UINT32。 |
bufLen |
输入 |
接收数据buffer的长度,单位为字节,预留未使用 类型:int。 |
recvBufCount |
输出 |
接收到的数据buffer数量。 类型:int。 |
返回值说明
- 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,无权限访问
约束说明
该接口会自动根据接收数据长度申请内存并保存接收到的数据,用户取出数据后,可以调用drvHdcFreeMsg接口释放所有消息块资源,也可以调用drvHdcReuseMsg接口只释放数据buffer内存,保留消息块。
父主题: 普通通道收发接口