eis/TestProject/DCR/ihdb_inc/hdKingAPI.h

2837 lines
75 KiB
C
Raw Normal View History

/**
* @file hd3API.h
* @brief hd3 api
* @author: hd3 tream
* @date 03/02/2015
* @version initialize version
* Copyright: Shanghai Baosight Software Co., Ltd.
*/
#ifndef HD3_INCLUDE_GUARD_HD3API_H
#define HD3_INCLUDE_GUARD_HD3API_H
#include "hd3Struct.h"
#include "ihyperdb.h"
#ifdef _WIN32
# ifdef HD3_API_EXPORTS
# define HD3_API __declspec(dllexport)
# else
# define HD3_API __declspec(dllimport)
# endif//HD3_API_EXPORTS
#else
#define HD3_API
#endif//_WIN32
#ifdef __cplusplus
extern "C"
{
#endif
/**
* @brief ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
* @param pfn [<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>]
* nChange [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* pRecord [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/14/2015 g.l. modified version
*/
typedef void (*HD3AlarmCallbackFUnc)(
hd3_in enum HD3_AM_CHANGE nChange,
hd3_in const HD3AlarmRecord* pRecord);
HD3_API
int32 am3_register_alarm_record_info(hd3_in HD3AlarmCallbackFUnc pfn);
HD3_API
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨע<EFBFBD><EFBFBD>
*/
int32 am3_unregister_alarm_record_info();
/**
* @brief<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>am3_get_callback_am<EFBFBD><EFBFBD><EFBFBD>ĵĵ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>am3_free_callback_am
* @param
* nRecNum <EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD>
* pRecs <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/27/2018 y.q. init version
*/
HD3_API
int32 am3_get_callback_am(int32* pnRecNum , HD3AlarmRecord** ppRecs);
/**
* @brief<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>am3_get_callback_am<EFBFBD><EFBFBD><EFBFBD>ĵĵ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>am3_free_callback_am
* @param
* pRecs <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return void
* @version 03/27/2018 y.q. init version
*/
HD3_API
void am3_free_callback_am(hd3_in int32 nRecNum, HD3AlarmRecord* pRecs);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pnTagID [<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_add_tag(
hd3_in const HD3AlarmTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_add_tags(
hd3_in int32 nTagNum,
hd3_in const HD3AlarmTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_in const char* szDataNodeName,
hd3_out uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD>޸ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD>[change date][change][tagid][creation date]
* [creator][tag type][tag class][source tag][autoack]
*
* @param nTagID [TagID]
* @param pProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_modify_tag_prop(
hd3_in uint32 nTagID,
hd3_in const HD3AlarmTagProp* pProp,
hd3_in const HD3Mask* pMask
);
/**
* @brief <EFBFBD>޸ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_modify_tags_prop(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3AlarmTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_tag_prop(
hd3_in uint32 nTagID,
hd3_out HD3AlarmTagProp* pProp
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hdResultSet, HD3AlarmTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_tags_cond(
hd3_in const HD3FilterItemSet* pSet,
hd3_in const HD3Mask* pMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hdResultSet, HD3AlarmTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_specify_page_tags_cond(
hd3_in const HD3PageQueryTagParam* pParam,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pGroup [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_add_group(
hd3_in const HD3AlarmGroup* pGroup,
hd3_out uint32* pnGroupID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>Ψһ<EFBFBD>ģ<EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD>Ψһ<EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
* @param szName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nParentID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param pnGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_group_id(
hd3_in const char* szName,
hd3_in uint32 nParentID,
hd3_out uint32* pnGroupID
);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD>ɾ<EFBFBD><EFBFBD>
* @param nGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_delete_group(hd3_in uint32 nGroupID);
/**
* @brief <EFBFBD>޸ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
* @param nGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param pGroup [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_modify_group(
hd3_in uint32 nGroupID,
hd3_in const HD3AlarmGroup* pGroup);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nGroupNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pGroupIDArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pGroupArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_group_props(
hd3_in int32 nGroupNum,
hd3_in const uint32* pGroupIDArray,
hd3_out HD3AlarmGroup* pGroupArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, uint32*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_group_child_tags(
hd3_in uint32 nGroupID,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, uint32*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_group_child_groups(
hd3_in uint32 nGroupID,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ȡʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nRecNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_snapshots(
hd3_in int32 nRecNum,
hd3_in uint32* pTagIDArray,
hd3_in int64 nMask,
hd3_out HD3AlarmRecord* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pQuery [<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3AlarmRecord*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_tag_records(
hd3_in uint32 nTagID,
hd3_in const HD3AlarmQuery* pQuery,
hd3_in int64 nMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pQuery [<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3AlarmRecord*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_tags_all_records(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3AlarmQuery* pQuery,
hd3_in int64 nMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD>
* @param nAlarmGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param pQuery [<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3AlarmRecord*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_query_group_records(
hd3_in uint32 nAlarmGroupID,
hd3_in const HD3AlarmQuery* pQuery,
hd3_in int64 nMask,
hd3_out HD3HANDLE* pResultSet
);
/**
* @brief ȷ<EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* <EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>ʱ<EFBFBD>̲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>
* @param nAckNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTimeArray [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_acknowledge_alarms(
hd3_in int32 nAckNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3Time* pTimeArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief ע<EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nCommentNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTimeArray [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szComment [ע<EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 am3_comment_alarms(
hd3_in int32 nCommentNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3Time* pTimeArray,
hd3_in const char* szComment,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯԭʼ<EFBFBD><EFBFBD>¼
* <EFBFBD>ýӿڵ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>2001-1-1 08:08:08. 111<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>2001-1-2 08:08:08. 222<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>¼<EFBFBD>ǡ<EFBFBD>2001-1-1 08:08:08. 000<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>2001-1-2 08:08:08. 000<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ڵ<EFBFBD>ԭʼ<EFBFBD><EFBFBD>¼
* @param nTagID [TagID]
* @param pRegion [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>capacity<EFBFBD><EFBFBD>out<EFBFBD><EFBFBD>size]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊstring<EFBFBD><EFBFBD>blob<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵ
* (a) ΪHD3Record.value.strBlob.pBuf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000<EFBFBD>ֽ<EFBFBD><EFBFBD>ڴ<EFBFBD>
* (b) <EFBFBD><EFBFBD>ֵHD3Record.value.strBlob.nLenBuf = 1000
* @return RD_SUCCESS, if success;
* return hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_query_raw_records(
hd3_in uint32 nTagID,
hd3_in const HD3TimeRegion* pRegion,
hd3_inout int32* pRecNum,
hd3_out HD3Record* pRecArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵģʽ<EFBFBD>IJ<EFBFBD>ֵ<EFBFBD><EFBFBD>¼
* 8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>֧<EFBFBD>ֲ<EFBFBD>ֵ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>ֵʱ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ֵʱ<EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD>Ҫǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>кõ<EFBFBD>ԭʼ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD>ֵ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>ܲ<EFBFBD>ֵ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>̽<EFBFBD><EFBFBD>в<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD>¼<EFBFBD>ģ<EFBFBD>
* <EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱû<EFBFBD>еģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ֵ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ĺ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ȡijһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>999<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ֵ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1'1ms, 2'1ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ȡ2'ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>
* <EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ֵ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>2'999ms<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>999ms֮ǰ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵʱmsȡΪ999ms
* @param nMode [<EFBFBD><EFBFBD>ֵģʽ]
* @param nTagID [TagID]
* @param pRec [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>Time]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊstring<EFBFBD><EFBFBD>blob<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵ
* (a) ΪHD3Record.value.strBlob.pBuf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000<EFBFBD>ֽ<EFBFBD><EFBFBD>ڴ<EFBFBD>
* (b) <EFBFBD><EFBFBD>ֵHD3Record.value.strBlob.nLenBuf = 1000
* @return RD_SUCCESS, if success
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_query_interp_record_by_mode(
hd3_in enum HD3_REC_INTERP_QUERY_MODE nMode,
hd3_in uint32 nTagID,
hd3_inout HD3Record* pRec
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵģʽ<EFBFBD>IJ<EFBFBD>ֵ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* <EFBFBD>йز<EFBFBD>ֵ<EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD>ar3_query_interp_record_by_mode()<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
* @param nMode [<EFBFBD><EFBFBD>ֵģʽ]
* @param nTagID [TagID]
* @param nRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>Time]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊstring<EFBFBD><EFBFBD>blob<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵ
* (a) ΪHD3Record.value.strBlob.pBuf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000<EFBFBD>ֽ<EFBFBD><EFBFBD>ڴ<EFBFBD>
* (b) <EFBFBD><EFBFBD>ֵHD3Record.value.strBlob.nLenBuf = 1000
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_query_interp_records_by_mode(
hd3_in enum HD3_REC_INTERP_QUERY_MODE nMode,
hd3_in uint32 nTagID,
hd3_in int32 nRecNum,
hd3_inout HD3Record* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵģʽ<EFBFBD>IJ<EFBFBD>ֵ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* <EFBFBD>йز<EFBFBD>ֵ<EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD>ar3_query_interp_record_by_mode()<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
* @param nMode [<EFBFBD><EFBFBD>ֵģʽ]
* @param nRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>Time]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_query_tags_interp_records_by_mode(
hd3_in enum HD3_REC_INTERP_QUERY_MODE nMode,
hd3_in int32 nRecNum,
hd3_in const uint32* pTagIDArray,
hd3_inout HD3Record* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
* һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD>ָ<EFBFBD>
* @param nTagID [TagID]
* @param pTime [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_delete_record(
hd3_in uint32 nTagID,
hd3_in const HD3Time* pTime
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>޸ļ<EFBFBD>¼
* һ<EFBFBD><EFBFBD><EFBFBD>޸ijɹ<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD>¼<EFBFBD>޷<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pRec [<EFBFBD><EFBFBD>¼]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_modify_record(
hd3_in uint32 nTagID,
hd3_in const HD3Record* pRec
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD>¼
* @param nTagID [TagID]
* @param pTime [<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>]
* @param bHistorical [<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pQueryRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>capacity, out: size]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ar3_query_specify_num_raw_recs(
hd3_in uint32 nTagID,
hd3_in const HD3Time* pTime,
hd3_in bool bHistorical,
hd3_inout int32* pQueryRecNum,
hd3_out HD3Record* pRecArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pRegion [ʱ<EFBFBD>Χ]
* @param pnRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version
*/
HD3_API
int32 ar3_query_raw_records_number(
hd3_in uint32 nTagID,
hd3_in const HD3TimeRegion* pRegion,
hd3_out int32* pnRecNum
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pnTagID [<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_add_tag(
hd3_in const HD3CalcTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_add_tags(
hd3_in int32 nTagNum,
hd3_in const HD3CalcTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_in const char* szDataNodeName,
hd3_out uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD>޸ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_modify_tag_prop(
hd3_in uint32 nTagID,
hd3_in const HD3CalcTagProp* pProp,
hd3_in const HD3Mask* pMask
);
/**
* @brief <EFBFBD>޸ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_modify_tags_prop(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3CalcTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_query_tag_prop(
hd3_in uint32 nTagID,
hd3_out HD3CalcTagProp* pTagProp
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3PCaTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_query_tags_cond(
hd3_in const HD3FilterItemSet* pSet,
hd3_in const HD3Mask* pMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3PCaTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ca3_query_specify_page_tags_cond(
hd3_in const HD3PageQueryTagParam* pParam,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>Ӳɼ<EFBFBD><EFBFBD><EFBFBD>
* @param pCollector [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>]
* @param pnID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_add_collector(
hd3_in const HD3Collector* pCollector,
hd3_out uint32* pnCollectorID);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>
* @param nCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_delete_collector(hd3_in uint32 nCollectorID);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>вɼ<EFBFBD><EFBFBD><EFBFBD>
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3Collector*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еIJɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_all_collectors(hd3_out HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ݲɼ<EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>
* @param nCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @param pCollector [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_collector(
hd3_in uint32 nCollectorID,
hd3_out HD3Collector* pCollector
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ݲɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID
* @param szCollectorName [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_collector_id_by_name(
hd3_in const char* szCollectorName,
hd3_out uint32* pnCollecotrID
);
/**
* @brief <EFBFBD>޸IJɼ<EFBFBD><EFBFBD><EFBFBD>
* @param nCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @param pCollector [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_modify_collector(
hd3_in uint32 nCollectorID,
hd3_in const HD3Collector* pCollector
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pDevice [<EFBFBD>]
* @param pnDeviceID [DeviceID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_add_device(
hd3_in const HD3Device* pDevice,
hd3_out uint32* pnDeviceID
);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD>
* @param nDeviceID [DeviceID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_delete_device(hd3_in uint32 nDeviceID);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>ȡ<EFBFBD>
* @param nDeviceID [DeviceID]
* @param pDevice [<EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_device(
hd3_in uint32 nDeviceID,
hd3_out HD3Device* pDevice
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ȡ<EFBFBD>ID
* @param nCollectorID [CollectorID]
* @param szDeviceName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnDeviceID [DeviceID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_device_id_by_name(
hd3_in uint32 nCollectorID,
hd3_in const char* szDeviceName,
hd3_out uint32* pnDeviceID
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nCollectorID [CollectorID]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3Device*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_devices_of_collector(
hd3_in uint32 nCollectorID,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD>
* @param nDeviceID [DeviceID]
* @param pDevice [<EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_modify_device(
hd3_in uint32 nDeviceID,
hd3_in const HD3Device* pDevice
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pScanGroup [ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnScanGroupID [ScanGroupID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_add_scan_group(
hd3_in const HD3ScanGroup* pScanGroup,
hd3_out uint32* pnScanGroupID
);
/**
* @brief ɾ<EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nScanGroupID [ScanGroupID
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_delete_scan_group(hd3_in uint32 nScanGroupID);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD>ȡɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nScanGroupID [ScanGroupID]
* @param pScanGroup [ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_scan_group(
hd3_in uint32 nScanGroupID,
hd3_out HD3ScanGroup* pScanGroup
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD>ѯɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
* @param nDeviceID [DeviceID]
* @param szScanGroupName [ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnScanGroupID [ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_scan_group_id_by_name(
hd3_in uint32 nDeviceID,
hd3_in const char* szScanGroupName,
hd3_out uint32* pnScanGroupID
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nDeviceID [DeviceID]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3ScanGroup*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_scan_groups_of_device(
hd3_in uint32 nDeviceID,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD>޸<EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nScanGroupID [ScanGroupID]
* @param pScanGroup [ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 ct3_modify_scan_group(
hd3_in uint32 nScanGroupID,
hd3_in const HD3ScanGroup* pScanGroup
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>²ɼ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @param nCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @param nQuality [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nActiveTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĻTag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTime [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 ct3_update_collector_status(
hd3_in uint32 nCollectorID,
hd3_in uint16 nQuality,
hd3_in int32 nActiveTagNum,
hd3_in const HD3Time* pTime
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @param nDeviceID [<EFBFBD>ID]
* @param nQuality [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nActiveTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĻTag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTime [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 ct3_update_device_status(
hd3_in uint32 nDeviceID,
hd3_in uint16 nQuality,
hd3_in int32 nActiveTagNum,
hd3_in const HD3Time* pTime
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param nNum [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pCollectorIDArray [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pStatusArray [״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_collectors_status(
hd3_in int32 nNum,
hd3_in const uint32* pCollectorIDArray,
hd3_out HD3CtStatusInfo* pStatusArray,
hd3_out int32* pErrArray
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param nNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pDeviceIDArray [<EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pStatusArray [״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 ct3_query_devices_status(
hd3_in int32 nNum,
hd3_in const uint32* pDeviceIDArray,
hd3_out HD3CtStatusInfo* pStatusArray,
hd3_out int32* pErrArray
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>βɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @param pnInterval [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 ct3_get_status_update_interval(hd3_out int32* pnInterval);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nt3_disconnect()
* Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӺͶϿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>ʹ<EFBFBD><EFBFBD>
* @param pInfo [<EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* if success, user must call nt3_disconnect() to disconnect server
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 nt3_connect(hd3_in const HD3Connection* pInfo);
/**
* @brief <EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>nt3_connect()<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 nt3_disconnect();
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pnTagID [<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_add_tag(
hd3_in const HD3PtTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_add_tags(
hd3_in int32 nTagNum,
hd3_in const HD3PtTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_in const char* szDataNodeName,
hd3_out uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_modify_tag_prop(
hd3_in uint32 nTagID,
hd3_in const HD3PtTagProp* pProp,
hd3_in const HD3Mask* pMask
);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_modify_tags_prop(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3PtTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_tag_prop(
hd3_in uint32 nTagID,
hd3_out HD3PtTagProp* pTagProp
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3PtTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_tags_cond(
hd3_in const HD3FilterItemSet* pSet,
hd3_in const HD3Mask* pMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3PtTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_specify_page_tags_cond(
hd3_in const HD3PageQueryTagParam* pParam,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯTag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pTagType [TagType]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_tag_type(
hd3_in uint32 nTagID,
hd3_out enum HD3_TAG_TYPE* pTagType
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ωһ
* <EFBFBD><EFBFBD><EFBFBD>ӿڴ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pt3_modify_digitalset<EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param pDigitalSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/11/2015 g.l. modified version
*/
HD3_API
int32 pt3_add_digitalset(hd3_in const HD3DigitalSet* pDigitalSet);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @param szDigitalSetName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/11/2015 g.l. modified version
*/
HD3_API
int32 pt3_delete_digitalset(hd3_in const char* szDigitalSetName);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>״̬
* @param pDigitalSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>]
* @param nStateNum [״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pStateArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>in: szStateName, nStateValue]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/11/2015 g.l. modified version
*/
HD3_API
int32 pt3_modify_digitalset(
hd3_in const HD3DigitalSet* pDigitalSet,
hd3_in int32 nStateNum,
hd3_in const HD3DsStateInfo* pStateArray
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param pDigitalSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hdResultSet, HD3DsStateInfo*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/11/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_digitalset_all_state_infos(
hd3_in const HD3DigitalSet* pDigitalSet,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hdResultSet, HD3DigitalSet*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>״̬<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/11/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_all_digitalsets(hd3_out HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ֵ̬<EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szDSName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nStateValue [״ֵ̬]
* @param szDSStateName [״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/11/2015 g.l. modified version
*/
HD3_API
int32 pt3_query_digitalset_state_name(hd3_in const char* szDSName, hd3_in int32 nStateValue, hd3_out char* szDSStateName);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @param pnVersion [<EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 pt3_get_collector_version(
hd3_in uint32 nCollectorID,
hd3_out uint32* pnVersion
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
* @param nCollectorID [<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ID]
* @param nStartSec [<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>]
* @param nEndSec [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hdResultSet, HD3AlterationReport*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/12/2015 g.l. modified version
*/
HD3_API
int32 pt3_get_collector_alter_report(
hd3_in uint32 nCollectorID,
hd3_in uint32 nStartVersion,
hd3_in uint32 nEndVersion,
HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>hdKernelע<EFBFBD><EFBFBD>ԭʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 05/20/2015
* @param nDataNodeID [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @param nMonitorType [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [Tag<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/20/2015 g.l. modified version
*/
HD3_API
int32 pt3_reg_monitored_tag(
hd3_in uint32 nDataNodeID,
hd3_in enum HD3_MONITOR_TYPE nMonitorType,
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray
);
/**
* @brief <EFBFBD><EFBFBD>¼
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szPassword [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_login(
hd3_in const char* szUserName,
hd3_in const char* szPassword
);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szOldPassword [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szNewPassword [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_modify_password(
hd3_in const char* szUserName,
hd3_in const char* szOldPassword,
hd3_in const char* szNewPassword
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szNewPassword [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_reset_password(
hd3_in const char* szUserName,
hd3_in const char* szNewPassword
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
* @param pUser [<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ϣ]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_add_user(hd3_in const HD3SecUser* pUser);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_delete_user(hd3_in const char* szUserName);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pGroup [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_add_group(hd3_in const HD3SecGroup* pGroup);
/**
* @brief ɾ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_delete_group(hd3_in const char* szGroupName);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_add_user_to_group(
hd3_in const char* szUserName,
hd3_in const char* szGroupName
);
/**
* @brief ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_delete_user_from_group(
hd3_in const char* szUserName,
hd3_in const char* szGroupName
);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szNewUserDesc [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_modify_user_desc(
hd3_in const char* szUserName,
hd3_in const char* szNewUserDesc
);
/**
* @brief <EFBFBD>޸<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szNewGroupDesc [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_modify_group_desc(
hd3_in const char* szGroupName,
hd3_in const char* szNewGroupDesc
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3SecUser*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>û<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_all_users(hd3_out HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD>ѯȨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecUser*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>û<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_members_of_group(
hd3_in const char* szGroupName,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecGroup*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_all_groups(hd3_in HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecGroup*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_groups_of_user(
hd3_in const char* szUserName,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯȨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nItemType [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pSecItem [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_manage_security(
hd3_in enum HD3_SC_ITEM_TYPE nItemType,
hd3_out HD3SecItem* pSecItem
);
/**
* @brief <EFBFBD>޸<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nItemType [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pSecItem [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_modify_manage_security(
hd3_in enum HD3_SC_ITEM_TYPE nItemType,
hd3_in const HD3SecItem* pSecItem
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecTrust*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_all_trusts(hd3_out HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pSecTrust [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_add_trust(hd3_in const HD3SecTrust* pSecTrust);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szTrustName [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_delete_trust(hd3_in const char* szTrustName);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ǰ<EFBFBD>û<EFBFBD>
* @param nLen [<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>HD3_LEN_USER_NAME * HD3_BASE
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @return RD_SUCCESS, if success
* EC_HD3_API_USER_CHAR_LEN, if nLen <= userName.size()
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_current_user_name(
hd3_in int32 nLen,
hd3_out char* szUserName
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param pAuthItem [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_add_auth_item(hd3_in const HD3SecAuthItem* pAuthItem);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param szName [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_delete_auth_item(hd3_in const char* szName);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param pAuthItem [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_modify_auth_item(hd3_in const HD3SecAuthItem* pAuthItem);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szAuthItemName [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_add_auth_item_to_group(
hd3_in const char* szAuthItemName,
hd3_in const char* szGroupName
);
/**
* @brief ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szAuthItemName [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_delete_auth_item_from_group(
hd3_in const char* szAuthItemName,
hd3_in const char* szGroupName
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecAuthItem*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_all_auth_items(hd3_out HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD>ѯȨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param szGroupName [Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecAuthItem*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_auth_items_of_group(
hd3_in const char* szGroupName,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szAuthItemName [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3SecGroup*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_groups_of_auth_item(
hd3_in const char* szAuthItemName,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>
* @param szUserName [<EFBFBD>û<EFBFBD>]
* @param szAuthItemName [<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>]
* @param pnAuth [Ȩ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sc3_query_auth_of_user(
hd3_in const char* szUserName,
hd3_in const char* szAuthItemName,
hd3_out int32* pnAuth
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>¼
* @param nTagID [TagID]
* @param pRecord [<EFBFBD><EFBFBD>¼]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sn3_save_snapshot(
hd3_in uint32 nTagID,
hd3_in const HD3Record* pRecord
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sn3_save_snapshots(
hd3_in int32 nRecNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3Record* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nTagID [TagID]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sn3_save_disorder_snapshots(
hd3_in int32 nRecNum,
hd3_in uint32 nTagID,
hd3_in const HD3Record* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sn3_save_tags_disorder_snapshots(
hd3_in int32 nRecNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3Record* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<EFBFBD><EFBFBD>¼
* @param nTagID [TagID]
* @param pRec [<EFBFBD><EFBFBD>¼]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊstring<EFBFBD><EFBFBD>blob<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵ
* (a) ΪHD3Record.value.strBlob.pBuf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000<EFBFBD>ֽ<EFBFBD><EFBFBD>ڴ<EFBFBD>
* (b) <EFBFBD><EFBFBD>ֵHD3Record.value.strBlob.nLenBuf = 1000
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sn3_query_snapshot(
hd3_in uint32 nTagID,
hd3_out HD3Record* pRec
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nRecNum [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊstring<EFBFBD><EFBFBD>blob<EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>ֵ
* (a) ΪHD3Record.value.strBlob.pBuf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000<EFBFBD>ֽ<EFBFBD><EFBFBD>ڴ<EFBFBD>
* (b) <EFBFBD><EFBFBD>ֵHD3Record.value.strBlob.nLenBuf = 1000
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 sn3_query_snapshots(
hd3_in int32 nRecNum,
hd3_in const uint32* pTagIDArray,
hd3_out HD3Record* pRecordArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief ע<EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>¼<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>¼
* @param pfn [<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>]
* nChange [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* pRecord [SPC<EFBFBD><EFBFBD>¼]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/14/2015 g.l. modified version
*/
typedef void (*HD3SpcCallbackFUnc)(
hd3_in enum HD3_AM_CHANGE nChange,
hd3_in const HD3SpcRecord* pRecord);
HD3_API
int32 spc3_register_alarm_record_info(hd3_in HD3SpcCallbackFUnc pfn);
HD3_API
int32 spc3_unregister_alarm_record_info();
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pnTagID [<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_add_tag(
hd3_in const HD3SpcTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_add_tags(
hd3_in int32 nTagNum,
hd3_in const HD3SpcTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_in const char* szDataNodeName,
hd3_out uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD>޸<EFBFBD>SPC<EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_modify_tag_prop(
hd3_in uint32 nTagID,
hd3_in const HD3SpcTagProp* pProp,
hd3_in const HD3Mask* pMask
);
/**
* @brief <EFBFBD>޸<EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_modify_tags_prop(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3SpcTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯSPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_tag_prop(
hd3_in uint32 nTagID,
hd3_out HD3SpcTagProp* pTagProp
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3SpcTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_tags_cond(
hd3_in const HD3FilterItemSet* pSet,
hd3_in const HD3Mask* pMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3SpcTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_specify_page_tags_cond(
hd3_in const HD3PageQueryTagParam* pParam,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>
* @param nGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, uint32*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_group_child_tags(
hd3_in uint32 nGroupID,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ȡʵʱSPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nRecNum [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_snapshots(
hd3_in int32 nRecNum,
hd3_in uint32* pTagIDArray,
hd3_in int64 nMask,
hd3_out HD3SpcRecord* pRecArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʷSPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pQuery [<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3SpcRecord*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_tag_records(
hd3_in uint32 nTagID,
hd3_in const HD3SPCQuery* pQuery,
hd3_in int64 nMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʷSPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pQuery [<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3SpcRecord*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_tags_all_records(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3SPCQuery* pQuery,
hd3_in int64 nMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nAlarmGroupID [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID]
* @param pQuery [<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nMask [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* fetch: ut3_get_item_stemp(hResultSet, HD3SpcRecord*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_query_group_records(
hd3_in uint32 nAlarmGroupID,
hd3_in const HD3SPCQuery* pQuery,
hd3_in int64 nMask,
hd3_out HD3HANDLE* pResultSet
);
/**
* @brief ȷ<EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nAckNum [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTimeArray [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 05/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_acknowledge_alarms(
hd3_in int32 nAckNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3Time* pTimeArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief ע<EFBFBD><EFBFBD>SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nCommentNum [SPC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTimeArray [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szComment [ע<EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 spc3_comment_alarms(
hd3_in int32 nCommentNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3Time* pTimeArray,
hd3_in const char* szComment,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD>
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pnTagID [<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_add_tag(
hd3_in const HD3StatsTagProp* pTagProp,
hd3_in const HD3Mask* pMask,
hd3_in const char* szDataNodeName,
hd3_out uint32* pnTagID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szDataNodeName <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>󽫵ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NULL<EFBFBD><EFBFBD><EFBFBD><EFBFBD>""
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_add_tags(
hd3_in int32 nTagNum,
hd3_in const HD3StatsTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_in const char* szDataNodeName,
hd3_out uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD>޸<EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD>
* @param nTagID [TagID]
* @param pProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_modify_tag_prop(
hd3_in uint32 nTagID,
hd3_in const HD3StatsTagProp* pProp,
hd3_in const HD3Mask* pMask
);
/**
* @brief <EFBFBD>޸<EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMaskArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_modify_tags_prop(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_in const HD3StatsTagProp* pTagPropArray,
hd3_in const HD3Mask* pMaskArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯͳ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pTagProp [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_query_tag_prop(
hd3_in uint32 nTagID,
hd3_out HD3StatsTagProp* pProp
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hdResultSet, HD3StatsTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_query_tags_cond(
hd3_in const HD3FilterItemSet* pSet,
hd3_in const HD3Mask* pMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hdResultSet, HD3StatsTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_query_specify_page_tags_cond(
hd3_in const HD3PageQueryTagParam* pParam,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief ִ<EFBFBD><EFBFBD>ͳ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>
* @param nTagID [TagID]
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pfValue [ͳ<EFBFBD><EFBFBD>ֵ]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 st3_tag_stats_calc(
hd3_in uint32 nTagID,
hd3_in const HD3StRelatedParam* pParam,
hd3_out double* pfValue
);
/**
* @brief ɾ<EFBFBD><EFBFBD>Tag
* @param nTagID [TagID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. merged version
*/
HD3_API
int32 tag3_delete_tag(hd3_in uint32 nTagID);
/**
* @brief ɾ<EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nTagNum]
* @param pErrCodeArray [ɾ<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nTagNum]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. initialize version
*/
HD3_API HD3_A
int32 tag3_delete_tags(
hd3_in int32 nTagNum,
hd3_in const uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD>ѯTagID
* @param szName [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnTagID [TagID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. merged version
*/
HD3_API
int32 tag3_query_id_by_name(
hd3_in const char* szName,
hd3_out uint32* pnTagID
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD>ѯTagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڣ<EFBFBD>
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param szTagNames [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nTagNum]
* @param nTagIDs [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nTagNum]
* @param nErrCodes [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nTagNum]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version 03/13/2015 g.l. merged version
*/
HD3_API
int32 tag3_query_ids_by_names(
hd3_in int32 nTagNum,
hd3_in const char szTagNames[][HD3_LEN_TAG_NAME * HD3_BASE],
hd3_out uint32* pTagIDArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagClass [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 tag3_query_tag_num_cond(
hd3_in enum HD3_TAG_CLASS nTagClass,
hd3_in const HD3FilterItemSet* pSet,
hd3_out int32* pnTagNum
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD>ѯTag<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>TagID<EFBFBD><EFBFBD>TagType<EFBFBD><EFBFBD>TagClass<EFBFBD><EFBFBD>
* @param nTagClassMask [TagClass<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pInfoArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>TagName]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if all success
* EC_HD3_API_BATCH_REQUEST, if some failed
* hd3 error, otherwise
* @version
*/
HD3_API
int32 tag3_query_tags_basic_info_by_name(
hd3_in int64 nTagClassMask,
hd3_in int32 nTagNum,
hd3_inout HD3TagBasicInfo* pInfoArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagClassMask [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nPropMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3CommTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 tag3_query_tags_cond(
hd3_in int64 nTagClassMask,
hd3_in const HD3FilterItemSet* pSet,
hd3_in int64 nPropMask,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief <EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagClassMask [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pParam [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_step(hResultSet, HD3CommTagProp*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 tag3_query_specify_page_tags_cond(
hd3_in int64 nTagClassMask,
hd3_in const HD3PageQueryTagParam* pParam,
hd3_out HD3HANDLE* phResultSet
);
/**
* @brief ָ<EFBFBD><EFBFBD>TagClass<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TagID<EFBFBD><EFBFBD>ѯTag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nTagClassMask [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nPropMask [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pPropArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>in<EFBFBD><EFBFBD>TagID]
* @param pErrCodeArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/13/2015 g.l. modified version
*/
HD3_API
int32 tag3_query_tags_common_prop(
hd3_in int64 nTagClassMask,
hd3_in int32 nTagNum,
hd3_in int64 nPropMask,
hd3_inout HD3CommTagProp* pPropArray,
hd3_out int32* pErrCodeArray
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾAPI<EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* API<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>ֵ<EFBFBD>μ<EFBFBD>HD3_CHARSET
* @param charset [<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>ֵ]
* @version 05/18/2015 g.l. modified version
*/
HD3_API
void ut3_set_charset(hd3_in enum HD3_CHARSET charset);
/**
* @brief <EFBFBD><EFBFBD>ȡAPI<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾAPI<EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* API<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>ֵ<EFBFBD>μ<EFBFBD>HD3_CHARSET
* @return API<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @version 05/18/2015 g.l. modified version
*/
HD3_API
enum HD3_CHARSET ut3_get_charset();
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ut_free_iterator(hResultSet)<EFBFBD>ͷŽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param hResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pItem [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľӿ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>ӿ<EFBFBD>
* @return RD3_SUCCESS, if success
* EC_HD_API_QUERY_END, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* hd3 error, otherwise
* @version 03/02/2015 hd3 team initial version
*/
HD3_API
int32 ut3_get_item_step(
hd3_in HD3HANDLE hResultSet,
hd3_out void* pItem
);
/**
* @brief <EFBFBD>ͷŽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>øý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>
* @param hResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @version 03/02/2015 hd3 team initial version
*/
HD3_API
void ut3_free_handle(hd3_in HD3HANDLE hResultSet);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>Ľӿ<EFBFBD><EFBFBD><EFBFBD>Ч
* @param nCapacity [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С]
* @version 03/02/2015 hd3 team initial version
*/
HD3_API
void ut3_set_request_cache_capacity(hd3_in int32 nCapacity);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
* @param nTimeout [<EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD>]
* @version 03/02/2015 hd3 team initial version
*/
HD3_API
void ut3_set_request_timeout(hd3_in int32 nTimeout);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nInterval [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @version 03/24/2015 hd3 team initial version
*/
HD3_API
void ut3_set_connection_checking_cycle(hd3_in int32 nInterval);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD>ĵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СĬ<EFBFBD><EFBFBD>Ϊ1000000<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>öԽӿ<EFBFBD>sn3_register_callback, sn3_get_callback_sn<EFBFBD><EFBFBD>Ч
* @param nCapacity [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @version 03/24/2018 hd3 team initial version
*/
HD3_API
void ut3_set_sn_callback_cache_capacity(hd3_in int32 nCapacity);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰʱ<EFBFBD><EFBFBD>
* @param pMsTime [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD>λΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/02/2015 hd3 team initial version
*/
HD3_API
int32 ut3_get_server_ms_time(hd3_out int64* pMsTime);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param phResultSet [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ut3_get_item_stemp(hResultSet, HD3DataNode*)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ut3_get_item_step<EFBFBD>ӿڵ<EFBFBD>˵<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/16/2015 g.l. initialize version
*/
HD3_API
int32 ut3_query_all_datanodes(hd3_out HD3HANDLE* phResultSet);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>
* @param pDataNode [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>]
* @param pnNodeID [<EFBFBD>ڵ<EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/16/2015 g.l. initialize version
*/
HD3_API
int32 ut3_add_datanode(
hd3_in const HD3DataNode* pDataNode,
hd3_out uint32* pnNodeID);
/**
* @brief ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>
* @param nNodeID [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/16/2015 g.l. initialize version
*/
HD3_API
int32 ut3_delete_datanode(
hd3_in uint32 nNodeID
);
/**
* @brief <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>
* @param nNodeID [<EFBFBD>ڵ<EFBFBD>ID]
* @param pDataNode [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/16/2015 g.l. initialize version
*/
HD3_API
int32 ut3_modify_datanode(
hd3_in uint32 nNodeID,
hd3_in const HD3DataNode* pDataNode
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>
* @param nNodeID [<EFBFBD>ڵ<EFBFBD>ID]
* @param pDataNode [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/16/2015 g.l. initialize version
*/
HD3_API
int32 ut3_query_datanode(
hd3_in uint32 nNodeID,
hd3_out HD3DataNode* pDataNode
);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD>ѯ<EFBFBD>ڵ<EFBFBD>ID
* @param szDataNodeName [<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnNodeID [<EFBFBD>ڵ<EFBFBD>ID]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/16/2015 g.l. initialize version
*/
HD3_API
int32 ut3_query_datanode_id_by_name(
hd3_in const char* szDataNodeName,
hd3_out uint32* pnNodeID
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param nDataNodeID [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @param pLicStatus [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTimeValidSec [ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>]
* @param pClientConnected [
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_license_info(
hd3_in uint32 nDataNodeID,
hd3_out uint8* pLicStatus,
hd3_out uint32* pTimeValidSec,
hd3_out uint32* pClientConnected
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>Ϣ
* @param nDataNodeID [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @param pLicStatus [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pLicInfoAttrCount [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD>]
* @param pLicInfo [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_license_info_all(
hd3_in uint32 nDataNodeID,
hd3_out uint8* pLicStatus,
hd3_out uint8* pLicInfoAttrCount,
hd3_out HD3LicInfo* pLicInfo
);
/**
* @brief <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD>
* @param nDataNodeID [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @param pConnectionNum [<EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_all_client_num(
hd3_in uint32 nDataNodeID,
hd3_out int32* pConnectionNum
);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param nDataNodeId [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @param pInfoArray [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnArraySize [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>in: capacity; out: size]
* nArraySizeӦ<EFBFBD><EFBFBD>Ϊut3_get_all_client_num()<EFBFBD><EFBFBD><EFBFBD>صĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_all_client_info(
hd3_in uint32 nDataNodeID,
hd3_out HD3ClientConnInfo *pInfoArray,
hd3_in int32* pnArraySize
);
/**
* @brief <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD>SOCKET<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param nDataNodeID [<EFBFBD><EFBFBD><EFBFBD>ݽڵ<EFBFBD>ID]
* @param socket [SOCKET ID]
* @param pSocketInfo [SOCKET<EFBFBD><EFBFBD>Ϣ]
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_socket_net_info(
hd3_in uint32 nDataNodeID,
hd3_in SOCKET socket,
hd3_out HD3SocketNetInfo* pSocketInfo
);
/**
* @brief <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SOCKET<EFBFBD><EFBFBD>Ϣ
* @param szMac [<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>MAC<EFBFBD><EFBFBD>ַ]
* @param pSocketArray [SOCKET<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СӦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>HD3_API_CLIENT_MAX_SOCKET_NUM
* @param pnSocketNum [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>in: capacity; out: size]
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_client_sockets(hd3_in uint32 nDataNodeID,
hd3_in const char* szMac,
hd3_out SOCKET * pSocketArray,
hd3_inout int32 *pnSocketNum
);
/**
* @brief <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>HDʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nSec [<EFBFBD><EFBFBD>]
* @param pRDTime [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_convert_sec_to_rdtime(int32 nSec, HD3TimeStamp* pRDTime);
/**
* @brief <EFBFBD><EFBFBD>HDʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pTime [ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTime [<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_convert_rdtime_to_sec(const HD3TimeStamp* pTime, int32* pnSec);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param nNodeID <EFBFBD>ڵ<EFBFBD>ID
* @param pNodeCfg <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @return RD_SUCCESS, if success; error code, otherwise
* @version 05/19/2015 g.l. modified version
*/
HD3_API
int32 ut3_get_datanode_cfg(uint32 nNodeID, HD3DataNodeCfg* pNodeCfg);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>Ϣ
* @param nNodeID <EFBFBD>ڵ<EFBFBD>ID
* @param pNodeStatus <EFBFBD>ڵ<EFBFBD>״̬<EFBFBD><EFBFBD>Ϣ
* @return RD_SUCCESS, if success; error code, otherwise
* @version 11/112/2015 YQ init version
*/
HD3_API
int32 ut3_get_datanode_status(uint32 nNodeID, HD3DataNodeStatus* pNodeStatus);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ýڵ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>Ϣ
* @param pCCStatus <EFBFBD><EFBFBD><EFBFBD>ýڵ<EFBFBD>״̬<EFBFBD><EFBFBD>Ϣ
* @return RD_SUCCESS, if success; error code, otherwise
* @version 2017/03/06 YQ init version
*/
HD3_API
int32 ut3_get_cc_status(HD3ConfigCenterStatus* pCCStatus);
HD3_API
int32 ut3_send_rest_info(HDRestCfg hdRestCfg);
/**
* @brief У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
* @param szExpr [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/31/2015 g.l. initialize version
*/
HD3_API
int32 expr_verify(hd3_in const char* szExpr);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
* @param szExpr [<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ]
* @param phParseResult [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/31/2015 g.l. initialize version
*/
HD3_API
int32 expr_parse(
hd3_in const char* szExpr,
hd3_out HD3HANDLE* phParseResult
);
/**
* @brief <EFBFBD>ͷŽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ͷţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>ٱ<EFBFBD>ʹ<EFBFBD><EFBFBD>
* @param pParseHandle [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/31/2015 g.l. initialize version
*/
HD3_API
int32 expr_parse_free(hd3_in HD3HANDLE pParseResult);
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD>ID
* @param pParseResult [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pnTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/31/2015 g.l. initialize version
*/
HD3_API
int32 expr_get_depend_tags(
hd3_in HD3HANDLE pParseResult,
hd3_out int32* pnTagNum,
hd3_out uint32** ppTagIDArray
);
/**
* @brief <EFBFBD>ͷ<EFBFBD>TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pTagIDArray [TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/31/2015 g.l. initialize version
*/
HD3_API
int32 expr_get_depend_tags_free(hd3_in uint32* pTagIDArray);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param caLastGood [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Good<EFBFBD>ļ<EFBFBD>¼]
* @param pParseResult [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param nTagNum [Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pRecArray [<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @param pValue [<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/31/2015 g.l. initialize version
*/
HD3_API
int32 expr_calc(
hd3_in const HD3Record* caLastGood,
hd3_in HD3HANDLE pParseResult,
hd3_in int32 nTagNum,
hd3_in const HD3Record* pRecArray,
hd3_out float64* pValue);
/**
* @brief ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD><EFBFBD>
* @param pfn [<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>] ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<EFBFBD><EFBFBD>ΪNULLʱ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn3_get_callback_sn<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* nTagID TagID
* pRecord [<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>¼]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 07/14/2016 y.q. modified version
* @version 03/27/2018 y.q. modified version<EFBFBD><EFBFBD>pfn<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪNULL<EFBFBD><EFBFBD>ΪNULLʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn3_get_callback_snȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
typedef void (*HD3SnapshotCallbackFunc)(hd3_in uint32 nTagID, hd3_in const HD3Record* pRecord);
HD3_API
int32 sn3_register_callback(hd3_in int32 nTagNum, hd3_in uint32* pTagIDArray, hd3_in HD3SnapshotCallbackFunc pfn);
/**
* @brief<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn3_register_callback<EFBFBD><EFBFBD><EFBFBD>ĵĵ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn3_free_callback_sn
* @param
* pnRecNum <EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ0
* ppTagIDs TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* ppRecs <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 03/27/2018 y.q. init version
*/
HD3_API
int32 sn3_get_callback_sn(hd3_out int32* pnRecNum, hd3_out uint32** ppTagIDs, hd3_out HD3Record** ppRecs);
/**
* @brief<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn3_register_callback<EFBFBD><EFBFBD><EFBFBD>ĵĵ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>sn3_free_callback_sn
* @param
* nRecNum <EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD><EFBFBD>
* pTagIDs TagID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* pRecs <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @return void
* @version 03/27/2018 y.q. init version
*/
HD3_API
void sn3_free_callback_sn(hd3_in int32 nRecNum, hd3_in uint32* pTagIDs, hd3_in HD3Record* pRecs);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨע<EFBFBD><EFBFBD>
*/
HD3_API
int32 sn3_unregister_callback();
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨע<EFBFBD><EFBFBD>
* @param nTagNum <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pTagIDArray <EFBFBD><EFBFBD>ID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
HD3_API
int32 sn3_unregister_callback_of_sometag(hd3_in int32 nTagNum, hd3_in uint32* pTagIDArray);
/**
* @brief ע<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>Tag<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param pfn [<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>]
* nTagID TagID
* pRecord [<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>¼]
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 07/31/2017 y.q. modified version
*/
HD3_API
int32 sn3_register_value_change_callback(hd3_in int32 nTagNum, hd3_in uint32* pTagIDArray, hd3_in HD3SnapshotCallbackFunc pfn);
HD3_API
int32 sn3_unregister_value_change_callback();
HD3_API
int32 sn3_register_rest(hd3_in int32 nTagNum, hd3_in HDRegInfo* pRegInfoArray);
HD3_API
int32 sn3_unregister_callback_rest(hd3_in int32 nTagNum, hd3_in HDRegInfo* pRegInfoArray);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param szCmdIn
* ֪ͨIMV<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> szCmdIn "cmdtype = restart_imv"
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ szCmdIn "cmdtype = read_imv_cfg" szCmdOut "ip = 127.0.0.1; port = 5673; datasrc = ihd"
* <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ϣ szCmdIn "cmdtype = write_imv_cfg; ip = 127.0.0.1; port = 5673; datasrc = ihd"
* @param szCmdOut, call cc3_cmd_free to free
* @return RD_SUCCESS, if success; hd3 error, otherwise
* @version 07/14/2016 y.q. modified version
*/
HD3_API
int32 cc3_cmd(hd3_in const char* szCmdIn, hd3_out char** szCmdOut);
/**
* @brief free
* @param szCmdOut free cc3_cmd(hd3_in const char* szCmdIn, hd3_out char** szCmdOut) szCmdOut
* @return void
* @version 07/14/2016 y.q. modified version
*/
HD3_API
void cc3_cmd_free(hd3_in char* szCmdOut);
#define HD3M_API_OPTION_DISABLE_SAVE_SNAPSHOT_CHECK_TAG_TYPE (1)
#define HD3M_API_OPTION_DISABLE_SAVE_SNAPSHOT_REC_SORT (1<<1)
#define HD3M_API_OPTION_DISABLE_CONN_CHECK_RY (1<<2)
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>nOptionMask=HD3M_API_OPTION_DISABLE_SAVE_SNAPSHOT_CHECK<EFBFBD><EFBFBD>ʾȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽӿڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param nOptionMask ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HD3M_API_OPTION_DISABLE_SAVE_SNAPSHOT_CHECK<EFBFBD><EFBFBD>
* @return void
* @version 12/30/2016 y.q. modified version
*/
HD3_API
void ut3_set_api_option(hd3_in int64 nOptionMask);
HD3_API
int32 cs3_backup_config_file(const char* szBackupDir, const char* szBackupFileName);
/*************** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>hdAPI ****************************/
#ifdef __cplusplus
}
#endif
#endif