提交一个用户自定义函数以在流上执行。 更多...
类型定义 | |
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) |
推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。 更多... | |
提交一个用户自定义函数以在流上执行。
typedef void(* VPIHostFunction) (void *hostData) |
#include <vpi/HostFunction.h>
处理流状态的主机函数指针。
大多数情况下,该函数将返回相同的已传递 status
。在某些情况下,可以返回其他状态值。 具体而言,如果 status
为 VPI_SUCCESS 且返回错误状态,则流将被设置为错误状态。 反之,如果 status
不是 VPI_SUCCESS 且返回 VPI_SUCCESS,则流的错误状态将被重置。 其中后续的任务将继续执行。
[in] | stream | 正在执行主机函数的流。 |
[in] | status | 流执行的最后一个操作的状态。 |
[in] | hostData | 传递给提交函数的回调数据。 |
status
。定义在 HostFunction.h 文件的第 126 行。
VPIStatus vpiSubmitHostFunction | ( | VPIStream | stream, |
VPIHostFunction | hostFunc, | ||
void * | hostData | ||
) |
#include <vpi/HostFunction.h>
推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。
在此调用之后提交的命令的执行将被暂停,直到回调完成。 该函数最多执行一次。 如果之前的流任务失败,则不会执行。
此操作将隐式刷新流。
[in] | stream | 将执行主机函数调用的流。
|
[in] | hostFunc | 要执行的主机函数。
|
[in] | hostData | 当用户函数被调用时,将保持不变地传递给用户函数的指针。 |
VPI_ERROR_INVALID_ARGUMENT | hostFunc 为 NULL。 |
VPI_ERROR_INVALID_ARGUMENT | hostData 为 NULL。 |
VPI_SUCCESS | 操作执行成功。 |
VPIStatus vpiSubmitHostFunctionEx | ( | VPIStream | stream, |
VPIHostFunctionEx | hostFunc, | ||
void * | hostData | ||
) |
#include <vpi/HostFunction.h>
推送一个命令,该命令将在所有先前的命令处理完毕后调用自定义的主机端函数。
在此调用之后提交的命令的执行将被暂停,直到回调完成。 保证该函数只执行一次。 如果流处于错误状态,则相应的错误状态将传递给 hostFunc。
此操作将隐式刷新流。
[in] | stream | 将执行主机函数调用的流。
|
[in] | hostFunc | 要执行的主机函数。
|
[in] | hostData | 将保持不变地传递给用户函数的指针。 |
VPI_ERROR_INVALID_ARGUMENT | stream 为 NULL 或不对应于 VPIStream 实例。 |
VPI_ERROR_INVALID_ARGUMENT | hostFunc 为 NULL。 |
VPI_SUCCESS | 操作执行成功。 |