halHdcSend
函数功能
普通通道发送数据接口。
该接口会将上层传下来的Buffer地址和长度封装成消息发送到对端。
函数原型
hdcError_t halHdcSend(HDC_SESSION session, struct drvHdcMsg *pMsg, UINT64 flag, UINT32 timeout)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
session |
输入 |
指定发送数据的session。 类型:HDC_SESSION。 |
pMsg |
输入 |
用于发送消息的描述符指针。 类型:struct drvHdcMsg *。 |
flag |
输入 |
HDC阻塞标志,有以下取值:
类型:UINT64。 |
timeout |
输入 |
当“flag”取值为“2”时,此字段生效,用户可设置超时时间,单位毫秒。 此字段生效时,若timeout配置为“0”,系统默认设置超时时间3000ms, 类型:UINT32。 |
返回值说明
- DRV_ERROR_NONE:成功
- DRV_ERROR_INVALID_VALUE:参数错误
- DRV_ERROR_HDC_NO_BLOCK:非阻塞没有数据
- DRV_ERROR_OUT_OF_MEMORY:申请内存池失败
- DRV_WAIT_TIMEOUT:等待超时
- DRV_ERROR_SOCKET_CLOSE:会话关闭

halHdcSend接口返回后,用户就可以对内存进行复用或释放(halHdcSend接口底层有内存池进行数据的拷贝中转)。
约束说明
- 当返回值为“DRV_ERROR_OUT_OF_MEMORY”时,表示申请内存块失败,需等待一段时间资源被释放后,再重新发送数据。
- 当返回值为“DRV_WAIT_TIMEOUT”时,表示等待超时时,需根据实际使用场景重新发送或者返回失败。
- 当返回值为“DRV_ERROR_SOCKET_CLOSE”时,表示会话关闭,如果是析构流程时返回的值,可以不打印错误打印。
父主题: 普通通道收发接口