上一主题: IR API下一主题: tcllca:LCA 扩展


UTF8 解释的审核记录

包含描述 CA ControlMinder 审核记录字段的两个字符串字段。 SEOS_UTF8AUDLOGINTERP 结构的以 null 结尾的列表表示一个 CA ControlMinder 审核事件记录。

typedef struct tagSeosUTF8LogInterpreted
{
	char *Label;		记录中审核字段的标签
	char *Value;		审核记录中分配给字段的值
} SEOS_UTF8AUDLOGINTERP; 	解释的审核记录

函数

int eacIRApi_LogInit(IRApiDataPosition *pos);

此函数可执行以下操作:

  1. 获取审核文件名(从 CA ControlMinder 或 PMD 设置)。
  2. 重置偏移,以获取最旧的日志文件,并打开文件以读取审核记录。
  3. 初始化 IRApiDataPosition 指针以调用 eacIRApi_LogGetNext()。
  4. 初始化 IR API 和 PMD 同步的线程和事件。

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_PART_FAIL

部分失败(审核文件无法初始化)

IR_EAC_GENERAL_FAIL

常规失败(应当初始化 IR API)

*pos

(OUT) 指向 IRApiDataPosition 结构的指针。

int eacIRApi_LogGetNext(IRApiDataPosition *pos, SEOS_UTF8AUDLOGINTERP **ppUtfMsg, int *log_type);

根据给定数据位置返回下一个日志记录及其类型。

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_NO_MORE_DATA

所有审核文件(PMD 和本地主机)中没有更多数据

IR_EAC_DATA_LOST

数据丢失

IR_EAC_PSBLY_DATA_LOST

数据可能丢失

IR_EAC_GENERAL_FAIL

当前审核文件中出现失败

*pos

(IN) 指向 IRApiDataPosition 的指针-表示获取下一个日志记录的位置(CA ControlMinder 或 PMD 审核文件和偏移)。

**ppUtfMsg

(OUT) 指向(UTF8 字符串)解释的记录的指针。

*log_type

(OUT) 指向表示下一个日志记录类型的整数的指针。

int eacIRApi_LogTerminate(void);

关闭所有日志文件不供读取,终止所有线程和重置事件。

在处理完 API 后调用此函数。

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_PART_FAIL

部分失败(某些审核文件无法关闭)

IR_EAC_GENERAL_FAIL

常规失败

int eacIRApi_LogReset(void *buff, int size);

根据给定数据位置打开日志文件(如果它仍然存在)。 此函数使您能够回到旧(已保存)状态,并从此状态继续操作。

注意:要创建使用参数 1 (void *buff) 的数据,请使用函数 eacIRApi_CopyDataPosition

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_PART_FAIL

无法初始化一个或多个审核文件

IR_EAC_GENERAL_FAIL

应当终止库

*buff

(IN) 指向包含重置新数据位置所需数据的缓冲区的指针。

size

(IN) 表示数据大小的整数。

void eacIRApi_LogFreeInterpretRecord(void);

此函数释放最后解释的记录。

此函数不返回值。

注意eacIRApi_LogGetNext 每次运行时都调用相同的内部函数,因此您不需要在调用下一个日志记录之前使用 eacIRApi_LogFreeInterpretRecord。

char *eacIR_LogGetVersion(void);

将 API 版本以字符串返回(根据 CA ControlMinder 内部版本号)。

返回值是字符串形式的版本号。

int eacIRApi_CopyDataPosition(void **pos)

将当前审核位置复制到指定的已分配内存位置。 您需要使用 eacIRApi_GetDataPositionSize 返回应当分配给指定位置的内存大小。

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_GENERAL_FAIL

应当终止库

**pos

(OUT) 复制的数据所在的缓冲区指针的地址。

size_t eacIRApi_GetDataPositionSize(void)

返回复制当前数据位置所需的已分配内存的大小。

int eacIRApi_GetLastError(SEOS_UTF8AUDLOGINTERP **pUtfMsg)

返回最后一个错误描述。 每当其他函数返回 IR_EAC_GENERAL_FAIL 时,就应当调用此函数。 最后一个错误描述分配在 SEOS_UTF8AUDLOGINTERP 结构数组中(方式与针对 eacIRApi_LogGetNext 函数分配审核记录相同)。

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_GENERAL_FAIL

应当终止库

**pUtfMsg

(OUT) 指向 UTF8 字符串最后一个错误描述的指针。

int eacIRApi_ConvertOldData(void *oldbuff, size_t oldsize, void **newbuff, size_t *newsize)

转换使用过时 IR API 保存的旧数据位置,以便其适合于新 IR API(在升级 IRecorder 时)。

可能的返回值如下:

含义

IR_EAC_SUCCESS

成功

IR_EAC_GENERAL_FAIL

应当终止库

*oldbuff

(IN) 指向旧缓冲区的指针。

oldsize

(IN) 旧缓冲区的大小。

**newbuff

(OUT) 指向新缓冲区的指针。

*newsize

(OUT) 新缓冲区的大小。