下载
中文
注册

halHdcFastRecv

函数功能

HDC免拷贝快速接收消息接口。

函数原型

hdcError_t halHdcFastRecv(HDC_SESSION session, struct drvHdcFastRecvMsg *msg, UINT64 flag, UINT32 timeout)

参数说明

参数名

说明

session

指定接收消息的session。

类型:HDC_SESSION

msg

接收的消息。

类型:drvHdcFastRecvMsg

flag

阻塞标志(若处于阻塞状态时,可通过session close完成强制退出)。

  • 0:默认值,阻塞。
  • 1:不阻塞,如果接收通道无消息则立马返回接收失败。
  • 2:阻塞直到超时,如果接收通道无消息则阻塞等待消息到来,直到超时。

类型:UINT64。

timeout

当flag取值为“2"时,设置阻塞超时时间,单位毫秒。

类型:UINT32。

返回值说明

  • 0:DRV_ERROR_NONE,成功。
  • 3:DRV_ERROR_INVALID_VALUE,参数错误。
  • 16:DRV_ERROR_WAIT_TIMEOUT,接收超时(未接收到消息)。
  • 25:DRV_ERROR_SOCKET_CLOSE,session通道被关闭。
  • 26:DRV_ERROR_RECV_MESG,接收失败。
  • 34:DRV_ERROR_DEVICE_NOT_READY,等待设备响应(可能原因是PCIE已断链或设备处于休眠未唤醒状态)。
  • 46:DRV_ERROR_OPER_NOT_PERMITTED,无权限访问(一般原因是pid不合法)。

约束说明

使用此接口前,需要提前通过HDC申请好数据接收内存。