●函数
▪ar3_query_records函数用来查询某一Tag点一个时间段内的实际记录,该操作支持并发执行。
int32 ar3_query_raw_records(
uint32 nTagID,
const HD3TimeRegion* pRegion,
int32* pRecNum,
HD3Record* pRecArray
);
●参数
▪nTagID
[in] TagID。
▪pRegion
[in] 时间区间。
▪pRecNum
[in,out] in:待查的记录数量。out:实际返回的记录的数量。若小于要查询的记录数量, 则表示该时间段的记录全部查完;若等于要查询的数量,则表示在该 时间段内还有记录没有查完,用户可以根据返回的最后一条记录的时间来重新设置结束时间,然后再次调用该接口来查询剩下的记录。记录个数不能超过65535。
▪pRecArray
[out] 记录数组,返回的记录是按照时间戳从大到小排列的,例如records[0]比records[1]的时间要大。
●返回值
全部查询成功,返回RD_SUCCESS,查询失败返回错误码,见error_code.h。
●说明
1.查询一个Tag在一个时间段内的记录,该接口支持所有的数据类型。
2.该接口的时间戳精确到秒。例如:开始时间为“2001-1-1 08:08:08.111”,结束时间是为“2001-1-2 08:08:08.222”,查询到的记录是“2001-01-01 08:08:08.000”到“2001-01-02 08:08:08.000”范围内的原始记录。
3.如果为string或blob类型的Tag,必须进行如下赋值
4.(a) 为HD3Record.value.strBlob.pBuf分配字节内存
(b) 赋值HD3Record.value.strBlob.nLenBuf = 1000
●举例
示例代码参见归档数据接口。