内存快照存储异步接口

Navigation:  功能明细 > 数据接口 >

内存快照存储异步接口

Previous pageReturn to chapter overviewNext page

sn3_save_snapshots_nowait:异步保存多点快照记录:

 

 

/**

* @brief 快照数据:保存多点快照记录(批量接口),不等待服务端返回结果

* @param nRecNum [记录个数]

* @param pTagIDArray [TagID数组]

* @param pRecArray [记录数

* @param pErrCodeArray [错误码数组]

* @return RD_SUCCESS, if all success

*       EC_HD3_API_BATCH_REQUEST, if some failed

*       hd3 error, otherwise

* @version 09/19/2023 g.l. modified version

*/

HD3_API

int32 sn3_save_snapshots_nowait(

hd3_in int32 nRecNum,

hd3_in const uint32* pTagIDArray,

hd3_in const HD3Record* pRecArray,

hd3_out int32* pErrCodeArray

);

 

 

 

示例程序:

 

 

 

#include "hdKingAPI.h"

 

#include "error_code.h"

 

#include "data_types.h"

 

#include "hd3Struct.h"

 

#include <stdio.h>

 

#include <string.h>

 

#include <Windows.h>

 

 

 

int32 main()

 

{

 

int32 nRet = RD_SUCCESS;

 

HD3Connection conn;

 

HD3PtTagProp tag;

 

const char* szTagName_1 = "szTagName_1";

 

const char* szTagName_2 = "szTagName_2";

 

int32 nRecNum = 2;

 

HD3Record snapshotsSaved[2];

 

uint32 nTagIDs[2];

 

int32 nErrorCodes[2];

 

HD3Record snapshotsQueried[2];

 

int32 i = 0;

 

 

 

//connect

 

strcpy(conn.szAddress, "127.0.0.1");

 

conn.nPort = 5673;

 

conn.nTimeout = 3;

 

nRet = nt3_connect(&conn);

 

if (nRet != RD_SUCCESS)

 

{

 

        printf("connect to server failed, error code[%d]!\n", nRet);

 

        return -1;

 

}

 

printf("connect to server successful!\n");

 

 

 

//login

 

nRet = sc3_login("admin", "admin");

 

if (nRet != RD_SUCCESS)

 

{

 

        printf("login failed, error code[%d]!\n", nRet);

 

        return -1;

 

}

 

printf("login successful!\n");

 

 

 

//save one snapshot

 

snapshotsSaved[0].nSec = 3600;

 

snapshotsSaved[0].nMsec = 0;

 

snapshotsSaved[0].nQuality = 192;

 

snapshotsSaved[0].nTagType = HD3_TAG_TYPE_INT32;

 

snapshotsSaved[0].value.nInt32 = 111;

 

nRet = sn3_save_snapshot_nowait(nTagIDs[0], &(snapshotsSaved[0]));

 

if (nRet != RD_SUCCESS)

 

{

 

        printf("save snapshot failed, tag id [%d], error code [%d]!\n", nTagIDs[0], nRet);

 

        nt3_disconnect();

 

        return -1;

 

}

 

printf("save snapshot successful, tag id[%d]!\n", nTagIDs[0]);

 

 

 

/

 

//disconnect

 

nt3_disconnect();

 

 

 

return 0;

 

}