VPI - 视觉编程接口

3.2 版本

状态代码

声明实体以处理 VPI 中使用的返回状态代码。更多...

宏定义

#define VPI_MAX_STATUS_MESSAGE_LENGTH   256
 状态消息的最大长度(字节)。更多...
 

枚举

enum  VPIStatus
 状态代码。更多...
 

函数

const char * vpiStatusGetName (VPIStatus code)
 返回状态代码的字符串表示形式。更多...
 
VPIStatus vpiGetLastStatus ()
 返回并重置当前线程中上次 VPI 函数调用的状态。更多...
 
VPIStatus vpiGetLastStatusMessage (char *msgBuffer, int32_t lenBuffer)
 返回并重置当前线程中上次 VPI 函数调用的状态代码和消息。更多...
 
VPIStatus vpiPeekAtLastStatus ()
 返回当前线程中上次 VPI 函数调用的状态。更多...
 
VPIStatus vpiPeekAtLastStatusMessage (char *msgBuffer, int32_t lenBuffer)
 返回当前线程中上次 VPI 函数调用的状态代码和消息。更多...
 

详细描述

声明实体以处理 VPI 中使用的返回状态代码。

VPI 函数使用状态代码来返回它们是否成功。

宏定义文档

◆ VPI_MAX_STATUS_MESSAGE_LENGTH

#define VPI_MAX_STATUS_MESSAGE_LENGTH   256

#include <vpi/Status.h>

状态消息的最大长度(字节)。

这是 vpiGetLastStatusMessagevpiPeekAtLastStatusMessage 将写入状态消息输出缓冲区的最大字节数。

定义于文件 Status.h 的第 103 行。

枚举类型文档

◆ VPIStatus

enum VPIStatus

#include <vpi/Status.h>

状态代码。

枚举器
VPI_SUCCESS 

操作成功完成。

VPI_ERROR_NOT_IMPLEMENTED 

操作未实现。

VPI_ERROR_INVALID_ARGUMENT 

无效参数,范围错误或值不被接受。

VPI_ERROR_INVALID_IMAGE_FORMAT 

图像类型不被接受。

VPI_ERROR_INVALID_ARRAY_TYPE 

数组类型不被接受。

VPI_ERROR_INVALID_PAYLOAD_TYPE 

未为此算法创建有效载荷。

VPI_ERROR_INVALID_OPERATION 

操作在此上下文中无效。

VPI_ERROR_INVALID_CONTEXT 

上下文无效或已被销毁。

VPI_ERROR_DEVICE 

设备后端错误。

VPI_ERROR_NOT_READY 

操作尚未完成,请稍后重试。

VPI_ERROR_BUFFER_LOCKED 

对锁定缓冲区执行了无效操作。

VPI_ERROR_OUT_OF_MEMORY 

没有足够的可用内存来分配对象。

VPI_ERROR_INTERNAL 

内部的,非特定错误。

定义于文件 Status.h 的第 80 行。

函数文档

◆ vpiStatusGetName()

const char* vpiStatusGetName ( VPIStatus  code)

#include <vpi/Status.h>

返回状态代码的字符串表示形式。

参数
[输入]code要返回其字符串表示形式的状态代码。
返回值
状态代码的字符串表示形式。返回的字符串在同一调用线程中下次调用此函数之前有效。返回的指针不得释放。

◆ vpiGetLastStatus()

VPIStatus vpiGetLastStatus ( )

#include <vpi/Status.h>

返回并重置当前线程中上次 VPI 函数调用的状态。

对该函数的新调用将返回 VPI_SUCCESS,因为线程特定的状态已重置。此操作不影响其他线程中的状态。

返回值
当前线程中上次 VPI 函数调用的状态。

◆ vpiGetLastStatusMessage()

VPIStatus vpiGetLastStatusMessage ( char *  msgBuffer,
int32_t  lenBuffer 
)

#include <vpi/Status.h>

返回并重置当前线程中上次 VPI 函数调用的状态代码和消息。

对该函数的新调用将返回 VPI_SUCCESS,因为线程特定的状态已重置。此操作不影响其他线程中的状态。

保证消息永远不会大于 VPI_MAX_STATUS_MESSAGE_LENGTH 字节,包括 '\0' 字符串终止符。

参数
[输出]msgBuffer指向将写入状态消息的内存的指针。如果为 NULL,则不返回任何消息。
[输入]lenBuffermsgBuffer 的大小(以字节为单位)。
  • 如果小于零,则 lenBuffer 假定为 0。
返回值
当前线程中上次 VPI 函数调用的状态。

◆ vpiPeekAtLastStatus()

VPIStatus vpiPeekAtLastStatus ( )

#include <vpi/Status.h>

返回当前线程中上次 VPI 函数调用的状态。

状态代码不会被重置。

返回值
当前线程中上次 VPI 函数调用的状态。

◆ vpiPeekAtLastStatusMessage()

VPIStatus vpiPeekAtLastStatusMessage ( char *  msgBuffer,
int32_t  lenBuffer 
)

#include <vpi/Status.h>

返回当前线程中上次 VPI 函数调用的状态代码和消息。

状态代码和消息不会被重置。

保证消息永远不会大于 VPI_MAX_STATUS_MESSAGE_LENGTH 字节,包括 '\0' 字符串终止符。

参数
[输出]msgBuffer指向将写入状态消息的内存的指针。如果为 NULL,则不返回任何消息。
[输入]lenBuffermsgBuffer 的大小(以字节为单位)。
  • 如果小于零,则 lenBuffer 假定为 0。
返回值
当前线程中上次 VPI 函数调用的状态。