VPI - 视觉编程接口

3.2 版本

用户自定义函数

提交一个用户自定义函数以在流上执行。 更多...

类型定义

typedef void(* VPIHostFunction) (void *hostData)
 主机函数指针。 更多...
 
typedef VPIStatus(* VPIHostFunctionEx) (VPIStream stream, VPIStatus status, void *hostData)
 处理流状态的主机函数指针。 更多...
 

函数

VPIStatus vpiSubmitHostFunction (VPIStream stream, VPIHostFunction hostFunc, void *hostData)
 推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。 更多...
 
VPIStatus vpiSubmitHostFunctionEx (VPIStream stream, VPIHostFunctionEx hostFunc, void *hostData)
 推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。 更多...
 

详细描述

提交一个用户自定义函数以在流上执行。

类型定义文档

◆ VPIHostFunction

typedef void(* VPIHostFunction) (void *hostData)

#include <vpi/HostFunction.h>

主机函数指针。

参数
[in]hostData传递给提交函数的回调数据。

定义在 HostFunction.h 文件的第 81 行。

◆ VPIHostFunctionEx

typedef VPIStatus(* VPIHostFunctionEx) (VPIStream stream, VPIStatus status, void *hostData)

#include <vpi/HostFunction.h>

处理流状态的主机函数指针。

大多数情况下,该函数将返回相同的已传递 status。在某些情况下,可以返回其他状态值。 具体而言,如果 statusVPI_SUCCESS 且返回错误状态,则流将被设置为错误状态。 反之,如果 status 不是 VPI_SUCCESS 且返回 VPI_SUCCESS,则流的错误状态将被重置。 其中后续的任务将继续执行。

参数
[in]stream正在执行主机函数的流。
[in]status流执行的最后一个操作的状态。
[in]hostData传递给提交函数的回调数据。
返回
新的流状态。 大多数情况下返回 status

定义在 HostFunction.h 文件的第 126 行。

函数文档

◆ vpiSubmitHostFunction()

VPIStatus vpiSubmitHostFunction ( VPIStream  stream,
VPIHostFunction  hostFunc,
void *  hostData 
)

#include <vpi/HostFunction.h>

推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。

在此调用之后提交的命令的执行将被暂停,直到回调完成。 该函数最多执行一次。 如果之前的流任务失败,则不会执行。

此操作将隐式刷新流。

参数
[in]stream将执行主机函数调用的流。
  • 强制性的,不能为 NULL。
[in]hostFunc要执行的主机函数。
  • 强制性的,不能为 NULL。
[in]hostData当用户函数被调用时,将保持不变地传递给用户函数的指针。
返回值
VPI_ERROR_INVALID_ARGUMENThostFunc 为 NULL。
VPI_ERROR_INVALID_ARGUMENThostData 为 NULL。
VPI_SUCCESS操作执行成功。

◆ vpiSubmitHostFunctionEx()

VPIStatus vpiSubmitHostFunctionEx ( VPIStream  stream,
VPIHostFunctionEx  hostFunc,
void *  hostData 
)

#include <vpi/HostFunction.h>

推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。

在此调用之后提交的命令的执行将被暂停,直到回调完成。 保证该函数只执行一次。 如果流处于错误状态,则相应的错误状态将传递给 hostFunc。

此操作将隐式刷新流。

参数
[in]stream将执行主机函数调用的流。
  • 强制性的,不能为 NULL。
[in]hostFunc要执行的主机函数。
  • 强制性的,不能为 NULL。
[in]hostData将保持不变地传递给用户函数的指针。
返回值
VPI_ERROR_INVALID_ARGUMENTstream 为 NULL 或不对应于 VPIStream 实例。
VPI_ERROR_INVALID_ARGUMENThostFunc 为 NULL。
VPI_SUCCESS操作执行成功。