#ifndef DHCONFIGSDK_H #define DHCONFIGSDK_H #include "avglobal.h" #if (defined(WIN32) || defined(_WIN32) || defined(_WIN64)) #include #ifdef CONFIGSDK_EXPORTS #define CLIENT_CFG_API __declspec(dllexport) #else #define CLIENT_CFG_API __declspec(dllimport) #endif #define CALLBACK __stdcall #define CALL_METHOD __stdcall //__cdecl #ifndef LLONG #if (defined(WIN32) || defined(_WIN32) || defined(_WIN64)) #ifdef _WIN64 #define LLONG __int64 #else //WIN32 #define LLONG LONG #endif #else //Linux #define LLONG long #endif #endif #ifndef LDWORD #if (defined(WIN32) || defined(_WIN32) || defined(_WIN64)) #ifdef _WIN64 #define LDWORD __int64 #else //WIN32 #define LDWORD DWORD #endif #else //Linux #define LDWORD long #endif #endif #else //Linux #ifndef INTERNAL_COMPILE #define CFG_RELEASE_HEADER #endif #ifndef CFG_RELEASE_HEADER #include "../Platform/platform.h" #endif #define CLIENT_CFG_API extern "C" #define CALL_METHOD #define CALLBACK #endif #ifdef __cplusplus extern "C" { #endif /************************************************************************ ** ³£Á¿¶¨Òå ***********************************************************************/ #define MAX_CHANNEL_COUNT 16 #define MAX_VIDEO_CHANNEL_NUM 256 // ×î´óͨµÀÊý256 #define MAX_CHANNELNAME_LEN 64 // ×î´óͨµÀÃû³Æ³¤¶È #define MAX_VIDEOSTREAM_NUM 4 // ×î´óÂëÁ÷¸öÊý #define MAX_VIDEO_COVER_NUM 16 // ×î´óÕÚµ²ÇøÓò¸öÊý #define WEEK_DAY_NUM 7 // Ò»ÖܵÄÌìÊý #define MAX_REC_TSECT 6 // ¼Ïñʱ¼ä¶Î¸öÊý #define MAX_REC_TSECT_EX 10 // ¼Ïñʱ¼ä¶ÎÀ©Õ¹¸öÊý #define MAX_WATERMARK_LEN 4096 // Êý×ÖˮӡÊý¾Ý×î´ó³¤¶È #define MAX_MOTION_ROW 32 // ¶¯Ì¬¼ì²âÇøÓòµÄÐÐÊý #define MAX_MOTION_COL 32 // ¶¯Ì¬¼ì²âÇøÓòµÄÁÐÊý #define MAX_IMAGESIZE_NUM 256 // ×î´óÖ§³ÖµÄ·Ö±æÂʸöÊý #define MAX_FPS_NUM 1024 // ×î´óÖ§³ÖµÄÖ¡ÂʸöÊý #define MAX_QUALITY_NUM 32 // ×î´óÖ§³ÖµÄ»­ÖʸöÊý #define MAX_ADDRESS_LEN 256 // ×î´óµÄµØÖ·³¤¶È #define MAX_USERNAME_LEN 64 // ×î´óÓû§Ãû³¤¶È #define MAX_PASSWORD_LEN 64 // ×î´óÃÜÂ볤¶È #define MAX_DIRECTORY_LEN 256 // Îļþ¼ÐÃû×Ö×Ö·û´®³¤¶È #define MAX_NAS_TIME_SECTION 2 // ÍøÂç´æ´¢Ê±¼ä¶Î¸öÊý #define MAX_NAME_LEN 128 // ͨÓÃÃû×Ö×Ö·û´®³¤¶È #define MAX_SCENE_TYPE_LIST_SIZE 8 // ³¡¾°ÁбíÖÐ×î¶àÖ§³ÖµÄ³¡¾°¸öÊý #define MAX_DECPRO_LIST_SIZE 100 // ½âÂëÆ÷ЭÒéÁбí¸öÊýÉÏÏÞ #define MAX_SCENE_LIST_SIZE 32 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄ³¡¾°ÀàÐÍÁбí¸öÊýÉÏÏÞ #define MAX_OBJECT_LIST_SIZE 16 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí¸öÊýÉÏÏÞ #define MAX_RULE_LIST_SIZE 128 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄ¹æÔòÁбí¸öÊýÉÏÏÞ #define MAX_SUPPORTED_COMP_SIZE 4 // ×î´óÖ§³ÖµÄ³¡¾°×éºÏÏî #define MAX_SUPPORTED_COMP_DATA 8 // ÿ¸ö×éºÏÏîÀï×î¶àÖ§³ÖµÄ³¡¾°¸öÊý #define MAX_ANALYSE_MODULE_NUM 16 // ÊÓÆµ·ÖÎöÉ豸×î´ó¼ì²âÄ£¿é¸öÊý #define MAX_ANALYSE_RULE_NUM 32 // ÊÓÆµ·ÖÎöÉ豸×î´ó¹æÔò¸öÊý #define MAX_POLYGON_NUM 20 // ÊÓÆµ·ÖÎöÉè±¸ÇøÓò¶¥µã¸öÊýÉÏÏÞ #define MAX_POLYLINE_NUM 20 // ÊÓÆµ·ÖÎöÉ豸ÕÛÏß¶¥µã¸öÊýÉÏÏÞ #define MAX_TEMPLATEREGION_NUM 32 // ÊÓÆµ·ÖÎöÉ豸ģÄâÇøÓòÐÅÏ¢µã¶Ô¸öÊýÉÏÏÞ #define POINT_PAIR_NUM 2 // ÊÓÆµ·ÖÎöÉ豸ģÄâÇøÓòµã¶Ô°üº¬µÄµã¸öÊý #define MAX_VEHICLE_SIZE_LIST 4 // ÊÓÆµ·ÖÎöÉ豸³µÁ¾´óС¸öÊýÉÏÏÞ #define MAX_VEHICLE_TYPE_LIST 4 // ÊÓÆµ·ÖÎöÉ豸³µÁ¾ÀàÐ͸öÊýÉÏÏÞ #define MAX_PLATE_TYPE_LIST 32 // ÊÓÆµ·ÖÎöÉ豸³µÅÆÀàÐ͸öÊýÉÏÏÞ #define MAX_LANE_NUM 8 // ÊÓÆµ·ÖÎöÉ豸ÿ¸öͨµÀ¶ÔÓ¦³µµÀÊýÉÏÏÞ #define MAX_STAFF_NUM 20 // ÊÓÆµ·ÖÎöÉ豸ÿ¸öͨµÀ¶ÔÓ¦µÄ±ê³ßÊýÉÏÏÞ #define MAX_CALIBRATEAREA_NUM 20 // ÊÓÆµ·ÖÎöÉ豸±ê¶¨ÇøÓòµÄÉÏÏÞ #define MAX_EXCLUDEREGION_NUM 10 // ÖÇÄÜ·ÖÎö¼ì²âÇøÓòÖÐÐèÒªÅųýµÄÇøÓò¸öÊýÉÏÏÞ #define MAX_CALIBRATEBOX_NUM 10 // ÖÇÄÜ·ÖÎöУ׼¿ò¸öÊýÉÏÏÞ #define MAX_SPECIALDETECT_NUM 10 // ÖÇÄÜ·ÖÎöÌØÊâ¼ì²âÇøÓòÉÏÏÞ #define MAX_HUMANFACE_LIST_SIZE 8 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄÈËÁ³¼ì²âÀàÐÍÁбí¸öÊýÉÏÏÞ #define MAX_FEATURE_LIST_SIZE 32 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄÈËÁ³ÊôÐÔÁбí¸öÊýÉÏÏÞ #define MAX_SEVER_NUM 16 // ·þÎñÀàÐÍÉÏÏÞ #define MAX_SERVER_NAME_LEN 16 // ·þÎñÃû³Æ×Ö·û´®´óС #define MAX_POWER_NUM 8 // µçÔ´¸öÊýÉÏÏÞ #define MAX_FUN_NUM 8 // ·çÉȸöÊýÉÏÏÞ #define MAX_CPU_NUM 8 // cpu¸öÊýÉÏÏÞ #define MAX_HARDDISK_NUM 32 // Ó²ÅÌÉÏÏÞ #define MAX_TANK_NUM 16 // ×î´ó´æ´¢¹ñÉÏÏÞ #define MAX_CHAN_NUM 256 // ×î´óͨµÀÊýÉÏÏÞ #define MAX_RAID_NUM 16 // ×î´ó´ÅÅÌÕóÁÐÉÏÏÞ #define MAX_DEV_NUM 16 // ×î´óÉ豸ÉÏÏÞ #define MAX_STORAGEPOOL_NUM 16 // ×î´ó´æ´¢³ØÉÏÏÞ #define MAX_STRORAGEPOS_NUM 16 // ×î´ó´æ´¢Î»ÖÃÉÏÏÞ #define MAX_VIDEODEV_NUM 256 // ǰ¶ËÉ豸ÉÏÏÞ #define MAX_REMOTEDEVICENAME_LEN 32 // ×î´óÔ¶³ÌÉ豸Ãû×Ö³¤¶È #define MAX_REMOTE_DEV_NUM 256 // ×î´óÔ¶³ÌÉ豸ÊýÁ¿ #define MAX_PLATEHINT_NUM 8 // ³µÅÆ×Ö·û°µÊ¾¸öÊýÉÏÏÞ #define MAX_LIGHT_NUM 8 // ½»Í¨µÆ¸öÊýÉÏÏÞ #define MAX_LIGHTGROUP_NUM 8 // ½»Í¨µÆ×é¸öÊýÉÏÏÞ #define MAX_LIGHT_TYPE 8 // ½»Í¨µÆÀàÐÍÉÏÏÞ #define MAX_LIGHT_DIRECTION 8 // ½»Í¨µÆÖ¸Ê¾·½ÏòÊýÉÏÏÞ #define MAX_TRIGGERMODE_NUM 32 // ½»Í¨Â·¿Ú¹æÔò´¥·¢Ä£Ê½ÉÏÏÞ #define MAX_VIOLATIONCODE 16 // ÖÇÄܽ»Í¨Î¥Õ´úÂ볤¶ÈÉÏÏÞ #define MAX_DETECTOR 6 // ÖÇÄܽ»Í¨³µ¼ìÆ÷ÅäÖÃÉÏÏÞ #define MAX_COILCONFIG 3 // ÖÇÄܽ»Í¨³µ¼ìÆ÷ÏßȦÅäÖÃÉÏÏÞ #define MAX_DEVICE_ADDRESS 256 // TrafficSnapshotÖÇÄܽ»Í¨É豸µØÖ· #define MAX_DEPARTMENT 256 // DepartmentÖÇÄܽ»Í¨É豸ËùÊôµ¥Î» #define MAX_ROADWAYNO 128 // µÀ·±àºÅ ÓÉ32¸öÊý×ÖºÍ×Öĸ¹¹³É #define MAX_VIOLATIONCODE_DESCRIPT 64 // ÖÇÄܽ»Í¨Î¥Õ´úÂ볤¶ÈÉÏÏÞ #define MAX_DRIVINGDIRECTION 256 // ÐÐÊ»·½Ïò×Ö·û´®³¤¶È #define MAX_ACTIVEUSER_NUM 64 // ×î´ó»î¶¯Óû§ÐÅÏ¢Êý #define MAX_POLYGON_NUM10 10 // ÊÓÆµ·ÖÎöÉè±¸ÇøÓò¶¥µã¸öÊýÉÏÏÞ #define MAX_VIDEODIAGNOSIS_DETECT_TYPE 11 // ÊÓÆµÕï¶ÏÀàÐ͸öÊýÉÏÏÞ #define MAX_ACTION_LIST_SIZE 16 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄ¹æÔòµÄ¶¯×÷ÀàÐÍÁбí¸öÊýÉÏÏÞ #define MAX_STORAGEGROUPNAME_LEN 32 // ´æ´¢×éÃû³Æ»º³åÇøÉÏÏÞ #define MAX_CALIBRATEAREA_TYPE_NUM 4 // ±ê¶¨ÇøÓòÀàÐÍÉÏÏÞ #define MAX_PROTOCOL_NAME_LEN 32 // ЭÒéÃû³Æ³¤¶È #define MAX_COMM_NUM 16 // ×î´ó´®¿ÚÊýÁ¿ #define MAX_DNS_SERVER_NUM 2 // DNS×î´óÊýÁ¿ #define MAX_NETWORK_INTERFACE_NUM 32 // ×î´óÍø¿¨ÊýÁ¿ #define MAX_NAS_NUM 16 // ÍøÂç´æ´¢·þÎñÆ÷×î´óÊýÁ¿ #define MAX_STORAGEPOINT_NUM 32 // ¼Ïñ´æ´¢µãÓ³Éä×î´óÊýÁ¿ #define MAX_TRACKSCENE_NUM 10 // ÖÇÄܸú×Ù³¡¾°×î´óÊýÁ¿ #define MAX_STATUS_NUM 16 // ½»Í¨É豸״̬×î´ó¸öÊý #define MAX_SERVICE_NUM 128 // ·þÎñÆ÷Ö§³ÖµÄ×î´ó·þÎñÊý #define MAX_DBKEY_NUM 64 // Êý¾Ý¿â¹Ø¼ü×Ö×î´óÖµ #define MAX_SUMMARY_LEN 1024 // µþ¼Óµ½JPEGͼƬµÄÕªÒªÐÅÏ¢×î´ó³¤¶È #define MAX_MOTION_WINDOW 10 // ¶¯¼ìÖ§³ÖµÄÊÓÆµ´°¿ÚÖµ #define MAX_OSD_SUMMARY_LEN 256 // osdµþ¼ÓÄÚÈÝ×î´ó³¤¶È #define MAX_OSD_TITLE_LEN 128 // osdµþ¼Ó±êÌâ×î´ó³¤¶È #define MAX_CUSTOMCASE_NUM 16 // ×Ô¶¨Òå˾·¨°¸¼þ×î´ó¸öÊý #define MAX_GLOBAL_MSTERSLAVE_NUM 64 //Ö÷´Óʽ¸ú×ÙÆ÷×î´óÈ«¾ÖÅäÖÃÊý #define MAX_OBJECT_ATTRIBUTES_SIZE 16 // ÊÓÆµ·ÖÎöÉ豸֧³ÖµÄ¼ì²âÎïÌåÊôÐÔÀàÐÍÁбí¸öÊýÉÏÏÞ #define MAX_MODEL_LEN 32 // É豸Ðͺų¤¶È #define MAX_BURNING_DEV_NUM 32 // ×î´ó¿Ì¼É豸¸öÊý #define MAX_NET_TYPE_NUM 8 // ×î´óÍøÂçÀàÐ͸öÊý #define MAX_NET_TYPE_LEN 64 // ÍøÂçÀàÐÍ×Ö·û´®³¤¶È #define MAX_DEVICE_NAME_LEN 64 // »úÆ÷Ãû³Æ #define MAX_DEV_ID_LEN_EX 128 // É豸ID×î´ó³¤¶È #define MONTH_OF_YEAR 12 // Ò»ÄêÖÐÔ·ÝÊý #define MAX_SERVER_NUM 10 // ·þÎñÆ÷×î´ó¸öÊý #define MAX_REGISTER_NUM 10 // Ö÷¶¯×¢²áÅäÖÃ×î´ó¸öÊý #define MAX_VIDEO_IN_ZOOM 32 // µ¥Í¨µÀ×î´ó±äËÙÅäÖøöÊý #define MAX_ANALYSE_SCENE_NUM 32 // ÊÓÆµ·ÖÎöÈ«¾ÖÅäÖó¡¾°×î´óÊýÁ¿ #define MAX_CONFIG_NUM 32 // ÿ¸öÔÆÌ¨µÄ×î´óÅäÖÃÊý #define MAX_PTZ_PRESET_NAME_LEN 64 // ÔÆÌ¨Ô¤ÖõãÃû³Æ³¤¶È #define CFG_COMMON_STRING_8 8 // ͨÓÃ×Ö·û´®³¤¶È8 #define CFG_COMMON_STRING_16 16 // ͨÓÃ×Ö·û´®³¤¶È16 #define CFG_COMMON_STRING_32 32 // ͨÓÃ×Ö·û´®³¤¶È32 #define CFG_COMMON_STRING_64 64 // ͨÓÃ×Ö·û´®³¤¶È64 #define CFG_COMMON_STRING_128 128 // ͨÓÃ×Ö·û´®³¤¶È128 #define CFG_COMMON_STRING_256 256 // ͨÓÃ×Ö·û´®³¤¶È256 #define CFG_COMMON_STRING_512 512 // ͨÓÃ×Ö·û´®³¤¶È512 #define AV_CFG_Channel_Name_Len 64 // ͨµÀÃû³Æ³¤¶È #define CFG_MAX_CHANNEL_NAME_LEN 256 // ͨµÀÃû³Æ×î´ó³¤¶È #define AV_CFG_Weekday_Num 7 // Ò»ÖÜÌìÊý #define AV_CFG_Max_TimeSection 6 // ʱ¼ä¶ÎÊýÁ¿ #define AV_CFG_Device_ID_Len 64 // É豸ID³¤¶È #define AV_CFG_IP_Address_Len 32 // ip³¤¶È #define AV_CFG_IP_Address_Len_EX 40 // À©Õ¹IPµØÖ·×Ö·û´®³¤¶È, Ö§³ÖIPV6 #define AV_CFG_User_Name_Len 64 // Óû§Ãû³¤¶È #define AV_CFG_Password_Len 64 // ÃÜÂ볤¶È #define AV_CFG_Protocol_Len 32 // ЭÒéÃû³¤¶È #define AV_CFG_Serial_Len 32 // ÐòÁкų¤¶È #define AV_CFG_Device_Class_Len 16 // É豸ÀàÐͳ¤¶È #define AV_CFG_Device_Type_Len 32 // É豸¾ßÌåÐͺų¤¶È #define AV_CFG_Device_Name_Len 128 // »úÆ÷Ãû³Æ #define AV_CFG_Address_Len 128 // »úÆ÷²¿ÊðµØµã #define AV_CFG_Max_Path 260 // ·¾¶³¤¶È #define AV_CFG_Max_Split_Window 128 // ×î´ó·Ö¸î´°¿ÚÊýÁ¿ #define AV_CFG_Monitor_Favorite_In_Channel 64 // ÿ¸öÊä³öͨµÀµÄ×î´óÂÖѵ»­ÃæÊÕ²ØÊýÁ¿ #define AV_CFG_Monitor_Favorite_Name_Len 64 // »­ÃæÊÕ²ØÃû³Æ³¤¶È #define AV_CFG_Max_Monitor_Favorite_Window 64 // »­ÃæÊղصÄ×î´ó´°¿ÚÊýÁ¿ #define AV_CFG_Max_Split_Group 64 // ·Ö¸î×î´ó·Ö×éÊýÁ¿ #define AV_CFG_Max_Split_Mode 32 // ·Ö¸îģʽ×î´óÊýÁ¿ #define AV_CFG_Raid_Name_Len 64 // RAIDÃû³Æ³¤¶È #define AV_CFG_Max_Rail_Member 32 // µ¥¸öRAID°üº¬´ÅÅÌÊý #define AV_CFG_Max_Encode_Main_Format 3 // Ö÷ÂëÁ÷±àÂëÀàÐÍÊý #define AV_CFG_Max_Encode_Extra_Format 3 // ¸¨ÂëÁ÷±àÂëÀàÐÍÊý #define AV_CFG_Max_Encode_Snap_Format 3 // ץͼ±àÂëÀàÐÍÊý #define AV_CFG_Max_VideoColor 24 // ÿ¸öͨµÀ×î´óÊÓÆµÊäÈëÑÕÉ«ÅäÖÃÊýÁ¿ #define AV_CFG_Custom_Title_Len 1024 // ×Ô¶¨Òå±êÌâÃû³Æ³¤¶È(À©³äµ½1024) #define AV_CFG_Custom_TitleType_Len 32 // ×Ô¶¨Òå±êÌâÀàÐͳ¤¶È #define AV_CFG_Max_Video_Widget_Cover 16 // ±àÂëÇøÓò¸²¸Ç×î´óÊýÁ¿ #define AV_CFG_Max_Video_Widget_Custom_Title 8 // ±àÂëÎï¼þ×Ô¶¨Òå±êÌâ×î´óÊýÁ¿ #define AV_CFG_Max_Video_Widget_Sensor_Info 2 // ±àÂëÎï¼þµþ¼Ó´«¸ÐÆ÷ÐÅÏ¢µÄ×î´óÊýÄ¿ #define AV_CFG_Max_Description_Num 4 // µþ¼ÓÇøÓòÃèÊöÐÅÏ¢µÄ×î´ó¸öÊý #define AV_CFG_Group_Name_Len 64 // ·Ö×éÃû³Æ³¤¶È #define AV_CFG_DeviceNo_Len 32 // É豸±àºÅ³¤¶È #define AV_CFG_Group_Memo_Len 128 // ·Ö×é˵Ã÷³¤¶È #define AV_CFG_Max_Channel_Num 1024 // ×î´óͨµÀÊýÁ¿ #define AV_CFG_Time_Format_Len 32 // ʱ¼ä¸ñʽ³¤¶È #define AV_CFG_Max_White_List 1024 // °×Ãûµ¥ÊýÁ¿ #define AV_CFG_Max_Black_List 1024 // ºÚÃûµ¥ÊýÁ¿ #define AV_CFG_Filter_IP_Len 96 // ¹ýÂËIP×î´ó³¤¶È #define AV_CFG_Max_ChannelRule 32 // ͨµÀ´æ´¢¹æÔò×î´ó³¤¶È, ½öͨµÀ²¿·Ö #define AV_CFG_Max_DBKey_Num 64 // ʼþ¹Ø¼ü×ÖÊýÁ¿ #define AV_CFG_DBKey_Len 32 // ʼþ¹Ø¼ü×Ö³¤¶È #define AV_CFG_Max_Summary_Len 1024 // ÕªÒª³¤¶È #define AV_CFG_Max_Event_Title_Num 32 // ʼþ±êÌâ×î´óÊýÁ¿ #define AV_CFG_Max_Tour_Link_Num 128 // Áª¶¯ÂÖѲ×î´óÊýÁ¿ #define AV_CFG_PIP_BASE 1000 // »­Öл­·Ö¸îģʽ»ù´¡Öµ #define DES_KEY_LEN 8 // DESÃÜÔ¿µÄ×Ö½Ú³¤¶È #define DES_KEY_NUM 3 // 3DESÃÜÔ¿µÄ¸öÊý #define AES_KEY_LEN 32 // AESÃÜÔ¿µÄ×Ö½Ú³¤¶È #define MAX_TIME_SCHEDULE_NUM 8 // ʱ¼ä±íÔªËØ¸öÊý #define MAX_SCENE_SUBTYPE_LEN 64 // ³¡¾°×ÓÀàÐÍ×Ö·û´®³¤¶È #define MAX_SCENE_SUBTYPE_NUM 32 // ³¡¾°×ÓÀàÐÍ×î´ó¸öÊý #define MAX_VIDEO_IN_FOCUS 32 // µ¥Í¨µÀ×î´ó¾Û½¹ÅäÖøöÊý #define MAX_TIMESPEEDLIMIT_NUM 16 // ×î´óʱ¼ä¶ÎÏÞËÙÅäÖøöÊý #define MAX_VOICEALERT_NUM 64 // ×î´óÓïÒôÌáʾÅäÖøöÊý #define CFG_MAX_LOWER_MATRIX_NUM 16 // ×î´óÏÂλ¾ØÕóÊýÁ¿ #define CFG_MAX_LOWER_MATRIX_INPUT 64 // ×î´óÏÂλ¾ØÕóÊäÈëͨµÀÊý #define CFG_MAX_LOWER_MATRIX_OUTPUT 32 // ×î´óÏÂλ¾ØÕóÊä³öͨµÀÊý #define CFG_MAX_AUDIO_MATRIX_INPUT 32 // ÒôƵ¾ØÕó×î´óÊäÈëͨµÀÊý #define CFG_MAX_AUDIO_OUTPUT_CHN 32 // ÒôƵ¾ØÕó×î´óÊä³öͨµÀÊý #define CFG_MAX_AUDIO_MATRIX_NUM 4 // ×î´óÒôƵ¾ØÕóÊýÁ¿ #define CFG_MAX_AUDIO_MATRIX_OUTPUT 8 // ÿ¸öÒôƵ¾ØÕóÖ§³ÖµÄ×î´óÊä³öͨµÀÊý #define CFG_MAX_VIDEO_IN_DEFOG 3 // ÿ¸öͨµÀ×î¶à͸ÎíÅäÖøöÊý #define CFG_MAX_INFRARED_BOARD_TEMPLATE_NUM 16 // ×î´óºìÍâÃæ°åÄ£°åÊýÁ¿ #define CFG_MAX_INFRARED_KEY_NUM 128 // ×î´óºìÍâÃæ°å°´¼üÊýÁ¿ #define CFG_MAX_INFRARED_BOARD_NUM 16 // ×î´óºìÍâÃæ°åÊýÁ¿ #define CFG_MAX_VTO_NUM 128 // ×î´óÃſڻúÊýÁ¿ #define MAX_PHONE_NUMBER_LEN 32 // µç»°ºÅÂë×î´ó³¤¶È #define MAX_AUDIO_OUTPUT_NUM 16 // ÒôƵÊä³ö×î´óͨµÀÊý #define MAX_AUDIO_INPUT_NUM 32 // ÒôƵÊäÈë×î´óͨµÀÊý #define MAX_LIGHT_GLOBAL_NUM 16 // ÀÖ³È״̬µÆ×î´óÊýÄ¿ #define MAX_AUDIO_MIX_NUM 16 // »ìºÏÒôƵ×î´óͨµÀÊý #define MAX_PSTN_SERVER_NUM 8 // ×î´ó±¨¾¯µç»°·þÎñÆ÷Êý #define MAX_ALARM_CHANNEL_NUM 32 // ×î´ó±¨¾¯Í¨µÀÊý #define MAX_ALARM_DEFENCE_TYPE_NUM 8 // ×î´ó±¨¾¯·ÀÇøÀàÐÍÊý #define MAX_ALARM_SENSE_METHOD_NUM 16 // ×î´ó±¨¾¯¸ÐÓ¦Æ÷·½Ê½Êý #define MAX_EXALARMBOX_PROTOCOL_NUM 8 // ×î´óÖ§³ÖÀ©Õ¹±¨¾¯ºÐЭÒéÊý #define MAX_EXALARM_CHANNEL_NUM 256 // ×î´ó±¨¾¯Í¨µÀÊý #define MAX_EXALARMBOX_NUM 8 // ×î´ó±¨¾¯ºÐ×ÓÊý #define MAX_MAILTITLE_LEN 256 // ×î´óÓʼþ±êÌⳤ¶È #define MAX_DEVICE_ID_LEN 48 // ×î´óÉ豸±àÂ볤¶È #define MAX_DEVICE_MARK_LEN 64 // ×î´óÉ豸ÃèÊö³¤¶È #define MAX_BRAND_NAME_LEN 64 // ×î´óÉè±¸Æ·ÅÆ³¤¶È #define MAX_ADDRESS_NUM 16 // ×î´ó´®¿ÚµØÖ·¸öÊý #define MAX_AIRCONDITION_NUM 16 // ×î´ó¿Õµ÷É豸¸öÊý #define CFG_MAX_COLLECTION_NUM 64 // ×î´óÔ¤°¸Êý #define MAX_FLOOR_NUM 128 // ×î´óÂ¥²ãÊý #define MAX_SEAT_NUM 8 // ×î´ó×ùλÊý #define AV_CFG_Local_Device_ID "Local" // ±¾µØÉ豸ID #define AV_CFG_Remote_Devce_ID "Remote" // Ô¶³ÌÉ豸ID #define MAX_LANE_CONFIG_NUMBER 32 // ³µµÀ×î´ó¸öÊý #define MAX_PRIORITY_NUMBER 256 // Î¥ÕÂÓÅÏȼ¶°üº¬Î¥ÕÂ×î´ó¸öÊý #define MAX_CATEGORY_TYPE_NUMBER 128 // ×ÓÀà±ðÀàÐÍÊý #define MAX_TRIGGER_MODE_NUMBER 64 // ´¥·¢Ä£Ê½¸öÊý #define MAX_ABNORMAL_DETECT_TYPE 32 // Òì³£¼ì²âÀàÐÍÊý #define MAX_ABNORMAL_THRESHOLD_LEN 32 // Òì³£¼ì²âãÚÖµ×î´ó¸öÊý #define TS_POINT_NUM 3 // ´¥ÃþÆÁУ׼µãÊý #define CFG_FILTER_IP_LEN 96 // ¹ýÂËIP×î´ó³¤¶È #define CFG_MAX_TRUST_LIST 1024 // °×Ãûµ¥ÊýÁ¿ #define CFG_MAX_BANNED_LIST 1024 // ºÚÃûµ¥ÊýÁ¿ #define VIDEOIN_TSEC_NUM 3 // VideoIn ϵÁÐЭÒéʱ¼ä¶Î¸öÊý£¬Ä¿Ç°ÓÐÆÕͨ¡¢°×Ìì¡¢ºÚÒ¹ÈýÖÖ #define MAX_RECT_COUNT 4 // µ¥¸öͨµÀÖ§³ÖµÄÂíÈü¿ËÇøÓò×î´ó¸öÊý #define CFG_MAX_SSID_LEN 36 // SSID×î´ó³¤¶È #define MAX_OUTAUDIO_CHANNEL_COUNT 16 // ×î´óÒôƵÊä³öͨµÀÊý #define MAX_INAUDIO_CHANNEL_COUNT 32 // ×î´óÒôƵÊäÈëͨµÀÊý #define MAX_FREQUENCY_COUNT 16 // ×î´óƵÂʶθöÊý #define MAX_NTP_SERVER 4 // ×î´ó±¸ÓÃNTP·þÎñÆ÷µØÖ· #define MAX_ACCESS_TEXTDISPLAY_LEN 32 // ×î´óÃŽû¿ØÖÆÏÔʾÎÄ×Ö³¤¶È #define CFG_MAX_NVR_ENCRYPT_COUNT 4 // ÿ¸öͨµÀ×î¶à¼ÓÃÜÅäÖøöÊý #define MAX_IP_ADDR_LEN 16 // IPµØÖ·×Ö·û´®³¤¶È #define MAX_PRIVACY_MASKING_COUNT 64 // µ¥¸öͨµÀÒþ˽ÕÚµ²ÅäÖøöÊý #define MAX_ALL_SNAP_CAR_COUNT 32 // ËùÓгµ¿ªÕ¢ÖÖÀà¸öÊý #define CFG_MAX_PLATE_NUMBER_LEN 32 // ×î´ó³µÅƺÅÂ볤¶È #define CFG_MAX_SN_LEN 32 // ×î´óÉ豸ÐòÁкų¤¶È #define CFG_MAX_ACCESS_CONTROL_ADDRESS_LEN 64 // ×î´óµÄµØÖ·³¤¶È #define MAX_CFG_APN_NAME 32 // WirelessÖнÓÈëÍøÂçÃû³¤¶È #define MAX_CFG_DAIL_NUMBER 32 // WirelessÖв¦ºÅºÅÂ볤¶È #define MAX_GROUP_ID_LEN 64 // ×î´ó²¼¿Ø×éID³¤¶È #define MAX_COLOR_NAME_LEN 32 // ×î´óÑÕÉ«Ãû³¤¶È #define MAX_COLOR_HEX_LEN 8 // ×î´óHEXÑÕÉ«³¤¶È #define MAX_LINK_GROUP_NUM 20 // Áª¶¯µÄ²¼¿Ø×é×î´óÊýÁ¿ #define MAX_CROWD_DISTRI_MAP_REGION_POINT_NUM 20 // ÇøÓò¼ì²â×ø±ê¸öÊý #define MAX_PEOPLESTATREGIONS_NUM 8 // ÈËÊýͳ¼ÆÇøÓò¸öÊý #define MAX_AUDIOCHANNELS_ARRAY_NUM 8 // ÊÓÆµÍ¨µÀµÄ°éÒôͨµÀºÅÁбíÊý×éµÄ×î´ó¸öÊý #define MAX_NUMBER_STAT_MAULT_NUM 32 // ×î´ó¿ÍÁ÷Á¿Í³¼Æ³¡¾°PD¸öÊý #define CFG_MAX_DAY_NIGHT_MODE 3 // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦¶à¸öÅäÖÃ(·Ö±ð±íʾ°×Ìì¡¢ºÚÒ¹¡¢ÆÕͨ) /************************************************************************ ** ÅäÖÃÃüÁî ¶ÔÓ¦CLIENT_GetNewDevConfigºÍCLIENT_SetNewDevConfig½Ó¿Ú ***********************************************************************/ #define CFG_CMD_ENCODE "Encode" // ͼÏñͨµÀÊôÐÔÅäÖÃ(¶ÔÓ¦ CFG_ENCODE_INFO) #define CFG_CMD_RECORD "Record" // ¶¨Ê±Â¼ÏñÅäÖÃ(¶ÔÓ¦ CFG_RECORD_INFO) #define CFG_CMD_ALARMINPUT "Alarm" // ÍⲿÊäÈ뱨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_ALARMIN_INFO) #define CFG_CMD_NETALARMINPUT "NetAlarm" // ÍøÂ籨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_NETALARMIN_INFO) #define CFG_CMD_MOTIONDETECT "MotionDetect" // ¶¯Ì¬¼ì²â±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_MOTION_INFO) #define CFG_CMD_VIDEOLOST "LossDetect" // ÊÓÆµ¶ªÊ§±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_VIDEOLOST_INFO) #define CFG_CMD_VIDEOBLIND "BlindDetect" // ÊÓÆµÕÚµ²±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_SHELTER_INFO) #define CFG_CMD_STORAGENOEXIST "StorageNotExist" // ÎÞ´æ´¢É豸±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_STORAGENOEXIST_INFO) #define CFG_CMD_STORAGEFAILURE "StorageFailure" // ´æ´¢É豸·ÃÎʳö´í±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_STORAGEFAILURE_INFO) #define CFG_CMD_STORAGELOWSAPCE "StorageLowSpace" // ´æ´¢É豸¿Õ¼ä²»×㱨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_STORAGELOWSAPCE_INFO) #define CFG_CMD_NETABORT "NetAbort" // ÍøÂç¶Ï¿ª±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_NETABORT_INFO) #define CFG_CMD_IPCONFLICT "IPConflict" // IP³åÍ»±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_IPCONFLICT_INFO) #define CFG_CMD_SNAPCAPINFO "SnapInfo" // ץͼÄÜÁ¦²éѯ(¶ÔÓ¦ CFG_SNAPCAPINFO_INFO) #define CFG_CMD_NAS "NAS" // ÍøÂç´æ´¢·þÎñÆ÷ÅäÖÃ(¶ÔÓ¦ CFG_NAS_INFO) #define CFG_CMD_PTZ "Ptz" // ÔÆÌ¨ÅäÖÃ(¶ÔÓ¦ CFG_PTZ_INFO) #define CFG_CMD_PTZ_AUTO_MOVEMENT "PtzAutoMovement" // ÔÆÌ¨¶¨Ê±¶¯×÷ÅäÖÃ(¶ÔÓ¦ CFG_PTZ_AUTOMOVE_INFO) #define CFG_CMD_WATERMARK "WaterMark" // ÊÓÆµË®Ó¡ÅäÖÃ(¶ÔÓ¦ CFG_WATERMARK_INFO) #define CFG_CMD_ANALYSEGLOBAL "VideoAnalyseGlobal" // ÊÓÆµ·ÖÎöÈ«¾ÖÅäÖÃ(¶ÔÓ¦ CFG_ANALYSEGLOBAL_INFO) #define CFG_CMD_ANALYSEMODULE "VideoAnalyseModule" // ÎïÌåµÄ¼ì²âÄ£¿éÅäÖÃ(¶ÔÓ¦ CFG_ANALYSEMODULES_INFO) #define CFG_CMD_ANALYSERULE "VideoAnalyseRule" // ÊÓÆµ·ÖÎö¹æÔòÅäÖÃ(¶ÔÓ¦ CFG_ANALYSERULES_INFO) #define CFG_CMD_ANALYSESOURCE "VideoAnalyseSource" // ÊÓÆµ·ÖÎö×ÊÔ´ÅäÖÃ(¶ÔÓ¦ CFG_ANALYSESOURCE_INFO) #define CFG_CMD_RAINBRUSH "RainBrush" // ÓêË¢ÅäÖÃ(¶ÔÓ¦ CFG_RAINBRUSH_INFO) #define CFG_CMD_INTELLECTIVETRAFFIC "TrafficSnapshot" // ÖÇÄܽ»Í¨×¥ÅÄ(CFG_TRAFFICSNAPSHOT_INFO ֻΪ¼æÈÝÀÏЭÒ飻ÇëʹÓÃCFG_CMD_TRAFFICSNAPSHOT_MULTI) #define CFG_CMD_TRAFFICGLOBAL "TrafficGlobal" // ÖÇÄܽ»Í¨È«¾ÖÅäÖÃ(CFG_TRAFFICGLOBAL_INFO) #define CFG_CMD_DEV_GENERRAL "General" // ÆÕͨÅäÖà (¶ÔÓ¦ CFG_DEV_DISPOSITION_INFO) #define CFG_CMD_ATMMOTION "FetchMoneyOverTime" // ATMÈ¡¿î³¬Ê±ÅäÖÃ(¶ÔÓ¦ CFG_ATMMOTION_INFO) #define CFG_CMD_DEVICESTATUS "DeviceStatus" // É豸״̬ÐÅÏ¢(¶ÔÓ¦ CFG_DEVICESTATUS_INFO) #define CFG_CMD_HARDDISKTANK "HardDiskTank" // À©Õ¹¹ñÐÅÏ¢(¶ÔÓ¦ CFG_HARDISKTANKGROUP_INFO) #define CFG_CMD_RAIDGROUP "RaidGroup" // Raid×éÐÅÏ¢(¶ÔÓ¦ CFG_RAIDGROUP_INFO) #define CFG_CMD_STORAGEPOOLGROUP "StoragePoolGroup" // ´æ´¢³Ø×éÐÅÏ¢(¶ÔÓ¦ CFG_STORAGEPOOLGROUP_INFO) #define CFG_CMD_STORAGEPOSITIONGROUP "StoragePositionGroup" // Îļþϵͳ×éÐÅÏ¢(¶ÔÓ¦ CFG_STORAGEPOSITIONGROUP_INFO) #define CFG_CMD_VIDEOINDEVGROUP "VideoInDevGroup" // ǰ¶ËÉ豸×éÐÅÏ¢(¶ÔÓ¦ CFG_VIDEOINDEVGROUP_INFO) #define CFG_CMD_DEVRECORDGROUP "DevRecordGroup" // ͨµÀ¼Ïñ×é״̬(¶ÔÓ¦ CFG_DEVRECORDGROUP_INFO) #define CFG_CMD_IPSSERVER "IpsServer" // ·þÎñ״̬(¶ÔÓ¦ CFG_IPSERVER_STATUS) #define CFG_CMD_SNAPSOURCE "SnapSource" // ץͼԴÅäÖÃ(¶ÔÓ¦ CFG_SNAPSOURCE_INFO) #define CFG_CMD_DHRADER "DahuaRadar" // ´ó»ªÀ×´ïÅäÖã¨Í¸´« json ´®£© #define CFG_CMD_DHRADER_PP "DahuaRadar" // ´ó»ªÀ×´ïÅäÖ㨽âÎöΪ½á¹¹Ì壬¶ÔÓ¦ CFG_DAHUA_RADAR£© #define CFG_CMD_TRANSRADER "TransRadar" // ´¨ËÕÀ×´ïÅäÖà #define CFG_CMD_LANDUNRADER "LanDunRadar" // À¶¶ÜÀ×´ïÅäÖà #define CFG_CMD_LANDUNCOILS "LanDunCoils" // À¶¶ÜÏßȦÅäÖà #define CFG_CMD_MATRIX_SPOT "SpotMatrix" // SpotÊÓÆÁ¾ØÕó(¶ÔÓ¦ CFG_VIDEO_MATRIX) #define CFG_CMD_HDVR_DSP "DspEncodeCap" // HDVR´«Ã¿¸öÊý×ÖͨµÀµÄdspÐÅÏ¢ Êý×ÖͨµÀ¿ÉÒÔÁ¬IPC»òDVR Ò²¾ÍÊÇIPC»òDVRµÄÄÜÁ¦(¶ÔÓ¦CFG_DSPENCODECAP_INFO) #define CFG_CMD_HDVR_ATTR_CFG "SystemAttr" // HDVR´«Ã¿¸öÊý×ÖͨµÀµÄËùÁ¬É豸µÄÐÅÏ¢ #define CFG_CMD_CHANNEL_HOLIDAY "HolidaySchedule" // ¼ÙÆÚ¼Ïñ¼Æ»®(¶ÔÓ¦½á¹¹Ìå CFG_HOLIDAY_SCHEDULEÊý×é) #define CFG_CMD_HEALTH_MAIL "HealthMail" // ½¡¿µÓʼþ #define CFG_CMD_CAMERAMOVE "IntelliMoveDetect" // ÉãÏñ»úÒÆÎ»Õì²âÁª¶¯ #define CFG_CMD_SPLITTOUR "SplitTour" // ÊÓÆµ·Ö¸îÂÖѲÅäÖÃ(¶ÔÓ¦ CFG_VIDEO_MATRIX) #define CFG_CMD_VIDEOENCODEROI "VideoEncodeROI" // ÊÓÆµ±àÂëROI(Region of Intrest)ÅäÖà #define CFG_CMD_VIDEO_INMETERING "VideoInMetering" // ²â¹âÅäÖÃ(¶ÔÓ¦ CFG_VIDEO_INMETERING_INFO) #define CFG_CMD_TRAFFIC_FLOWSTAT "TrafficFlowStat" // ½»Í¨Á÷Á¿Í³¼ÆÅäÖÃ(¶ÔÓ¦ CFG_TRAFFIC_FLOWSTAT_INFO) #define CFG_CMD_HDMIMATRIX "HDMIMatrix" // HDMIÊÓÆµ¾ØÕóÅäÖà #define CFG_CMD_VIDEOINOPTIONS "VideoInOptions" // ÊÓÆµÊäÈëǰ¶ËÑ¡Ïî(¶ÔÓ¦ CFG_VIDEO_IN_OPTIONS) #define CFG_CMD_RTSP "RTSP" // RTSPµÄÅäÖÃ( ¶ÔÓ¦ CFG_RTSP_INFO_INºÍCFG_RTSP_INFO_OUT ) #define CFG_CMD_TRAFFICSNAPSHOT "TrafficSnapshotNew" // ÖÇÄܽ»Í¨×¥ÅÄ(CFG_TRAFFICSNAPSHOT_INFO ·Ï³ý£¬ÇëʹÓà CFG_CMD_TRAFFICSNAPSHOT_MULTI_EX) #define CFG_CMD_TRAFFICSNAPSHOT_MULTI "TrafficSnapshotNew" // ÖÇÄܽ»Í¨×¥ÅÄ(CFG_TRAFFICSNAPSHOT_NEW_INFO ·Ï³ý£¬ÇëʹÓà CFG_CMD_TRAFFICSNAPSHOT_MULTI_EX) #define CFG_CMD_TRAFFICSNAPSHOT_MULTI_EX "TrafficSnapshotNew" // ÖÇÄܽ»Í¨×¥ÅÄ(CFG_TRAFFICSNAPSHOT_NEW_EX_INFO) #define CFG_CMD_MULTICAST "Multicast" // ×é²¥µÄÏà¹ØÅäÖÃ(¶ÔÓ¦ CFG_MULTICASTS_INFO_INºÍCFG_MULTICASTS_INFO_OUT) #define CFG_CMD_VIDEODIAGNOSIS_PROFILE "VideoDiagnosisProfile" // ÊÓÆµÕï¶Ï²ÎÊý±í(CFG_VIDEODIAGNOSIS_PROFILE) #define CFG_CMD_VIDEODIAGNOSIS_TASK "VideoDiagnosisTask" // ÊÓÆµÕï¶ÏÈÎÎñ±í(CFG_VIDEODIAGNOSIS_TASK) #define CFG_CMD_VIDEODIAGNOSIS_PROJECT "VideoDiagnosisProject" // ÊÓÆµÕï¶Ï¼Æ»®±í(CFG_VIDEODIAGNOSIS_PROJECT) #define CFG_CMD_VIDEODIAGNOSIS_REALPROJECT "VideoDiagnosisRealProject" // ÊÓÆµÕï¶Ïʵʱ¼Æ»®±í(CFG_VIDEODIAGNOSIS_REALPROJECT) #define CFG_CMD_VIDEODIAGNOSIS_GLOBAL "VideoDiagnosisGlobal" // ÊÓÆµÕï¶ÏÈ«¾Ö±í(CFG_VIDEODIAGNOSIS_GLOBAL) #define CFG_CMD_VIDEODIAGNOSIS_TASK_ONE "VideoDiagnosisTask.x" // ÊÓÆµÕï¶ÏÈÎÎñ±í(CFG_VIDEODIAGNOSIS_TASK) #define CFG_CMD_TRAFFIC_WORKSTATE "WorkState" // É豸¹¤×÷״̬Ïà¹ØÅäÖÃ(¶ÔÓ¦ CFG_TRAFFIC_WORKSTATE_INFO) #define CFG_CMD_STORAGEDEVGROUP "StorageDevGroup" // ´ÅÅÌ´æ´¢×éÅäÖÃ(¶ÔÓ¦ CFG_STORAGEGROUP_INFO) #define CFG_CMD_RECORDTOGROUP "RecordToGroup" // ¼Ïñ´æ·ÅµÄ´æ´¢×éÅäÖÃ(¶ÔÓ¦ CFG_RECORDTOGROUP_INFO) #define CFG_CMD_INTELLITRACKSCENE "IntelliTrackScene" // ÖÇÄܸú×Ù³¡¾°ÅäÖÃ(CFG_INTELLITRACKSCENE_INFO) #define CFG_CMD_IVSFRAM_RULE "IVSFramRule" // ÖÇÄÜÖ¡¹æÔòÅäÖÃ(¶ÔÓ¦ CFG_ANALYSERULES_INFO) #define CFG_CMD_RECORD_STORAGEPOINT "RecordStoragePoint" // ¼Ïñ´æ´¢µãÓ³ÉäÅäÖÃ(¶ÔÓ¦ CFG_RECORDTOSTORAGEPOINT_INFO) #define CFG_CMD_RECORD_STORAGEPOINT_EX "RecordStoragePoint" // ¼Ïñ´æ´¢µãÓ³ÉäÅäÖÃÀ©Õ¹ (¶ÔÓ¦ CFG_RECORDTOSTORAGEPOINT_EX_INFO) #define CFG_CMD_MD_SERVER "MetaDataServer" // ÔªÊý¾Ý·þÎñÆ÷ÅäÖÃ(¶ÔÓ¦ CFG_METADATA_SERVER½á¹¹Ìå) #define CFG_CMD_CHANNELTITLE "ChannelTitle" // ͨµÀÃû³Æ(¶ÔÓ¦ AV_CFG_ChannelName) #define CFG_CMD_RECORDMODE "RecordMode" // ¼Ïñģʽ(¶ÔÓ¦ AV_CFG_RecordMode) #define CFG_CMD_VIDEOOUT "VideoOut" // ÊÓÆµÊä³öÊôÐÔ(¶ÔÓ¦ AV_CFG_VideoOutAttr) #define CFG_CMD_REMOTEDEVICE "RemoteDevice" // Ô¶³ÌÉ豸ÐÅÏ¢(¶ÔÓ¦ AV_CFG_RemoteDeviceÊý×é, ͨµÀÎÞ¹Ø) #define CFG_CMD_REMOTECHANNEL "RemoteChannel" // Ô¶³ÌͨµÀ(¶ÔÓ¦ AV_CFG_RemoteChannel) #define CFG_CMD_MONITORTOUR "MonitorTour" // »­ÃæÂÖѵÅäÖÃ(¶ÔÓ¦ AV_CFG_MonitorTour) #define CFG_CMD_MONITORCOLLECTION "MonitorCollection" // »­ÃæÊÕ²ØÅäÖÃ(¶ÔÓ¦ AV_CFG_MonitorCollection) #define CFG_CMD_DISPLAYSOURCE "DisplaySource" // »­Ãæ·Ö¸îÏÔʾԴÅäÖÃ(¶ÔÓ¦ AV_CFG_ChannelDisplaySource)(·Ï³ý£¬²»½¨ÒéʹÓÃ) #define CFG_CMD_RAID "Raid" // ´æ´¢¾í×éÅäÖÃ(¶ÔÓ¦ AV_CFG_RaidÊý×é, ͨµÀÎÞ¹Ø) #define CFG_CMD_RECORDSOURCE "RecordSource" // ¼ÏñÔ´ÅäÖÃ(¶ÔÓ¦ AV_CFG_RecordSource) #define CFG_CMD_VIDEOCOLOR "VideoColor" // ÊÓÆµÊäÈëÑÕÉ«ÅäÖÃ(¶ÔÓ¦ AV_CFG_ChannelVideoColor) #define CFG_CMD_VIDEOWIDGET "VideoWidget" // ÊÓÆµ±àÂëÎï¼þÅäÖÃ(¶ÔÓ¦ AV_CFG_VideoWidget) #define CFG_CMD_STORAGEGROUP "StorageGroup" // ´æ´¢×éÐÅÏ¢(¶ÔÓ¦ AV_CFG_StorageGroupÊý×é, ͨµÀÎÞ¹Ø) #define CFG_CMD_LOCALS "Locales" // ÇøÓòÅäÖÃ(¶ÔÓ¦ AV_CFG_Locales) #define CFG_CMD_LANGUAGE "Language" // ÓïÑÔÑ¡Ôñ(¶ÔÓ¦ AV_CFG_Language) #define CFG_CMD_ACCESSFILTER "AccessFilter" // ·ÃÎʵØÖ·¹ýÂË(¶ÔÓ¦ AV_CFG_AccessFilter) #define CFG_CMD_AUTOMAINTAIN "AutoMaintain" // ×Ô¶¯Î¬»¤(¶ÔÓ¦ AV_CFG_AutoMaintain) #define CFG_CMD_REMOTEEVENT "RemoteEvent" // Ô¶³ÌÉ豸ʼþ´¦Àí(¶ÔÓ¦ AV_CFG_RemoteEventÊý×é) #define CFG_CMD_MONITORWALL "MonitorWall" // µçÊÓǽÅäÖÃ(¶ÔÓ¦ AV_CFG_MonitorWallÊý×é, ͨµÀÎÞ¹Ø) #define CFG_CMD_SPLICESCREEN "VideoOutputComposite" // ÈÚºÏÆÁÅäÖÃ(¶ÔÓ¦ AV_CFG_SpliceScreenÊý×é, ͨµÀÎÞ¹Ø) #define CFG_CMD_TEMPERATUREALARM "TemperatureAlarm" // ζȱ¨¾¯ÅäÖÃ(¶ÔÓ¦ AV_CFG_TemperatureAlarm, ͨµÀÎÞ¹Ø) #define CFG_CMD_FANSPEEDALARM "FanSpeedAlarm" // ·çÉÈתËÙ±¨¾¯ÅäÖÃ(¶ÔÓ¦ AV_CFG_FanSpeedAlarm, ͨµÀÎÞ¹Ø) #define CFG_CMD_RECORDBACKUP "RecordBackupRestore" // ¼Ïñ»Ø´«ÅäÖÃ(¶ÔÓ¦ AV_CFG_RecordBackup, ͨµÀÎÞ¹Ø) #define CFG_CMD_RECORDDOWNLOADSPEED "RecordDownloadSpeed" // ¼ÏñÏÂÔØËÙ¶ÈÅäÖÃ(¶ÔÓ¦CFG_RecordDownloadSpeed) #define CFG_CMD_COMM "Comm" // ´®¿ÚÅäÖÃ(¶ÔÓ¦ CFG_COMMGROUP_INFO) #define CFG_CMD_NETWORK "Network" // ÍøÂçÅäÖÃ(¶ÔÓ¦ CFG_NETWORK_INFO) #define CFG_CMD_NASEX "NAS" // ÍøÂç´æ´¢·þÎñÆ÷ÅäÖÃ, ¶à·þÎñÆ÷(¶ÔÓ¦ CFG_NAS_INFO_EX) #define CFG_CMD_LDAP "LDAP" // LDAPÅäÖà #define CFG_CMD_ACTIVE_DIR "ActiveDirectory" // »î¶¯Ä¿Â¼ÅäÖà #define CFG_CMD_FLASH "FlashLight" // ²¹¹âµÆÅäÖÃ(¶ÔÓ¦ CFG_FLASH_LIGHT) #define CFG_CMD_AUDIO_ANALYSERULE "AudioAnalyseRule" // ÒôƵ·ÖÎö¹æÔòÅäÖÃ(¶ÔÓ¦ CFG_ANALYSERULES_INFO) #define CFG_CMD_JUDICATURE "Judicature" // ˾·¨¿Ì¼ÅäÖÃ(¶ÔÓ¦ CFG_JUDICATURE_INFO) #define CFG_CMD_GOODS_WEIGHT "CQDTSet" // ³µÔØ»õÖØÅäÖÃ(¶ÔÓ¦ CFG_GOOD_WEIGHT_INFO) #define CFG_CMD_VIDEOIN "VideoIn" // ÊäÈëͨµÀÅäÖÃ(¶ÔÓ¦ CFG_VIDEO_IN_INFO) #define CFG_CMD_ENCODEPLAN "EncodePlan" // ¿Ì¼¹âÅ̱àÂë¼Æ»®(¶ÔÓ¦ CFG_ENCODE_PLAN_INFO) #define CFG_CMD_PICINPIC "PicInPic" // ˾·¨ÉóѶ»­Öл­(¶ÔÓ¦ CFG_PICINPIC_INFO)¸ÄΪÊý×鷽ʽ£¬¼æÈÝÒÔǰµ¥¸öÅäÖ㬸ù¾Ý³¤¶ÈÇø·Ö #define CFG_CMD_BURNFULL "BurnFull" // ¿Ì¼ÂúʼþÅäÖÃ(¶ÔÓ¦ CFG_BURNFULL_INFO) #define CFG_CMD_MASTERSLAVE_GLOBAL "MasterSlaveTrackerGlobal" // Ö÷´Óʽȫ¾ÖÅäÖÃ(¶ÔÓ¦ CFG_MASTERSLAVE_GLOBAL_INFO) #define CFG_CMD_MASTERSLAVE_LINKAGE "MasterSlaveGlobal" // ǹÇòÁª¶¯È«¾ÖÅäÖÃ(¶ÔÓ¦ CFG_MASTERSLAVE_LINKAGE_INFO) #define CFG_CMD_MASTERSLAVE_GROUP "MasterSlaveGroup" // ǹÇòÁª¶¯°ó¶¨¹ØÏµÅäÖÃ(¶ÔÓ¦ CFG_MASTERSLAVE_GROUP_INFO) #define CFG_CMD_ANALYSEWHOLE "VideoAnalyseWhole" // ÊÓÆµ·ÖÎöÕûÌåÅäÖÃ(¶ÔÓ¦ CFG_ANALYSEWHOLE_INFO) #define CFG_CMD_VIDEO_IN_BOUNDARY "VideoInBoundary" // ÊÓÆµÊäÈë±ß½çÅäÖÃ(¶ÔÓ¦ CFG_VIDEO_IN_BOUNDARY) #define CFG_CMD_MONITORWALL_COLLECTION "MonitorWallCollection" // µçÊÓǽԤ°¸(¶ÔÓ¦ CFG_MONITORWALL_COLLECTIONÊý×é) #define CFG_CMD_ANALOGMATRIX "AnalogMatrix" // Ä£Äâ¾ØÕó(¶ÔÓ¦ CFG_ANALOG_MATRIX_INFO) #define CFG_CMD_ANALOG_MATRIX_PROTOCOL "AnalogMatrixProtocol" // Ä£Äâ¾ØÕóЭÒéÅäÖÃ(¶ÔÓ¦ CFG_ANALOG_MATRIX_PROTOCOLÊý×é) #define CFG_CMD_VIDEO_OUT_TITLE "VideoOutputTitle" // ÊÓÆµÊä³ö±êÌâ(¶ÔÓ¦ CFG_VIDEO_OUT_TITLE) #define CFG_CMD_DISK_FLUX_ALARM "DiskFluxAlarm" // Ó²ÅÌÊý¾ÝÁ÷Á¿±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_DISK_FLUX_INFO) #define CFG_CMD_NET_FLUX_ALARM "NetFluxAlarm" // ÍøÂçÊý¾ÝÁ÷Á¿±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_NET_FLUX_INFO) #define CFG_CMD_DVRIP "DVRIP" // ÍøÂçЭÒéÅäÖÃ(¶ÔÓ¦ CFG_DVRIP_INFO) #define CFG_CMD_PARKINGSPACE_SCREEN "ParkingSpaceScreen" // ºÍÏà»ú¶Ô½ÓµÄÇøÓòÆÁÅäÖÃ(¶ÔÓ¦ CFG_PARKINGSPACE_SCREEN_INFO ,ÊÇÊý×é£¬ÔªËØ×î´óÖµÊÇDH_PRODUCTION_DEFNITION.nMaxParkingSpaceScreen) #define CFG_CMD_PARKINGSPACE_STATUS "ParkingSpaceCellStatus" // ³µÎ»ÉèÖÃ(רÓгµÎ»ºÍÆÕͨ³µÎ»ÉèÖÃ)(¶ÔÓ¦ CFG_PARKINGSPACE_STATUS_INFO £¬ÊÇÊý×é£¬ÔªËØ×î´óÖµÊÇDH_PRODUCTION_DEFNITION.nMaxRoadWays) #define CFG_CMD_CLIENT_CUSTOM_DATA "ClientCustomData" // ƽ̨×Ô¶¨ÒåÐÅÏ¢(¶ÔÓ¦ CFG_CLIENT_CUSTOM_INFO) #define CFG_CMD_BURN_RECORD_FORMAT "BurnRecordFormat" // ¿Ì¼¸ñʽÅäÖÃ(¶ÔÓ¦ CFG_BURN_RECORD_FORMAT) #define CFG_CMD_MULTIBURN "MultiBurn" // ¶à¹âÅÌͬ²½¿Ì¼(¶ÔÓ¦ CFG_MULTIBURN_INFO)ÊÇÒ»¸öÊý×飬ÿһ¸öÔªËØ±íʾһ×é¶à¹âÅÌͬ²½¿Ì¼¼°Ð£Ñé #define CFG_CMD_ENCODE_ENCRYPT "EncodeEncrypt" // ±àÂë¼ÓÃÜÅäÖÃÐÅÏ¢( CFG_ENCODE_ENCRYPT_CHN_INFO ) #define CFG_CMD_VIDEO_IN_ZOOM "VideoInZoom" // ÔÆÌ¨Í¨µÀ±ä±¶ÅäÖÃ(¶ÔÓ¦ CFG_VIDEO_IN_ZOOM) #define CFG_CMD_SNAP "Snap" // ץͼÅäÖÃ(¶ÔÓ¦ CFG_SNAP_INFO) #define CFG_CMD_REMOTE_STORAGE_LIMIT "RemoteStorageLimit" // ÍøÂç´æ´¢·þÎñÆ÷ÏÞÖÆÅäÖÃ(¶ÔÓ¦ CFG_REMOTE_STORAGELIMIT_GROUP) #define CFG_CMD_SPECIAL_DIR "SpecialDirectoryDefine" // ÌØÊâÓÃ;Ŀ¼¶¨Òå(¶ÔÓ¦ CFG_SPECIAL_DIR_INFO) #define CFG_CMD_AUTO_STARTUP_DELAY "AutoStartupDelay" // ¹Ø»úºóÑÓʱ×Ô¶¯¿ª»úÅäÖÃ(¶ÔÓ¦ CFG_AUTO_STARTUP_DELAY_INFO) #define CFG_CMD_CANFILTER "CANFilter" // CAN͸´«ÅäÖÃ(¶ÔÓ¦ CFG_CANFILTER_LIST) #define CFG_CMD_VIDEOIN_FOCUS "VideoInFocus" // ¾Û½¹ÉèÖÃ(¶ÔÓ¦ CFG_VIDEO_IN_FOCUS) #define CFG_CMD_ENCODE_ADAPT "EncodeAdapt" // ±àÂë×ÔÊÊÓ¦ÅäÖÃ(¶ÔÓ¦ CFG_ENCODE_ADAPT_INFO) #define CFG_CMD_VIDEOANALYSE_CALIBRATE "VideoAnalyseCalibrate" // ÊÓÆµ·ÖÎö±ê¶¨ÅäÖÃ(¶ÔÓ¦ CFG_VIDEO_ANALYSE_CALIBRATEAREA) #define CFG_CMD_PTZ_PRESET "PtzPreset" // ÔÆÌ¨Ô¤ÖõãÅäÖÃ(¶ÔÓ¦½á¹¹ PTZ_PRESET_INFO) #define CFG_CMD_TIMESPEEDLIMIT "TimeSpeedLimit" // ʱ¼ä¶ÎÏÞËÙÖµÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_TIMESPEEDLIMIT_LIST) #define CFG_CMD_VOICEALERT "VoiceAlert" // ÓïÒôÌáʾÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VOICEALERT_LIST) #define CFG_CMD_DEVICEKEEPALIVE "DeviceKeepAlive" // É豸±£»îÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_DEVICEKEEPALIVELIST) #define CFG_CMD_AUDIO_SPIRIT "AudioSpirit" // ÓïÒô¼¤Àø(¶ÔÓ¦ CFG_AUDIO_SPIRIT) #define CFG_CMD_AUDIO_MATRIX_SILENCE "AudioMatrixSilence" // ¾²Òô¾ØÕóÅäÖÃ(¶ÔÓ¦ CFG_AUDIO_MATRIX_SILENCE) #define CFG_CMD_AUDIO_MATRIX "AudioMatrixConfig" // ÒôƵ¾ØÕóÅäÖÃ(¶ÔÓ¦ CFG_AUDIO_MATRIX) #define CFG_CMD_COMPOSE_CHANNEL "ComposeChannel" // ºÏ³ÉͨµÀÅäÖÃ(¶ÔÓ¦ CFG_COMPOSE_CHANNEL) #define CFG_CMD_COMPOSE_LINKAGE "ComposeLinkage" // ºÏ³ÉͨµÀÅäÖà ͥÉóÖ÷»úʹÓã¬Ö¤ÎïÇл»¹¦ÄÜ(¶ÔÓ¦ CFG_COMPOSE_CHANNEL) #define CFG_CMD_LOWER_MATRIX "LowerMatrix" // ÏÂλ¾ØÕóÅäÖÃ(¶ÔÓ¦ CFG_LOWER_MATRIX_LIST) #define CFG_CMD_INFRARED_BOARD_TEMPLATE "InfraredBoardTemplate" // ºìÍâÃæ°åÄ£°å(¶ÔÓ¦ CFG_INFRARED_BOARD_TEMPLATE_GROUP) #define CFG_CMD_INFRARED_BOARD "InfraredBoard" // ºìÍâÃæ°åÄ£°å(¶ÔÓ¦ CFG_INFRARED_BOARD_GROUP) #define CFG_CMD_VIDEOIN_EXPOSURE "VideoInExposure" // ÆØ¹âÉèÖÃ(¶ÔÓ¦ CFG_VIDEOIN_EXPOSURE_INFO) #define CFG_CMD_VIDEOIN_BACKLIGHT "VideoInBacklight" // ¹âÏß»·¾³ÅäÖÃ(¶ÔÓ¦CFG_VIDEOIN_BACKLIGHT_INFO) #define CFG_CMD_ACCESS_GENERAL "AccessControlGeneral" // ÃŽû»ù±¾ÅäÖÃ(¶ÔÓ¦ CFG_ACCESS_GENERAL_INFO) #define CFG_CMD_ACCESS_EVENT "AccessControl" // ÃŽûʼþÅäÖÃ(¶ÔÓ¦ CFG_ACCESS_EVENT_INFO Êý×é) #define CFG_CMD_WIRELESS "Wireless" // ÎÞÏßÍøÂçÁ¬½ÓÉèÖÃ(¶ÔÓ¦ CFG_WIRELESS_INFO) #define CFG_CMD_ALARMSERVER "AlarmServer" // ±¨¾¯·þÎñÆ÷ÅäÖÃ(¶ÔÓ¦ CFG_ALARMCENTER_INFO) #define CFG_CMD_COMMGLOBAL "CommGlobal" // ±¨¾¯È«¾ÖÅäÖÃ(¶ÔÓ¦ CFG_COMMGLOBAL_INFO) #define CFG_CMD_ANALOGALARM "AnalogAlarm" // Ä£ÄâÁ¿±¨¾¯Í¨µÀÅäÖÃ(¶ÔÓ¦ CFG_ANALOGALARM_INFO) #define CFG_CMD_ALARMOUT "AlarmOut" // ±¨¾¯Êä³öͨµÀÅäÖÃ(¶ÔÓ¦ CFG_ALARMOUT_INFO) #define CFG_CMD_NTP "NTP" // ʱ¼äͬ²½·þÎñÆ÷(¶ÔÓ¦ CFG_NTP_INFO) #define CFG_CMD_ALARMBELL "AlarmBell" // ¾¯ºÅÅäÖÃ(¶ÔÓ¦ CFG_ALARMBELL_INFO) #define CFG_CMD_MOBILE "Mobile" // ÒÆ¶¯Ïà¹ØÒµÎñÅäÖÃ(¶ÔÓ¦ CFG_MOBILE_INFO) #define CFG_CMD_PHONEEVENTNOTIFY "PhoneEventNotify" // (¶ÔÓ¦ CFG_PHONEEVENTNOTIFY_INFO) #define CFG_CMD_PSTN_ALARM_SERVER "PSTNAlarmServer" // µç»°±¨¾¯ÖÐÐÄÅäÖÃ(CFG_PSTN_ALARM_CENTER_INFO) #define CFG_CMD_AUDIO_OUTPUT_VOLUME "AudioOutputVolume" // ÒôƵÊä³öÒôÁ¿(CFG_AUDIO_OUTPUT_VOLUME) #define CFG_CMD_AUDIO_INPUT_VOLUME "AudioInputVolume" // ÒôƵÊäÈëÒôÁ¿(CFG_AUDIO_INPUT_VOLUME) #define CFG_CMD_LIGHT_GLOBAL "LightGlobal" // ָʾµÆ¿ØÖÆÅäÖà (CFG_LIGHT_GLOBAL) #define CFG_CMD_AUDIO_MIX_VOLUME "AudioMixVolume" // »ìºÏÒôƵÒôÁ¿£¬ÓÃÓÚÍ¥ÉóÖ÷»ú(CFG_AUDIO_MIX_VOLUME) #define CFG_CMD_ALARMKEYBOARD "AlarmKeyboard" // ±¨¾¯¼üÅÌÅäÖÃ(CFG_ALARMKEYBOARD_INFO) #define CFG_CMD_POWERFAULT "PowerFault" // µçÔ´¹ÊÕÏÅäÖÃ(CFG_POWERFAULT_INFO) #define CFG_CMD_CHASSISINTRUSION "ChassisIntrusion" // »úÏäÈëÇÖ±¨¾¯(·À²ð±¨¾¯)ÅäÖÃ(CFG_CHASSISINTRUSION_INFO) #define CFG_CMD_EXALARMBOX "ExAlarmBox" // À©Õ¹±¨¾¯ºÐÅäÖà (CFG_EXALARMBOX_INFO) #define CFG_CMD_EXALARMOUTPUT "ExAlarmOut" // À©Õ¹±¨¾¯Êä³öÅäÖÃ(CFG_EXALARMOUTPUT_INFO) #define CFG_CMD_EXALARMINPUT "ExAlarm" // À©Õ¹±¨¾¯ÊäÈëÅäÖÃ(CFG_EXALARMINPUT_INFO) #define CFG_CMD_ACCESSTIMESCHEDULE "AccessTimeSchedule" // ÃŽûË¢¿¨Ê±¼ä¶Î(CFG_ACCESS_TIMESCHEDULE_INFO) #define CFG_CMD_URGENCY "Emergency" // ½ô¼±Ê¼þÅäÖÃ(CFG_URGENCY_INFO) #define CFG_CMD_SENSORSAMPLING "SensorSampling" // ´«¸ÐÆ÷²ÉÑù(CFG_SENSORSAMPLING_INFO) #define CFG_CMD_STP "STP" // »·ÍøÅäÖÃ(CFG_STP_INFO) #define CFG_CMD_ALARM_SUBSYSTEM "AlarmSubSystem" // ±¨¾¯×ÓϵͳÅäÖÃ(CFG_ALARM_SUBSYSTEM_INFO) #define CFG_CMD_BATTERY_LOW_POWER "BatteryLowPowerAlarm" // µç³ØµçÁ¿µÍÅäÖÃ(CFG_BATTERY_LOW_POWER_INFO) #define CFG_CMD_SNAPLIKAGE "SnapLinkage" // ץͼͨµÀÁª¶¯ÍâÉèÅäÖÃ(CFG_SNAPLINKAGE_INFO) #define CFG_CMD_AUDIOINPUT "AudioInput" // ÒôƵÊäÈëÅäÖÃ(CFG_AUDIO_INPUT) #define CFG_CMD_EMAIL "Email" // Óʼþ·¢ËÍÅäÖÃ(CFG_EMAIL_INFO) #define CFG_CMD_TRAFFIC_TRANSFER_OFFLINE "TrafficTransferOffline" // ´«ÊäÀëÏßÎļþÅäÖÃ(TRAFFIC_TRANSFER_OFFLINE_INFO) #define CFG_CMD_COMMSUBSCRIBE "CommSubscribe" // ¶©ÔÄ´®¿ÚÊý¾ÝÅäÖÃ(CFG_DEVCOMM_SUBSCRIBE) #define CFG_CMD_PARKINGSPACE_LIGHT_STATE "ParkingSpaceLightState" // ³µÎ»×´Ì¬¶ÔÓ¦µÄ³µÎ»Ö¸Ê¾µÆ(CFG_PARKINGSPACE_LIGHT_STATE) #define CFG_CMD_AIRCONDITION "AirCondition" // ¿Õµ÷É豸ÅäÖÃ(CFG_AIRCONDITION_INFO) #define CFG_CMD_COMPRESS_PLAY "CompressPlay" // ѹËõ»Ø·ÅÅäÖÃ(CFG_COMPRESS_PLAY_INFO) #define CFG_CMD_BUILDING "Building" // VTOÂ¥²ãÅäÖÃ(CFG_BUILDING_INFO) #define CFG_CMD_BUILDING_EXTERNAL "BuildingExternal" // VTOÂ¥²ãÀ©Õ¹ÅäÖÃ(CFG_BUILDING_EXTERNAL_INFO) #define CFG_CMD_DIALRULE "DialRule" // ²¦ºÅ¹æÔò(CFG_DIALRULE_INFO) #define CFG_CMD_OIL_MASS_INFO "OilMassInfo" // ³µÁ¾ÓÍÏäÅäÖÃ(CFG_OIL_MASS_INFO) #define CFG_CMD_FISHEYE_INFO "FishEye" // ÓãÑÛÏêϸÐÅÏ¢ÅäÖÃ(CFG_FISHEYE_DETAIL_INFO) #define CFG_CMD_VTNOANSWER_FORWARD "VTNoAnswerForward" // ƽ̨Ï·¢ºô½ÐÎÞÓ¦´ð×ªÒÆÅäÖÃÁбí(CFG_VT_NOANSWER_FORWARD_INFO) #define CFG_CMD_VTO_CALL "VTOCall" // VTOºô½ÐÅäÖÃ(CFG_VTO_CALL_INFO) #define CFG_CMD_MACCONFLICT "MacConflict" // MAC³åÍ»±¨¾¯ÅäÖÃ(CFG_MACCONFLICT_INFO) #define CFG_CMD_IDLEMOTION_INFO "IdleMotion" // ¿ÕÏж¯×÷ÅäÖÃ(CFG_IDLE_MOTION_INFO) #define CFG_CMD_MONITORWALL_COLL_TOUR "MonitorWallCollectionTour" // µçÊÓǽԤ°¸ÂÖѲÅäÖÃ(CFG_MONITORWALL_COLLECTION_TOUR_INFO) #define CFG_CMD_PSTN_BREAK_LINE "PSTNBreakLine" // PSTN¶ÏÏßʼþÅäÖÃ(CFG_PSTN_BREAK_LINE_INFO) #define CFG_CMD_NET_COLLECTION "NetCollection" // ÍøÂç²É¼¯É豸ÅäÖÃ(CFG_NET_COLLECTION_INFO) #define CFG_CMD_ALARM_SLOT_BOND "AlarmSlotBond" // ÐéÄâSlot½ÚµãÓë¾ßÌåÎïÀíÉ豸µÄ¶ÔÓ¦¹ØÏµ(CFG_ALARM_SLOT_BOND_INFO) #define CFG_CMD_TRAFFICSTROBE "TrafficStrobe" // µÀÕ¢ÅäÖÃ(CFG_TRAFFICSTROBE_INFO) #define CFG_CMD_TRAFFICVOICE "TrafficVoiceBroadcast" // ÖÇÄܽ»Í¨ÓïÒô²¥±¨ÅäÖÃ( CFG_TRAFFICVOICE_BROADCAST) #define CFG_CMD_STANDING_TIME "StandingTime" // Í£³µÊ±¼äÅäÖÃ(CFG_STANDING_TIME_INFO) #define CFG_CMD_ENCLOSURE_TIME_SCHEDULE "EnclosureTimeSchedule" // µç×ÓΧÀ¸±¨¾¯Ê±¼ä¶ÎÅäÖÃ(CFG_ENCLOSURE_TIME_SCHEDULE_INFO) #define CFG_CMD_ECKCONFIG "ECKConfig" // Í£³µ³¡³öÈë¿Ú¿ØÖÆÆ÷ÅäÖÃ(CFG_ECKCONFIG_INFO) #define CFG_CMD_PARKING_CARD "ParkingCard" // Í£³µ³¡³öÈë¿ÚË¢¿¨±¨¾¯Ê¼þÅäÖÃ(CFG_PARKING_CARD_INFO) #define CFG_CMD_RCEMERGENCY_CALL "RCEmergencyCall" // ½ô¼±ºô½Ð±¨¾¯Ê¼þÅäÖÃ(CFG_RCEMERGENCY_CALL_INFO) #define CFG_CMD_LANES_STATE_REPORT "LanesStateReport" // ³µµÀÐÅÏ¢Éϱ¨ÅäÖÃ(CFG_LANES_STATE_REPORT) #define CFG_CMD_OPEN_DOOR_GROUP "OpenDoorGroup" // ¶àÈ˶࿪ÃÅ·½Ê½×éºÏÅäÖÃ(CFG_OPEN_DOOR_GROUP_INFO) #define CFG_CMD_OPEN_DOOR_ROUTE "OpenDoorRoute" // ¿ªÃÅ·Ïß¼¯ºÏ£¬»ò³Æ·À·´Ç±Â·ÏßÅäÖÃ(CFG_OPEN_DOOR_ROUTE_INFO) #define CFG_CMD_BURNPLAN "BurnPlan" // ¿Ì¼¼Æ»®ÅäÖÃ(¶ÔÓ¦ CFG_BURNPLAN_INFO) #define CFG_CMD_SCADA_DEV "SCADADev" // ¼ì²â²É¼¯É豸ÅäÖÃ(CFG_SCADA_DEV_INFO) #define CFG_CMD_VSP_GAYS "VSP_GAYS" // ¹«°²Ò»Ëùƽ̨½ÓÈëÅäÖÃ(CFG_VSP_GAYS_INFO) #define CFG_CMD_AUDIODETECT "AudioDetect" // ÒôƵ¼ì²â±¨¾¯ÅäÖÃ(CFG_AUDIO_DETECT_INFOÊý×é) #define CFG_CMD_GUIDESCREEN "GuideScreen" // ÓÕµ¼ÆÁϵͳÅäÖÃ(CFG_GUIDESCREEN_INFO) #define CFG_CMD_VTS_CALL_INFO "VTSCallInfo" // VTSºô½ÐÅäÖÃ(CFG_VTS_CALL_INFO) #define CFG_CMD_DEV_LIST "DevList" // É豸ÁбíÅäÖÃ(CFG_DEV_LIST_INFO) #define CFG_CMD_CALIBRATE_MATRIX "CalibrateMatrix" // Ö÷´Óʽ¸ú×ÙÆ÷±ê¶¨¾ØÕóÅäÖÃ(CFG_CALIBRATE_MATRIX_INFO, ÐÂÅäÖöÔÓ¦CFG_CALIBRATE_MATRIX_EX_INFO) #define CFG_CMD_DEFENCE_AREA_DELAY "DefenceAreaDelay" // ·ÀÇøÑÓʱÅäÖÃ(CFG_DEFENCE_AREA_DELAY_INFO) #define CFG_CMD_THERMO_GRAPHY "ThermographyOptions" // ÈȳÉÏñÉãÏñÍ·ÊôÐÔÅäÖÃ(CFG_THERMOGRAPHY_INFO) #define CFG_CMD_THERMOMETRY_RULE "ThermometryRule" // ÈȳÉÏñ²âιæÔòÅäÖÃ(CFG_RADIOMETRY_RULE_INFO) #define CFG_CMD_TEMP_STATISTICS "TemperatureStatistics" // ζÈͳ¼ÆÅäÖÃ(CFG_TEMP_STATISTICS_INFO) #define CFG_CMD_THERMOMETRY "HeatImagingThermometry" // ÈȳÉÏñ²âÎÂÈ«¾ÖÅäÖÃ(CFG_THERMOMETRY_INFO) #define CFG_CMD_FLAT_FIELD_CORRECTION "FlatFieldCorrection" // ÈȳÉÏñƽ³¡¾Û½¹Ð£×¼ÅäÖÃ(CFG_FLAT_FIELD_CORRECTION_INFO) #define CFG_CMD_THERMO_FUSION "ThermographyFusion" // ÈȳÉÏñÊÓÆµÈÚºÏÅäÖÃ(CFG_THERMO_FUSION_INFO) #define CFG_CMD_LCE_STATE "LCEState" // ÈȳÉÏñ×ÔÑлúоÖÐÉãÏñÍ·ÊôÐԵľֲ¿¶Ô±È¶ÈÔöÇ¿ÅäÖÃ(CFG_LCE_STATE_INFO) #define CFG_CMD_LIGHTING "Lighting" // µÆ¹âÉèÖÃ(CFG_LIGHTING_INFO) #define CFG_CMD_RAINBRUSHMODE "RainBrushMode" // ÓêˢģʽÏà¹ØÅäÖÃ(¶ÔÓ¦ CFG_RAINBRUSHMODE_INFOÊý×é) #define CFG_CMD_LIGHTINGSCHEDULE "LightingSchedule" // µÆ¹â¼Æ»®ÅäÖÃ(¶ÔÓ¦ CFG_LIGHTINGSCHEDULE_INFO) #define CFG_CMD_EMERGENCY_RECORD_FOR_PULL "EmergencyRecordForPull" // ½ô¼±Â¼Ïñ´æ´¢ÅäÖã¬ÓÃÓÚ¿Í»§¶ËÖ÷¶¯À­µÄ·½Ê½¡£ÔÚ¿Í»§¶ËÀ­Á÷´æ´¢Òì³£Ö®ºó£¬½øÐнô¼±Â¼Ïñ´æ´¢(CFG_EMERGENCY_RECORD_FOR_PULL_INFO) #define CFG_CMD_ALARM_SHIELD_RULE "AlarmShieldRule" // ¸æ¾¯ÆÁ±Î¹æÔò( CFG_ALARM_SHIELD_RULE_INFO) #define CFG_CMD_VIDEOIN_ANALYSERULE "VideoInAnalyseRule" // ÊÓÆµÍ¨µÀÖÇÄܹæÔòÅäÖÃ(CFG_VIDEOIN_ANALYSE_RULE_INFO) #define CFG_CMD_ACCESS_WORK_MODE "AccessWorkMode" // ÃÅËø¹¤×÷ģʽ(¶ÔÓ¦ CFG_ACCESS_WORK_MODE_INFO Êý×é) #define CFG_CMD_VIDEO_TALK_PHONE_GENERAL "VideoTalkPhoneGeneral" // ÊÓÆµ¶Ô½²µç»°Í¨ÓÃÅäÖÃ(CFG_VIDEO_TALK_PHONE_GENERAL) #define CFG_CMD_TRAFFIC_SNAP_MOSAIC "TrafficSnapMosaic" // ץͼºÏ³ÉÅäÖÃ(¶ÔÓ¦ CFG_TRAFFIC_SNAP_MOSAIC_INFO) #define CFG_CMD_SCENE_SNAP_RULE "SceneSnapShotWithRule" // ³¡¾°×¥ÅÄÉèÖÃ(¶ÔÓ¦ CFG_SCENE_SNAPSHOT_RULE_INFO) #define CFG_CMD_PTZTOUR "PtzTour" // ÔÆÌ¨Ñ²º½Â·¾¶ÅäÖÃ(¶ÔÓ¦ CFG_PTZTOUR_INFO) #define CFG_CMD_VTO_INFO "VTOInfo" // ÃſڻúÅäÖÃ(¶ÔÓ¦ CFG_VTO_LIST) #define CFG_CMD_TS_POINT "TSPoint" // ´¥ÃþÆÁУ׼ÅäÖÃ(¶ÔÓ¦ CFG_TSPOINT_INFO) #define CFG_CMD_VTH_NUMBER_INFO "VTHNumberInfo" // ÊÒÄÚ»úºÅÂëÐÅÏ¢(¶ÔÓ¦ CFG_VTH_NUMBER_INFO) #define CFG_CMD_GPS "GPS" // GPSÅäÖÃ(¶ÔÓ¦ CFG_GPS_INFO_ALL) #define CFG_CMD_VTO_BASIC_INFO "VTOBasicInfo" // VTO»ù±¾ÐÅÏ¢ (¶ÔÓ¦ CFG_VTO_BASIC_INFO) #define CFG_CMD_SHORTCUT_CALL "ShortcutCall" // ¿ì½ÝºÅÅäÖà (¶ÔÓ¦ CFG_SHORTCUT_CALL_INFO) #define CFG_CMD_GPS_LOCATION_VER "GPSLocationVersion" // ¼Ç¼¼¯GPSLocationµÄ°æ±¾ºÅ(¶ÔÓ¦ CFG_LOCATION_VER_INFO) #define CFG_CMD_PARKING_SPACE_ACCESS_FILTER "ParkingSpaceAccessFilter" // É豸¿É·ÃÎʵØÖ·¹ýÂËÅäÖÃ(¶ÔÓ¦ CFG_PARKING_SPACE_ACCESS_FILTER_INFO) #define CFG_CMD_WORK_TIME "WorkTime" // ¹¤×÷ʱ¼äÅäÖÃ(¶ÔÓ¦ CFG_WORK_TIME_INFO) #define CFG_CMD_PARKING_SPACE_LIGHT_GROUP "ParkingSpaceLightGroup" // ³µÎ»Ö¸Ê¾µÆ±¾»úÅäÖÃ(¶ÔÓ¦ CFG_PARKING_SPACE_LIGHT_GROUP_INFO_ALL) #define CFG_CMD_CUSTOM_AUDIO "CustomAudio" // ×Ô¶¨ÒåÒôƵÅäÖÃ(CFG_CUSTOM_AUDIO) #define CFG_CMD_WIFI_SEARCH "AroudWifiSearch" // É豸ͨ¹ýwifiÄ£¿éɨÃèÖÜΧÎÞÏßÉ豸ÅäÖÃ(¶ÔÓ¦ CFG_WIFI_SEARCH_INFO) #define CFG_CMD_G3G4AUTOCHANGE "G3G4AutoChange" // ³µÔØÉ豸ͨÐÅÄ£¿é3G 4G×Ô¶¯Çл»(CFG_G3G4AUTOCHANGE) #define CFG_CMD_CHECKCODE "CheckCode" // Ë¢¿¨»úУÑéÂëУÑéÅäÖÃ(¶ÔÓ¦ CFG_CHECKCODE_INFO) #define CFG_CMD_VSP_SCYDKD "VSP_SCYDKD" // ËÄ´¨Òƶ¯¿´µêÆôµÏƽ̨½ÓÈëÅäÖÃ(¶ÔÓ¦ CFG_VSP_SCYDKD_INFO) #define CFG_CMD_VIDEOIN_DAYNIGHT "VideoInDayNight" // Çò»ú»úоÈÕÒ¹ÅäÖÃ(¶ÔÓ¦ CFG_VIDEOIN_DAYNIGHT_INFO) #define CFG_CMD_PTZ_POWERUP "PowerUp" // ÔÆÌ¨¿ª»ú¶¯×÷ÉèÖÃ(¶ÔÓ¦ CFG_PTZ_POWERUP_INFO) #define CFG_CMD_AUDIO_MIX_CHANNEL "AudioMixChannel" // ÅäÖö¨Òåÿ¸ö´¿ÒôƵͨµÀµÄ×é³É(¶ÔÓ¦ CFG_AUDIO_MIX_CHANNEL_INFO_ALL) #define CFG_CMD_AUDIO_TOUCH "AudioTouch" // ±äÒô£¬¶ÔÒôµ÷½øÐб仯(¶ÔÓ¦ CFG_AUDIO_TOUCH_INFO_ALL) #define CFG_CMD_VIDEO_MOSAIC "VideoMosaic" // ÂíÈü¿Ëµþ¼ÓÅäÖÃ(¶ÔÓ¦CFG_VIDEO_MOSAIC_INFO) #define CFG_CMD_VTH_REMOTE_IPC_INFO "VTHRemoteIPCInfo" // VTHÖÐÔ¶³ÌIPCÅäÖÃ(¶ÔÓ¦ CFG_VTH_REMOTE_IPC_INFO)£¬¸ÃÅäÖÃÊÇÈ«¾ÖµÄ£¬²»Çø·ÖͨµÀ #define CFG_CMD_UNFOCUSDETECT "UnFocusDetect" // Ðé½¹¼ì²âÅäÖÃ(¶ÔÓ¦CFG_UNFOCUSDETECT_INFO) #define CFG_CMD_MOVE_DETECT "MovedDetect" // ³¡¾°±ä¸ü¼ì²âÅäÖÃ(¶ÔÓ¦CFG_MOVE_DETECT_INFO) #define CFG_CMD_FLOODLIGHT "Floodlight" // ·À»¤²ÕÕÕÃ÷µÆ¿ØÖÆÅäÖÃ(¶ÔÓ¦ CFG_FLOODLIGHT_CONTROLMODE_INFO) #define CFG_CMD_AIRFAN "AirFan" // ·À»¤²Õ·çÉÈ¿ØÖÆÅäÖÃ(¶ÔÓ¦ CFG_AIRFAN_CONTROLMODE_INFO) #define CFG_CMD_WLAN "WLan" // WLANÅäÖÃ(¶ÔÓ¦ CFG_NETAPP_WLAN) #define CFG_CMD_SMART_ENCODE "SmartEncode" // Smart H264±àÂ뷽ʽ(¶ÔÓ¦ CFG_SMART_ENCODE_INFO) #define CFG_CMD_VEHICLE_HIGH_SPEED "HighSpeed" // ³µÔظßËÙ±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_VEHICLE_HIGHSPEED_INFO ) #define CFG_CMD_VEHICLE_LOW_SPEED "LowSpeed" // ³µÔصÍËÙ±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_VEHICLE_LOWSPEED_INFO ) #define CFG_CMD_PSTN_PERSON_SERVER "PSTNPersonServer" // ¸öÈ˵绰½Ó»úÅäÖÃ(¶ÔÓ¦ CFG_PSTN_PERSON_SERVER_INFO_ALL ) #define CFG_CMD_ARM_LINK "ArmLink" // ²¼³··ÀÁª¶¯ÅäÖÃ(¶ÔÓ¦ CFG_ARMLINK_INFO ) #define CFG_CMD_CABINLED_TIME_SCHEDULE "CabinLedTimeSchedule" // ·À»¤²ÕLedÏÔʾ¼Æ»®ÅäÖÃ(¶ÔÓ¦ CFG_CABINLED_TIME_SCHEDULE) #define CFG_CMD_PSTN_TESTPLAN "PSTNTestPlan" // PSTN ²âÊԼƻ®ÅäÖÃ(¶ÔÓ¦ CFG_PSTN_TESTPLAN_INFO) #define CFG_CMD_DEFENCE_ARMMODE "DefenceArmMode" // µ¥·ÀÇø²¼³··ÀʹÄÜÅäÖÃ(¶ÔÓ¦ CFG_DEFENCE_ARMMODE_INFO) #define CFG_CMD_SENSORMODE "SensorMode" // ̽²âÆ÷°²×°¹¤×÷ģʽÅäÖÃ(¶ÔÓ¦ CFG_SENSORMODE_INFO) #define CFG_CMD_ALARMLAMP "AlarmLamp" // ¾¯µÆÅäÖÃ(¶ÔÓ¦ CFG_ALARMLAMP_INFO) #define CFG_CMD_RADAR_SPEED_MEASURE "RadarSpeedMeasure" // À×´ï²âËÙÅäÖà ÖÇÄÜÂ¥ÓîרÓÃ(¶ÔÓ¦ CFG_RADAR_SPEED_MEASURE_INFO) #define CFG_CMD_VIDEOINDEFOG "VideoInDefog" // ͸ÎíÉèÖÃÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VIDEOINDEFOG_LIST) #define CFG_CMD_RTMP "RTMP" // RTMPÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_RTMP_INFO) #define CFG_CMD_AUDIO_OUT_EQUALIZER "AudioOutEqualizer" // ÒôƵÊä³ö¾ùºâÆ÷ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_AUDIO_OUTEQUALIZER_INFO) #define CFG_CMD_AUDIO_OUT_SUPPRESSION "AudioOutSuppression" // ÒôƵÒÖÖÆÉèÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_AUDIO_SUPPRESSION_INFO) #define CFG_CMD_AUDIO_IN_CONTROL "AudioInControl" // ÒôƵÊäÈë¿ØÖÆ(¶ÔÓ¦½á¹¹ÌåCFG_AUDIO_INCONTROL_INFO) #define CFG_CMD_LASER_DIST_MEASURE "LaserDistMeasure" // ¼¤¹â²â¾àÆ÷ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_LASER_DIST_MEASURE_INFO) #define CFG_CMD_OIL_4G_OVERFLOW "Oil4GFlow" // ¸£É½ÓÍÌï4GÁ÷Á¿ãÐÖµ¼°Ä£Ê½ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_OIL_4G_OVERFLOW_INFO) #define CFG_CMD_OIL_VIDEOWIDGET_4G_FLOW "VideoWidget4GFlow" // ¸£É½ÓÍÌï4GÁ÷Á¿OSDµþ¼ÓÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_OIL_VIDEOWIDGET_4G_FLOW_INFO) #define CFG_CMD_ATMOSPHERE_OSD "AtmosphereOSD" // ÆøÏóÐÅÏ¢µþ¼ÓÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_CMD_ATMOSPHERE_OSD_INFO) #define CFG_CMD_PARK_SPACE_OUT_LIGHT "ParkSpaceOutLight" // Íâ½ÓָʾµÆÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_PARK_SPACE_OUT_LIGHT_INFO) #define CFD_CMD_VTO_CALL_INFO_EXTEND "VTOCallInfo" // VTOºô½ÐÅäÖÃÀ©Õ¹(¶ÔÓ¦½á¹¹ÌåCFG_VTO_CALL_INFO_EXTEND) #define CFG_CMD_ACCESS_TEXTDISPLAY "AccessControlTextDisplay" // ÃŽûÎÄ×ÖÌáʾÏÔʾÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_ACCESS_TEXTDISPLAY_INFO) #define CFG_CMD_NETNVR_ENCRYPT "NvrEncrypt" // º¼Ê¦´óÊÓÆµ¼ÓÃÜÏîÄ¿ÅäÖÃÐÅÏ¢£¬Éæ¼°IPCºÍNVR( CFG_NETNVR_ENCRYPT_INFO ) #define CFG_CMD_LIGHT "Light" // µÆ¹âÉ豸ÅäÖà (¶ÔÓ¦½á¹¹Ìå CFG_LIGHT_INFO) #define CFG_CMD_CURTAIN "Curtain" // ´°Á±ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_CURTAIN_INFO) #define CFG_CMD_FRESH_AIR "FreshAir" // зçÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_FRESH_AIR_INFO) #define CFG_CMD_GROUND_HEAT "GroundHeat" // µØÅ¯ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_GROUND_HEAT_INFO) #define CFG_CMD_SCENE_MODE "SceneMode" // Ç龰ģʽ(¶ÔÓ¦½á¹¹Ìå CFG_SCENE_MODE_INFO) #define CFG_CMD_AIO_APP_CONFIG "AIOAppConfig" // Óå±±ÖÇ»ÛÌìÍø²ÎÊýÉèÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_AIO_APP_CONFIG_INFO) #define CFG_CMD_HTTPS "Https" // Https·þÎñÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_HTTPS_INFO) #define CFG_CMD_NETAUTOADAPTORENCODE "NetAutoAdaptEncode" // ÍøÂç×ÔÊÊÓ¦±àÂëÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_NET_AUTO_ADAPT_ENCODE) #define CFG_CMD_USERLOCKALARM "UserLockAlarm" // µÇÂ½Ëø¶¨ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_USERLOCKALARM_INFO) #define CFG_CMD_STROBOSCOPIC_LAMP "StroboscopicLamp" // ƵÉÁµÆÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_STROBOSCOPIC_LAMP_INFO) #define CFG_CMD_FREECOMBINATION "FreeCombination" // ×ÔÓÉ·Ö¸îģʽµÄ´°¿ÚÅäÖà CFG_FREECOMBINATION_INFO ) #define CFG_CMD_IOT_INFRARED_DETECT "IOT_InfraredDetect" // ÎïÁªÍøºìÍâ¼ì²âÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_IOT_INFRARED_DETECT_INFO) #define CFG_CMD_IOT_RECORD_HANDLE "IOT_RecordHandle" // ÎïÁªÍøÂ¼ÏñÁª¶¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_IOT_RECORD_HANDLE_INFO) #define CFG_CMD_IOT_SNAP_HANDLE "IOT_SnapHandle" // ÎïÁªÍø×¥Í¼Áª¶¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_IOT_SNAP_HANDLE_INFO) #define CFG_CMD_PLATFORM_MONITOR_IPC "PlatformMonitorIPC" // ƽ̨²à¼àÊÓIPCÅäÖà CFG_PLATFORMMONITORIPC_INFO ) #define CFG_CMD_CALLFORWARD "CallForward" // ºô½Ð×ªÒÆÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_CALLFORWARD_INFO) #define CFD_CMD_DOORBELLSOUND "DoorBellSound" // ÃÅÁåÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_DOOR_BELLSOUND_INFO) #define CFG_CMD_TELNET "Telnet" // telnetÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_TELNET_INFO) #define CFG_CMD_OSDSYSABNORMAL "OSDSysAbnormal" // ÏÔʾÒì³£ÐÅÏ¢µÄµþ¼ÓÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_OSD_SYSABNORMAL_INFO) #define CFG_CMD_VIDEO_WIDGET2 "VideoWidget2" // ÊÓÆµ±àÂëÎï¼þÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VIDEO_WIDGET2_INFO) #define CFG_CMD_VIDEOWIDGET_NUMBERSTAT "VideoWidgetNumberStat" // ÈËÊýͳ¼Æµþ¼ÓOSDÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VIDEOWIDGET_NUMBERSTAT_INFO) #define CFG_CMD_PRIVACY_MASKING "PrivacyMasking" // Òþ˽ÕÚµ²ÉèÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_PRIVACY_MASKING_INFO) #define CFG_CMD_DEVICE_INFO "DeviceInfo" // É豸ÐÅÏ¢(¶ÔÓ¦½á¹¹Ìå CFG_DEVICE_INFO) #define CFG_CMD_POLICEID_MAP_INFO "PoliceMap" // ¾¯Ô±IDºÍÉ豸ͨµÀÓ³Éä¹ØÏµÐÅÏ¢(¶ÔÓ¦½á¹¹Ìå CFG_POLICEID_MAP_INFO) #define CFG_CMD_GPS_NOT_ALIGNED "GpsNotAligned" // GPSδ¶¨Î»ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_GPS_NOT_ALIGNED_INFO) #define CFG_CMD_WIRELESS_NOT_CONNECTED "WireLessNotConnected" // ÍøÂçδÁ¬½Ó£¨°üÀ¨wifi£¬3G/4G£©ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_WIRELESS_NOT_CONNECTED_INFO) #define CFG_CMD_MCS_GENERAL_CAPACITY_LOW "MCSGeneralCapacityLow" // Î¢ÔÆ³£¹æÈÝÁ¿¸æ¾¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_GENERAL_CAPACITY_LOW) #define CFG_CMD_MCS_DATA_NODE_OFFLINE "MCSDataNodeOffline" // Î¢ÔÆ´æ´¢½ÚµãÏÂÏß(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DATA_NODE_OFFLINE) #define CFG_CMD_MCS_DISK_OFFLINE "MCSDiskOffline" // Î¢ÔÆ´ÅÅÌÏÂÏ߸澯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DISK_OFFLINE) #define CFG_CMD_MCS_DISK_SLOW "MCSDiskSlow" // Î¢ÔÆ´ÅÅ̱äÂý¸æ¾¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DISK_SLOW) #define CFG_CMD_MCS_DISK_BROKEN "MCSDiskBroken" // Î¢ÔÆ´ÅÅÌË𻵸澯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DISK_BROKEN) #define CFG_CMD_MCS_DISK_UNKNOW_ERROR "MCSDiskUnknowError" // Î¢ÔÆ´ÅÅÌδ֪´íÎ󏿾¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DISK_UNKNOW_ERROR) #define CFG_CMD_MCS_METADATA_SERVER_ABNORMAL "MCSMetadataServerAbnormal" // Î¢ÔÆÔªÊý¾Ý·þÎñÆ÷Òì³£¸æ¾¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_METADATA_SERVER_ABNORMAL) #define CFG_CMD_MCS_CATALOG_SERVER_ABNORMAL "MCSCatalogServerAbnormal" // Î¢ÔÆÄ¿Â¼·þÎñÆ÷Òì³£¸æ¾¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_CATALOG_SERVER_ABNORMAL) #define CFG_CMD_MCS_GENERAL_CAPACITY_RESUME "MCSGeneralCapacityResume" // Î¢ÔÆ³£¹æÈÝÁ¿¸æ¾¯»Ö¸´¸æ¾¯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_GENERAL_CAPACITY_RESUME) #define CFG_CMD_MCS_DATA_NODE_ONLINE "MCSDataNodeOnline" // Î¢ÔÆ´æ´¢½ÚµãÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DATA_NODE_ONLINE) #define CFG_CMD_MCS_DISK_ONLINE "MCSDiskOnline" // Î¢ÔÆ´ÅÅÌÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_DISK_ONLINE) #define CFG_CMD_MCS_METADATA_SLAVE_ONLINE "MCSMetadataSlaveOnline" // Î¢ÔÆÔªÊý¾Ý±¸»úÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_METADATA_SLAVE_ONLINE) #define CFG_CMD_MCS_CATALOG_SERVER_ONLINE "MCSCatalogServerOnline" // Î¢ÔÆÄ¿Â¼·þÎñÆ÷ÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_MCS_CATALOG_SERVER_ONLINE) #define CFG_CMD_SECURITY_ALARMS_PRIVACY "SecurityAlarmsPrivacy" // SecurityAlarms¿Í»§¶¨Öƹ¦ÄÜ£¬Òþ˽±£»¤(¶ÔÓ¦½á¹¹ÌåCFG_SECURITY_ALARMS_PRIVACY) #define CFG_CMD_NO_FLY_TIME "NoFlyTime" // ÎÞÈË»ú½û·Éʱ¶ÎÅäÖà ( ¶ÔÓ¦½á¹¹Ìå CFG_NO_FLY_TIME_INFO ) #define CFG_CMD_PWD_RESET "PwdReset" // ÃÜÂëÖØÖù¦ÄÜʹÄÜÅäÖà ( ¶ÔÓ¦½á¹¹Ìå CFG_PWD_RESET_INFO ) #define CFG_CMD_NET_MONITOR_ABORT "NetMonitorAbort" // ÍøÂç¼àÊÓÖжÏʼþÅäÖÃ( ¶ÔÓ¦½á¹¹Ìå CFG_NET_MONITOR_ABORT_INFO ) #define CFG_CMD_LOCAL_EXT_ALARM "LocalExtAlarm" // ±¾µØÀ©Õ¹±¨¾¯ÅäÖà ( ¶ÔÓ¦½á¹¹Ìå CFG_LOCAL_EXT_ALARME_INFO ) #define CFG_CMD_ACCESSCONTROL_DELAYSTRATEGY "DelayStrategy" // ÃŽû¿¨Ç··ÑÓëԤǷ·Ñ״̬ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_ACCESSCONTROL_DELAYSTRATEGY) #define CFG_CMD_VIDEO_TALK_PHONE_BASIC "VideoTalkPhoneBasic" // ÊÓÆµ¶Ô½²µç»°»ù´¡ÅäÖÃ( ¶ÔÓ¦½á¹¹Ìå CFG_VIDEO_TALK_PHONE_BASIC_INFO ) #define CFG_CMD_APP_EVENT_LANGUAGE "AppEventLanguage" // ÊÖ»úÍÆËÍÏûÏ¢µÄ·­ÒëÄ¿±êÓïÑÔÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_APP_EVENT_LANGUAGE_INFO ) #define CFG_CMD_LOGIN_FAILURE_ALARM "LoginFailureAlarm" // µÇ½ʧ°Ü±¨¾¯ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_LOGIN_FAILURE_ALARM) #define CFG_CMD_DROPBOXTOKEN "DropBoxToken" // Dropbox Token ÅäÖÃ( ¶ÔÓ¦½á¹¹Ìå CFG_DROPBOXTOKEN_INFO) #define CFG_CMD_IDLINGTIME "IdlingTime" // µ¡ËÙÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_IDLINGTIME_INFO) #define CFG_CMD_CARDIVERSTATE "CarDiverState" // Æû³µÐÐʻ״̬ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_CARDIVERSTATE_INFO) #define CFG_CMD_VEHICLE "Vehicle" // ³µÔØÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VEHICLE_INFO) #define CFG_CMD_PTZDEVICE "PtzDevice" // Ä£ÄâÔÆÌ¨ÅäÖÃ( ¶ÔÓ¦½á¹¹Ìå CFG_PTZDEVICE_INFO) #define CFG_CMD_DEVLOCATION "DevLocation" // É豸°²×°Î»ÖõÄGPS×ø±êÐÅÏ¢( ¶ÔÓ¦½á¹¹Ìå CFG_DEVLOCATION_INFO) #define CFG_CMD_SMARTHOME_SCENELIST "SmartHomeSceneList" //ÃÀµÄµØ²úÖÇÄܼҾӳ¡¾°Áбí(¶ÔÓ¦½á¹¹ÌåCFG_SMARTHOME_SCENELIST_INFO) #define CFG_CMD_LIGHTING_V2 "Lighting_V2" //È«²ÊÏà»ú²¹¹âµÆÁéÃô¶ÈÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_LIGHTING_V2_INFO) #define CFG_CMD_KBUSER_PASSWORD "KbuserPassword" // ¼üÅ̲Ù×÷Ô±Óû§ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_KBUSER_USERS_INFO) #define CFG_CMD_ACCESS_OEM "AccessOEMSettings" //¹¤Ðнð¿âÃŽûÐÅÏ¢ÅäÖ㬶ÔÓ¦½á¹¹ÌåCFG_ACCESS_OEM_INFO #define CFG_CMD_FIRE_WARNING_EXT "FireWarningExt" // »ð¾¯ÅäÖÃÀ©Õ¹£¨¶ÔÓ¦½á¹¹ÌåCFG_FIREWARNING_EXT_INFO£© #define CFG_CMD_LOCATION_CALIBRATE "LocationCalibrate" // É豸²ÎÊý±ê¶¨ÅäÖÃ(¶ÔÓ¦½á¹¹ÌåCFG_LOCATION_CALIBRATE_INFO) #define CFG_CMD_THERM_DENOISE "ThermDenoise" //ÈȳÉÏñÌØÓеĻúо½µÔ룬¶ÔÓ¦½á¹¹ÌåCFG_THERM_DENOISE #define CFG_CMD_CONSTANT_LAMP "ConstantLamp" //ÖÇÄܽ»Í¨µÆ¹âÅäÖ㬶ÔÓ¦½á¹¹ÌåCFG_CONSTANT_LAMP_INFO #define CFG_CMD_TRAFFIC_IO "TrafficIO" //ÏßȦIOÅäÖ㬶ÔÓ¦½á¹¹ÌåCFG_TRAFFIC_IO #define CFG_CMD_MONITOR_WALL_COLLECTION_MAP "MonitorWallCollectionMap" // µçÊÓǽԤ¹ØÁªÅäÖÃ,¶ÔÓ¦½á¹¹ÌåCFG_MONITOR_WALL_COLLECTION_MAP_INFO #define CFG_CMD_VIDEO_INPUT_GROUP "VideoInputGroup" // ÊÓÆµÊäÈë×éÅäÖÃ,¶ÔÓ¦½á¹¹ÌåCFG_VIDEO_INPUT_GROUP_INFO /************************************************************************ ** ÄÜÁ¦¼¯ÃüÁî ¶ÔÓ¦CLIENT_QueryNewSystemInfo ***********************************************************************/ #define CFG_CAP_CMD_VIDEOANALYSE "devVideoAnalyse.getCaps" // ÊÓÆµ·ÖÎöÄÜÁ¦¼¯(¶ÔÓ¦CFG_CAP_ANALYSE_INFO) #define CFG_CAP_CMD_VIDEOANALYSE_EX "devVideoAnalyse.getCapsEx" // ÊÓÆµ·ÖÎöÄÜÁ¦¼¯(¶ÔÓ¦CFG_CAP_ANALYSE_INFO_EX) #define CFG_NETAPP_REMOTEDEVICE "netApp.getRemoteDeviceStatus" // »ñÈ¡ºó¶ËÉ豸µÄµÄÔÚÏß״̬(¶ÔÓ¦CFG_REMOTE_DEVICE_STATUS) #define CFG_CAP_CMD_PRODUCTDEFINITION "magicBox.getProductDefinition" // ½ÓÈëÉ豸ÐÅÏ¢(¶ÔÓ¦ CFG_PRODUCT_DEFINITION_INFO) #define CFG_DEVICE_CAP_CMD_VIDEOANALYSE "intelli.getVideoAnalyseDeviceChannels" // É豸ÖÇÄÜ·ÖÎöÄÜÁ¦(¶ÔÓ¦CFG_CAP_DEVICE_ANALYSE_INFO)¼æÈÝÀÏÉ豸 #define CFG_DEVICE_CAP_NEW_CMD_VIDEOANALYSE "devVideoAnalyse.factory.getCollect" // É豸ÖÇÄÜ·ÖÎöÄÜÁ¦(¶ÔÓ¦CFG_CAP_DEVICE_ANALYSE_INFO) #define CFG_CAP_CMD_CPU_COUNT "magicBox.getCPUCount" // »ñµÃCPU¸öÊý #define CFG_CAP_CMD_CPU_USAGE "magicBox.getCPUUsage" // »ñÈ¡CPUÕ¼ÓÃÂÊ #define CFG_CAP_CMD_MEMORY_INFO "magicBox.getMemoryInfo" // »ñµÃÄÚ´æÈÝÁ¿ #define CFG_CAP_CMD_DEVICE_CLASS "magicBox.getDeviceClass" // »ñÈ¡É豸ÀàÐÍ(¶ÔÓ¦CFG_DEVICE_CLASS_INFO) #define CFG_CAP_CMD_DEVICE_STATE "trafficSnap.getDeviceStatus" // »ñÈ¡É豸״̬ÐÅÏ¢ (¶ÔÓ¦CFG_CAP_TRAFFIC_DEVICE_STATUS) #define CFG_CAP_CMD_VIDEOINPUT "devVideoInput.getCaps" // ÊÓÆµÊäÈëÄÜÁ¦¼¯(¶ÔÓ¦CFG_CAP_VIDEOINPUT_INFO) #define CFG_USERMANAGER_ACTIVEUSER "userManager.getActiveUserInfoAll" // µÃµ½ËùÓлµÄÓû§ÐÅÏ¢(¶ÔÓ¦ CFG_ACTIVEALLUSER_INFO) #define CFG_CAP_VIDEOSTAT_SUMMARY "videoStatServer.getSummary" // »ñÈ¡ÊÓÆµÍ³¼ÆÕªÒªÐÅÏ¢(¶ÔÓ¦CFG_VIDEOSATA_SUMMARY_INFO) #define CFG_CAP_CMD_VIDEODIAGNOSIS_SERVER "videoDiagnosisServer.getCaps" // »ñÈ¡ÊÓÆµÕï¶Ï·þÎñÄÜÁ¦(CFG_VIDEODIAGNOSIS_CAPS_INFO) #define CFG_CMD_VIDEODIAGNOSIS_GETCOLLECT "videoDiagnosisServer.factory.getCollect" // »ñÈ¡ÊÓÆµÕï¶ÏͨµÀÊýÄ¿(CFG_VIDEODIAGNOSIS_GETCOLLECT_INFO) #define CFG_CMD_VIDEODIAGNOSIS_GETSTATE "videoDiagnosisServer.getState" // »ñÈ¡ÊÓÆµÕï¶Ï½øÐÐ״̬(CFG_VIDEODIAGNOSIS_STATE_INFO) #define CFG_CAP_CMD_SERVICE_LIST "system.listService" //»ñÈ¡·þÎñÆ÷ÉÏÖ§³ÖµÄ·þÎñÁбí(CFG_DEV_SERVICE_LIST) #define CFG_CAP_CMD_EVENTHANDLER "capsManager.get&EventManagerEventHandler" // »ñÈ¡·þÎñÆ÷±¨¾¯Áª¶¯ÄÜÁ¦¼¯(CFG_CAP_EVENTHANDLER_INFO) #define CFG_CAP_ALARM "alarm.getAlarmCaps" // »ñÈ¡±¨¾¯ÄÜÁ¦¼¯(CFG_CAP_ALARM_INFO) #define CFG_CAP_CMD_AUDIO_ANALYSE "devAudioAnalyse.getCaps" // »ñÈ¡ÒôƵ·ÖÎöÄÜÁ¦¼¯(CFG_CAP_AUDIO_ANALYSE_INFO) #define CFG_CMD_MASTERSLAVE_GETCOLLECT "masterSlaveTracker.factory.getCollect" // »ñÈ¡Ö÷´Óʽ¸ú×ÙÆ÷ͨµÀÊýÄ¿(¶ÔÓ¦½á¹¹ÌåCFG_MASTERSLAVETRACKER_INFO) #define CFG_CAP_CMD_MASTERSLAVE "capsManager.get&MasterSlaveTracker" // »ñÈ¡Ö÷´ÓʽÉ豸ÄÜÁ¦¼¯(CFG_CAP_MASTERSLAVE_INFO) #define CFG_CAP_CMD_FOCUS_STATE "devVideoInput.getFocusStatus" // »ñÈ¡¾µÍ·¾Û½¹×´Ì¬ÐÅÏ¢ (¶ÔÓ¦CFG_CAP_FOCUS_STATUS) #define CFG_CAP_CMD_NETAPP "netApp.getCaps" // »ñÈ¡ÍøÂçÓ¦ÓÃÄÜÁ¦¼¯(¶ÔÓ¦CFG_CAP_NETAPP) #define CFG_CAP_CMD_PTZ_ENABLE "ptz.factory.instance" // »ñÈ¡ÔÆÌ¨Ö§³ÖÐÅÏ¢(CFG_CAP_PTZ_ENABLEINFO ) #define CFG_CAP_CMD_RECORD "recordManager.getCaps" // »ñȡ¼ÏñÄÜÁ¦¼¯(CFG_CAP_RECORD_INFO) #define CFG_CAP_CMD_BURN_MANAGER "BurnManager.getCaps" // »ñÈ¡¿Ì¼¹ÜÀíÄÜÁ¦¼¯( CFG_CAP_BURN_MANAGER) #define CFG_CAP_CMD_PTZ "ptz.getCurrentProtocolCaps" // »ñÈ¡ÔÆÌ¨ÄÜÁ¦¼¯(CFG_PTZ_PROTOCOL_CAPS_INFO) #define CFG_CMD_ENCODE_GETCAPS "encode.getCaps" // »ñÈ¡±àÂëÄÜÁ¦¼¯(CFG_ENCODECAP) #define CFG_CAP_CMD_VIDEOINPUT_EX "devVideoInput.getCapsEx" // ÊÓÆµÊäÈëÄÜÁ¦¼¯À©Õ¹(¶ÔÓ¦CFG_CAP_VIDEOINPUT_INFO_EX) #define CFG_CAP_CMD_ANALYSE_MODE "intelli.getCaps.AnalyseMode" // »ñÈ¡É豸ÖÇÄÜ·ÖÎöģʽ(¶ÔÓ¦ CFG_ANALYSE_MODE) #define CFG_CAP_CMD_EVENTMANAGER "eventManager.getCaps" // »ñÈ¡É豸±¨¾¯Áª¶¯ÄÜÁ¦,ÀÏЭÒéÒѷϳý,пª·¢ÇëʹÓøÃ×Ö¶Î(CFG_CAP_EVENTMANAGER_INFO) #define CFG_CAP_CMD_FILEMANAGER "FileManager.getCaps" // »ñÈ¡ÎļþÄÜÁ¦(CFG_CAP_FILEMANAGER) #define CFG_CAP_CMD_LOG "log.getCaps" // »ñÈ¡ÈÕÖ¾·þÎñÄÜÁ¦(CFG_CAP_LOG) #define CFG_CAP_CMD_SPEAK "speak.getCaps" // ÑïÉùÆ÷²¥·ÅÄÜÁ¦(CFG_CAP_SPEAK) #define CFG_CAP_CMD_ACCESSCONTROLMANAGER "accessControlManager.getCaps" // ÃŽûÄÜÁ¦(CFG_CAP_ACCESSCONTROL) #define CFG_CAP_CMD_EXALARM "alarm.getExAlarmCaps" // »ñÈ¡À©Õ¹±¨¾¯ÄÜÁ¦¼¯, (¶ÔÓ¦½á¹¹Ìå CFG_CAP_EXALARM_INFO) #define CFG_CAP_CMD_EXALARMBOX "alarm.getExAlarmBoxCaps" // »ñÈ¡À©Õ¹±¨¾¯ºÐÄÜÁ¦¼¯, (¶ÔÓ¦½á¹¹Ìå CFG_CAP_EXALARMBOX_INFO) #define CFG_CAP_CMD_RECORDFINDER "RecordFinder.getCaps" // »ñÈ¡²éѯ¼Ç¼ÄÜÁ¦¼¯, (¶ÔÓ¦½á¹¹Ìå CFG_CAP_RECORDFINDER_INFO) #define CFG_CAP_CMD_ANALOGALARM "AnalogAlarm.getCaps" // Ä£ÄâÁ¿±¨¾¯ÊäÈëͨµÀÄÜÁ¦(¶ÔÓ¦½á¹¹Ìå CFG_CAP_ANALOGALARM) #define CFG_CAP_CMD_LOWRATEWPAN "LowRateWPAN.getCaps" // »ñÈ¡LowRateWPANÄÜÁ¦(¶ÔÓ¦µÄ½á¹¹Ìå CFG_CAP_LOWRATEWPAN) #define CFG_CAP_CMD_ADAPTENCODE "encode.getNAACaps" // »ñÈ¡±àÂë×ÔÊÊÓ¦±àÂëÄÜÁ¦(¶ÔÓ¦µÄ½á¹¹Ìå CFG_CAP_ADAPT_ENCODE_INFO) #define CFG_CAP_CMD_PTZPROTOCAL "ptz.getProtocol" // »ñÈ¡¸ÃÔÆÌ¨Êµ¼ÊÄܹ»Ê¹ÓõÄЭÒ飬°´½éÖÊÇø·Ö (¶ÔÓ¦½á¹¹Ìå CFG_CAP_PTZ_PROTOCOL) #define CFG_CAP_CMD_MEDIACROP "encode.getCropCaps" // ²éѯÊÇ·ñÖ§³ÖÊÓÆµ²Ã¼ôÄÜÁ¦ (¶ÔÓ¦½á¹¹Ìå CFG_CAP_MEDIA_CROP) #define CFG_CAP_CMD_OSDMANAGER "OSDManager.getCaps" // »ñÈ¡OSDµþ¼ÓÄÜÁ¦(¶ÔÓ¦½á¹¹ÌåCFG_CAP_OSDMANAGER_INFO) #define CFG_CAP_CMD_CUSTOM "OSDManager.getCustomCaps" // »ñÈ¡×Ô¶¨Òå±êÌâÄÜÁ¦¼¯(¶ÔÓ¦½á¹¹ÌåCFG_CAP_CUSTOM_OSD_INFO) /************************************************************************ ** ÖÇÄÜÄ£°åÅäÖÃÃüÁî ¶ÔÓ¦CLIENT_GetVideoInAnalyse ***********************************************************************/ #define CFG_VIDEOINANALYSE_RULE "VideoInAnalyse.getTemplateRule" // »ñÈ¡ÖÇÄܹæÔòÅäÖÃÄ£°åºÍĬÈÏÖµ(¶ÔÓ¦½á¹¹ÌåCFG_ANALYSERULES_INFO) #define CFG_VIDEOINANALYSE_GLOBAL "VideoInAnalyse.getTemplateGlobal" // »ñÈ¡ÖÇÄÜÈ«¾ÖÅäÖÃÄ£°åºÍĬÈÏÖµ(¶ÔÓ¦½á¹¹ÌåCFG_VIDEOINANALYSE_GLOBAL_INFO) #define CFG_VIDEOINANALYSE_MODULE "VideoInAnalyse.getTemplateModule" // »ñÈ¡ÖÇÄܼì²âÇøÅäÖÃÄ£°åºÍĬÈÏÖµ(¶ÔÓ¦½á¹¹ÌåCFG_VIDEOINANALYSE_MODULE_INFO) // ÈÕÖ¾ÄÜÁ¦ typedef struct tagCFG_CAP_LOG { DWORD dwMaxLogItems; // ×î´óÈÕÖ¾ÌõÊý DWORD dwMaxPageItems; // ÿ¸ö·ÖÒ³µÄ×î´óÈÕÖ¾ÌõÊý BOOL bSupportStartNo; // ²éѯÌõ¼þÊÇ·ñÖ§³ÖÆðʼÐòºÅ BOOL bSupportTypeFilter; // ²éѯÌõ¼þÊÇ·ñÖ§³ÖÀàÐ͹ýÂË BOOL bSupportTimeFilter; // ²éѯÌõ¼þÊÇ·ñÖ§³Öʱ¼ä¹ýÂË }CFG_CAP_LOG; #define MAX_AUDIO_PROPERTY_NUM 32 // ÒôƵÊôÐÔ×î´ó¸öÊý #define MAX_AUDIO_FORMAT_NUM 16 // ÒôƵ¸ñʽ×î´ó¸öÊý // ÒôƵ±àÂëѹËõ¸ñʽ enum EM_TALK_AUDIO_TYPE { EM_TALK_AUDIO_PCM, EM_TALK_AUDIO_ADPCM, EM_TALK_AUDIO_G711A, EM_TALK_AUDIO_G711Mu, EM_TALK_AUDIO_G726, EM_TALK_AUDIO_G729, EM_TALK_AUDIO_MPEG2, EM_TALK_AUDIO_AMR, EM_TALK_AUDIO_AAC, }; // ÒôƵÊôÐÔ typedef struct CFG_AUDIO_PROPERTY { int nBitRate; // ÂëÁ÷´óС£¬µ¥Î»:kbps£¬±ÈÈç192kbps int nSampleBit; // ²ÉÑùµÄλÉÈç8»ò16 int nSampleRate; // ²ÉÑùÂÊ£¬µ¥Î»:Hz£¬±ÈÈç44100Hz }CFG_AUDIO_PROPERTY; // Ö§³ÖµÄÒôƵ¸ñʽ typedef struct CFG_CAP_AUDIO_FORMAT { EM_TALK_AUDIO_TYPE emCompression; // ÒôƵѹËõ¸ñʽ£¬¾ßÌå¼ûö¾ÙAV_Talk_Audio_Type int nPropertyNum; // ÒôƵÊôÐÔ¸öÊý CFG_AUDIO_PROPERTY stuProperty[MAX_AUDIO_PROPERTY_NUM]; // ÒôƵÊôÐÔ }CFG_CAP_AUDIO_FORMAT; // ÑïÉùÆ÷ÄÜÁ¦ typedef struct CFG_CAP_SPEAK { int nAudioCapNum; // Ö§³ÖµÄÒôƵ¸ñʽ¸öÊý CFG_CAP_AUDIO_FORMAT stuAudioCap[MAX_AUDIO_FORMAT_NUM]; // Ö§³ÖµÄÒôƵ¸ñʽ }CFG_CAP_SPEAK; // AccessControlCustomPassword¼Ç¼¼¯ÖÐÃÜÂëµÄ±£´æ·½Ê½ typedef enum tagEM_CUSTOM_PASSWORD_ENCRYPTION_MODE { EM_CUSTOM_PASSWORD_ENCRYPTION_MODE_UNKNOWN, // δ֪·½Ê½ EM_CUSTOM_PASSWORD_ENCRYPTION_MODE_PLAINTEXT, // Ã÷ÎÄ EM_CUSTOM_PASSWORD_ENCRYPTION_MODE_MD5, // MD5¼ÓÃÜ·½Ê½ }EM_CUSTOM_PASSWORD_ENCRYPTION_MODE; // ÊÇ·ñÖ§³ÖÖ¸ÎÆ¹¦ÄÜ typedef enum tagEM_SUPPORTFINGERPRINT { EM_SUPPORTFINGERPRINT_UNKNOWN, // δ֪ EM_SUPPORTFINGERPRINT_NONSUPPORT, // ²»Ö§³ÖÖ¸ÎÆ¹¦ÄÜ EM_SUPPORTFINGERPRINT_SUPPORT, // Ö§³ÖÖ¸ÎÆ¹¦ÄÜ }EM_SUPPORTFINGERPRINT; // ¼ÙÈռƻ® typedef struct tagNET_SPECIAL_DAYS_SCHEDULE { BOOL bSupport; // ÊÇ·ñÖ§³Ö¼ÙÈռƻ® int nMaxSpecialDaysSchedules; // É豸֧³ÖµÄ×î´ó¼Æ»®ÊýÁ¿ int nMaxTimePeriodsPerDay; // ÿÌì×î¶àµÄʱ¼ä¶Î int nMaxSpecialDayGroups; // É豸֧³ÖµÄ×î´ó¼ÙÈÕ×éÊý int nMaxDaysInSpecialDayGroup; // ÿ¸ö¼ÙÈÕ×éÀï×î´óµÄ¼ÙÈÕÊý BYTE byReserved[128]; // ±£Áô×Ö½Ú } NET_SPECIAL_DAYS_SCHEDULE; // ÊÇ·ñÖ§³ÖÃŽû¿ìËÙµ¼È빦ÄÜ typedef enum tagEM_SUPPORT_FAST_IMPORT_TYPE { EM_SUPPORT_FAST_IMPORT_UNKNOWN = -1, // δ֪ EM_SUPPORT_FAST_IMPORT_NONSUPPORT, // ²»Ö§³Ö EM_SUPPORT_FAST_IMPORT_SUPPORT, // Ö§³Ö } EM_SUPPORT_FAST_IMPORT_TYPE; // ÊÇ·ñÖ§³ÖÃŽû¿ìËÙ¸´ºË¹¦ÄÜ typedef enum tagEM_SUPPORT_FAST_CHECK_TYPE { EM_SUPPORT_FAST_CHECK_UNKNOWN = -1, // δ֪ EM_SUPPORT_FAST_CHECK_NONSUPPORT, // ²»Ö§³Ö EM_SUPPORT_FAST_CHECK_SUPPORT, // Ö§³Ö } EM_SUPPORT_FAST_CHECK_TYPE; // ÃŽû¿ØÖÆÄÜÁ¦ typedef struct tagCFG_CAP_ACCESSCONTROL { int nAccessControlGroups; // ÃŽû×éÊý¡¢ BOOL bSupAccessControlAlarmRecord; // ÊÇ·ñÖ§³ÖÃŽû±¨¾¯ÈÕÖ¾¼Ç¼ÔڼǼ¼¯ÖÐ EM_CUSTOM_PASSWORD_ENCRYPTION_MODE emCustomPasswordEncryption; // AccessControlCustomPassword¼Ç¼¼¯ÖÐÃÜÂëµÄ±£´æ·½Ê½ EM_SUPPORTFINGERPRINT emSupportFingerPrint; // ÊÇ·ñÖ§³ÖÖ¸ÎÆ¹¦ÄÜ BOOL bOnlySingleDoorAuth; // ÊÇ·ñÖ»Ö§³Öµ¥ÃÅÊÚȨ(·¢¿¨) BOOL bAsynAuth; // ÊÇ·ñÖ§³ÖÊÚȨÒì²½·µ»Ø NET_SPECIAL_DAYS_SCHEDULE stSpecialDaysSchedule; // ¼ÙÈռƻ® BOOL bSupportMultiUserMultiTypeAuth; // ÊÇ·ñÖ§³Ö¶àÈ˶àÀàÐÍ×éºÏ¿ªÃÅ EM_SUPPORT_FAST_IMPORT_TYPE bSupportFastImport; // ÊÇ·ñÖ§³ÖÃŽû¿ìËÙµ¼È빦ÄÜ EM_SUPPORT_FAST_CHECK_TYPE bSupportFastCheck; // ÊÇ·ñÖ§³ÖÃŽû¿ìËÙ¸´ºË¹¦ÄÜ BOOL bSupportCallLift; // ÊÇ·ñÖ§³ÖÌݿع¦ÄÜ }CFG_CAP_ACCESSCONTROL; // ´«¸ÐÆ÷¸ÐÓ¦·½Ê½Ã¶¾ÙÀàÐÍ typedef enum tagEM_SENSE_METHOD { EM_SENSE_UNKNOWN = -1, // δ֪ÀàÐÍ EM_SENSE_DOOR=0, // ÃÅ´Å EM_SENSE_PASSIVEINFRA, // ±»¶¯ºìÍâ EM_SENSE_GAS, // Æø¸Ð EM_SENSE_SMOKING, // Ñ̸РEM_SENSE_WATER, // Ë®¸Ð EM_SENSE_ACTIVEFRA, // Ö÷¶¯ºìÍâ EM_SENSE_GLASS, // ²£Á§ÆÆËé EM_SENSE_EMERGENCYSWITCH, // ½ô¼±¿ª¹Ø EM_SENSE_SHOCK, // Õ𶯠EM_SENSE_DOUBLEMETHOD, // Ë«¼ø(ºìÍâ+΢²¨) EM_SENSE_THREEMETHOD, // Èý¼¼Êõ EM_SENSE_TEMP, // ÎÂ¶È EM_SENSE_HUMIDITY, // ʪ¶È EM_SENSE_WIND, // ·çËÙ EM_SENSE_CALLBUTTON, // ºô½Ð°´Å¥ EM_SENSE_GASPRESSURE, // ÆøÌåѹÁ¦ EM_SENSE_GASCONCENTRATION, // È¼ÆøÅ¨¶È EM_SENSE_GASFLOW, // ÆøÌåÁ÷Á¿ EM_SENSE_OIL, // ÓÍÁ¿¼ì²â EM_SENSE_MILEAGE, // Àï³ÌÊý¼ì²â EM_SENSE_OTHER, // ÆäËû EM_SEHSE_CO2, // ¶þÑõ»¯Ì¼Å¨¶È¼ì²â EM_SEHSE_SOUND, // ÔëÒô¼ì²â EM_SEHSE_PM25, // PM2.5¼ì²â EM_SEHSE_SF6, // Áù·ú»¯ÁòŨ¶È¼ì²â EM_SEHSE_O3, // ³ôÑõ EM_SEHSE_AMBIENTLIGHT, // »·¾³¹âÕÕ¼ì²â EM_SEHSE_INFRARED, // ºìÍⱨ¾¯ EM_SEHSE_TEMP1500, // 1500ζȴ«¸ÐÆ÷ EM_SEHSE_TEMPDS18B20, // DS18B20ζȴ«¸ÐÆ÷ EM_SEHSE_HUMIDITY1500, // 1500ʪ¶È´«¸ÐÆ÷ EM_SEHSE_URGENCYBUTTON, // ½ô¼±°´Å¥ EM_SEHSE_STEAL, // µÁÇÔ EM_SEHSE_PERIMETER, // Öܽç EM_SEHSE_PREVENTREMOVE, // ·À²ð EM_SEHSE_DOORBELL, // ÃÅÁå EM_SEHSE_ALTERVOLT, // ½»Á÷µçѹ´«¸ÐÆ÷ EM_SEHSE_DIRECTVOLT, // Ö±Á÷µçѹ´«¸ÐÆ÷ EM_SEHSE_ALTERCUR, // ½»Á÷µçÁ÷´«¸ÐÆ÷ EM_SEHSE_DIRECTCUR, // Ö±Á÷µçÁ÷´«¸ÐÆ÷ EM_SEHSE_RSUGENERAL, // ¸ßÐÂÐËͨÓÃÄ£ÄâÁ¿ EM_SEHSE_RSUDOOR, // ¸ßÐÂÐËÃŽû¸ÐÓ¦ EM_SEHSE_RSUPOWEROFF, // ¸ßÐÂÐ˶ϵç¸ÐÓ¦ EM_SEHSE_CURTAINSENSOR, // Ä»Á±´«¸ÐÆ÷ EM_SEHSE_MOBILESENSOR, // ÒÆ¶¯´«¸ÐÆ÷ EM_SEHSE_FIREALARM, // »ð¾¯ EM_SEHSE_LOCKTONGUE, // ËøÉà EM_SENSE_NUM // ö¾ÙÀàÐÍ×ÜÊý,×¢Ò⣺Õâ¸öÖµ²»ÄÜ×÷Ϊ³£Á¿Ê¹Óà }EM_SENSE_METHOD; // ´«¸ÐÆ÷±¨¾¯·½Ê½ typedef struct tagCFG_EXALARM_SENSE_METHOD { int nSupportSenseMethodNum; // Ö§³ÖµÄ´«¸ÐÆ÷·½Ê½Êý EM_SENSE_METHOD emSupportSenseMethod[MAX_ALARM_SENSE_METHOD_NUM]; // Ö§³ÖµÄ´«¸ÐÆ÷·½Ê½ }CFG_EXALARM_SENSE_METHOD; // Ä£ÄâÁ¿±¨¾¯ÊäÈëͨµÀÄÜÁ¦ typedef struct tagCFG_CAP_ANALOGALARM { DWORD dwLocalNum; // ±¾µØÄ£ÄâÁ¿±¨¾¯ÊäÈëͨµÀÊý DWORD dwExLocalNum; // À©Õ¹Ä£ÄâÁ¿±¨¾¯ÊäÈëͨµÀÊý int nAnalogAlarmChannelNum; // Ä£ÄâÁ¿±¨¾¯Í¨µÀÊý, ´ËΪ0ʱ±íʾÿ¸öͨµÀÖ§³ÖËùÓÐÀàÐ͵Ĵ«¸ÐÆ÷ CFG_EXALARM_SENSE_METHOD stuAnalogAlarmChannel[MAX_EXALARM_CHANNEL_NUM]; // ±¨¾¯Í¨µÀ¼¯ºÏ }CFG_CAP_ANALOGALARM; // »ñÈ¡LowRateWPANÄÜÁ¦½á¹¹Ìå typedef struct tagCFG_CAP_LOWRATEWPAN { UINT nMaxPageSize; // ×î´ó·ÖÒ³²éѯµÄ¶ÔÂëÌõÊý UINT n433GatewayCount; // »ñȡ֧³ÖµÄ433Íø¹ØÊýÄ¿, 0±íʾ²»Ö§³ÖÎÞÏßÉ豸 }CFG_CAP_LOWRATEWPAN; // ×ÔÊÊÓ¦ÄÜÁ¦ typedef struct tagCFG_CAP_ADAPT_ENCODE { BOOL bSupportedNAAEncode; // ×ÔÊÊÓ¦±àÂëµ÷ÕûÄÜÁ¦ £¬Ö÷ÂëÁ÷Ôݲ»Ö§³Ö BOOL bSupportedIPSmoothness; // É豸±àÂëÆ½»¬ÅäÖÃÄÜÁ¦ }CFG_CAP_ADAPT_ENCODE; // »ñÈ¡±àÂë×ÔÊÊÓ¦ÄÜÁ¦ typedef struct tagCFG_CAP_ADAPT_ENCODE_INFO { CFG_CAP_ADAPT_ENCODE stuMainStream[MAX_VIDEOSTREAM_NUM]; // Ö÷ÂëÁ÷£¬0£­ÆÕͨ¼Ïñ£¬1-¶¯¼ì¼Ïñ£¬2£­±¨¾¯Â¼Ïñ CFG_CAP_ADAPT_ENCODE stuExtraStream[MAX_VIDEOSTREAM_NUM]; // ¸¨ÂëÁ÷£¬0£­¸¨ÂëÁ÷1£¬1£­¸¨ÂëÁ÷2£¬2£­¸¨ÂëÁ÷3 }CFG_CAP_ADAPT_ENCODE_INFO; // ²éѯÊÇ·ñÖ§³ÖÊÓÆµ²Ã¼ôÄÜÁ¦ typedef struct tagCFG_CAP_MEDIA_CROP { BOOL bExtra1SupportCrop; // ¸¨ÂëÁ÷1²Ã¼ôÄÜÁ¦ BOOL bExtra2SupportCrop; // ¸¨ÂëÁ÷2²Ã¼ôÄÜÁ¦ }CFG_CAP_MEDIA_CROP; // osdµþ¼ÓÄÜÁ¦ typedef struct CFG_CAP_OSDMANAGER_INFO { BOOL bLineSpacing; // ÊÇ·ñÖ§³ÖOSD×ÖÌåÐмä¾à£¬Ñ¡Ìî BOOL bSysAbnormal; // ÊÇ·ñÖ§³ÖÒì³£ÐÅÏ¢ÏÔʾ BOOL bNetAbort; // ÊÇ·ñÏÔÊ¾ÍøÂç¶Ï¿ª BOOL bIPConflict; // ÊÇ·ñÏÔʾIP³åÍ» BOOL bVoltageStatus; // ÊÇ·ñÏÔʾµçѹÒì³£ BOOL bSDHotPlug; // ÊÇ·ñÏÔʾSD¿¨²åÈë¡¢°Î³ö Òì³£ BOOL bSDLowSpace; // ÊÇ·ñÏÔʾSD¿¨¿Õ¼ä²»×ã BOOL bSDFailure; // ÊÇ·ñÏÔʾSD¿¨³ö´í BOOL bDestroy; // ÊÇ·ñÏÔÊ¾ÆÆ»µ¼ì²â BOOL bOvercurrent; // ÊÇ·ñÏÔʾ¶ÔÍ⹩µçµçÁ÷¹ýÁ÷ BOOL bTaskName; // ÊÇ·ñÖ§³Ö¶¯×÷ÈÎÎñÃû³Æ unsigned int nMaxSize; // ͼƬ×î´ó×Ö½ÚÊý,µ¥Î»×Ö½Ú unsigned int nMaxWidth; // ͼƬ×î´ó¿í¶È, µ¥Î»ÏñËØ unsigned int nMaxHeight; // ͼƬ×î´ó¸ß¶È, µ¥Î»ÏñËØ } CFG_CAP_OSDMANAGER_INFO; // ×Ô¶¨Òå±êÌâÄÜÁ¦¼¯ typedef struct tagCFG_CAP_CUSTOM_OSD_INFO { BOOL abGeography; // bGeographyÊÇ·ñÓÐЧ BOOL bGeography; //ÊÇ·ñÖ§³ÖµØÀíÐÅÏ¢µþ¼Ó BOOL abTitleLine; // nTitleLineÊÇ·ñÓÐЧ unsigned int nTitleLine; // µØÀíÐÅÏ¢ÐÐÊý, ĬÈÏΪ5 } CFG_CAP_CUSTOM_OSD_INFO; //Ó¦Óó¡¾°, ÄÚÈÝÓëEM_SCENE_CLASS_TYPEÒ»Ö typedef enum tagEM_SCENE_TYPE { EM_SCENE_UNKNOW, // δ֪ EM_SCENE_NORMAL, // "Normal" ÆÕͨ³¡¾° EM_SCENE_TRAFFIC, // "Traffic" ½»Í¨³¡¾° EM_SCENE_TRAFFIC_PATROL, // "TrafficPatrol" ½»Í¨Ñ²ÊÓ EM_SCENE_FACEDETECTION, // "FaceDetection" ÈËÁ³¼ì²â/ÈËÁ³Ê¶±ð EM_SCENE_ATM, // "ATM" EM_SCENE_INDOOR, // "Indoor" ÊÒÄÚÐÐΪ·ÖÎö£¬ºÍÆÕͨ¹æÔòÏàͬ£¬¶ÔÊÒÄÚ³¡¾°µÄËã·¨ÓÅ»¯°æ EM_SCENE_FACERECOGNITION, // "FaceRecognition" ÈËÁ³Ê¶±ð EM_SCENE_PRISON, // "Prison" ¼àÓü EM_SCENE_NUMBERSTAT, // "NumberStat" ¿ÍÁ÷Á¿Í³¼Æ EM_SCENE_HEAT_MAP, // "HeatMap" ÈȶÈͼ EM_SCENE_VIDEODIAGNOSIS, // "VideoDiagnosis" ÊÓÆµÕï¶Ï EM_SCENE_VEHICLEANALYSE, // "VehicleAnalyse" ³µÁ¾ÌØÕ÷¼ì²â·ÖÎö EM_SCENE_COURSERECORD, // "CourseRecord" ×Ô¶¯Â¼²¥ EM_SCENE_VEHICLE, // "Vehicle" ³µÔس¡¾°(³µÔØÐÐÒµÓ㬲»Í¬ÓÚÖÇÄܽ»Í¨µÄTraffic) EM_SCENE_STANDUPDETECTION, // "StandUpDetection" ÆðÁ¢¼ì²â EM_SCENE_GATE, // "Gate" ¿¨¿Ú EM_SCENE_SDFACEDETECTION, // "SDFaceDetect" ¶àÔ¤ÖõãÈËÁ³¼ì²â£¬ÅäÖÃÒ»Ìõ¹æÔòµ«¿ÉÒÔÔÚ²»Í¬Ô¤ÖõãÏÂÉúЧ EM_SCENE_HEAT_MAP_PLAN, // "HeatMapPlan" Çò»úÈȶÈͼ¼Æ»® EM_SCENE_NUMBERSTAT_PLAN, // "NumberStatPlan" Çò»ú¿ÍÁ÷Á¿Í³¼Æ¼Æ»® EM_SCENE_ATMFD, // "ATMFD"½ðÈÚÈËÁ³¼ì²â£¬°üÀ¨Õý³£ÈËÁ³¡¢Òì³£ÈËÁ³¡¢ÏàÁÚÈËÁ³¡¢Í·¿øÈËÁ³µÈÕë¶ÔATM³¡¾°ÌØÊâÓÅ»¯ EM_SCENE_HIGHWAY, // "Highway" ¸ßËÙ½»Í¨Ê¼þ¼ì²â EM_SCENE_CITY, // "City" ³ÇÊн»Í¨Ê¼þ¼ì²â EM_SCENE_LETRACK, // "LeTrack" ÃñÓüòÒ׸ú×Ù EM_SCENE_SCR, // "SCR"´ò°ÐÏà»ú EM_SCENE_STEREO_VISION, // "StereoVision"Á¢ÌåÊÓ¾õ(˫Ŀ) EM_SCENE_HUMANDETECT, // "HumanDetect"ÈËÌå¼ì²â EM_SCENE_FACEANALYSIS, // "FaceAnalysis" ÈËÁ³·ÖÎö(ͬʱ֧³ÖÈËÁ³¼ì²â¡¢ÈËÁ³Ê¶±ð¡¢ÈËÁ³ÊôÐÔµÈ×ÛºÏÐÍÒµÎñ) EM_SCENE_XRAY_DETECTION, // "XRayDetection" X¹â¼ì²â EM_SCENE_STEREO_NUMBER, // "StereoNumber" ˫ĿÏà»ú¿ÍÁ÷Á¿Í³¼Æ EM_SCENE_CROWD_DISTRI_MAP, // "CrowdDistriMap" ÈËȺ·Ö²¼Í¼ EM_SCENE_OBJECTDETECT, // "ObjectDetect" Ä¿±ê¼ì²â(º¬ÈË»ú·ÇµÈÎïÌå) EM_SCENE_FACEATTRIBUTE, // "FaceAttribute" IVSSÈËÁ³¼ì²â EM_SCENE_FACECOMPARE, // "FaceCompare" IVSSÈËÁ³Ê¶±ð EM_SCENE_STEREO_BEHAVIOR, // "StereoBehavior" Á¢ÌåÐÐΪ·ÖÎö(µäÐͳ¡¾°ATM²Õ) EM_SCENE_INTELLICITYMANAGER,// "IntelliCityMgr" ÖÇ»Û³Ç¹Ü EM_SCENE_PROTECTIVECABIN, // "ProtectiveCabin" ·À»¤²Õ£¨ATM²ÕÄÚ£© EM_SCENE_AIRPLANEDETECT, // "AirplaneDetect" ·É»úÐÐΪ¼ì²â EM_SCENE_CROWDPOSTURE, // "CrowdPosture" ÈËÈºÌ¬ÊÆ£¨ÈËȺ·Ö²¼Í¼·þÎñ£© EM_SCENE_PHONECALLDETECT, // "PhoneCallDetect" ´òµç»°¼ì²â EM_SCENE_SMOKEDETECTION, // "SmokeDetection" ÑÌÎí¼ì²â EM_SCENE_BOATDETECTION, // "BoatDetection" ´¬Ö»¼ì²â EM_SCENE_SMOKINGDETECT, // "SmokingDetect" ÎüÑ̼ì²â EM_SCENE_WATERMONITOR, // "WaterMonitor" Ë®Àû¼à²â EM_SCENE_GENERATEGRAPHDETECTION, // GenerateGraphDetection Éú³Éͼ¹æÔò EM_SCENE_TRAFFIC_PARK, // "TrafficPark" ½»Í¨Í£³µ EM_SCENE_OPERATEMONITOR, // "OperateMonitor" ×÷Òµ¼ì²â EM_SCENE_INTELLI_RETAIL, // "IntelliRetail" ÖÇ»ÛÁãÊÛ´óÀà EM_SCENE_CLASSROOM_ANALYSE, // "ClassroomAnalyse" ½ÌÓýÖǻۿÎÌà EM_SCENE_FEATURE_ABSTRACT, // "FeatureAbstract" ÌØÕ÷ÏòÁ¿ÌáÈ¡´óÀà EM_SCENE_FACEBODY_DETECT, // "FaceBodyDetect"ÈËÌå¼ì²â EM_SCENE_FACEBODY_ANALYSE, // "FaceBodyAnalyse"ÈËÌåʶ±ð EM_SCENE_VEHICLES_DISTRI, // "VehiclesDistri"³µÁ¾ÃÜ¶È EM_SCENE_INTELLI_BREED, // "IntelliBreed" ÖÇ»ÛÑøÖ³¼ì²â EM_SCENE_INTELLI_PRISON, // "IntelliPrison" ¼àÓüÐÐΪ·ÖÎö EM_SCENE_ELECTRIC_DETECT, // "ElectricDetect" µçÁ¦¼ì²â EM_SCENE_RADAR_DETECT, // "RadarDetect" À×¼ì¼ì²â EM_SCENE_PARKINGSPACE, // "ParkingSpace" ³µÎ»¼ì²â´óÀà }EM_SCENE_TYPE; /************************************************************************ ** fAnalyzerData»Øµ÷º¯ÊýdwDataTypeÀàÐͶ¨Òå ***********************************************************************/ #define TYPE_CB_VIDEOSTAT 0x1000000 // »Øµ÷½âÎöÊÓÆµÐÅÏ¢ÕªÒªÀàÐÍ£¬¶ÔÓ¦½á¹¹ÌåΪCFG_VIDEOSATA_SUMMARY_INFO #define TYPE_CB_ANARULES 0x1000001 // »Øµ÷½âÎöÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄËùÓÐʼþ¹æÔòÀàÐÍ£¬¶ÔÓ¦½á¹¹ÌåΪCFG_ANALYSERULES_INFO #define TYPE_CB_VIDEOSYNOPSIS 0x1000002 // »Øµ÷½âÎöŨËõÊÓÆµµÄÖÇÄÜÖ¡£¬¶ÔÓ¦½á¹¹ÌåDH_MSG_OBJECT #define TYPE_CB_TRAFFICFLOWINFO 0x1000003 // »Øµ÷½âÎö½»Í¨Á÷Á¿ÐÅÏ¢£¬¶ÔÓ¦½á¹¹ÌåDEV_EVENT_TRAFFIC_FLOWSTAT_INFO #define TYPE_CB_TRAFFICFLOWRULE 0x1000004 // »Øµ÷½âÎö½»Í¨Á÷Á¿¹æÔòÐÅÏ¢£¬¶ÔÓ¦½á¹¹Ìå CFG_TRAFFIC_FLOWSTAT_INFO #define TYPE_CB_VIDEOSYNOPSIS_RULE 0x1000005 // »Øµ÷½âÎöŨËõÊÓÆµµÄ¹æÔòÐÅÏ¢£¬¶ÔÓ¦½á¹¹Ìå NET_VIDEOSYNOPSISRULE_INFO /************************************************************************ ** ÅäÖÃÐÅÏ¢(ÿ¸ö½á¹¹Ìå¶¼ÓÐÄÜÁ¦ÐÅÏ¢£¬ÒÔÇø·Ö²»Í¬É豸³ÌÐò°æ±¾ºÍ²»Í¬ÐͺÅÉ豸) ***********************************************************************/ // ЭÒé°æ±¾ÐÅÏ¢ enum { CFG_PROTOCOL_VERSION_2 = 2, // ¶þ´úЭÒé CFG_PROTOCOL_VERSION_3 = 3 // Èý´úЭÒé }; // ÊÓÆµÊäÈëͨµÀ struct CFG_RemoteDeviceVideoInput { BOOL bEnable; char szName[MAX_DEVICE_NAME_LEN]; char szControlID[MAX_DEV_ID_LEN_EX]; char szMainUrl[MAX_PATH]; // Ö÷ÂëÁ÷urlµØÖ· char szExtraUrl[MAX_PATH]; // ¸¨ÂëÁ÷urlµØÖ· int nServiceType; // ·þÎñÀàÐÍ, 0-TCP, 1-UDP, 2-MCAST, -1-AUTO }; // Ô¶³ÌÉ豸 struct AV_CFG_RemoteDevice { AV_int32 nStructSize; AV_BOOL bEnable; // ʹÄÜ char szID[AV_CFG_Device_ID_Len]; // É豸ID char szIP[AV_CFG_IP_Address_Len]; // É豸IP AV_int32 nPort; // ¶Ë¿Ú char szProtocol[AV_CFG_Protocol_Len];// ЭÒéÀàÐÍ char szUser[AV_CFG_User_Name_Len]; // Óû§Ãû char szPassword[AV_CFG_Password_Len];// ÃÜÂë char szSerial[AV_CFG_Serial_Len]; // É豸ÐòÁкŠchar szDevClass[AV_CFG_Device_Class_Len];// É豸ÀàÐÍ char szDevType[AV_CFG_Device_Type_Len]; // É豸ÐͺŠchar szName[AV_CFG_Device_Name_Len]; // »úÆ÷Ãû³Æ char szAddress[AV_CFG_Address_Len]; // »úÆ÷²¿ÊðµØµã char szGroup[AV_CFG_Group_Name_Len]; // »úÆ÷·Ö×é AV_int32 nDefinition; // ÇåÎú¶È, 0-±êÇå, 1-¸ßÇå AV_int32 nVideoChannel; // ÊÓÆµÊäÈëͨµÀÊý AV_int32 nAudioChannel; // ÒôƵÊäÈëͨµÀÊý AV_int32 nRtspPort; // Rtsp¶Ë¿ÚºÅ char szVendor[MAX_PATH]; // É豸½ÓÈëÀàÐÍ CFG_RemoteDeviceVideoInput *pVideoInput; // ÊÓÆµÊäÈëͨµÀ£¬Óû§ÉêÇënMaxVideoInputs¸öCFG_RemoteDeviceVideoInput¿Õ¼ä int nMaxVideoInputs; int nRetVideoInputs; int nHttpPort; // http¶Ë¿ÚºÅ // ÒÔÏÂ3ÏîΪ¹ú¼Ê½ÓÈ뷽ʽÏà¹Ø AV_BOOL bGB28181; // ÊÇ·ñÓйú¼Ê½ÓÈ뷽ʽ int nDevLocalPort; // É豸±¾µØ¶Ë¿Ú char szDeviceNo[AV_CFG_DeviceNo_Len];// É豸±àºÅ int nLoginType; // µÇ¼·½Ê½ 0 : TCPÖ±Á¬(ĬÈÏ·½Ê½) 6 : Ö÷¶¯×¢²á 7 : P2P·½Ê½£¬´Ë·½Ê½Ê±Í¨¹ýSerialNoÓëÉ豸ͨ¹ýP2PÁ¬½Ó }; //-----------------------------ͼÏñͨµÀÊôÐÔ------------------------------- // »­ÖÊ typedef enum tagCFG_IMAGE_QUALITY { IMAGE_QUALITY_Q10 = 1, // ͼÏñÖÊÁ¿10% IMAGE_QUALITY_Q30, // ͼÏñÖÊÁ¿30% IMAGE_QUALITY_Q50, // ͼÏñÖÊÁ¿50% IMAGE_QUALITY_Q60, // ͼÏñÖÊÁ¿60% IMAGE_QUALITY_Q80, // ͼÏñÖÊÁ¿80% IMAGE_QUALITY_Q100, // ͼÏñÖÊÁ¿100% } CFG_IMAGE_QUALITY; // ÊÓÆµÑ¹Ëõ¸ñʽ typedef enum tagCFG_VIDEO_COMPRESSION { VIDEO_FORMAT_MPEG4, // MPEG4 VIDEO_FORMAT_MS_MPEG4, // MS-MPEG4 VIDEO_FORMAT_MPEG2, // MPEG2 VIDEO_FORMAT_MPEG1, // MPEG1 VIDEO_FORMAT_H263, // H.263 VIDEO_FORMAT_MJPG, // MJPG VIDEO_FORMAT_FCC_MPEG4, // FCC-MPEG4 VIDEO_FORMAT_H264, // H.264 VIDEO_FORMAT_H265, // H.265 VIDEO_FORMAT_SVAC, // SVAC } CFG_VIDEO_COMPRESSION; // ÒôƵ±àÂëģʽ typedef enum tatCFG_AUDIO_FORAMT { AUDIO_FORMAT_G711A, // G711a AUDIO_FORMAT_PCM, // PCM AUDIO_FORMAT_G711U, // G711u AUDIO_FORMAT_AMR, // AMR AUDIO_FORMAT_AAC, // AAC } CFG_AUDIO_FORMAT; // ÂëÁ÷¿ØÖÆÄ£Ê½ typedef enum tagCFG_BITRATE_CONTROL { BITRATE_CBR, // ¹Ì¶¨ÂëÁ÷ BITRATE_VBR, // ¿É±äÂëÁ÷ } CFG_BITRATE_CONTROL; // H264 ±àÂë¼¶±ð typedef enum tagCFG_H264_PROFILE_RANK { PROFILE_BASELINE = 1, // ÌṩI/PÖ¡£¬½öÖ§³Öprogressive(ÖðÐÐɨÃè)ºÍCAVLC PROFILE_MAIN, // ÌṩI/P/BÖ¡£¬Ö§³ÖprogressivºÍinterlaced£¬ÌṩCAVLC»òCABAC PROFILE_EXTENDED, // ÌṩI/P/B/SP/SIÖ¡£¬½öÖ§³Öprogressive(ÖðÐÐɨÃè)ºÍCAVLC PROFILE_HIGH, // ¼´FRExt£¬Main_Profile»ù´¡ÉÏÐÂÔö£º8x8 intra prediction(8x8 Ö¡ÄÚÔ¤²â), custom // quant(×Ô¶¨ÒåÁ¿»¯), lossless video coding(ÎÞËðÊÓÆµ±àÂë), ¸ü¶àµÄyuv¸ñʽ }CFG_H264_PROFILE_RANK; // ·Ö±æÂÊö¾Ù typedef enum tagCFG_CAPTURE_SIZE { IMAGE_SIZE_D1, // 704*576(PAL) 704*480(NTSC) IMAGE_SIZE_HD1, // 352*576(PAL) 352*480(NTSC) IMAGE_SIZE_BCIF, // 704*288(PAL) 704*240(NTSC) IMAGE_SIZE_CIF, // 352*288(PAL) 352*240(NTSC) IMAGE_SIZE_QCIF, // 176*144(PAL) 176*120(NTSC) IMAGE_SIZE_VGA, // 640*480 IMAGE_SIZE_QVGA, // 320*240 IMAGE_SIZE_SVCD, // 480*480 IMAGE_SIZE_QQVGA, // 160*128 IMAGE_SIZE_SVGA, // 800*592 IMAGE_SIZE_XVGA, // 1024*768 IMAGE_SIZE_WXGA, // 1280*800 IMAGE_SIZE_SXGA, // 1280*1024 IMAGE_SIZE_WSXGA, // 1600*1024 IMAGE_SIZE_UXGA, // 1600*1200 IMAGE_SIZE_WUXGA, // 1920*1200 IMAGE_SIZE_LTF, // 240*192 IMAGE_SIZE_720, // 1280*720 IMAGE_SIZE_1080, // 1920*1080 IMAGE_SIZE_1_3M, // 1280*960 IMAGE_SIZE_2M, // 1872*1408 IMAGE_SIZE_5M, // 3744*1408 IMAGE_SIZE_3M, // 2048*1536 IMAGE_SIZE_5_0M, // 2432*2050 IMAGE_SIZE_1_2M, // 1216*1024 IMAGE_SIZE_1408_1024, // 1408*1024 IMAGE_SIZE_8M, // 3296*2472 IMAGE_SIZE_2560_1920, // 2560*1920(5M) IMAGE_SIZE_960H, // 960*576(PAL) 960*480(NTSC) IMAGE_SIZE_960_720, // 960*720 IMAGE_SIZE_NHD, // 640*360 IMAGE_SIZE_QNHD, // 320*180 IMAGE_SIZE_QQNHD, // 160*90 IMAGE_SIZE_NR } CFG_CAPTURE_SIZE; // ÊÓÆµ¸ñʽ typedef struct tagCFG_VIDEO_FORMAT { // ÄÜÁ¦ bool abCompression; bool abWidth; bool abHeight; bool abBitRateControl; bool abBitRate; bool abFrameRate; bool abIFrameInterval; bool abImageQuality; bool abFrameType; bool abProfile; // ÐÅÏ¢ CFG_VIDEO_COMPRESSION emCompression; // ÊÓÆµÑ¹Ëõ¸ñʽ int nWidth; // ÊÓÆµ¿í¶È int nHeight; // ÊÓÆµ¸ß¶È CFG_BITRATE_CONTROL emBitRateControl; // ÂëÁ÷¿ØÖÆÄ£Ê½ int nBitRate; // ÊÓÆµÂëÁ÷(kbps) float nFrameRate; // ÊÓÆµÖ¡ÂÊ int nIFrameInterval; // IÖ¡¼ä¸ô(1-100)£¬±ÈÈç50±íʾÿ49¸öBÖ¡»òPÖ¡£¬ÉèÖÃÒ»¸öIÖ¡¡£ CFG_IMAGE_QUALITY emImageQuality; // ͼÏñÖÊÁ¿ int nFrameType; // ´ò°üģʽ£¬0£­DHAV£¬1£­"PS" CFG_H264_PROFILE_RANK emProfile; // H.264±àÂë¼¶±ð } CFG_VIDEO_FORMAT; // ÒôƵ¸ñʽ typedef struct tagCFG_AUDIO_FORMAT { // ÄÜÁ¦ bool abCompression; bool abDepth; bool abFrequency; bool abMode; bool abFrameType; bool abPacketPeriod; bool abChannels; bool abMix; // ÐÅÏ¢ CFG_AUDIO_FORMAT emCompression; // ÒôƵѹËõģʽ AV_int32 nDepth; // ÒôƵ²ÉÑùÉî¶È AV_int32 nFrequency; // ÒôƵ²ÉÑùƵÂÊ AV_int32 nMode; // ÒôƵ±àÂëģʽ AV_int32 nFrameType; // ÒôƵ´ò°üģʽ, 0-DHAV, 1-PS AV_int32 nPacketPeriod; // ÒôƵ´ò°üÖÜÆÚ, ms AV_int32 nChannelsNum; // ÊÓÆµÍ¨µÀµÄ°éÒôͨµÀºÅÁбí¸öÊý AV_uint32 arrChannels[MAX_AUDIOCHANNELS_ARRAY_NUM]; // ÊÓÆµÍ¨µÀµÄ°éÒôͨµÀºÅÁбí BOOL bMix; // ÊÇ·ñͬԴ } CFG_AUDIO_ENCODE_FORMAT; // ÊÓÆµ±àÂë²ÎÊý typedef struct tagCFG_VIDEOENC_OPT { // ÄÜÁ¦ bool abVideoEnable; bool abAudioEnable; bool abSnapEnable; bool abAudioAdd; // ÒôƵµþ¼ÓÄÜÁ¦ bool abAudioFormat; // ÐÅÏ¢ BOOL bVideoEnable; // ÊÓÆµÊ¹ÄÜ CFG_VIDEO_FORMAT stuVideoFormat; // ÊÓÆµ¸ñʽ BOOL bAudioEnable; // ÒôƵʹÄÜ BOOL bSnapEnable; // ¶¨Ê±×¥Í¼Ê¹ÄÜ BOOL bAudioAddEnable; // ÒôƵµþ¼ÓʹÄÜ CFG_AUDIO_ENCODE_FORMAT stuAudioFormat; // ÒôƵ¸ñʽ } CFG_VIDEOENC_OPT; // RGBAÐÅÏ¢ typedef struct tagCFG_RGBA { int nRed; int nGreen; int nBlue; int nAlpha; } CFG_RGBA; // ÇøÓòÐÅÏ¢ typedef struct tagCFG_RECT { int nLeft; int nTop; int nRight; int nBottom; } CFG_RECT; // ÇøÓò¶¥µãÐÅÏ¢ typedef struct tagCFG_POLYGON { int nX; //0~8191 int nY; } CFG_POLYGON; // ÇøÓòÐÅÏ¢ typedef struct tagCFG_REGION { int nPointNum; CFG_POLYGON stuPolygon[MAX_POLYGON_NUM]; }CFG_REGION; // ÕÛÏߵĶ˵ãÐÅÏ¢ typedef struct tagCFG_POLYLINE { int nX; //0~8191 int nY; } CFG_POLYLINE; typedef enum tagCFG_FLOWSTAT_DIRECTION { CFG_DRIVING_DIR_APPROACH , //ÉÏÐУ¬¼´³µÁ¾ÀëÉ豸²¿ÊðµãÔ½À´Ô½½ü CFG_DRIVING_DIR_LEAVE , //ÏÂÐУ¬¼´³µÁ¾ÀëÉ豸²¿ÊðµãÔ½À´Ô½Ô¶ }CFG_FLOWSTAT_DIRECTION; #define CFG_FLOWSTAT_ADDR_NAME 16 //ÉÏÏÂÐеصãÃû³¤ //³µÁ¾Á÷Á¿Í³¼Æ³µµÀ·½ÏòÐÅÏ¢ typedef struct tagCFG_TRAFFIC_FLOWSTAT_DIR_INFO { CFG_FLOWSTAT_DIRECTION emDrivingDir; //ÐÐÊ»·½Ïò char szUpGoing[CFG_FLOWSTAT_ADDR_NAME]; //ÉÏÐеصã char szDownGoing[CFG_FLOWSTAT_ADDR_NAME]; //ÏÂÐеصã }CFG_TRAFFIC_FLOWSTAT_DIR_INFO; // µÀ·µÈ¼¶ typedef enum tagEM_LANE_RANK_TYPE { EM_LANE_RANK_UNKNOWN, // δ֪ÀàÐÍ EM_LANE_RANK_RAPID, // ¿ìËÙ· EM_LANE_RANK_TRUNK, // Ö÷¸É· EM_LANE_RANK_SUBTRUNK, // ´Î¸É· EM_LANE_RANK_BRANCH, // ֧· } EM_LANE_RANK_TYPE; // ³µµÀÐÅÏ¢ typedef struct tagCFG_LANE { int nLaneId; // ³µµÀ±àºÅ int nDirection; // ³µµÀ·½Ïò(³µ¿ªÍùµÄ·½Ïò),0-±± 1-¶«±± 2-¶« 3-¶«ÄÏ 4-ÄÏ 5-Î÷ÄÏ 6-Î÷ 7-Î÷±± CFG_POLYLINE stuLeftLine[MAX_POLYLINE_NUM]; // ×ó³µµÀÏߣ¬³µµÀÏߵķ½Ïò±íʾ³µµÀ·½Ïò£¬ÑسµµÀ·½Ïò×ó±ßµÄ³ÆÎª×ó³µµÀÏß int nLeftLineNum; // ×ó³µµÀÏß¶¥µãÊý CFG_POLYLINE stuRightLine[MAX_POLYLINE_NUM]; // ÓÒ³µµÀÏߣ¬³µµÀÏߵķ½Ïò±íʾ³µµÀ·½Ïò£¬ÑسµµÀ·½ÏòÓұߵijÆÎªÓÒ³µµÀÏß int nRightLineNum; // ÓÒ³µµÀÏß¶¥µãÊý int nLeftLineType; // ×ó³µµÀÏßÊôÐÔ£¬1-±íʾ°×ʵÏߣ¬2- °×ÐéÏߣ¬3- »ÆÏß int nRightLineType; // ÓÒ³µµÀÏßÊôÐÔ£¬1-±íʾ°×ʵÏߣ¬2- °×ÐéÏߣ¬3- »ÆÏß BOOL bDriveDirectionEnable; // ³µµÀÐÐÊ»·½ÏòʹÄÜ int nDriveDirectionNum; // ³µµÀÐÐÊ»·½ÏòÊý char szDriveDirection[MAX_LIGHT_DIRECTION][MAX_NAME_LEN]; // ³µµÀÐÐÊ»·½Ïò£¬"Straight" Ö±ÐУ¬"TurnLeft" ×óת£¬"TurnRight" ÓÒת,"U-Turn":µôÍ· int nStopLineNum; // ³µµÀ¶ÔӦֹͣÏß¶¥µãÊý CFG_POLYLINE stuStopLine[MAX_POLYLINE_NUM]; // ³µµÀ¶ÔӦֹͣÏß int nTrafficLightNumber; // ³µµÀ¶ÔÓ¦µÄºìÂ̵Æ×é±àºÅ bool abDetectLine; // ¶ÔÓ¦ÄÜÁ¦¼¯ bool abPreLine; bool abPostLine; BYTE byReserved[1]; int nDetectLine; CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ³µµÀ¶ÔÓ¦µÄ¼ì²âÏß int nPreLine; CFG_POLYLINE stuPreLine[MAX_POLYLINE_NUM]; // ³µµÀ¶ÔÓ¦µÄǰÖÃÏß int nPostLine; CFG_POLYLINE stuPostLine[MAX_POLYLINE_NUM]; // ³µµÀ¶ÔÓ¦µÄºóÖÃÏß CFG_TRAFFIC_FLOWSTAT_DIR_INFO stuTrafficFlowDir; // ³µµÀÁ÷Á¿ÐÅÏ¢ EM_LANE_RANK_TYPE emRankType; // µÀ·µÈ¼¶£¬ÓÃÓÚ³µÁ÷Á¿Í³¼ÆÉϱ¨½»Í¨×´Ì¬ }CFG_LANE; // ½»Í¨µÆÊôÐÔ typedef struct tagCFG_LIGHTATTRIBUTE { BOOL bEnable; // µ±Ç°½»Í¨µÆÊÇ·ñÓÐЧ£¬Óë³µÁ¾Í¨ÐÐÎ޹صĽ»Í¨ÐèÒªÉèÖÃÎÞЧ int nTypeNum; char szLightType[MAX_LIGHT_TYPE][MAX_NAME_LEN]; // µ±Ç°½»Í¨µÆÏÔÏÖÄÚÈÝ£¨°üÀ¨:ºì-Red,»Æ-Yellow,ÂÌ-Green,µ¹¼ÆÊ±-Countdown£©£¬Èçij½»Í¨µÆ¿ÉÒÔÏÔʾºì»ÆÂÌÈýÖÖÑÕÉ«£¬Ä³½»Í¨µÆÖ»ÏÔʾµ¹¼ÆÊ± int nDirectionNum; char szDirection[MAX_LIGHT_DIRECTION][MAX_NAME_LEN]; // ½»Í¨µÆÖ¸Ê¾µÄÐгµ·½Ïò,"Straight": Ö±ÐУ¬"TurnLeft":×óת£¬"TurnRight":ÓÒת£¬"U-Turn": µôÍ· int nYellowTime; // »ÆµÆÁÁʱ¼ä }CFG_LIGHTATTRIBUTE; // ½»Í¨µÆ×éÅäÖÃÐÅÏ¢ typedef struct tagCFG_LIGHTGROUPS { int nLightGroupId; // µÆ×é±àºÅ CFG_RECT stuLightLocation; // µÆ×é×ø±ê int nDirection; // µÆ×éµÄ·½Ïò,1- µÆ×éˮƽÏò,2- µÆ×é´¹Ö±Ïò BOOL bExternalDetection; // ÊÇ·ñΪÍâ½ÓºìÂ̵ÆÐźÅ,µ±Íâ½ÓºìÂ̵ÆÊ±£¬ÒÔÍâ½çÐźÅΪÅжÏÒÀ¾Ý¡£Íâ½çÐźÅÿ´ÎÌø±äʱ֪ͨ BOOL bSwingDetection; // ÊÇ·ñÖ§³Ö×ÔÊÊÓ¦µÆ×éÒ¡°Ú¼ì²â,ÔÚ·ç´µ»òÕßÈÝÒ×Õ𶯵ij¡¾°Ï£¬Î»ÖÃ»á½øÐÐÒ»¶¨µÄ¸¡¶¯Æ«²î¡£Èç¹ûÓÉËã·¨×ÔÐмì²â£¬»áÔö¼Ó¼ì²âʱ¼ä int nLightNum; // µÆ×éÖн»Í¨µÆµÄÊýÁ¿ CFG_LIGHTATTRIBUTE stuLightAtrributes[MAX_LIGHT_NUM]; // µÆ×éÖи÷½»Í¨µÆµÄÊôÐÔ }CFG_LIGHTGROUPS; enum EM_STAFF_TYPE { EM_STAFF_TYPE_ERR, EM_STAFF_TYPE_HORIZONTAL, // "Horizontal" ˮƽÏß¶Î EM_STAFF_TYPE_VERTICAL, // "Vertical" ´¹Ö±Ïß¶Î EM_STAFF_TYPE_ANY, // "Any" ÈÎÒâÏß¶Î EM_STAFF_TYPE_CROSS, // "Cross" ´¹Ö±Ãæ½»Ïß¶Î }; enum EM_CALIBRATEAREA_TYPE { EM_CALIBRATEAREA_TYPE_ERR, EM_CALIBRATEAREA_TYPE_GROUD, // "Groud" : µØÃ棬ÐèÒªNÌõÊúÖ±Ïß¶Î+MÌõˮƽÏ߶Σ¨£¨N=3£¬M=1£©£»£¨N=2£¬M=2£©£»½ñºóÀ©Õ¹£©¡£ EM_CALIBRATEAREA_TYPE_HORIZONTAL, // "Horizontal" : Ë®Æ½Ãæ£¬ÐèÒªË®Æ½ÃæÉÏÒ»µãµ½µØÃæµãµÄͶӰ´¹Ö±Ï߶Ρ£ EM_CALIBRATEAREA_TYPE_VERTICAL, // "Vertical" : ´¹Ö±Ã棬ÐèÒª´¹Ö±ÃæÓëµØÃæµÄ½»Ïß¡£ EM_CALIBRATEAREA_TYPE_ANY, // "Any" ÈÎÒâÆ½Ãæ£¬NÌõÊúÖ±Ï߶Σ¬¼°Ã¿Ìõ³¤¶È£¨N=3£¬¼°½ñºóÀ©Õ¹£©¡£ }; // ÌØÊâÇøÓòµÄÊôÐÔÀàÐÍ enum EM_SEPCIALREGION_PROPERTY_TYPE { EM_SEPCIALREGION_PROPERTY_TYPE_HIGHLIGHT = 1, // ¸ßÁÁ£¬¼üÅ̼ì²âÇøÓò¾ßÓдËÌØÐÔ EM_SEPCIALREGION_PROPERTY_TYPE_REGULARBLINK, // ¹æÂɵÄÉÁ˸£¬²å¿¨ÇøÓò¾ßÓдËÌØÐÔ EM_SEPCIALREGION_PROPERTY_TYPE_IREGULARBLINK, // ²»¹æÂɵÄÉÁ˸£¬ÆÁÄ»ÇøÓò¾ßÓдËÌØÐÔ EM_SEPCIALREGION_PROPERTY_TYPE_NUM, }; // ÈËÁ³¼ì²âÀàÐÍ enum EM_FACEDETECTION_TYPE { EM_FACEDETECTION_TYPE_ERR, EM_FACEDETECTION_TYPE_SMALLFACE, //СÁ³ÀàÐÍ£¬ÈËÁ³ÔÚÊÓÆµÖеıÈÖØ´ó¸Å17% EM_FACEDETECTION_TYPE_LARGEFACE, //´óÁ³ÀàÐÍ£¬ÈËÁ³ÔÚÊÓÆµÖеıÈÖØ´ó¸Å33% EM_FACEDETECTION_TYPE_BOTH, //¼ì²âÀàÐÍ }; typedef struct tagCFG_STAFF { CFG_POLYLINE stuStartLocation; // ÆðÊ¼×ø±êµã CFG_POLYLINE stuEndLocation; // ÖÕÖ¹×ø±êµã float nLenth; // ʵ¼Ê³¤¶È,µ¥Î»Ã× EM_STAFF_TYPE emType; // ±ê³ßÀàÐÍ }CFG_STAFF; // Size typedef struct tagCFG_SIZE { union { float nWidth; // ¿í float nArea; // Ãæ»ý }; float nHeight; // ¸ß } CFG_SIZE; // ÕÚµ²ÐÅÏ¢ typedef struct tagCFG_COVER_INFO { // ÄÜÁ¦ bool abBlockType; bool abEncodeBlend; bool abPreviewBlend; // ÐÅÏ¢ CFG_RECT stuRect; // ¸²¸ÇµÄÇøÓò×ø±ê CFG_RGBA stuColor; // ¸²¸ÇµÄÑÕÉ« int nBlockType; // ¸²¸Ç·½Ê½£»0£­ºÚ¿é£¬1£­ÂíÈü¿Ë int nEncodeBlend; // ±àÂë¼¶ÕÚµ²£»1£­ÉúЧ£¬0£­²»ÉúЧ int nPreviewBlend; // Ô¤ÀÀÕÚµ²£»1£­ÉúЧ£¬0£­²»ÉúЧ } CFG_COVER_INFO; // ¶àÇøÓòÕÚµ²ÅäÖà typedef struct tagCFG_VIDEO_COVER { int nTotalBlocks; // Ö§³ÖµÄÕÚµ²¿éÊý int nCurBlocks; // ÒÑÉèÖõĿéÊý CFG_COVER_INFO stuCoverBlock[MAX_VIDEO_COVER_NUM]; // ¸²¸ÇµÄÇøÓò } CFG_VIDEO_COVER; // OSDÐÅÏ¢ typedef struct tagCFG_OSD_INFO { // ÄÜÁ¦ bool abShowEnable; // ÐÅÏ¢ CFG_RGBA stuFrontColor; // ǰ¾°ÑÕÉ« CFG_RGBA stuBackColor; // ±³¾°ÑÕÉ« CFG_RECT stuRect; // ¾ØÐÎÇøÓò BOOL bShowEnable; // ÏÔʾʹÄÜ } CFG_OSD_INFO; // »­ÃæÑÕÉ«ÊôÐÔ typedef struct tagCFG_COLOR_INFO { int nBrightness; // ÁÁ¶È(0-100) int nContrast; // ¶Ô±È¶È(0-100) int nSaturation; // ±¥ºÍ¶È(0-100) int nHue; // É«¶È(0-100) int nGain; // ÔöÒæ(0-100) BOOL bGainEn; // ÔöÒæÊ¹ÄÜ } CFG_COLOR_INFO; // ͼÏñͨµÀÊôÐÔÐÅÏ¢ typedef struct tagCFG_ENCODE_INFO { int nChannelID; // ͨµÀºÅ(0¿ªÊ¼),»ñȡʱ£¬¸Ã×Ö¶ÎÓÐЧ£»ÉèÖÃʱ£¬¸Ã×Ö¶ÎÎÞЧ char szChnName[MAX_CHANNELNAME_LEN]; // ÎÞЧ×Ö¶Î CFG_VIDEOENC_OPT stuMainStream[MAX_VIDEOSTREAM_NUM]; // Ö÷ÂëÁ÷£¬0£­ÆÕͨ¼Ïñ£¬1-¶¯¼ì¼Ïñ£¬2£­±¨¾¯Â¼Ïñ int nValidCountMainStream; // Ö÷ÂëÁ÷Êý×éÖÐÓÐЧµÄ¸öÊý CFG_VIDEOENC_OPT stuExtraStream[MAX_VIDEOSTREAM_NUM];// ¸¨ÂëÁ÷£¬0£­¸¨ÂëÁ÷1£¬1£­¸¨ÂëÁ÷2£¬2£­¸¨ÂëÁ÷3 int nValidCountExtraStream; // ¸¨ÂëÁ÷Êý×éÖÐÓÐЧµÄ¸öÊý CFG_VIDEOENC_OPT stuSnapFormat[MAX_VIDEOSTREAM_NUM]; // ץͼ£¬0£­ÆÕͨץͼ£¬1£­¶¯¼ìץͼ£¬2£­±¨¾¯×¥Í¼ int nValidCountSnapFormat; // ץͼÊý×éÖÐÓÐЧµÄ¸öÊý DWORD dwCoverAbilityMask; // ÎÞЧ×Ö¶Î DWORD dwCoverEnableMask; // ÎÞЧ×Ö¶Î CFG_VIDEO_COVER stuVideoCover; // ÎÞЧ×Ö¶Î CFG_OSD_INFO stuChnTitle; // ÎÞЧ×Ö¶Î CFG_OSD_INFO stuTimeTitle; // ÎÞЧ×Ö¶Î CFG_COLOR_INFO stuVideoColor; // ÎÞЧ×Ö¶Î CFG_AUDIO_FORMAT emAudioFormat; // ÎÞЧ×Ö¶Î int nProtocolVer; // ЭÒé°æ±¾ºÅ, Ö»¶Á,»ñȡʱ£¬¸Ã×Ö¶ÎÓÐЧ£»ÉèÖÃʱ£¬¸Ã×Ö¶ÎÎÞЧ } CFG_ENCODE_INFO; // ÊÓÆµÊäÈëǰ¶ËÄÜÁ¦¼¯ typedef struct tagCFG_VIDEO_ENCODECAP { int nMaxCIFFrame; // CIF PÖ¡×î´óÖµ µ¥Î»Kbits, ĬÈÏÖµ40 int nMinCIFFrame; // CIF PÖ¡×îСֵ µ¥Î»Kbits, ĬÈÏÖµ7 }CFG_VIDEO_ENCODECAP; // ¶à»­ÃæÔ¤ÀÀ¹¤×÷ģʽ typedef enum tagCFG_EM_PREVIEW_MODE { CFG_EM_PREVIEW_MODE_UNKNOWN = 0, // CFG_EM_PREVIEW_MODE_SNAPSHOT, // ¿ìÕÕ·½Ê½ CFG_EM_PREVIEW_MODE_SPLITENCODE, // ·Ö¸î±àÂ뷽ʽ CFG_EM_PREVIEW_MODE_SPLITSNAP, // ·Ö¸î¿ìÕÕ·½Ê½ }CFG_EM_PREVIEW_MODE; #define MAX_PREVIEW_MODE_SPLIT_TYPE_NUM 8 // ×î´ó¶à»­ÃæÔ¤ÀÀ´°¿Ú·Ö¸îÖÖÀàÊý // ±àÂëÄÜÁ¦¼¯ typedef struct tagCFG_ENCODECAP { int nChannelNum; // ʵ¼ÊͨµÀÊý CFG_VIDEO_ENCODECAP stuVideoEncodeCap[MAX_VIDEO_CHANNEL_NUM]; // ¸÷ͨµÀ±àÂëÄÜÁ¦ÐÅÏ¢Êý×é CFG_EM_PREVIEW_MODE emPreviewMode; // ¶à»­ÃæÔ¤ÀÀ¹¤×÷ģʽ int nSplitModeNum; // ÓÐЧµÄ¶à»­ÃæÔ¤ÀÀ´°¿Ú·Ö¸îÖÖÀàÊý int anSplitMode[MAX_PREVIEW_MODE_SPLIT_TYPE_NUM];// ¶à»­ÃæÔ¤ÀÀ´°¿Ú·Ö¸îÊýÐÅÏ¢, ¿ÉÒÔΪ1, 4, 6, 8, 9, 16, 25, 36... // -1±íʾĬÈÏ[1, 4, 8, 9, 16, ¡­Ä£ÄâͨµÀÊýÁ¿], ΪСÓÚÄ£ÄâͨµÀÊýµÄNµÄƽ·½Êý, Èç¹ûÄ£ÄâͨµÀ´óÓÚ8, Ò²°üº¬8 int nMaxEncodeAudios; // Ö§³ÖµÄ×î´ó±àÂëÒôƵÊý£¬ÓÃÓÚË«ÒôƵ,ĬÈÏ1 int nAudioFrequence[16]; // Ö§³ÖµÄÒôƵ±àÂë²ÉÑùÂÊ int nAudioFrequenceCount; // Ö§³ÖµÄÒôƵ±àÂë²ÉÑùÂʵÄʵ¼Ê¸öÊý BYTE byReserved[4]; // ±£Áô×Ö½Ú£¬ÓÃÓÚ×Ö½Ú¶ÔÆë }CFG_ENCODECAP; // ˮӡÅäÖà typedef struct tagCFG_WATERMARK_INFO { int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) BOOL bEnable; // ʹÄÜ¿ª¹Ø int nStreamType; // ÂëÁ÷ÀàÐÍ(1¡«n)£¬0£­ËùÓÐÂëÁ÷ int nDataType; // Êý¾ÝÀàÐÍ£¬1£­ÎÄ×Ö£¬2£­Í¼Æ¬ char pData[MAX_WATERMARK_LEN]; // ×Ö·û´®Ë®Ó¡Êý¾Ý } CFG_WATERMARK_INFO; // dspÅäÖà typedef struct tagCFG_DSPENCODECAP_INFO{ DWORD dwVideoStandardMask; // ÊÓÆµÖÆÊ½ÑÚÂ룬°´Î»±íʾÉ豸Äܹ»Ö§³ÖµÄÊÓÆµÖÆÊ½ DWORD dwImageSizeMask; // ·Ö±æÂÊÑÚÂ룬°´Î»±íʾÉ豸Äܹ»Ö§³ÖµÄ·Ö±æÂÊ DWORD dwEncodeModeMask; // ±àÂëģʽÑÚÂ룬°´Î»±íʾÉ豸Äܹ»Ö§³ÖµÄ±àÂëģʽ DWORD dwStreamCap; // °´Î»±íʾÉ豸֧³ÖµÄ¶àýÌ幦ÄÜ£¬ // µÚһλ±íʾ֧³ÖÖ÷ÂëÁ÷ // µÚ¶þλ±íʾ֧³Ö¸¨ÂëÁ÷1 // µÚÈýλ±íʾ֧³Ö¸¨ÂëÁ÷2 // µÚÎåλ±íʾ֧³Öjpgץͼ DWORD dwImageSizeMask_Assi[32];// ±íʾÖ÷ÂëÁ÷Ϊ¸÷·Ö±æÂÊʱ£¬Ö§³ÖµÄ¸¨ÂëÁ÷·Ö±æÂÊÑÚÂë¡£ DWORD dwMaxEncodePower; // DSPÖ§³ÖµÄ×î¸ß±àÂëÄÜÁ¦ WORD wMaxSupportChannel; // ÿ¿éDSPÖ§³Ö×î¶àÊäÈëÊÓÆµÍ¨µÀÊý WORD wChannelMaxSetSync; // DSPÿͨµÀµÄ×î´ó±àÂëÉèÖÃÊÇ·ñͬ²½£»0£º²»Í¬²½£¬1£ºÍ¬²½ BYTE bMaxFrameOfImageSize[256];// ²»Í¬·Ö±æÂÊϵÄ×î´ó²É¼¯Ö¡ÂÊ£¬ÓëdwVideoStandardMask°´Î»¶ÔÓ¦ BYTE bEncodeCap; // ±êÖ¾£¬ÅäÖÃʱҪÇó·ûºÏÏÂÃæÌõ¼þ£¬·ñÔòÅäÖò»ÄÜÉúЧ£» // 0£ºÖ÷ÂëÁ÷µÄ±àÂëÄÜÁ¦+¸¨ÂëÁ÷µÄ±àÂëÄÜÁ¦ <= É豸µÄ±àÂëÄÜÁ¦£¬ // 1£ºÖ÷ÂëÁ÷µÄ±àÂëÄÜÁ¦+¸¨ÂëÁ÷µÄ±àÂëÄÜÁ¦ <= É豸µÄ±àÂëÄÜÁ¦£¬ // ¸¨ÂëÁ÷µÄ±àÂëÄÜÁ¦ <= Ö÷ÂëÁ÷µÄ±àÂëÄÜÁ¦£¬ // ¸¨ÂëÁ÷µÄ·Ö±æÂÊ <= Ö÷ÂëÁ÷µÄ·Ö±æÂÊ£¬ // Ö÷ÂëÁ÷ºÍ¸¨ÂëÁ÷µÄÖ¡ÂÊ <= ǰ¶ËÊÓÆµ²É¼¯Ö¡ÂÊ // 2£ºN5µÄ¼ÆËã·½·¨ // ¸¨ÂëÁ÷µÄ·Ö±æÂÊ <= Ö÷ÂëÁ÷µÄ·Ö±æÂÊ // ²éѯ֧³ÖµÄ·Ö±æÂʺÍÏàÓ¦×î´óÖ¡ÂÊ BYTE byResolutionNum; // bResolutionµÄ³¤¶È BYTE byResolutionNum_1; // bResolution_1µÄ³¤¶È BYTE byReserved; BYTE byResolution[256]; //Ö÷ÂëÁ÷,°´ÕÕ·Ö±æÂʽøÐÐË÷Òý£¬Èç¹ûÖ§³Ö¸Ã·Ö±æÂÊ£¬ÔòbResolution[n]µÈÓÚÖ§³ÖµÄ×î´óÖ¡ÂÊ.·ñÔòΪ0. BYTE byResolution_1[256]; //¸¨ÖúÂëÁ÷1,ͬÖ÷ÂëÁ÷˵Ã÷. char reserved[28]; BYTE byImageSize[256]; // Ö§³ÖµÄ·Ö±æÂÊÊý×é,²Î¼ûenum CAPTURE_SIZE BYTE byImageSize_Assi[256][256]; //±íʾÖ÷ÂëÁ÷Ϊ¸÷·Ö±æÂÊʱ£¬Ö§³ÖµÄ¸¨ÂëÁ÷·Ö±æÂÊ£¬Êý×éϱê±íʾÖ÷ÂëÁ÷ËùÖ§³ÖµÄ·Ö±æÂÊÖµ¡£ }CFG_DSPENCODECAP_INFO; // ÔÆÌ¨¶¯×÷ typedef enum tagEM_PTZ_ACTION { EM_PTZ_ACTION_UNKNOWN, // δ֪ EM_PTZ_ACTION_SCAN, // ɨÃè EM_PTZ_ACTION_PRESET, // Ô¤Öõã EM_PTZ_ACTION_PATTERN, // Ѳ¼£ EM_PTZ_ACTION_TOUR, // Ѳº½ } EM_PTZ_ACTION; //-------------------------------¼ÏóÅäÖÃ--------------------------------- // ʱ¼ä¶ÎÐÅÏ¢ typedef struct tagCFG_TIME_SECTION { DWORD dwRecordMask; // ¼ÏñÑÚÂ룬°´Î»·Ö±ðΪ¶¯Ì¬¼ì²â¼Ïñ¡¢±¨¾¯Â¼Ïñ¡¢¶¨Ê±Â¼Ïñ¡¢Bit3~Bit15±£Áô¡¢Bit16¶¯Ì¬¼ì²âץͼ¡¢Bit17±¨¾¯×¥Í¼¡¢Bit18¶¨Ê±×¥Í¼ int nBeginHour; int nBeginMin; int nBeginSec; int nEndHour; int nEndMin; int nEndSec; } CFG_TIME_SECTION; // ʱ¼ä±íÐÅÏ¢ typedef struct tagCFG_TIME_SCHEDULE { BOOL bEnableHoliday; // ÊÇ·ñÖ§³Ö½Ú¼ÙÈÕÅäÖã¬Ä¬ÈÏΪ²»Ö§³Ö£¬³ý·Ç»ñÈ¡ÅäÖú󷵻ØÎªTRUE£¬²»ÒªÊ¹ÄܼÙÈÕÅäÖà CFG_TIME_SECTION stuTimeSection[MAX_TIME_SCHEDULE_NUM][MAX_REC_TSECT]; // µÚһάǰ7¸öÔªËØ¶ÔӦÿÖÜ7Ì죬µÚ8¸öÔªËØ¶ÔÓ¦½Ú¼ÙÈÕ£¬Ã¿Ìì×î¶à6¸öʱ¼ä¶Î } CFG_TIME_SCHEDULE; // ¶¨Ê±Â¼ÏñÅäÖÃÐÅÏ¢ typedef struct tagCFG_RECORD_INFO { int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT]; // ʱ¼ä±í int nPreRecTime; // Ԥ¼ʱ¼ä£¬ÎªÁãʱ±íʾ¹Ø±Õ(0~300) BOOL bRedundancyEn; // ¼ÏñÈßÓ࿪¹Ø int nStreamType; // 0£­Ö÷ÂëÁ÷£¬1£­¸¨ÂëÁ÷1£¬2£­¸¨ÂëÁ÷2£¬3£­¸¨ÂëÁ÷3 int nProtocolVer; // ЭÒé°æ±¾ºÅ, Ö»¶Á // ÄÜÁ¦ BOOL abHolidaySchedule; // ΪtrueʱÓмÙÈÕÅäÖÃÐÅÏ¢£¬bHolidayEn¡¢stuHolTimeSection²ÅÓÐЧ; BOOL bHolidayEn; // ¼ÙÈÕ¼ÏñʹÄÜTRUE:ʹÄÜ,FALSE:δʹÄÜ CFG_TIME_SECTION stuHolTimeSection[MAX_REC_TSECT]; // ¼ÙÈÕ¼Ïñʱ¼ä±í } CFG_RECORD_INFO; //-------------------------------±¨¾¯ÅäÖÃ--------------------------------- // ÔÆÌ¨Áª¶¯ÀàÐÍ typedef enum tagCFG_LINK_TYPE { LINK_TYPE_NONE, // ÎÞÁª¶¯ LINK_TYPE_PRESET, // Áª¶¯Ô¤Öõã LINK_TYPE_TOUR, // Áª¶¯Ñ²º½ LINK_TYPE_PATTERN, // Áª¶¯¹ì¼£ } CFG_LINK_TYPE; // Áª¶¯ÔÆÌ¨ÐÅÏ¢ typedef struct tagCFG_PTZ_LINK { CFG_LINK_TYPE emType; // Áª¶¯ÀàÐÍ int nValue; // Áª¶¯È¡Öµ·Ö±ð¶ÔÓ¦Ô¤ÖõãºÅ£¬Ñ²º½ºÅµÈµÈ } CFG_PTZ_LINK; // Áª¶¯ÔÆÌ¨ÐÅÏ¢À©Õ¹ typedef struct tagCFG_PTZ_LINK_EX { CFG_LINK_TYPE emType; // Áª¶¯ÀàÐÍ int nParam1; // Áª¶¯²ÎÊý1 int nParam2; // Áª¶¯²ÎÊý2 int nParam3; // Áª¶¯²ÎÊý3 int nChannelID; // ËùÁª¶¯ÔÆÌ¨Í¨µÀ } CFG_PTZ_LINK_EX; // ʼþ±êÌâÄÚÈݽṹÌå typedef struct tagCFG_EVENT_TITLE { char szText[MAX_CHANNELNAME_LEN]; CFG_POLYGON stuPoint; // ±êÌâ×óÉϽÇ×ø±ê, ²ÉÓÃ0-8191Ïà¶Ô×ø±êϵ CFG_SIZE stuSize; // ±êÌâµÄ¿í¶ÈºÍ¸ß¶È,²ÉÓÃ0-8191Ïà¶Ô×ø±êϵ£¬Ä³Ïî»òÕßÁ½ÏîΪ0±íʾ°´ÕÕ×ÖÌå×ÔÊÊÓ¦¿í¸ß CFG_RGBA stuFrontColor; // ǰ¾°ÑÕÉ« CFG_RGBA stuBackColor; // ±³¾°ÑÕÉ« } CFG_EVENT_TITLE; // Óʼþ¸½¼þÀàÐÍ typedef enum tagCFG_ATTACHMENT_TYPE { ATTACHMENT_TYPE_PIC, // ͼƬ¸½¼þ ATTACHMENT_TYPE_VIDEO, // ÊÓÆµ¸½¼þ ATTACHMENT_TYPE_NUM, // ¸½¼þÀàÐÍ×ÜÊý } CFG_ATTACHMENT_TYPE; // ÓʼþÏêϸÄÚÈÝ typedef struct tagCFG_MAIL_DETAIL { CFG_ATTACHMENT_TYPE emAttachType; // ¸½¼þÀàÐÍ int nMaxSize; // Îļþ´óСÉÏÏÞ£¬µ¥Î»kB int nMaxTimeLength; // ×î´ó¼Ïñʱ¼ä³¤¶È£¬µ¥Î»Ã룬¶ÔvideoÓÐЧ }CFG_MAIL_DETAIL; // ·Ö¸îģʽ typedef enum tagCFG_SPLITMODE { SPLITMODE_1 = 1, // 1»­Ãæ SPLITMODE_2 = 2, // 2»­Ãæ SPLITMODE_4 = 4, // 4»­Ãæ SPLITMODE_6 = 6, // 6»­Ãæ SPLITMODE_8 = 8, // 8»­Ãæ SPLITMODE_9 = 9, // 9»­Ãæ SPLITMODE_12 = 12, // 12»­Ãæ SPLITMODE_16 = 16, // 16»­Ãæ SPLITMODE_20 = 20, // 20»­Ãæ SPLITMODE_25 = 25, // 25»­Ãæ SPLITMODE_36 = 36, // 36»­Ãæ SPLITMODE_64 = 64, // 64»­Ãæ SPLITMODE_144 = 144, // 144»­Ãæ SPLITMODE_PIP = 1000, // »­Öл­·Ö¸îģʽ»ù´¡Öµ SPLITMODE_PIP1 = SPLITMODE_PIP + 1, // »­Öл­Ä£Ê½, 1¸öÈ«ÆÁ´ó»­Ãæ+1¸öС»­Ãæ´°¿Ú SPLITMODE_PIP3 = SPLITMODE_PIP + 3, // »­Öл­Ä£Ê½, 1¸öÈ«ÆÁ´ó»­Ãæ+3¸öС»­Ãæ´°¿Ú SPLITMODE_FREE = SPLITMODE_PIP * 2, // ×ÔÓÉ¿ª´°Ä£Ê½£¬¿ÉÒÔ×ÔÓÉ´´½¨¡¢¹Ø±Õ´°¿Ú£¬×ÔÓÉÉèÖô°¿ÚλÖúÍZÖá´ÎÐò SPLITMODE_COMPOSITE_1 = SPLITMODE_PIP * 3 + 1, // ÈÚºÏÆÁ³ÉÔ±1·Ö¸î SPLITMODE_COMPOSITE_4 = SPLITMODE_PIP * 3 + 4, // ÈÚºÏÆÁ³ÉÔ±4·Ö¸î SPLITMODE_3 = 10, // 3»­Ãæ SPLITMODE_3B = 11, // 3»­Ã浹Ʒ SPLITMODE_EOF, // ½áÊø±êʶ } CFG_SPLITMODE; // ÂÖѲÁª¶¯ÅäÖà typedef struct tagCFG_TOURLINK { BOOL bEnable; // ÂÖѲʹÄÜ CFG_SPLITMODE emSplitMode; // ÂÖѲʱµÄ·Ö¸îģʽ int nChannels[MAX_VIDEO_CHANNEL_NUM]; // ÂÖѲͨµÀºÅÁбí int nChannelCount; // ÂÖѲͨµÀÊýÁ¿ } CFG_TOURLINK; // ÃŽû²Ù×÷ÀàÐÍ enum EM_CFG_ACCESSCONTROLTYPE { EM_CFG_ACCESSCONTROLTYPE_NULL = 0, // ²»×ö²Ù×÷ EM_CFG_ACCESSCONTROLTYPE_AUTO, // ×Ô¶¯ EM_CFG_ACCESSCONTROLTYPE_OPEN, // ¿ªÃÅ EM_CFG_ACCESSCONTROLTYPE_CLOSE, // ¹ØÃÅ EM_CFG_ACCESSCONTROLTYPE_OPENALWAYS, // ÓÀÔ¶¿ªÆô EM_CFG_ACCESSCONTROLTYPE_CLOSEALWAYS, // ÓÀÔ¶¹Ø±Õ }; // ÃŽûÁª¶¯²Ù×÷µÄ×éºÏ #define MAX_ACCESSCONTROL_NUM 8 // ×î´óÃŽû²Ù×÷µÄ×éºÏÊý // ÓïÒôºô½Ð·¢Æð·½ typedef enum { EM_CALLER_DEVICE = 0, // É豸·¢Æð }EM_CALLER_TYPE; // ºô½ÐЭÒé typedef enum { EM_CALLER_PROTOCOL_CELLULAR = 0, // ÊÖ»ú·½Ê½ }EM_CALLER_PROTOCOL_TYPE; // ÓïÒôºô½ÐÁª¶¯ÐÅÏ¢ typedef struct tagCFG_TALKBACK_INFO { BOOL bCallEnable; // ÓïÒôºô½ÐʹÄÜ EM_CALLER_TYPE emCallerType; // ÓïÒôºô½Ð·¢Æð·½ EM_CALLER_PROTOCOL_TYPE emCallerProtocol; // ÓïÒôºô½ÐЭÒé }CFG_TALKBACK_INFO; // µç»°±¨¾¯ÖÐÐÄÁª¶¯ÐÅÏ¢ typedef struct tagCFG_PSTN_ALARM_SERVER { BOOL bNeedReport; // ÊÇ·ñÉϱ¨ÖÁµç»°±¨¾¯ÖÐÐÄ int nServerCount; // µç»°±¨¾¯·þÎñÆ÷¸öÊý BYTE byDestination[MAX_PSTN_SERVER_NUM]; // Éϱ¨µÄ±¨¾¯ÖÐÐÄϱê,Ïê¼ûÅäÖÃCFG_PSTN_ALARM_CENTER_INFO }CFG_PSTN_ALARM_SERVER; // ±¨¾¯Áª¶¯ÐÅÏ¢ typedef struct tagCFG_ALARM_MSG_HANDLE { //ÄÜÁ¦ bool abRecordMask; bool abRecordEnable; bool abRecordLatch; bool abAlarmOutMask; bool abAlarmOutEn; bool abAlarmOutLatch; bool abExAlarmOutMask; bool abExAlarmOutEn; bool abPtzLinkEn; bool abTourMask; bool abTourEnable; bool abSnapshot; bool abSnapshotEn; bool abSnapshotPeriod; bool abSnapshotTimes; bool abTipEnable; bool abMailEnable; bool abMessageEnable; bool abBeepEnable; bool abVoiceEnable; bool abMatrixMask; bool abMatrixEnable; bool abEventLatch; bool abLogEnable; bool abDelay; bool abVideoMessageEn; bool abMMSEnable; bool abMessageToNetEn; bool abTourSplit; bool abSnapshotTitleEn; bool abChannelCount; bool abAlarmOutCount; bool abPtzLinkEx; bool abSnapshotTitle; bool abMailDetail; bool abVideoTitleEn; bool abVideoTitle; bool abTour; bool abDBKeys; bool abJpegSummary; bool abFlashEn; bool abFlashLatch; BYTE byReserved1[2]; // ²¹Æë //ÐÅÏ¢ int nChannelCount; // É豸µÄÊÓÆµÍ¨µÀÊý int nAlarmOutCount; // É豸µÄ±¨¾¯Êä³ö¸öÊý DWORD dwRecordMask[MAX_CHANNEL_COUNT]; // ¼ÏñͨµÀÑÚÂë(°´Î») BOOL bRecordEnable; // ¼ÏñʹÄÜ int nRecordLatch; // ¼ÏñÑÓʱʱ¼ä(Ãë) DWORD dwAlarmOutMask[MAX_CHANNEL_COUNT]; // ±¨¾¯Êä³öͨµÀÑÚÂë BOOL bAlarmOutEn; // ±¨¾¯Êä³öʹÄÜ int nAlarmOutLatch; // ±¨¾¯Êä³öÑÓʱʱ¼ä(Ãë) DWORD dwExAlarmOutMask[MAX_CHANNEL_COUNT]; // À©Õ¹±¨¾¯Êä³öͨµÀÑÚÂë BOOL bExAlarmOutEn; // À©Õ¹±¨¾¯Êä³öʹÄÜ CFG_PTZ_LINK stuPtzLink[MAX_VIDEO_CHANNEL_NUM]; // ÔÆÌ¨Áª¶¯Ïî BOOL bPtzLinkEn; // ÔÆÌ¨Áª¶¯Ê¹ÄÜ DWORD dwTourMask[MAX_CHANNEL_COUNT]; // ÂÖѯͨµÀÑÚÂë BOOL bTourEnable; // ÂÖѯʹÄÜ DWORD dwSnapshot[MAX_CHANNEL_COUNT]; // ¿ìÕÕͨµÀºÅÑÚÂë BOOL bSnapshotEn; // ¿ìÕÕʹÄÜ int nSnapshotPeriod; // Á¬ÅÄÖÜÆÚ(Ãë) int nSnapshotTimes; // Á¬ÅÄ´ÎÊý BOOL bTipEnable; // ±¾µØÏûÏ¢¿òÌáʾ BOOL bMailEnable; // ·¢ËÍÓʼþ£¬Èç¹ûÓÐͼƬ£¬×÷Ϊ¸½¼þ BOOL bMessageEnable; // ÉÏ´«µ½±¨¾¯·þÎñÆ÷ BOOL bBeepEnable; // ·äÃù BOOL bVoiceEnable; // ÓïÒôÌáʾ DWORD dwMatrixMask[MAX_CHANNEL_COUNT]; // Áª¶¯ÊÓÆµ¾ØÕóͨµÀÑÚÂë BOOL bMatrixEnable; // Áª¶¯ÊÓÆµ¾ØÕó int nEventLatch; // Áª¶¯¿ªÊ¼ÑÓʱʱ¼ä(Ãë)£¬0£­15 BOOL bLogEnable; // ÊÇ·ñ¼Ç¼ÈÕÖ¾ int nDelay; // ÉèÖÃʱÏÈÑÓʱÔÙÉúЧ£¬µ¥Î»ÎªÃë BOOL bVideoMessageEn; // µþ¼ÓÌáʾ×ÖÄ»µ½ÊÓÆµ¡£µþ¼ÓµÄ×ÖÄ»°üÀ¨Ê¼þÀàÐÍ£¬Í¨µÀºÅ£¬Ãë¼ÆÊ±¡£ BOOL bMMSEnable; // ·¢ËͲÊÐÅʹÄÜ BOOL bMessageToNetEn; // ÏûÏ¢ÉÏ´«¸øÍøÂçʹÄÜ int nTourSplit; // ÂÖѲʱµÄ·Ö¸îģʽ 0: 1»­Ãæ; 1: 8»­Ãæ BOOL bSnapshotTitleEn; // ÊÇ·ñµþ¼ÓͼƬ±êÌâ int nPtzLinkExNum; // ÔÆÌ¨ÅäÖÃÊý CFG_PTZ_LINK_EX stuPtzLinkEx[MAX_VIDEO_CHANNEL_NUM]; // À©Õ¹ÔÆÌ¨ÐÅÏ¢ int nSnapTitleNum; // ͼƬ±êÌâÄÚÈÝÊý CFG_EVENT_TITLE stuSnapshotTitle[MAX_VIDEO_CHANNEL_NUM]; // ͼƬ±êÌâÄÚÈÝ CFG_MAIL_DETAIL stuMailDetail; // ÓʼþÏêϸÄÚÈÝ BOOL bVideoTitleEn; // ÊÇ·ñµþ¼ÓÊÓÆµ±êÌ⣬Ö÷ÒªÖ¸Ö÷ÂëÁ÷ int nVideoTitleNum; // ÊÓÆµ±êÌâÄÚÈÝÊýÄ¿ CFG_EVENT_TITLE stuVideoTitle[MAX_VIDEO_CHANNEL_NUM]; // ÊÓÆµ±êÌâÄÚÈÝ int nTourNum; // ÂÖѯÁª¶¯ÊýÄ¿ CFG_TOURLINK stuTour[MAX_VIDEO_CHANNEL_NUM]; // ÂÖѯÁª¶¯ÅäÖà int nDBKeysNum; // Ö¸¶¨Êý¾Ý¿â¹Ø¼ü×ÖµÄÓÐЧÊý char szDBKeys[MAX_DBKEY_NUM][MAX_CHANNELNAME_LEN]; // Ö¸¶¨Ê¼þÏêϸÐÅÏ¢ÀïÐèҪдµ½Êý¾Ý¿âµÄ¹Ø¼ü×Ö BYTE byJpegSummary[MAX_SUMMARY_LEN]; // µþ¼Óµ½JPEGͼƬµÄÕªÒªÐÅÏ¢ BOOL bFlashEnable; // ÊÇ·ñʹÄܲ¹¹âµÆ int nFlashLatch; // ²¹¹âµÆÑÓʱʱ¼ä(Ãë),ÑÓʱʱ¼ä·¶Î§£º[10,300] bool abAudioFileName; bool abAlarmBellEn; bool abAccessControlEn; bool abAccessControl; char szAudioFileName[MAX_PATH]; // Áª¶¯ÓïÒôÎļþ¾ø¶Ô·¾¶ BOOL bAlarmBellEn; // ¾¯ºÅʹÄÜ BOOL bAccessControlEn; // ÃŽûʹÄÜ DWORD dwAccessControl; // ÃŽû×éÊý EM_CFG_ACCESSCONTROLTYPE emAccessControlType[MAX_ACCESSCONTROL_NUM]; // ÃŽûÁª¶¯²Ù×÷ÐÅÏ¢ bool abTalkBack; BYTE byReserved2[3]; // ²¹Æë CFG_TALKBACK_INFO stuTalkback; // ÓïÒôºô½ÐÁª¶¯ÐÅÏ¢ bool abPSTNAlarmServer; BYTE byReserved3[3]; // ²¹Æë CFG_PSTN_ALARM_SERVER stuPSTNAlarmServer; // µç»°±¨¾¯ÖÐÐÄÁª¶¯ÐÅÏ¢ CFG_TIME_SCHEDULE stuTimeSection; // ʼþÏìӦʱ¼ä±í bool abAlarmBellLatch; BYTE byReserved4[3]; // ²¹Æë int nAlarmBellLatch; // ¾¯ºÅÊä³öÑÓʱʱ¼ä(10-300Ãë) bool abAudioPlayTimes; bool abAudioLinkTime; BYTE byReserved5[2]; // ²¹Æë UINT nAudioPlayTimes; // Áª¶¯ÓïÒô²¥·Å´ÎÊý UINT nAudioLinkTime; // Áª¶¯ÓïÒô²¥·ÅµÄʱ¼ä, µ¥Î»£ºÃë } CFG_ALARM_MSG_HANDLE; // ±¨¾¯Ê¹ÄÜ¿ØÖÆ·½Ê½Ã¶¾ÙÀàÐÍ typedef enum tagEM_CTRL_ENABLE { EM_CTRL_NORMAL=0, //²»¿ØÖÆÊ¹ÄÜ EM_CTRL_ALWAYS_EN, //×ÜÊÇʹÄÜ EM_CTRL_ONCE_DIS, //ÅÔ· EM_CTRL_ALWAYS_DIS, //ÒÆ³ý EM_CTRL_NUM //ö¾ÙÀàÐÍ×ÜÊý }EM_CTRL_ENABLE; // ·ÀÇøÀàÐÍ typedef enum tagEM_CFG_DEFENCEAREATYPE { EM_CFG_DefenceAreaType_Unknown = 0, // δ֪ÀàÐÍ EM_CFG_DefenceAreaType_InTime, // ¼´Ê±·ÀÇø EM_CFG_DefenceAreaType_Delay, // ÑÓʱ·ÀÇø EM_CFG_DefenceAreaType_FullDay, // 24Сʱ·ÀÇø EM_CFG_DefenceAreaType_Follow, // ¸úËæ·ÀÇø EM_CFG_DefenceAreaType_Medical, // Ò½Áƽô¼±·ÀÇø EM_CFG_DefenceAreaType_Panic, // ¿Ö»Å·ÀÇø EM_CFG_DefenceAreaType_Fire, // »ð¾¯·ÀÇø EM_CFG_DefenceAreaType_FullDaySound, // 24СʱÓÐÉù·ÀÇø EM_CFG_DefenceAreaType_FullDaySlient, // 24СʱÎÞÉù·ÀÇø EM_CFG_DefenceAreaType_Entrance1, // ³öÈë·ÀÇø1 EM_CFG_DefenceAreaType_Entrance2, // ³öÈë·ÀÇø2 EM_CFG_DefenceAreaType_InSide, // ÄÚ²¿·ÀÇø EM_CFG_DefenceAreaType_OutSide, // Íⲿ·ÀÇø EM_CFG_DefenceAreaType_PeopleDetect, // ÈËÔ±¼ì²â·ÀÇø EM_CFG_DefenceAreaType_Robbery, // ·Ë¾¯·ÀÇø }EM_CFG_DEFENCEAREATYPE; // Íⲿ±¨¾¯ÅäÖà typedef struct tagCFG_ALARMIN_INFO { int nChannelID; // ±¨¾¯Í¨µÀºÅ(0¿ªÊ¼) BOOL bEnable; // ʹÄÜ¿ª¹Ø char szChnName[MAX_CHANNELNAME_LEN]; // ±¨¾¯Í¨µÀÃû³Æ int nAlarmType; // ±¨¾¯Æ÷ÀàÐÍ£¬0£º³£±Õ£¬1£º³£¿ª CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection BOOL abDevID; // char szDevID[MAX_NAME_LEN]; // É豸ID int nPole; // ´«¸ÐÆ÷´¥·¢Ä£Ê½, 0:¸ßÓÐЧ£¬1µÍÓÐЧ£» // ¾ßÌå±íÏÖΪ´«¸ÐÆ÷½ÓµØorµçÔ´£¬ÓënAlarmType×éºÏʹÓà EM_SENSE_METHOD emSense; // ´«¸ÐÆ÷¸ÐÓ¦·½Ê½ EM_CTRL_ENABLE emCtrl; // ±¨¾¯Ê¹ÄÜ¿ØÖÆ·½Ê½ int nDisDelay; // ÑÓʱ³··Àʱ¼ä,·ÀÇøÀàÐÍΪ"Delay"(ÑÓʱ·ÀÇø)ʱ²ÅÓÐЧ, µ¥Î»: Ãë, ×î´óʱ¼äͨ¹ý²éѯÄÜÁ¦»ñµÃ // emCtrlֵΪEM_CTRL_NORMAL»òEM_CTRL_ALWAYS_EN ʱÓÐЧ¡£ EM_CFG_DEFENCEAREATYPE emDefenceAreaType; // ·ÀÇøÀàÐÍ, ¾ßÌåÖ§³ÖµÄÀàÐÍͨ¹ý²éѯÄÜÁ¦»ñµÃ int nEnableDelay; // ÑÓʱ²¼·Àʱ¼ä, ·ÀÇøÀàÐÍΪ"Delay"(ÑÓʱ·ÀÇø)ʱ²ÅÓÐЧ, µ¥Î»: Ãë, ×î´óʱ¼äͨ¹ý²éѯÄÜÁ¦»ñµÃ int nSlot; // ¸ùµØÖ·, -1±íʾÎÞЧ, 0±íʾ±¾µØÍ¨µÀ, 1±íʾÁ¬½ÓÔÚµÚÒ»¸ö´®¿ÚÉϵÄÀ©Õ¹Í¨µÀ, 2¡¢3...ÒÔ´ËÀàÍÆ int nLevel1; // µÚÒ»¼¶¼¶ÁªµØÖ·, ±íʾÁ¬½ÓÔÚµÚnSlot´®¿ÚÉϵĵÚnLevel1¸ö̽²âÆ÷»òÒDZí, -1±íʾÎÞЧ, ´Ó0¿ªÊ¼ bool abLevel2; // ±íʾnLevel2×Ö¶ÎÊÇ·ñ´æÔÚ int nLevel2; // µÚ¶þ¼¶¼¶ÁªµØÖ·, ±íʾÁ¬½ÓÔÚµÚnLevel1¸öµÄÒDZíÉϵÄ̽²âÆ÷ÐòºÅ, -1±íʾÎÞЧ, ´Ó0¿ªÊ¼ int nDoorNotClosedTimeout; // ÃÅδ¹Ø³¬Ê±Ê±¼ä,µ¥Î»Îªs,·¶Î§ 15s-300s } CFG_ALARMIN_INFO; // ÍøÂçÊäÈ뱨¾¯ÅäÖà typedef struct tagCFG_NETALARMIN_INFO { int nChannelID; // ±¨¾¯Í¨µÀºÅ(0¿ªÊ¼) BOOL bEnable; // ʹÄÜ¿ª¹Ø char szChnName[MAX_CHANNELNAME_LEN]; // ±¨¾¯Í¨µÀÃû³Æ int nAlarmType; // ±¨¾¯Æ÷ÀàÐÍ£¬0£º³£±Õ£¬1£º³£¿ª CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection } CFG_NETALARMIN_INFO; // ¶¯¼ìÖ§³ÖµÄÊÓÆµ´°¿ÚÅäÖà typedef struct tagCFG_MOTION_WINDOW { int nThreshold; // Ãæ»ý·§Öµ£¬È¡Öµ[0, 100] int nSensitive; // ÁéÃô¶È£¬È¡Öµ[0, 100] CFG_RECT stuWindow; // ¶¯¼ì´°¿ÚÇøÓò, ×ø±êλÖÃȡֵ[0, 8192) }CFG_MOTION_WINDOW; typedef struct tagCFG_DETECT_REGION { int nRegionID; // ÇøÓòID char szRegionName[CFG_COMMON_STRING_64]; // ¶¯Ì¬´°¿ÚÃû³Æ int nThreshold; // Ãæ»ý·§Öµ£¬È¡Öµ[0, 100] int nSenseLevel; // ÁéÃô¶È1¡«6 int nMotionRow; // ¶¯Ì¬¼ì²âÇøÓòµÄÐÐÊý int nMotionCol; // ¶¯Ì¬¼ì²âÇøÓòµÄÁÐÊý BYTE byRegion[MAX_MOTION_ROW][MAX_MOTION_COL]; // ¼ì²âÇøÓò£¬×î¶à32*32¿éÇøÓò }CFG_DETECT_REGION; // ¶¯Ì¬¼ì²â±¨¾¯ÅäÖà typedef struct tagCFG_MOTION_INFO { int nChannelID; // ±¨¾¯Í¨µÀºÅ(0¿ªÊ¼), nVersion=1ʱ£¬´Ë×Ö¶ÎÎÞЧ BOOL bEnable; // ʹÄÜ¿ª¹Ø int nSenseLevel; // Ò»´ú¶¯¼ìÁéÃô¶È1¡«6 int nMotionRow; // Ò»´ú¶¯Ì¬¼ì²âÇøÓòµÄÐÐÊý int nMotionCol; // Ò»´ú¶¯Ì¬¼ì²âÇøÓòµÄÁÐÊý BYTE byRegion[MAX_MOTION_ROW][MAX_MOTION_COL]; // Ò»´ú¼ì²âÇøÓò£¬×î¶à32*32¿éÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT]; // ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection int nVersion; // 0, 1, ÓÉÄÜÁ¦¼¯È·¶¨, Ö»¶Á, µÈÓÚ1ʱÒÔÏÂ×Ö¶ÎÓÐЧ BOOL bSenseLevelEn; // Ö»¶Á£¬¾ö¶¨nSenseLevelÊÇ·ñÓÐЧ BOOL bVRatioEn; // Ö»¶Á£¬Ãæ»ýÕ¼ÓñÈʹÄÜ£¬ ¾ö¶¨nVolumeRatioÊÇ·ñÓÐЧ int nVolumeRatio; // Ò»´ú¶¯¼ìµÄÃæ»ýÕ¼ÓñÈ,1-100 BOOL bSRatioEn; // Ö»¶Á£¬ÁéÃô¶ÈʹÄÜ£¬¾ö¶¨nSubRatioÖµÊÇ·ñÓÐЧ int nSubRatio; // Ò»´ú¶¯¼ìµÄ²Ð²îãÐÖµ, 1-100 BOOL abWindow; // ´Ë×ֶμ°ÒÔÏÂÁ½¸ö×Ö¶ÎÒÑ·ÏÆú int nWindowCount; // ÊÓÆµ´°¿Ú¸öÊý CFG_MOTION_WINDOW stuWindows[MAX_MOTION_WINDOW]; // ÊÓÆµ´°¿ÚÊý×é BOOL abDetectRegion; // Ö»¶Á£¬1£ºnRegionCount£¬stuRegionÓÐЧ // 0£ºnMotionRow£¬nMotionCol£¬byRegionÓÐЧ int nRegionCount; // Èý´ú¶¯Ì¬¼ì²âÇøÓò¸öÊý CFG_DETECT_REGION stuRegion[MAX_MOTION_WINDOW]; // Èý´ú¶¯Ì¬¼ì²âÇøÓò } CFG_MOTION_INFO; // ÊÓÆµ¶ªÊ§±¨¾¯ÅäÖà typedef struct tagCFG_VIDEOLOST_INFO { int nChannelID; // ±¨¾¯Í¨µÀºÅ(0¿ªÊ¼) BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection } CFG_VIDEOLOST_INFO; // ÊÓÆµÕÚµ²±¨¾¯ÅäÖà typedef struct tagCFG_SHELTER_INFO { int nChannelID; // ±¨¾¯Í¨µÀºÅ(0¿ªÊ¼) BOOL bEnable; // ʹÄÜ¿ª¹Ø int nSenseLevel; // ÁéÃô¶È CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection } CFG_SHELTER_INFO; // ÎÞ´æ´¢É豸±¨¾¯ÅäÖà typedef struct tagCFG_STORAGENOEXIST_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_STORAGENOEXIST_INFO; // ´æ´¢É豸·ÃÎʳö´í±¨¾¯ÅäÖà typedef struct tagCFG_STORAGEFAILURE_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_STORAGEFAILURE_INFO; // ´æ´¢É豸¿Õ¼ä²»×㱨¾¯ÅäÖà typedef struct tagCFG_STORAGELOWSAPCE_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø int nLowerLimit; // Ó²ÅÌÊ£ÓàÈÝÁ¿ÏÂÏÞ£¬°Ù·ÖÊý(0~99) CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_STORAGELOWSAPCE_INFO; // ÍøÂç¶Ï¿ª±¨¾¯ÅäÖà typedef struct tagCFG_NETABORT_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_NETABORT_INFO; // IP³åÍ»±¨¾¯ÅäÖà typedef struct tagCFG_IPCONFLICT_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_IPCONFLICT_INFO; // CLIENT_QueryNewSystemInfo ½Ó¿ÚµÄÃüÁî CFG_CAP_ALARM (»ñÈ¡±¨¾¯ÄÜÁ¦¼¯)¶ÔÓ¦½á¹¹Ìå // ´«¸ÐÆ÷±¨¾¯·½Ê½ typedef struct tagCFG_ALARM_SENSE_METHOD { int nSupportSenseMethodNum; // Ö§³ÖµÄ´«¸ÐÆ÷·½Ê½Êý EM_SENSE_METHOD emSupportSenseMethod[MAX_ALARM_SENSE_METHOD_NUM]; // Ö§³ÖµÄ´«¸ÐÆ÷·½Ê½ }CFG_ALARM_SENSE_METHOD; typedef struct tagCFG_CAP_ALARM_INFO { BOOL bAlarmPir; // É豸ÊÇ·ñÖ§³ÖPIR(ÈËÌåÈÈʽ¸ÐÓ¦Æ÷)±¨¾¯,Íⲿ±¨¾¯µÄÒ»ÖÖ BOOL bFlashLight; // É豸ÊÇ·ñÖ§³Ö²¹¹âµÆ int nDefenceAreaTypeNum; // ·ÀÇøÀàÐÍÖÖÀàÊý,Ϊ0±íʾÎÞ´Ë×Ö¶Îʱ±¨¾¯ÊäÈë²»×÷Ϊ·ÀÇøÊ¹ÓᣠEM_CFG_DEFENCEAREATYPE emDefenceAreaType[MAX_ALARM_DEFENCE_TYPE_NUM]; // Ö§³Ö·ÀÇøÀàÐÍ int nMaxDelay; // ÑÓʱ·ÀÇøµÄ×î´óÑÓʱʱ¼ä,µ¥Î»ÎªÃ룬ֻÓÐÖ§³ÖÑÓʱ·ÀÇøÊ±´Ë×ֶβÅÓÐЧ¡£ int nAlarmChannelNum; // ±¨¾¯Í¨µÀÊý,ΪÁ˱£³Ö¼æÈÝÐÔ,´ËΪ0ʱ±íʾÿ¸öͨµÀÖ§³ÖËùÓÐÀàÐ͵Ĵ«¸ÐÆ÷ CFG_ALARM_SENSE_METHOD stuAlarmChannel[MAX_ALARM_CHANNEL_NUM]; // ±¨¾¯Í¨µÀ¼¯ºÏ int nAlarmBellCount; // ¾¯ºÅ¸öÊý int nMaxBackupAlarmServer; // ×î´ó±¸Óñ¨¾¯ÖÐÐÄÊý,ÎÞ´Ë×Ö¶ÎʱĬÈÏΪ0,0±íʾ²»Ö§³Ö±¸Óñ¨¾¯ÖÐÐÄ int nMaxPSTNAlarmServer; // ×î´óµç»°±¨¾¯ÖÐÐÄÊý, ÎÞ´Ë×Ö¶ÎʱĬÈÏΪ0,0±íʾ²»Ö§³Öµç»°±¨¾¯ÖÐÐÄ¡£ }CFG_CAP_ALARM_INFO; // ²¹¹âµÆÅäÖà typedef struct tagCFG_FLASH_LIGHT { BOOL bEnable; // ʹÄÜ¿ª¹Ø int nBrightness; // ÁÁ¶È 0~100 CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ²¹¹âµÆ¹¤×÷ʱ¼ä¶Î }CFG_FLASH_LIGHT; typedef struct tagCFG_CUSTOMCASE { char szCaseTitle[MAX_OSD_TITLE_LEN]; // °¸¼þÃû³Æ char szCaseContent[MAX_OSD_SUMMARY_LEN]; // °¸¼þÃû³Æ BOOL bCaseNoOsdEn; // °¸¼þ±àºÅµþ¼ÓʹÄÜ }CFG_CUSTOMCASE; // ʱ¼ä typedef struct tagCFG_NET_TIME { int nStructSize; DWORD dwYear; // Äê DWORD dwMonth; // Ô DWORD dwDay; // ÈÕ DWORD dwHour; // ʱ DWORD dwMinute; // ·Ö DWORD dwSecond; // Ãë } CFG_NET_TIME; // ˾·¨¿Ì¼ÅäÖà typedef struct tagCFG_JUDICATURE_INFO { char szDiskPassword[MAX_PASSWORD_LEN]; // ¹âÅÌÃÜÂë(·ÏÆú, ʹÓÃszPasswordºÍnPasswordLen) char szCaseNo[MAX_OSD_SUMMARY_LEN]; // °¸¼þ±àºÅ BOOL bCaseNoOsdEn; // °¸¼þ±àºÅµþ¼ÓʹÄÜ char szCaseTitle[MAX_OSD_SUMMARY_LEN]; // °¸¼þÃû³Æ BOOL bCaseTitleOsdEn; // °¸¼þÃû³Æµþ¼ÓʹÄÜ char szOfficer[MAX_OSD_SUMMARY_LEN]; // °ì°¸ÈËÔ± BOOL bOfficerOsdEn; // °ì°¸ÈËÔ±µþ¼ÓʹÄÜ char szLocation[MAX_OSD_SUMMARY_LEN]; // °ì°¸µØµã BOOL bLocationOsdEn; // °ì°¸µØµãµþ¼ÓʹÄÜ char szRelatedMan[MAX_OSD_SUMMARY_LEN]; // Éæ°¸ÈËÔ± BOOL bRelatedManOsdEn; // Éæ°¸ÈËÔ±µþ¼ÓʹÄÜ char szDiskNo[MAX_OSD_SUMMARY_LEN]; // ¹âÅ̱àºÅ BOOL bDiskNoOsdEn; // ¹âÅ̱àºÅµþ¼ÓʹÄÜ BOOL bCustomCase; // TRUE:×Ô¶¨Òå˾·¨°¸¼þÐÅÏ¢,FALSE: ÉϱßszCaseNoµÈ×Ö¶ÎÓÐЧ int nCustomCase; // ʵ¼ÊCFG_CUSTOMCASE¸öÊý CFG_CUSTOMCASE stuCustomCases[MAX_CUSTOMCASE_NUM];// ×Ô¶¨Òå˾·¨°¸¼þÐÅÏ¢ BOOL bDataCheckOsdEn; // ¹âÅ̼̿Êý¾ÝУÑéÅäÖà µþ¼ÓʹÄÜ BOOL bAttachFileEn; // ¸½¼þÉÏ´«Ê¹ÄÜ char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë, ¿Ì¼¹âÅÌʱ¡¢ÅäÖöÁ±£»¤ÃÜÂë int nPasswordLen; // ÃÜÂ볤¶È CFG_NET_TIME stuStartTime; // ƬͷÐÅÏ¢µþ¼Ó¿ªÊ¼Ê±¼ä int nPeriod; // ƬͷÐÅÏ¢µþ¼Óʱ¼ä³¤¶È£¬µ¥Î»£º·ÖÖÓ }CFG_JUDICATURE_INFO; // ¿Ì¼ÂúʼþÅäÖà typedef struct tagCFG_BURNFULL_ONE { char szBurnDisk[MAX_NAME_LEN]; // ¿Ì¼É豸 BOOL bEnable; // ʹÄÜ¿ª¹Ø unsigned int nLowerLimit; // ¹âÅÌÊ£ÓàÈÝÁ¿ÏÂÏÞ µ¥Î»£ºM BOOL bBurnStop; // ¿Ì¼ֹͣʹÄÜ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î BOOL bChangeDisk; // »»ÅÌʹÄÜ }CFG_BURNFULL_ONE; typedef struct tagCFG_BURNFULL_INFO { unsigned int nBurnDev; // ʵ¼Ê¿Ì¼É豸¸öÊý CFG_BURNFULL_ONE stuBurns[MAX_BURNING_DEV_NUM]; // ÿ¸öÔªËØ¶ÔÓ¦Ò»¸ö¿Ì¼É豸 }CFG_BURNFULL_INFO; //-------------------------------ץͼÅäÖÃÄÜÁ¦--------------------------------- // ץͼÅäÖÃÄÜÁ¦ typedef struct tagCFG_SNAPCAPINFO_INFO { int nChannelID; // ץͼͨµÀºÅ(0¿ªÊ¼) DWORD dwIMageSizeNum; // Ö§³ÖµÄ·Ö±ðÂÊÐÅÏ¢ CFG_CAPTURE_SIZE emIMageSizeList[MAX_IMAGESIZE_NUM]; DWORD dwFramesPerSecNum; // Ö§³ÖµÄÖ¡ÂÊÐÅÏ¢ int nFramesPerSecList[MAX_FPS_NUM]; DWORD dwQualityMun; // Ö§³ÖµÄ»­ÖÊÐÅÏ¢ CFG_IMAGE_QUALITY emQualityList[MAX_QUALITY_NUM]; DWORD dwMode; // ģʽ,°´Î»£ºµÚһλ£º¶¨Ê±£»µÚ¶þλ£ºÊÖ¶¯¡£ DWORD dwFormat; // ͼƬ¸ñʽģʽ,°´Î»£ºµÚһλ£ºbmp£»µÚ¶þλ£ºjpg¡£ } CFG_SNAPCAPINFO_INFO; //-------------------------------ÍøÂç´æ´¢·þÎñÆ÷ÅäÖÃ--------------------------------- // ÍøÂç´æ´¢·þÎñÆ÷ÅäÖà typedef struct tagCFG_CHANNEL_TIME_SECTION { CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_NAS_TIME_SECTION];//´æ´¢Ê±¼ä¶Î } CFG_CHANNEL_TIME_SECTION; typedef struct tagCFG_NAS_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø int nVersion; // ÍøÂç´æ´¢·þÎñÆ÷°æ±¾0=ÀϵÄFTP£¬1=NAS´æ´¢ int nProtocol; // ЭÒéÀàÐÍ0=FTP 1=SMB char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû int nPort; // ¶Ë¿ÚºÅ char szUserName[MAX_USERNAME_LEN]; // ÕÊ»§Ãû char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë char szDirectory[MAX_DIRECTORY_LEN]; // ¹²ÏíµÄĿ¼Ãû int nFileLen; // Îļþ³¤¶È int nInterval; // ÏàÁÚÎļþʱ¼ä¼ä¸ô CFG_CHANNEL_TIME_SECTION stuChnTime[MAX_VIDEO_CHANNEL_NUM]; // ´æ´¢Ê±¼ä¶Î int nChnTimeCount; // ÓÐЧµÄ´æ´¢Ê±¼ä¶ÎÊý } CFG_NAS_INFO; //------------------------------ÔÆÌ¨ÅäÖÃ-------------------------------------------- // ЭÒéÃû typedef struct tagCFG_PRONAME { char name[MAX_NAME_LEN]; // ЭÒéÃû } CFG_PRONAME; // ´®¿Ú»ù±¾ÊôÐÔ typedef struct tagCFG_COMM_PROP { BYTE byDataBit; // Êý¾Ýλ£»0£º5£¬1£º6£¬2£º7£¬3£º8 BYTE byStopBit; // ֹͣλ£»0£º1룬1£º1.5룬2£º2λ BYTE byParity; // УÑéλ£»0£ºÎÞУÑ飬1£ºÆæÐ£Ñ飻2£ºÅ¼Ð£Ñé BYTE byBaudRate; // ²¨ÌØÂÊ£»0£º300£¬1£º600£¬2£º1200£¬3£º2400£¬4£º4800£¬ // 5£º9600£¬6£º19200£¬7£º38400£¬8£º57600£¬9£º115200 } CFG_COMM_PROP; // ¹éλԤÖõãÅäÖà typedef struct tagCFG_PRESET_HOMING { int nPtzPresetId; //ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 //-1±íʾÎÞЧ int nFreeSec; //¿ÕÏеÄʱ¼ä£¬µ¥Î»ÎªÃë }CFG_PRESET_HOMING; // ÔÆÌ¨ÅäÖà typedef struct tagCFG_PTZ_INFO { // ÄÜÁ¦ bool abMartixID; bool abCamID; bool abPTZType; // ÐÅÏ¢ int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) BOOL bEnable; // ʹÄÜ¿ª¹Ø char szProName[MAX_NAME_LEN]; // ЭÒéÃû³Æ int nDecoderAddress; // ½âÂëÆ÷µØÖ·£»0 - 255 CFG_COMM_PROP struComm; int nMartixID; // ¾ØÕóºÅ int nPTZType; // ÔÆÌ¨ÀàÐÍ0-¼æÈÝ£¬±¾µØÔÆÌ¨ 1-Ô¶³ÌÍøÂçÔÆÌ¨ int nCamID; // ÉãÏñÍ·ID int nPort; // ʹÓõĴ®¿Ú¶Ë¿ÚºÅ CFG_PRESET_HOMING stuPresetHoming; // Ò»¶Îʱ¼ä²»²Ù×÷ÔÆÌ¨£¬×Ô¶¯¹éλµ½Ä³¸öÔ¤Öõã int nControlMode; // ¿ØÖÆÄ£Ê½, 0:"RS485"´®¿Ú¿ØÖÆ(ĬÈÏ);1:"Coaxial" ͬÖá¿Ú¿ØÖÆ } CFG_PTZ_INFO; //¶¨Ê±¹¦ÄÜÀàÐÍ typedef enum tagCFG_PTZ_FUNC_TYPE { FUNC_TYPE_TOUR = 0 , //Ѳº½ FUNC_TYPE_PATTERN , //×Ô¶¯Ñ²¼£ FUNC_TYPE_PRE , //Ô¤Öõã FUNC_TYPE_SCAN , //×Ô¶¯Ïßɨ FUNC_TYPE_MAX , }CFG_PTZ_FUNC_TYPE; //×Ô¶¯¹éλ typedef struct tagCFG_AUTO_HOMING { BOOL bEnable; // ×Ô¶¯¹éλ¿ª¹Ø int nTime; // ¿ÕÏÐʱ¼ä,±íʾ¿ÕÏеÄʱ¼ä£¬µ¥Î»ÎªÃë }CFG_AUTO_HOMING; //¶¨Ê±¶¯×÷ÅäÖà typedef struct tagCFG_PTZ_PER_AUTOMOVE_INFO { BOOL bEnable; // ¶¨Ê±¶¯×÷¿ª¹Ø±êÖ¾ TRUE ¿ª£¬FALSE ¹Ø CFG_TIME_SCHEDULE stTimeSchedule; // ʱ¼ä±íÀàÐÍ CFG_PTZ_FUNC_TYPE emFuncType; // ¶¨Ê±¹¦ÄÜ int nTourId; // Ѳº½±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwTourMinºÍwTourMax int nPatternId; // ×Ô¶¯Ñ²¼£±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwPatternMinºÍwPatternMax int nPresetId; // Ô¤Öõã±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwPresetMinºÍwPresetMax int nScanId; // ×Ô¶¯Ïßɨ±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwAutoScanMinºÍwAutoScanMax CFG_AUTO_HOMING stAutoHoming; // ×Ô¶¯¹éλ,Ò»¶Îʱ¼ä²»²Ù×÷ÔÆÌ¨£¬×Ô¶¯¹éλµ½¸Ãʱ¼ä¶ÎÄڵ͝×÷ BOOL bSnapshotEnable; // Ô¤Öõã¿ìÕÕʹÄÜ,Ö»Óе±emFuncTypeΪFUNC_TYPE_PREʱ²ÅÓÐЧ int nSnapshortDelayTime; // Ô¤Öõã×¥ÅÄÑÓʱʱ¼ä,µ¥Î»Ãë,Ö»Óе±emFuncTypeΪFUNC_TYPE_PREʱ²ÅÓÐЧ }CFG_PTZ_PER_AUTOMOVE_INFO; typedef struct tagCFG_PTZ_ALL_AUTOMOVE_INFO { CFG_PTZ_PER_AUTOMOVE_INFO stPTZPerInfo[MAX_CONFIG_NUM]; //ÅäÖÃÐÅÏ¢ int nCfgNum; //»ñÈ¡µ½µÄÅäÖøöÊý }CFG_PTZ_ALL_AUTOMOVE_INFO; //ÔÆÌ¨¶¨Ê±¶¯×÷ÅäÖã¬×¢Ò⣬´Ë½á¹¹Õë¶ÔÉ豸 typedef struct tagCFG_PTZ_AUTOMOVE_INFO { CFG_PTZ_ALL_AUTOMOVE_INFO *pstPTZAutoConfig; //ÔÆÌ¨µÄÅäÖÃÐÅÏ¢ int nMaxPTZNum; //½á¹¹ÌåÉêÇëµÄÔÆÌ¨¸öÊý(¶ÔÓÚ¶àͨµÀ²éѯ£¬ÉêÇ벻СÓÚÉ豸ͨÊý£¬¶ÔÓÚµ¥Í¨µÀ²éѯ£¬Ò»¸ö¾Í¹»ÁË) int nReturnPTZNum; //É豸·µ»ØµÄÔÆÌ¨¸öÊý(Ò»°ãΪÉ豸ͨµÀÊý) }CFG_PTZ_AUTOMOVE_INFO; //----------------------------------ÊÓÆµ·ÖÎöÉ豸ÅäÖÃ------------------------------------------ // ÈËÁ³ÊôÐÔÀàÐÍ typedef enum tagEM_FACEFEATURE_TYPE { EM_FACEFEATURE_UNKNOWN, // δ֪ EM_FACEFEATURE_SEX, // ÐÔ±ð EM_FACEFEATURE_AGE, // ÄêÁä EM_FACEFEATURE_EMOTION, // ±íÇé EM_FACEFEATURE_GLASSES, // ÑÛ¾µ×´Ì¬ EM_FACEFEATURE_RACE, // ÈËÖÖ EM_FACEFEATURE_EYE, // ÑÛ¾¦×´Ì¬ EM_FACEFEATURE_MOUTH, // ×ì°Í״̬ EM_FACEFEATURE_MASK, // ¿ÚÕÖ״̬ EM_FACEFEATURE_BEARD, // ºú×Ó״̬ EM_FACEFEATURE_ATTRACTIVE, // ÷ÈÁ¦Öµ } EM_FACEFEATURE_TYPE; // ÈËÊýͳ¼Æ´óÀೡ¾° typedef struct tagCFG_NUMBER_STAT_INFO { UINT nCameraType; // Ïà»úÀàÐÍ£¬0£º±íʾÀϵ¥Ä¿¿ÍÁ÷ 1£º±íʾÐÂͳһµ¥Ä¿¿ÍÁ÷ 2£º±íʾÐÂͳһ˫Ŀ¿ÍÁ÷ }CFG_NUMBER_STAT_INFO; // ¿ÍÁ÷Á¿Í³¼Æ typedef struct tagCFG_NUMBERSTAT_RULE_INFO { UINT nMaxRules; // Ö§³Ö¹æÔòµÄ×î´ó¸öÊý }CFG_NUMBERSTAT_RULE_INFO; // ÅŶӼì²â typedef struct tagCFG_QUEUEDETECTION_RULE_INFO { UINT nMaxRules; // Ö§³Ö¹æÔòµÄ×î´ó¸öÊý }CFG_QUEUEDETECTION_RULE_INFO; // ÇøÓòÄÚÈËÊýͳ¼Æ typedef struct tagCFG_MANNUMDETECTION_RULE_INFO { UINT nMaxRules; // Ö§³Ö¹æÔòµÄ×î´ó¸öÊý }CFG_MANNUMDETECTION_RULE_INFO; // ÈËÌå¼ì²â¼°ÈËÌåʶ±ðÖ§³ÖµÄÁ³²¿ÌØÕ÷£¨¶¨ÖÆ£© typedef enum tagCFG_EM_FACE_TRAIT { CFG_EM_FACE_TRAIT_UNKNOWN, // δ֪ CFG_EM_FACE_TRAIT_SEX, // ÐÔ±ð CFG_EM_FACE_TRAIT_AGE, // ÄêÁä CFG_EM_FACE_TRAIT_GLASSES, // ÑÛ¾µ CFG_EM_FACE_TRAIT_BEARD, // ºú×Ó CFG_EM_FACE_TRAIT_COMPLEXION, // ·ôÉ« CFG_EM_FACE_TRAIT_MASK, // ¿ÚÕÖ CFG_EM_FACE_TRAIT_EMOTION, // ±íÇé }CFG_EM_FACE_TRAIT; // ÈËÌå¼ì²â¼°ÈËÌåʶ±ðÖ§³ÖµÄÉíÌåÌØÕ÷£¨¶¨ÖÆ£© typedef enum tagCFG_EM_BODY_TRAIT { CFG_EM_BODY_TRAIT_UNKNOWN, // δ֪ CFG_EM_BODY_TRAIT_SEX, // ÐÔ±ð CFG_EM_BODY_TRAIT_AGEGROUP, // ÄêÁä×é CFG_EM_BODY_TRAIT_COATTYPE, // ÉÏÒ CFG_EM_BODY_TRAIT_TROUSERSTYPE, // ¿ã×Ó CFG_EM_BODY_TRAIT_ANGLE, // ÈËÌå½Ç¶È CFG_EM_BODY_TRAIT_UPPERPATTERN, // ÉÏÒÂģʽ CFG_EM_BODY_TRAIT_TROUSERSCOLOR, // ¿ã×ÓÑÕÉ« CFG_EM_BODY_TRAIT_UMBRELLA, // ´òÉ¡ CFG_EM_BODY_TRAIT_UMBRELLACOLOR, // ÓêÉ¡ÑÕÉ« CFG_EM_BODY_TRAIT_HOLD, // ÐØÇ°±¨¶«Î÷ CFG_EM_BODY_TRAIT_TROUSERSPATTERN, // ¿ã×Óģʽ CFG_EM_BODY_TRAIT_HATTYPE, // ñ×Ó¿îʽ CFG_EM_BODY_TRAIT_HATCOLOR, // ñ×ÓÑÕÉ« CFG_EM_BODY_TRAIT_UPPERTYPE, // ÉÏÒ¿îʽ CFG_EM_BODY_TRAIT_COATCOLOR, // ÉÏÒÂÑÕÉ« CFG_EM_BODY_TRAIT_HAIRSTYLE, // ·¢ÐÍ CFG_EM_BODY_TRAIT_HAIRCOLOR, // Í··¢ÑÕÉ« CFG_EM_BODY_TRAIT_SHOESTYPE, // Ь×Ó¿îʽ CFG_EM_BODY_TRAIT_SHOESCOLOR, // Ь×ÓÑÕÉ« CFG_EM_BODY_TRAIT_BAG, // Ïä°ü¿îʽ CFG_EM_BODY_TRAIT_BAGCOLOR, // Ïä°üÑÕÉ« CFG_EM_BODY_TRAIT_MASK, // ¿ÚÕÖ CFG_EM_BODY_TRAIT_MASKCOLOR, // ¿ÚÕÖÑÕÉ« }CFG_EM_BODY_TRAIT; // ÈËÌå¼ì²â¼°ÈËÌåʶ±ðÖ§³ÖµÄÁ³²¿×¥ÅIJßÂÔ£¨¶¨ÖÆ£© typedef enum tagCFG_EM_FACE_SNAP_POLICY { CFG_EM_FACE_SNAP_POLICY_UNKNOWN, // δ֪ CFG_EM_FACE_SNAP_POLICY_REALTIME, // ʵʱץÅÄģʽ(µ±Ç°µÄͨÓÃģʽ£¬ÊµÊ±ÐÔÓÅÏÈ) CFG_EM_FACE_SNAP_POLICY_OPTIMAL, // ÓÅѡץÅÄģʽ£¬ÔÚÉ趨µÄÑÓÊ±Çø¼ä(OptimalTime)ÄÚÌôÑ¡ÆÀ·Ö×î¸ßµÄץͼ£¬×¼È·ÐÔÓÅÏȵ«ÑÓʱ½Ï´ó CFG_EM_FACE_SNAP_POLICY_QUALITY, // ÖÊÁ¿×¥ÅÄģʽ£¬ÔÚOptimalµÄ»ù´¡ÉÏ£¬Èç¹ûͼƬÖÊÁ¿ºÃÓÚãÐÖµÌáǰ½áÊøÓÅÑ¡£¬Ìá¸ßʵʱÐÔ CFG_EM_FACE_SNAP_POLICY_RECOGNITION, // ʶ±ðÓÅÏÈ×¥ÅÄģʽ£¬ÔÚÓÅѡʱ¼äÄÚ£¬ÒÔÒ»¶¨¼ä¸ôÖ¡Êý¶à´Î½øÐбȶԣ»Ò»µ©±È¶Ô³É¹¦ÔòÁ¢¼´½áÊøÓÅÑ¡£¬ÒÔÌá¸ß¶Ô±È³É¹¦ÂÊ£¬È¡´úÖÊÁ¿ÓÅÏÈģʽ¡£ CFG_EM_FACE_SNAP_POLICY_QUICK, // ¿ìËÙÓÅÑ¡£¬´Ó¼ì²âµ½ÈËÁ³/ÈËÌ忪ʼ£¬×¥ÅÄÒ»¶¨Ö¡ÊýÄÚµÄÖÊÁ¿×îºÃµÄÈËÁ³»òÈËÌå,¶¨ÖÆ CFG_EM_FACE_SNAP_POLICY_FULLTRACK, // È«³ÌÓÅÑ¡£¬×¥ÅÄÈ«³ÌÖÊÁ¿×îºÃµÄÈËÁ³ÈËÌ壬¶¨ÖÆ CFG_EM_FACE_SNAP_POLICY_INTERVAL, // ¼ä¸ô×¥ÅÄ£¬¶¨ÖÆ CFG_EM_FACE_SNAP_POLICY_SINGLE, // µ¥ÈËģʽ£¬³£ÓÃÓÚÃŽû£¬¶¨ÖÆ CFG_EM_FACE_SNAP_POLICY_PRECISION, // ¸ß¾«¶Èģʽ£¬ÔöÇ¿ÈËÁ³Ê¶±ð£¬¶¨ÖÆ }CFG_EM_FACE_SNAP_POLICY; // ÈËÌå¼ì²âÄÜÁ¦¼¯£¨¶¨ÖÆ£© typedef struct tagFACEBODY_DETECT_CAPS { CFG_EM_FACE_TRAIT szFaceFeatureList[32]; // Ö§³Ö¼ì²âµÄÈËÁ³ÊôÐÔ unsigned int nFaceFeature; // ·µ»ØµÄÈËÁ³ÊôÐÔ¸öÊý CFG_EM_BODY_TRAIT szBodyFeatureList[32]; // Ö§³Ö¼ì²âµÄÈËÌåÊôÐÔ unsigned int nBodyFeature; // ·µ»ØµÄÈËÁ³ÊôÐÔ¸öÊý CFG_EM_FACE_SNAP_POLICY szSnapPolicyList[16]; // Ö§³Ö×¥ÅÄÊôÐÔ unsigned int nSnapPolicy; // ·µ»ØµÄÈËÁ³ÊôÐÔ¸öÊý BYTE byReserved[256]; // Ô¤Áô×Ö¶Î }FACEBODY_DETECT_CAPS; // ÈËÌåʶ±ðÄÜÁ¦¼¯£¨¶¨ÖÆ£© typedef struct tagFACEBODY_ANALYSE_CAPS { CFG_EM_FACE_TRAIT szFaceFeatureList[32]; // Ö§³Ö¼ì²âµÄÈËÁ³ÊôÐÔ unsigned int nFaceFeature; // ·µ»ØµÄÈËÁ³ÊôÐÔ¸öÊý CFG_EM_BODY_TRAIT szBodyFeatureList[32]; // Ö§³Ö¼ì²âµÄÈËÌåÊôÐÔ unsigned int nBodyFeature; // ·µ»ØµÄÈËÁ³ÊôÐÔ¸öÊý CFG_EM_FACE_SNAP_POLICY szSnapPolicyList[16]; // Ö§³Ö×¥ÅÄÊôÐÔ unsigned int nSnapPolicy; // ·µ»ØµÄÈËÁ³ÊôÐÔ¸öÊý BYTE byReserved[256]; // Ô¤Áô×Ö¶Î }FACEBODY_ANALYSE_CAPS; // ³¡¾°Ö§³ÖµÄ¹æÔò typedef struct { DWORD dwSupportedRule; // ¹æÔòÀàÐÍ int nSupportedObjectTypeNum; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí int nSupportedActionsNum; // Ö§³ÖµÄ¼ì²âÎïÌ嶯×÷¸öÊý char szSupportedActions[MAX_ACTION_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ¼ì²âÎïÌ嶯×÷Áбí int nSupportedDetectTypeNum; // Ö§³ÖµÄ¼ì²âÀàÐ͸öÊý char szSupportedDetectTypes[MAX_ACTION_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ¼ì²âÀàÐÍÁбí int nSupportFaceTypeNum; // Ö§³ÖµÄÈËÁ³¼ì²âÀàÐ͸öÊý char szSupportFaceTypes[MAX_HUMANFACE_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄÈËÁ³¼ì²âÀàÐÍÁбí BOOL bTriggerPosition; // ÊÇ·ñÖ§³Ö´¥·¢±¨¾¯Î»Öà BOOL bTriggerTrack; // ÊÇ·ñÖ§³Ö´¥·¢¸ú×Ù BOOL bFaceDetection; // ÊÇ·ñÔÊÐíÅäÖÿªÆôÈËÁ³ÊôÐÔʶ±ð int nSupportFeactureNum; // Ö§³ÖµÄÈËÁ³ÊôÐÔÀàÐ͸öÊý EM_FACEFEATURE_TYPE emFeatureList[MAX_FEATURE_LIST_SIZE]; // Ö§³ÖµÄÈËÁ³ÊôÐÔÀàÐÍÁбí int nMaxRules; // Ö§³Ö¹æÔòµÄ×î´ó¸öÊý FACEBODY_DETECT_CAPS stuFaceBodyDetectCaps; // ÈËÌå¼ì²âÄÜÁ¦£¨¶¨ÖÆ£© FACEBODY_ANALYSE_CAPS stuFaceBodyAnalyseCaps; // ÈËÌåʶ±ðÄÜÁ¦£¨¶¨ÖÆ£© UINT nFeatureSupport; // ÊÇ·ñÔÊÐíÅäÖÃFeatureEnable,0-²»Ö§³Ö(ĬÈÏ)1-Ö§³Ö(ÓÃÓÚ°íÏß¼ì²âʼþºÍ¾¯½äÇøÓò¼ì²âʼþ) BOOL bSupportMinRegion; // ÈËÔ±¾Û¼¯¼ì²âÊÇ·ñÖ§³Ö"×îС¾Û¼¯ÇøÓò"ÅäÖÃ,ĬÈÏTRUE }SCENE_SUPPORT_RULE; // ±ê¶¨ÇøÓòÄÜÁ¦ÐÅÏ¢ typedef struct tagCFG_CAP_CELIBRATE_AREA { EM_CALIBRATEAREA_TYPE emType; // ±ê¶¨ÇøÓòÀàÐÍ BYTE byMaxHorizontalStaffNum; // Ö§³ÖµÄˮƽ±ê³ß×î´ó¸öÊý BYTE byMinHorizontalStaffNum; // Ö§³ÖµÄˮƽ±ê³ß×îС¸öÊý BYTE byMaxVerticalStaffNum; // Ö§³ÖµÄ´¹Ö±±ê³ß×î´ó¸öÊý BYTE byMinVerticalStaffNum; // Ö§³ÖµÄ´¹Ö±±ê³ß×îС¸öÊý }CFG_CAP_CELIBRATE_AREA; // ³µÁ¾ÖÖÀà»®·ÖÀàÐÍ typedef enum tagEM_VEHICLE_TYPE_SPLIT { EM_VEHICLE_TYPE_SPLIT_UNKNOWN, // δ֪ EM_VEHICLE_TYPE_SPLIT_FUNC, // °´¹¦ÄÜ»®·Ö EM_VEHICLE_TYPE_SPLIT_STANDARD, // °´±ê×¼»®·Ö } EM_VEHICLE_TYPE_SPLIT; //Òþ˽±£»¤µÄÎïÌåÀàÐÍ typedef enum tagEM_PRIVACY_MASK_TYPE { EM_PRIVACY_MASK_UNKNOWN, // δ֪ÀàÐÍ EM_PRIVACY_MASK_HUMAN_FACE, // ÈËÁ³ EM_PRIVACY_MASK_HUMAN, // ÈËÌå }EM_PRIVACY_MASK_TYPE; // ³¡¾°ÄÜÁ¦ typedef struct tagCFG_CAP_SCENE { char szSceneName[MAX_PATH]; // ³¡¾°Ãû³Æ int nSupportedObjectTypeNum; // µ±Ç°¹æÔòÀàÐÍÖ§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // µ±Ç°¹æÔòÀàÐÍÖ§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí int nSupportRules; // Ö§³ÖµÄ¹æÔò¸öÊý SCENE_SUPPORT_RULE stSpportRules[MAX_RULE_LIST_SIZE]; // Ö§³ÖµÄ¹æÔòÁбí //Ö§³ÖµÄÄ£¿é²ÎÊý bool bDisturbance; // ÊÇ·ñÖ§³ÖÈŶ¯Ç¿¶ÈÉèÖà bool bAntiDisturbance; // ÊÇ·ñÖ§³ÖÈ¥ÈŶ¯´¦Àí bool bBacklight; // ÊÇ·ñÖ§³ÖÄæ¹â´¦Àí bool bShadow; // ÊÇ·ñÖ§³ÖÒõÓ°´¦Àí bool bAccuracy; // ÊÇ·ñÖ§³Ö¼ì²â¾«¶È bool bMovingStep; // ÊÇ·ñÖ§³Ö¼ì²â²½³¤ bool bScalingFactor; // ÊÇ·ñÖ§³Ö¼ì²âËõ·Å bool bThresholdY; // ÊÇ·ñÖ§³ÖY·ÖÁ¿Åж¨ãÐÖµ bool bThresholdUV; // ÊÇ·ñÖ§³ÖUV·ÖÁ¿Åж¨ãÐÖµ bool bThresholdEdge; // ÊÇ·ñÖ§³Ö±ßÔµ¼ì²âÅж¨ãÐÖµ bool bDetectBalance; // ÊÇ·ñÖ§³Ö¼ì²âƽºâ bool bAlgorithmIndex; // ÊÇ·ñÖ§³ÖËã·¨ÐòºÅ bool bHighlight; // ÊÇ·ñÖ§³Ö¸ß¹â´¦Àí£¬¼´Backgroud²ÎÊý bool bSnapshot; // ÊÇ·ñÖ§³ÖÎïÌåץͼ bool bDetectRegion; // ÊÇ·ñÖ§³Ö¼ì²âÇøÓòÅäÖà bool bExcludeRegion; // ÊÇ·ñÖ§³ÖÅųýÇøÓòÅäÖà bool bContourAssistantTrack; // ÊÇ·ñÖ§³ÖÂÖÀª¸¨Öú¸ú×Ù //Ö§³ÖµÄ³¡¾°²ÎÊý bool bCameraAspect; // ÊÇ·ñÉãÏñͷλÖòÎÊý bool bJitter; // ÊÇ·ñÖ§³Ö¶¶¶¯²ÎÊý bool bDejitter; // ÊÇ·ñÖ§³ÖÈ¥¶¶¶¯´¦Àí²ÎÊý // Ö§³ÖµÄ±ê¶¨ÄÜÁ¦¼¯ int nMaxCalibrateAreaNum; // ×î´ó±ê¶¨ÇøÓò¸öÊý int nCalibrateAreaNum; // ±ê¶¨ÇøÓòÄÜÁ¦ÐÅÏ¢¸öÊý CFG_CAP_CELIBRATE_AREA stCalibrateAreaCap[MAX_CALIBRATEAREA_TYPE_NUM]; // ±ê¶¨ÇøÓòÄÜÁ¦ÐÅÏ¢ // ³ß´ç¹ýÂËÆ÷¼ÆÁ¿·½Ê½ bool bPixel; // ÊÇ·ñÖ§³ÖÏñËØ¼ÆÁ¿·½Ê½ bool bMetric; // ÊÇ·ñÖ§³Öʵ¼Ê³¤¶È¼ÆÁ¿·½Ê½ bool bCalibratedPixel; // ÊÇ·ñÖ§³ÖÔ¶¶Ë½ü¶Ë±ê¶¨ºóµÄÏñËØ¼ÆÁ¿·½Ê½ char szSubType[MAX_SCENE_SUBTYPE_NUM][MAX_SCENE_SUBTYPE_LEN]; // µ±Ç°³¡¾°ÏÂÖ§³ÖµÄ×Ó³¡¾°ÀàÐÍ int nSubTypeNum; // ×Ó³¡¾°ÀàÐ͸öÊý int nMaxRules; // ÿ¸ö´óÀàÖ§³ÖµÄ×î´ó¹æÔòÌõÊý BOOL bSupportedSetModule; // ÊÇ·ñÖ§³ÖÖØ½¨±³¾°£¬Ä¬Èϲ»Ö§³Ö(false) BOOL bSupportFightCalibrate; // ÊÇ·ñÖ§³Ö´ò¼Ü±ê¶¨ÅäÖÃ,ĬÈÏFALSE UINT nVehicleTypeSplitNum; // ³µÁ¾ÖÖÀà»®·ÖÀàÐ͸öÊý EM_VEHICLE_TYPE_SPLIT emVehicleTypeSplit[16]; // ³µÁ¾ÖÖÀà»®·ÖÀàÐÍ BOOL bPrivacyMaskSupport; // ÊÇ·ñÖ§³ÖÒþ˽±£»¤, false-²»Ö§³Ö(ĬÈÏ);true-Ö§³Ö UINT nPrivacyMaskCount; // Òþ˽±£»¤µÄÎïÌåÀàÐ͵ÄÊýÁ¿ EM_PRIVACY_MASK_TYPE emPrivacyMaskTypes[32]; // Òþ˽±£»¤µÄÎïÌåÀàÐÍ BYTE byReserved[820]; // ±£Áô×Ö½Ú }CFG_CAP_SCENE; // ³¡¾°Áбí typedef struct tagCFG_VACAP_SUPPORTEDSCENES { int nScenes; // Ö§³ÖµÄ³¡¾°¸öÊý CFG_CAP_SCENE stScenes[MAX_SCENE_LIST_SIZE]; // Ö§³ÖµÄ³¡¾°Áбí CFG_NUMBER_STAT_INFO stuNumberStat; // ÈËÊýͳ¼Æ´óÀೡ¾° }CFG_VACAP_SUPPORTEDSCENES; #define CFG_DEVICE_ANALYSE_INFO CFG_CAP_DEVICE_ANALYSE_INFO //ÊÓÆµ·ÖÎöÉ豸ÄÜÁ¦ÐÅÏ¢ typedef struct tagCFG_CAP_DEVICE_ANALYSE_INFO { int nMaxChannels; // Ö§³ÖÖÇÄÜ·ÖÎöµÄ×î´óͨµÀÊý }CFG_CAP_DEVICE_ANALYSE_INFO; //É豸ÀàÐÍ typedef enum tagNET_EM_DEVICE_TYPE { NET_EM_DEVICE_UNKNOWN, // δ֪ÀàÐÍ NET_EM_DEVICE_CAMERA, // Ä£ÄâÉãÏñ»ú NET_EM_DEVICE_DOME, // Ä£ÄâÇò»ú NET_EM_DEVICE_MATRIX, // Ä£Äâ¾ØÕó NET_EM_DEVICE_IPC, // ÍøÂçÉãÏñ»ú NET_EM_DEVICE_NVS, // ÊÓÆµ·þÎñÆ÷ NET_EM_DEVICE_SD, // ÍøÂçÇò»ú NET_EM_DEVICE_ITSE, // ÖÇÄÜ´æ´¢ºÐ NET_EM_DEVICE_ITC, // ÖÇÄÜÉãÏñ»ú NET_EM_DEVICE_TPC, // ÈȳÉÏñÉãÏñ»ú NET_EM_DEVICE_DVR, // Êý×ÖÓ²Å̼Ïñ»ú NET_EM_DEVICE_HDVR, // »ìºÏÐÍÊý×ÖÓ²Å̼Ïñ»ú NET_EM_DEVICE_HCVR, // ¸ßÇåCVI½Ó¿Ú¼Ïñ»ú NET_EM_DEVICE_NVR, // ÍøÂç¼Ïñ»ú NET_EM_DEVICE_PCNVR, // ¹¤×÷ÔÚPCÉϵÄÈí¼þÍøÂç¼Ïñ»ú NET_EM_DEVICE_NVD, // ÍøÂç½âÂëÆ÷ NET_EM_DEVICE_SNVD, // Èí¼þÍøÂç½âÂëÆ÷ NET_EM_DEVICE_UDS, // ÍòÄܽâÂëÆ÷ NET_EM_DEVICE_SVR, // ´æ´¢·þÎñÆ÷ʽ¼Ïñ»ú NET_EM_DEVICE_M, // ÊÓÆµ×ÛºÏÆ½Ì¨ NET_EM_DEVICE_IVS, // IVS·þÎñÆ÷ NET_EM_DEVICE_VNCSERVER, // ÐéÄâÍøÂç·þÎñÆ÷ NET_EM_DEVICE_VNCCLIENT, // ÐéÄâÍøÂç¿Í»§¶Ë NET_EM_DEVICE_DSCON, // ǶÈëʽ¶àÆÁ¿ØÖÆÆ÷ NET_EM_DEVICE_PC, // ͨÓøöÈ˼ÆËã»ú NET_EM_DEVICE_EVS, // ÍøÂçÊÓÆµ´æ´¢·þÎñÆ÷ NET_EM_DEVICE_VCS, // ÊÓÆµ×ªÂë·þÎñÆ÷ NET_EM_DEVICE_A, // ±¨¾¯Ö÷»ú, 15 Äêǰ NET_EM_DEVICE_ARC, // ±¨¾¯Ö÷»ú, 15Äêºó NET_EM_DEVICE_SDHNI, // ÖÇÄÜÇò»ú NET_EM_DEVICE_BSC, // ÃŽûÖ÷»ú NET_EM_DEVICE_BSR, // ÃŽû¶Á¿¨Æ÷ NET_EM_DEVICE_MGATEWAY, // ýÌåÍø¹Ø(½ÓÈ밲׿É豸) NET_EM_DEVICE_VTO, // ÖÇÍøÃſڻúÉ豸 NET_EM_DEVICE_VTH, // ÖÇÍøÊÒÄÚ»úÉ豸 NET_EM_DEVICE_VTT, // ¿ÉÊÓ¶Ô½²ÖÕ¶Ë NET_EM_DEVICE_VTS, // ¹ÜÀí»ú NET_EM_DEVICE_VTNC, // ¿ØÖÆÆ÷ NET_EM_DEVICE_CE, // Ïû·ÑÀ࿨Ƭ»ú²úÆ· NET_EM_DEVICE_MPT, // ÊÖ³ÖÖÕ¶Ë NET_EM_DEVICE_ATM, // ½ðÈÚATM NET_EM_DEVICE_SHG, // ÖÇÍø¼ÒÍ¥Íø¹Ø NET_EM_DEVICE_ARM, // ·À»¤²Õ¿ØÖÆÆ÷ NET_EM_DEVICE_ASM, // ÎÞÏßÖмÌÉ豸 NET_EM_DEVICE_VTA, // ±¨¾¯Öù NET_EM_DEVICE_UAVGA, // »úÔØÔÆÌ¨ NET_EM_DEVICE_UAVR, // Ò»Ì廯ң¿ØÆ÷ NET_EM_DEVICE_AIRCRAFT, // ÎÞÈË»ú NET_EM_DEVICE_UAVS, // µØÃæÕ¾ NET_EM_DEVICE_TPCSD, // ÈȳÉÏñÔÆÌ¨ÉãÏñ»ú NET_EM_DEVICE_TPCBF, // ÈȳÉÏñǹ»ú NET_EM_DEVICE_RADAR, // À×´ï NET_EM_DEVICE_RADAR_PTZ, // À×´ïϵͳ NET_EM_DEVICE_RADAR_CAM, // ÉãÏñÀ×´ï NET_EM_DEVICE_KVM_IN, // KVMÊäÈë½Úµã NET_EM_DEVICE_KVM_OUT // KVMÊä³ö½Úµã } NET_EM_DEVICE_TYPE; // É豸ÀàÐÍÐÅÏ¢ typedef struct tagCFG_DEVICE_CLASS_INFO { DWORD dwSize; NET_EM_DEVICE_TYPE emDeviceType; // É豸ÀàÐÍ } CFG_DEVICE_CLASS_INFO; // ij¸ö¹æÔòÖ§³ÖµÄÎïÌåÀàÐÍ typedef struct { DWORD dwRuleType; // µ±Ç°¹æÔòÀàÐÍ int nSupportedObjectTypeNum; // µ±Ç°¹æÔòÀàÐÍÖ§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // µ±Ç°¹æÔòÀàÐÍÖ§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí }RULE_SUPPORTED_OBJECT_TYPE; // ³¡¾°×éºÏ typedef struct tagCFG_SUPPORTED_COMP { int nSupportedData; // ³¡¾°×éºÏÏîÏÂÖ§³ÖµÄ³¡¾°¸öÊý char szSupportedData[MAX_SUPPORTED_COMP_DATA][CFG_COMMON_STRING_16]; // ³¡¾°×éºÏÏîÏÂÖ§³ÖµÄ³¡¾°Áбí }CFG_SUPPORTED_COMP; // ÉãÏñÍ·°²×°½Ç¶ÈÏÔʾ·½Ê½ typedef enum tagEM_DISPLAY_CAMERA_ANGLE_TYPE { EM_DISPLAY_CAMERA_ANGLE_UNKNOWN, // δ֪µÄÏÔʾ·½Ê½ EM_DISPLAY_CAMERA_ANGLE_NUM, // °´½Ç¶ÈÖµÅäÖÃ(ĬÈÏ) EM_DISPLAY_CAMERA_ANGLE_MODE, // °´Ä£Ê½ÅäÖã¬0~20չʾΪ¶¥×°,21~90չʾΪбװ£¬ÅäÖÃʱ°´60Ï·¢ } EM_DISPLAY_CAMERA_ANGLE_TYPE; // Ö§³ÖµÄ¹æÔò typedef struct tagCFG_SUPPORTED_RULES_INFO { CFG_NUMBERSTAT_RULE_INFO stuNumberStat; // ¿ÍÁ÷Á¿Í³¼Æ¹æÔò CFG_QUEUEDETECTION_RULE_INFO stuQueueDetection; // ÅŶӼì²â¹æÔò CFG_MANNUMDETECTION_RULE_INFO stuManNumDetection; // ÇøÓòÄÚÈËÊýͳ¼Æ¹æÔò }CFG_SUPPORTED_RULES_INFO; // ¿ÍÁ÷Á¿Í³¼ÆPD typedef struct tagCFG_NUMBERSTART_MULT_INFO { UINT nMaxRules; // ×î´ó·µ»Ø¹æÔò¸öÊý BOOL bHiddenDetailEnable;// Òþ²Ø²¿·Ö²ÎÊýÅäÖÃʹÄÜ true-¶ÔÓÚStereoNumber/NumberStatËã·¨´óÀ࣬Òþ²ØStereoCalibrate±ê¶¨ÅäÖú͹æÔòµÄMaxHeight/MinHeight UINT nCameraType; // Ïà»úÀàÐÍ£¬0£º±íʾÀϵ¥Ä¿¿ÍÁ÷ 1£º±íʾÐÂͳһµ¥Ä¿¿ÍÁ÷ 2£º±íʾÐÂͳһ˫Ŀ¿ÍÁ÷ int nMaxSupportedRulesNum; // Ö§³ÖµÄʼþÀàÐ͹æÔò¸öÊý CFG_SUPPORTED_RULES_INFO stuSupportedRules[MAX_RULE_LIST_SIZE]; // Ö§³ÖµÄʼþÀàÐ͹æÔòÁÐ±í£¬Ê¼þÀàÐÍ£¬Ïê¼ûdhnetsdk.hÖÐ"ÖÇÄÜ·ÖÎöʼþÀàÐÍ" }CFG_NUMBERSTAT_MULT_INFO; // ÊÓÆµ·ÖÎöÄÜÁ¦¼¯ typedef struct _tagVA_CAPS_INFO { char szSceneName[MAX_SCENE_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ³¡¾°Áбí int nSupportedSceneNum; // Ö§³ÖµÄ³¡¾°¸öÊý BYTE byReserved[4]; // Ô¤Áô×Ö¶Î }VA_CAPS_INFO; // ÊÓÆµ·ÖÎöÄÜÁ¦¼¯ typedef struct tagCFG_CAP_ANALYSE_INFO { int nSupportedSceneNum; // Ö§³ÖµÄ³¡¾°¸öÊý char szSceneName[MAX_SCENE_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ³¡¾°Áбí int nMaxMoudles; // ÿͨµÀÖ§³Ö×î´ó·ÖÎöÄ£¿éÊý int nSupportedObjectTypeNum; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí int nMaxRules; // ÿͨµÀÖ§³Ö×î´ó¹æÔòÌõÊý int nSupportedRulesNum; // Ö§³ÖµÄʼþÀàÐ͹æÔò¸öÊý DWORD dwRulesType[MAX_RULE_LIST_SIZE]; // Ö§³ÖµÄʼþÀàÐ͹æÔòÁÐ±í£¬Ê¼þÀàÐÍ£¬Ïê¼ûdhnetsdk.hÖÐ"ÖÇÄÜ·ÖÎöʼþÀàÐÍ" int nMaxStaffs; // Ö§³ÖµÄ×î´ó±ê³ß¸öÊý int nMaxPointOfLine; // ÕÛÏß×î´ó¶¥µãÊý int nMaxPointOfRegion; // ÇøÓò×î´ó¶¥µãÊý int nMaxInternalOptions; // ×î´óÄÚ²¿Ñ¡Ïî¸öÊý bool bComplexSizeFilter; // ÊÇ·ñÖ§³Ö¸´Ôӳߴç¹ýÂËÆ÷ ¸´Ôӳߴç¹ýÂËÆ÷ʹÓöÀÁ¢µÄÃæ»ý¹ýÂ˺Ϳí¸ß±È¹ýÂ˲ÎÊý¡£ bool bSpecifiedObjectFilter; // ÊÇ·ñÖ§³ÖÌØ¶¨µÄÎïÌå¹ýÂËÆ÷ int nMaxExcludeRegionNum; // Ö§³ÖÄ£¿éÖеÄ×î´óÅųýÇøÓò¸öÊý int nMaxCalibrateBoxNum; // Ö§³ÖµÄÄ£¿éÖеÄ×î´óУ׼¿ò¸öÊý int nMinCalibrateBoxNum; // Ä£¿éÖÐÖÁÉÙÐèÒªÉèÖõÄУ׼¿ò¸öÊý int nMaxSepcialDetectRegions; // Ä£¿éÖÐÖ§³ÖµÄ×î´óÌØÊâÇøÓò¼ì²â¸öÊý int nSupportedTimeSectionNum; // Ö§³ÖµÄÿÌìµÄʱ¼ä¶Î¸öÊý int nSpecialDetectPropertyNum; // Ö§³ÖµÄÌØÊâ¼ì²âÇøÊôÐÔ¸öÊý int nSupportedSpecialDetectPropertys[EM_SEPCIALREGION_PROPERTY_TYPE_NUM]; // Ö§³ÖµÄÌØÊâ¼ì²âÇøÊôÐÔ DWORD nSupportedVideoChannelType; // Ö§³ÖµÄÊÓÆµÍ¨µÀÀàÐÍÑ¡Ôñ µÚ0λΪ1±íʾ֧³ÖÊý×ÖÀàÐÍ,µÚ1λΪ1±íʾ֧³ÖÄ£ÄâÀàÐÍ,µÚ2Ϊ1±íʾ֧³Ö»ìºÏ(Êý×ÖºÍÄ£Äâ) bool bSupportMultiSceneSwitch; // ÊÇ·ñÖ§³Ö¶à³¡¾°Çл» CFG_VACAP_SUPPORTEDSCENES stSupportScenes; // Ö§³ÖµÄ³¡¾°ÄÜÁ¦¼¯ int nSupportedComp; // Ö§³ÖµÄ³¡¾°×éºÏÏî¸öÊý CFG_SUPPORTED_COMP stuSupportedComp[MAX_SUPPORTED_COMP_SIZE]; // Ö§³ÖµÄ³¡¾°×éºÏÏîÁбí BYTE byFilterMask; // 0 Module/RuleÅäÖþùÒªÉèÖÃ(ĬÈÏ£¬ÖÇÄÜ·þÎñÆ÷), 1 ½öRuleÅäÖÃÒªÉèÖÃ(IPC/xVR) EM_DISPLAY_CAMERA_ANGLE_TYPE emDisCameraAngleType; // ÉãÏñÍ·°²×°½Ç¶ÈÏÔʾ·½Ê½ int nMaxNumberStatMultNum; // ʵ¼Ê·µ»Ø¿ÍÁ÷Á¿Í³¼Æ³¡¾°PD¸öÊý CFG_NUMBERSTAT_MULT_INFO stuNumberStatMult[MAX_NUMBER_STAT_MAULT_NUM]; // ¿ÍÁ÷Á¿Í³¼Æ³¡¾°PD VA_CAPS_INFO stuFullCaps; // È«ÄÜÁ¦¼¯£¬±íʾÊÓÆµÍ¨µÀÄÜÁ¦ full¿ÉÒÔÈÏΪÊDz»±äµÄ } CFG_CAP_ANALYSE_INFO; // ÊÓÆµ·ÖÎöÖ§³ÖµÄ¶ÔÏóÀàÐÍ typedef enum tagEM_VIDEO_ANALYSE_OBJECT_TYPE { EM_VIDEO_ANALYSE_OBJECT_TYPE_UNKNOWN, // δ֪µÄ EM_VIDEO_ANALYSE_OBJECT_TYPE_ALL_OBJECT, // ËùÓÐÎïÌå EM_VIDEO_ANALYSE_OBJECT_TYPE_HUMAN, // ÈË EM_VIDEO_ANALYSE_OBJECT_TYPE_VEHICLE, // ³µÁ¾ EM_VIDEO_ANALYSE_OBJECT_TYPE_FIRE, // »ð EM_VIDEO_ANALYSE_OBJECT_TYPE_SMOKE, // ÑÌÎí EM_VIDEO_ANALYSE_OBJECT_TYPE_PLATE, // Ƭ״ÎïÌå EM_VIDEO_ANALYSE_OBJECT_TYPE_HUMANFACE, // ÈËÁ³ EM_VIDEO_ANALYSE_OBJECT_TYPE_CONTAINER, // »õ¹ñ EM_VIDEO_ANALYSE_OBJECT_TYPE_ANIMAL, // ¶¯Îï EM_VIDEO_ANALYSE_OBJECT_TYPE_TRAFFICLIGHT, // ºìÂÌµÆ EM_VIDEO_ANALYSE_OBJECT_TYPE_PASTEPAPER, // ÌùÖ½ ÌùƬ EM_VIDEO_ANALYSE_OBJECT_TYPE_HUMANHEAD, // È˵ÄÍ·²¿ EM_VIDEO_ANALYSE_OBJECT_TYPE_ENTITY, // ÆÕͨÎïÌå }EM_VIDEO_ANALYSE_OBJECT_TYPE; // ÊÓÆµ·ÖÎöÖ§³ÖµÄ¶¯×÷ÀàÐÍ typedef enum tagEM_VIDEO_ANALYSE_ACTION_TYPE { EM_VIDEO_ANALYSE_ACTION_TYPE_UNKNOWN, // δ֪ÐÐΪ EM_VIDEO_ANALYSE_ACTION_TYPE_APPEAR, // ³öÏÖ£¬Õë¶ÔµÄÊÇÄ¿±ê£¬³öÏ־ͱ¨¾¯ EM_VIDEO_ANALYSE_ACTION_TYPE_DISAPPEAR, // Ïûʧ EM_VIDEO_ANALYSE_ACTION_TYPE_INSIDE, // ÔÚÇøÓòÄÚ£¬Ðè񻂿ÓòÄÚÄ¿±ê¸öÊý´ïµ½Ö¸¶¨ÊýÁ¿ºÍÖ¸¶¨Ê±¼ä²Å±¨¾¯ EM_VIDEO_ANALYSE_ACTION_TYPE_CROSS, // ´©Ô½ÇøÓò }EM_VIDEO_ANALYSE_ACTION_TYPE; // ÊÓÆµ·ÖÎöÖ§³ÖµÄ¼ì²âÀàÐÍ typedef enum tagEM_VIDEO_ANALYSE_DETECT_TYPE { EM_VIDEO_ANALYSE_DETECT_TYPE_UNKNOWN, // δ֪ÀàÐÍ EM_VIDEO_ANALYSE_DETECT_TYPE_LOSS, // ÊÓÆµ¶ªÊ§ EM_VIDEO_ANALYSE_DETECT_TYPE_COVER, // ÊÓÆµÕÚµ² EM_VIDEO_ANALYSE_DETECT_TYPE_FROZEN, // »­Ãæ¶³½á EM_VIDEO_ANALYSE_DETECT_TYPE_LIGHT, // ¹ýÁÁ EM_VIDEO_ANALYSE_DETECT_TYPE_DARK, // ¹ý°µ EM_VIDEO_ANALYSE_DETECT_TYPE_SCENECHANGE, // ³¡¾°±ä»¯ EM_VIDEO_ANALYSE_DETECT_TYPE_STRIATION, // ÌõÎÆ¼ì²â EM_VIDEO_ANALYSE_DETECT_TYPE_NOISE, // ÔëÉù¼ì²â EM_VIDEO_ANALYSE_DETECT_TYPE_UNBALANCE, // ƫɫ¼ì²â EM_VIDEO_ANALYSE_DETECT_TYPE_BLUR, // ÊÓÆµÄ£ºý¼ì²â EM_VIDEO_ANALYSE_DETECT_TYPE_CONTRAST, // ¶Ô±È¶ÈÒì³£¼ì²â EM_VIDEO_ANALYSE_DETECT_TYPE_MOTION, // ÊÓÆµÔ˶¯ EM_VIDEO_ANALYSE_DETECT_TYPE_FILCKERING, // ÊÓÆµÉÁ˸ EM_VIDEO_ANALYSE_DETECT_TYPE_COLOR, // ÊÓÆµÑÕÉ«±ä»¯ EM_VIDEO_ANALYSE_DETECT_TYPE_UNFOCUS, // Ðé½¹¼ì²â EM_VIDEO_ANALYSE_DETECT_TYPE_OVEREXPOSURE, // ¹ýÆØ¼ì²â }EM_VIDEO_ANALYSE_DETECT_TYPE; // ÊÓÆµÖ§³ÖµÄÈËÁ³ÀàÐÍ typedef enum tagEM_VIDEO_ANALYSE_HUMANFACE_TYPE { EM_VIDEO_ANALYSE_HUMANFACE_TYPE_UNKNOWN, // δ֪ÀàÐÍ EM_VIDEO_ANALYSE_HUMANFACE_TYPE_NORMAL, // ÆÕͨÈËÁ³ EM_VIDEO_ANALYSE_HUMANFACE_TYPE_HIDEEYE, // ÑÛ²¿ÕÚµ² EM_VIDEO_ANALYSE_HUMANFACE_TYPE_HIDENOSE, // ±Ç×ÓÕÚµ² EM_VIDEO_ANALYSE_HUMANFACE_TYPE_HIDEMOUTH, // ×첿ÕÚµ² EM_VIDEO_ANALYSE_HUMANFACE_TYPE_ADJACENTFACE, // ÏàÁÚÈËÁ³ (×¢£¬ATM£¬Î²Ëæ) EM_VIDEO_ANALYSE_HUMANFACE_TYPE_ABNORMALFACE, // Òì³£ÈËÁ³ EM_VIDEO_ANALYSE_HUMANFACE_TYPE_HELMETFACE, // Í·¿øÈËÁ³(ÈçĦÍгµ¿ø) }EM_VIDEO_ANALYSE_HUMANFACE_TYPE; // ³¡¾°Ö§³ÖµÄ¹æÔò typedef struct { DWORD dwSupportedRule; // ¹æÔòÀàÐÍ int nSupportedObjectTypeNum; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý EM_VIDEO_ANALYSE_OBJECT_TYPE emObjectType[MAX_OBJECT_LIST_SIZE]; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí int nSupportedActionsNum; // Ö§³ÖµÄ¼ì²âÎïÌ嶯×÷¸öÊý EM_VIDEO_ANALYSE_ACTION_TYPE emSupportedAction[MAX_ACTION_LIST_SIZE]; // Ö§³ÖµÄ¼ì²âÎïÌ嶯×÷Áбí int nSupportedDetectTypeNum; // Ö§³ÖµÄ¼ì²âÀàÐ͸öÊý EM_VIDEO_ANALYSE_DETECT_TYPE emSupportedDetectType[MAX_ACTION_LIST_SIZE]; // Ö§³ÖµÄ¼ì²âÀàÐÍÁбí int nSupportFaceTypeNum; // Ö§³ÖµÄÈËÁ³¼ì²âÀàÐ͸öÊý EM_VIDEO_ANALYSE_HUMANFACE_TYPE emSupportFaceType[MAX_HUMANFACE_LIST_SIZE]; // Ö§³ÖµÄÈËÁ³¼ì²âÀàÐÍÁбí BOOL bTriggerPosition; // ÊÇ·ñÖ§³Ö´¥·¢±¨¾¯Î»Öà BOOL bTriggerTrack; // ÊÇ·ñÖ§³Ö´¥·¢¸ú×Ù FACEBODY_DETECT_CAPS stuFaceBodyDetectCaps; // ÈËÌå¼ì²âÄÜÁ¦£¨¶¨ÖÆ£© FACEBODY_ANALYSE_CAPS stuFaceBodyAnalyseCaps; // ÈËÌåʶ±ðÄÜÁ¦£¨¶¨ÖÆ£© }SCENE_SUPPORT_RULE_EX; // ³¡¾°ÄÜÁ¦ typedef struct tagCFG_CAP_SCENE_EX { char szSceneName[MAX_PATH]; // ³¡¾°Ãû³Æ int nSupportedObjectTypeNum; // µ±Ç°¹æÔòÀàÐÍÖ§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // µ±Ç°¹æÔòÀàÐÍÖ§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí int nSupportRules; // Ö§³ÖµÄ¹æÔò¸öÊý SCENE_SUPPORT_RULE_EX stSpportRules[MAX_RULE_LIST_SIZE]; // Ö§³ÖµÄ¹æÔòÁбí //Ö§³ÖµÄÄ£¿é²ÎÊý bool bDisturbance; // ÊÇ·ñÖ§³ÖÈŶ¯Ç¿¶ÈÉèÖà bool bAntiDisturbance; // ÊÇ·ñÖ§³ÖÈ¥ÈŶ¯´¦Àí bool bBacklight; // ÊÇ·ñÖ§³ÖÄæ¹â´¦Àí bool bShadow; // ÊÇ·ñÖ§³ÖÒõÓ°´¦Àí bool bAccuracy; // ÊÇ·ñÖ§³Ö¼ì²â¾«¶È bool bMovingStep; // ÊÇ·ñÖ§³Ö¼ì²â²½³¤ bool bScalingFactor; // ÊÇ·ñÖ§³Ö¼ì²âËõ·Å bool bThresholdY; // ÊÇ·ñÖ§³ÖY·ÖÁ¿Åж¨ãÐÖµ bool bThresholdUV; // ÊÇ·ñÖ§³ÖUV·ÖÁ¿Åж¨ãÐÖµ bool bThresholdEdge; // ÊÇ·ñÖ§³Ö±ßÔµ¼ì²âÅж¨ãÐÖµ bool bDetectBalance; // ÊÇ·ñÖ§³Ö¼ì²âƽºâ bool bAlgorithmIndex; // ÊÇ·ñÖ§³ÖËã·¨ÐòºÅ bool bHighlight; // ÊÇ·ñÖ§³Ö¸ß¹â´¦Àí£¬¼´Backgroud²ÎÊý bool bSnapshot; // ÊÇ·ñÖ§³ÖÎïÌåץͼ bool bDetectRegion; // ÊÇ·ñÖ§³Ö¼ì²âÇøÓòÅäÖà bool bExcludeRegion; // ÊÇ·ñÖ§³ÖÅųýÇøÓòÅäÖà bool bContourAssistantTrack; // ÊÇ·ñÖ§³ÖÂÖÀª¸¨Öú¸ú×Ù //Ö§³ÖµÄ³¡¾°²ÎÊý bool bCameraAspect; // ÊÇ·ñÉãÏñͷλÖòÎÊý bool bJitter; // ÊÇ·ñÖ§³Ö¶¶¶¯²ÎÊý bool bDejitter; // ÊÇ·ñÖ§³ÖÈ¥¶¶¶¯´¦Àí²ÎÊý // Ö§³ÖµÄ±ê¶¨ÄÜÁ¦¼¯ int nMaxCalibrateAreaNum; // ×î´ó±ê¶¨ÇøÓò¸öÊý int nCalibrateAreaNum; // ±ê¶¨ÇøÓòÄÜÁ¦ÐÅÏ¢¸öÊý CFG_CAP_CELIBRATE_AREA stCalibrateAreaCap[MAX_CALIBRATEAREA_TYPE_NUM]; // ±ê¶¨ÇøÓòÄÜÁ¦ÐÅÏ¢ // ³ß´ç¹ýÂËÆ÷¼ÆÁ¿·½Ê½ bool bPixel; // ÊÇ·ñÖ§³ÖÏñËØ¼ÆÁ¿·½Ê½ bool bMetric; // ÊÇ·ñÖ§³Öʵ¼Ê³¤¶È¼ÆÁ¿·½Ê½ bool bCalibratedPixel; // ÊÇ·ñÖ§³ÖÔ¶¶Ë½ü¶Ë±ê¶¨ºóµÄÏñËØ¼ÆÁ¿·½Ê½ char szSubType[MAX_SCENE_SUBTYPE_NUM][MAX_SCENE_SUBTYPE_LEN]; // µ±Ç°³¡¾°ÏÂÖ§³ÖµÄ×Ó³¡¾°ÀàÐÍ int nSubTypeNum; // ×Ó³¡¾°ÀàÐ͸öÊý int nMaxRules; // ÿ¸ö´óÀàÖ§³ÖµÄ×î´ó¹æÔòÌõÊý BOOL bSupportedSetModule; // ÊÇ·ñÖ§³ÖÖØ½¨±³¾°£¬Ä¬Èϲ»Ö§³Ö(false) BOOL bSupportFightCalibrate; // ÊÇ·ñÖ§³Ö´ò¼Ü±ê¶¨ÅäÖÃ,ĬÈÏFALSE BYTE byReserved[1024]; // ±£Áô×Ö½Ú }CFG_CAP_SCENE_EX; // ³¡¾°Áбí typedef struct tagCFG_VACAP_SUPPORTEDSCENES_EX { int nScenes; // Ö§³ÖµÄ³¡¾°¸öÊý CFG_CAP_SCENE_EX stScenes[MAX_SCENE_LIST_SIZE]; // Ö§³ÖµÄ³¡¾°Áбí }CFG_VACAP_SUPPORTEDSCENES_EX; // ÊÓÆµ·ÖÎöÄÜÁ¦¼¯£¨³ýÁË×Ö¶ÎstSupportScenesÍ⣬ÆäËû×ֶκÍCFG_CAP_ANALYSE_INFOÒ»Ñù£© typedef struct tagCFG_CAP_ANALYSE_INFO_EX { int nSupportedSceneNum; // Ö§³ÖµÄ³¡¾°¸öÊý char szSceneName[MAX_SCENE_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ³¡¾°Áбí int nMaxMoudles; // ÿͨµÀÖ§³Ö×î´ó·ÖÎöÄ£¿éÊý int nSupportedObjectTypeNum; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐ͸öÊý char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // Ö§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí int nMaxRules; // ÿͨµÀÖ§³Ö×î´ó¹æÔòÌõÊý int nSupportedRulesNum; // Ö§³ÖµÄʼþÀàÐ͹æÔò¸öÊý DWORD dwRulesType[MAX_RULE_LIST_SIZE]; // Ö§³ÖµÄʼþÀàÐ͹æÔòÁÐ±í£¬Ê¼þÀàÐÍ£¬Ïê¼ûdhnetsdk.hÖÐ"ÖÇÄÜ·ÖÎöʼþÀàÐÍ" int nMaxStaffs; // Ö§³ÖµÄ×î´ó±ê³ß¸öÊý int nMaxPointOfLine; // ÕÛÏß×î´ó¶¥µãÊý int nMaxPointOfRegion; // ÇøÓò×î´ó¶¥µãÊý int nMaxInternalOptions; // ×î´óÄÚ²¿Ñ¡Ïî¸öÊý bool bComplexSizeFilter; // ÊÇ·ñÖ§³Ö¸´Ôӳߴç¹ýÂËÆ÷ ¸´Ôӳߴç¹ýÂËÆ÷ʹÓöÀÁ¢µÄÃæ»ý¹ýÂ˺Ϳí¸ß±È¹ýÂ˲ÎÊý¡£ bool bSpecifiedObjectFilter; // ÊÇ·ñÖ§³ÖÌØ¶¨µÄÎïÌå¹ýÂËÆ÷ int nMaxExcludeRegionNum; // Ö§³ÖÄ£¿éÖеÄ×î´óÅųýÇøÓò¸öÊý int nMaxCalibrateBoxNum; // Ö§³ÖµÄÄ£¿éÖеÄ×î´óУ׼¿ò¸öÊý int nMinCalibrateBoxNum; // Ä£¿éÖÐÖÁÉÙÐèÒªÉèÖõÄУ׼¿ò¸öÊý int nMaxSepcialDetectRegions; // Ä£¿éÖÐÖ§³ÖµÄ×î´óÌØÊâÇøÓò¼ì²â¸öÊý int nSupportedTimeSectionNum; // Ö§³ÖµÄÿÌìµÄʱ¼ä¶Î¸öÊý int nSpecialDetectPropertyNum; // Ö§³ÖµÄÌØÊâ¼ì²âÇøÊôÐÔ¸öÊý int nSupportedSpecialDetectPropertys[EM_SEPCIALREGION_PROPERTY_TYPE_NUM]; // Ö§³ÖµÄÌØÊâ¼ì²âÇøÊôÐÔ DWORD nSupportedVideoChannelType; // Ö§³ÖµÄÊÓÆµÍ¨µÀÀàÐÍÑ¡Ôñ µÚ0λΪ1±íʾ֧³ÖÊý×ÖÀàÐÍ,µÚ1λΪ1±íʾ֧³ÖÄ£ÄâÀàÐÍ,µÚ2Ϊ1±íʾ֧³Ö»ìºÏ(Êý×ÖºÍÄ£Äâ) bool bSupportMultiSceneSwitch; // ÊÇ·ñÖ§³Ö¶à³¡¾°Çл» CFG_VACAP_SUPPORTEDSCENES_EX stSupportScenes; // Ö§³ÖµÄ³¡¾°ÄÜÁ¦¼¯ int nSupportedComp; // Ö§³ÖµÄ³¡¾°×éºÏÏî¸öÊý CFG_SUPPORTED_COMP stuSupportedComp[MAX_SUPPORTED_COMP_SIZE]; // Ö§³ÖµÄ³¡¾°×éºÏÏîÁбí BYTE byFilterMask; // 0 Module/RuleÅäÖþùÒªÉèÖÃ(ĬÈÏ£¬ÖÇÄÜ·þÎñÆ÷), 1 ½öRuleÅäÖÃÒªÉèÖÃ(IPC/xVR) EM_DISPLAY_CAMERA_ANGLE_TYPE emDisCameraAngleType; // ÉãÏñÍ·°²×°½Ç¶ÈÏÔʾ·½Ê½ }CFG_CAP_ANALYSE_INFO_EX; // У׼¿òÐÅÏ¢ typedef struct tagCFG_CALIBRATEBOX_INFO { CFG_POLYGON stuCenterPoint; // У׼¿òÖÐÐĵã×ø±ê(µãµÄ×ø±ê¹éÒ»»¯µ½[0,8191]Çø¼ä) float fRatio; // Ïà¶Ô»ù׼У׼¿òµÄ±ÈÂÊ(±ÈÈç1±íʾ»ù×¼¿ò´óС£¬0.5±íʾ»ù×¼¿ò´óСµÄÒ»°ë) }CFG_CALIBRATEBOX_INFO; // ±ê¶¨·½Ê½ typedef enum tagEM_METHOD_TYPE { EM_METHOD_UNKNOWN, // δ֪·½Ê½ EM_METHOD_SCENE, // ¾°Éî±ê¶¨ EM_METHOD_LANE, // ³µµÀ±ê¶¨ EM_METHOD_PLATE, // ³µÅƱ궨 EM_METHOD_STEREO, // ˫Ŀ±ê¶¨ } EM_METHOD_TYPE; // ±ê¶¨ÇøÓò,ÆÕͨ³¡¾°Ê¹Óà typedef struct tagCFG_CALIBRATEAREA_INFO { int nLinePoint; // ˮƽ·½Ïò±ê³ßÏß¶¥µãÊý CFG_POLYGON stuLine[MAX_POLYLINE_NUM]; // ˮƽ·½Ïò±ê³ßÏß float fLenth; // ʵ¼Ê³¤¶È CFG_REGION stuArea; // ÇøÓò int nStaffNum; // ´¹Ö±±ê³ßÊý CFG_STAFF stuStaffs[MAX_STAFF_NUM]; // ´¹Ö±±ê³ß EM_CALIBRATEAREA_TYPE emType; // ÇøÓòÀàÐÍ EM_METHOD_TYPE emMethodType; // ±ê¶¨·½Ê½ }CFG_CALIBRATEAREA_INFO; // ÈËÁ³Ê¶±ð³¡¾° typedef struct tagCFG_FACERECOGNITION_SCENCE_INFO { double dbCameraHeight; // ÉãÏñÍ·ÀëµØ¸ß¶È µ¥Î»£ºÃ× double dbCameraDistance; // ÉãÏñÍ·ÀëµØÃæ¼ì²âÇøÓòÖÐÐĵÄˮƽ¾àÀë µ¥Î»£ºÃ× int nMainDirection; // ÈËÁ÷Ö÷Òª·½Ïò¶¥µãÊý CFG_POLYGON stuMainDirection[MAX_POLYLINE_NUM]; // ÈËÁ÷Ö÷Òª·½Ïò£¬µÚÒ»¸öµãÊÇÆðʼµã£¬µÚ¶þ¸öµãÊÇÖÕÖ¹µã char byFaceAngleDown; // ÐèÒª¼ì²âµÄÈËÁ³ÏòÏÂ×î´óÆ«½Ç, µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­ÃæÉϱߣ¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÏ±ߣ¬0±íʾÈËÁ³´¹Ö±·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ·¡£ char byFaceAngleUp; // ÐèÒª¼ì²âµÄÈËÁ³ÏòÉÏ×î´óÆ«½Ç,µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­ÃæÉϱߣ¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÏ±ߣ¬0±íʾÈËÁ³´¹Ö±·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ·¡£ char byFaceAngleLeft; // ÐèÒª¼ì²âµÄÈËÁ³Ïò×ó×î´óÆ«½Ç,µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­Ãæ×ó±ß£¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÓұߣ¬0±íʾÈËÁ³Ë®Æ½·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ· char byFaceAngleRight; // ÐèÒª¼ì²âµÄÈËÁ³ÏòÓÒ×î´óÆ«½Ç,µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­Ãæ×ó±ß£¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÓұߣ¬0±íʾÈËÁ³Ë®Æ½·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ· EM_FACEDETECTION_TYPE emDetectType; // ÈËÁ³¼ì²âÀàÐÍ }CFG_FACERECOGNITION_SCENCE_INFO; // ÈËÁ³¼ì²â³¡¾° typedef struct tagCFG_FACEDETECTION_SCENCE_INFO { double dbCameraHeight; // ÉãÏñÍ·ÀëµØ¸ß¶È µ¥Î»£ºÃ× double dbCameraDistance; // ÉãÏñÍ·ÀëµØÃæ¼ì²âÇøÓòÖÐÐĵÄˮƽ¾àÀë µ¥Î»£ºÃ× int nMainDirection; // ÈËÁ÷Ö÷Òª·½Ïò¶¥µãÊý CFG_POLYGON stuMainDirection[MAX_POLYLINE_NUM]; // ÈËÁ÷Ö÷Òª·½Ïò£¬µÚÒ»¸öµãÊÇÆðʼµã£¬µÚ¶þ¸öµãÊÇÖÕÖ¹µã char byFaceAngleDown; // ÐèÒª¼ì²âµÄÈËÁ³ÏòÏÂ×î´óÆ«½Ç, µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­ÃæÉϱߣ¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÏ±ߣ¬0±íʾÈËÁ³´¹Ö±·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ·¡£ char byFaceAngleUp; // ÐèÒª¼ì²âµÄÈËÁ³ÏòÉÏ×î´óÆ«½Ç,µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­ÃæÉϱߣ¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÏ±ߣ¬0±íʾÈËÁ³´¹Ö±·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ·¡£ char byFaceAngleLeft; // ÐèÒª¼ì²âµÄÈËÁ³Ïò×ó×î´óÆ«½Ç,µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­Ãæ×ó±ß£¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÓұߣ¬0±íʾÈËÁ³Ë®Æ½·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ· char byFaceAngleRight; // ÐèÒª¼ì²âµÄÈËÁ³ÏòÓÒ×î´óÆ«½Ç,µ¥Î»¶È£¬-45~45£¬¸ºÊý±íʾÈËÁ³Ïò»­Ãæ×ó±ß£¬ÕýÊý±íʾÈËÁ³Ïò»­ÃæÓұߣ¬0±íʾÈËÁ³Ë®Æ½·½ÏòÉÏÕý¶Ô×ÅÉãÏñÍ· EM_FACEDETECTION_TYPE emDetectType; // ÈËÁ³¼ì²âÀàÐÍ }CFG_FACEDETECTION_SCENCE_INFO; // ½»Í¨µÆÑÕɫУÕýÅäÖ㬷ÖÁ¢Ïî typedef struct tagADJUST_LEVEL_SEP { int nType; // 0£ºÎ´¶¨Ò壬1£ºÊÓÆµ£¬2£ºÍ¼Æ¬ int nTime; // 0£ºÎ´¶¨Ò壬1£º°×Ì죬2£ºÒ¹Íí int nLevel; // ·¶Î§0~100£¬ÊýÖµÔ½´ó½ÃÕýÔ½Ã÷ÏÔ } ADJUST_LEVEL_SEP; // ½»Í¨µÆÑÕɫУÕýÅäÖà typedef struct tagCFG_ADJUST_LIGHT_COLOR { int nMode; // ºìµÆÑÕɫУÕýģʽ 0:䶨Òå 1:ºìÂ̵ƲÅУÕý 2:һֱУÕý BOOL bEnable; // ÊÇ·ñÔÊÐíͼƬºìÂ̵ÆÑÕɫУÕý int nLevel; // УÕýµÈ¼¶ ·¶Î§0~100£¬ÊýÖµÔ½´ó½ÃÕýÔ½Ã÷ÏÔ BOOL bVideoEnable; // ÊÇ·ñÆôÓÃÊÓÆµÍ¿ºì¹¦ÄÜ£¬´æÔÚ´ËÏîʱ£¬LevelֵʹÓÃLevelSeparateϵÄLevelÖµ ADJUST_LEVEL_SEP stLevelSep[4]; // ·ÖÁ¢µÈ¼¶£¬Ä¿Ç°Îª4¸ö } CFG_ADJUST_LIGHT_COLOR; #define MAX_PARKING_SPACE_NUM 6 //×î¶àÅäÖÃ6¸ö³µÎ»ÐÅÏ¢ #define MAX_SHIELD_AREA_NUM 16 //1¸ö³µÎ»×î¶à¶ÔÓ¦16¸öÆÁ±ÎÇøÓò typedef struct tagCFG_PARKING_SPACE { int nNumber; //³µÎ»±àºÅ CFG_REGION stArea; //¼ì²âÇøÓò int nShieldAreaNum; //ÓÐЧÆÁ±ÎÇø¸öÊý CFG_REGION stShieldArea[MAX_SHIELD_AREA_NUM]; //ÆÁ±ÎÇøÓò }CFG_PARKING_SPACE; // ½»Í¨³¡¾° typedef struct tagCFG_TRAFFIC_SCENE_INFO { BOOL abCompatibleMode; int nCompatibleMode; // 0:"OldTrafficRule" : ½»Í¨ÀϹæÔò¼æÈÝģʽ;1:"NewTrafficRule" : ½»Í¨Ð¹æÔò¼æÈÝģʽ;-1:×Ö·û´®´íÎó float fCameraHeight; // ÉãÏñÍ·ÀëµØ¸ß¶È µ¥Î»£ºÃ× float fCameraDistance; // ÉãÏñÍ·ÀëµØÃæ¼ì²âÇøÓòÖÐÐĵÄˮƽ¾àÀë µ¥Î»£ºÃ× char szSubType[MAX_NAME_LEN]; // ½»Í¨³¡¾°µÄ×ÓÀàÐÍ,"Gate" ¿¨¿ÚÀàÐÍ,"Junction" ·¿ÚÀàÐÍ // "Tunnel"ËíµÀÀàÐÍ , "ParkingSpace"³µÎ»¼ì²âÀàÐÍ // "Bridge"ÇÅÁºÀàÐÍ // "Freeway"¸ßËÙ¹«Â·ÀàÐÍ CFG_POLYGON stuNearDetectPoint; // ½ü¾°¼ì²âµã CFG_POLYGON stuFarDectectPoint; // Ô¶¾°¼ì²âµã int nNearDistance; // NearDetectPoint,ת»»µ½Êµ¼Ê³¡¾°ÖÐʱ,ÀëÉãÏñÍ·´¹Ö±ÏßµÄˮƽ¾àÀë int nFarDistance; // FarDectectPoint,ת»»µ½Êµ¼Ê³¡¾°ÖÐʱ,ÀëÉãÏñÍ·´¹Ö±ÏßµÄˮƽ¾àÀë int nPlateHintNum; // ³µÅÆ×Ö·û°µÊ¾¸öÊý char szPlateHints[MAX_PLATEHINT_NUM][MAX_NAME_LEN]; // ³µÅÆ×Ö·û°µÊ¾Êý×飬ÔÚÅÄÉãͼƬÖÊÁ¿½Ï²î³µÅÆÊ¶±ð²»È·¶¨Ê±£¬¸ù¾Ý´ËÊý×éÖеÄ×Ö·û½øÐÐÆ¥Å䣬Êý×éϱêԽС£¬Æ¥ÅäÓÅÏȼ¶Ô½¸ß int nLaneNum; // ³µµÀÊý CFG_LANE stuLanes[MAX_LANE_NUM]; // ³µµÀÐÅÏ¢ int nLightGroupNum; // µÆ×éÊý CFG_LIGHTGROUPS stLightGroups[MAX_LIGHTGROUP_NUM]; // µÆ×éÅäÖÃÐÅÏ¢ BOOL bHangingWordPlate; // ÊÇ·ñʶ±ð¹Ò×Ö³µÅÆ BOOL bNonStdPolicePlate; // ÊÇ·ñʶ±ð·Ç±ê×¼¾¯ÅÆ BOOL bYellowPlateLetter; // ÊÇ·ñʶ±ð»ÆÅÆ×Öĸ int nReportMode; // Éϱ¨Ä£Ê½£¬0£ºÎ´¶¨Ò壬1£ºÉϱ¨ËùÓÐÎ¥Õ³µÁ¾£¬2£ºÉϱ¨³µÅÆÊ¶±ð³É¹¦µÄÎ¥Õ³µÁ¾ int nPlateMatch; // ³µÅÆÆ¥ÅäÂÊ£¬0~100£¬¶à´Îʶ±ð³µÅÆÊ¹ÓÃ,±íÊ¾ÖØ¸´Ê¶±ð³µÅƺÍǰһ´Îʶ±ð³µÅƵÄÒ»ÖÂÐÔÒªÇó int nJudgment; // Î¥ÕÂÅж¨ÒÀ¾Ý£¬0£ºÎ´¶¨Ò壬1£º°´³µµÀ£¬2£º°´ÐÐÊ»·½Ïò£¬3£º°´³µµÀºÍÐÐÊ»·½Ïò int nLeftDivisionPtCount; // ×óתÍä·Ö½çÏßµãÊý CFG_POLYLINE stLeftDivisionLine[MAX_POLYLINE_NUM]; // ×óתÍä·Ö½çÏß int nRightDivisionPtCount; // ÓÒתÍä·Ö½çÏßµãÊý CFG_POLYLINE stRightDivisionLine[MAX_POLYLINE_NUM]; // ÓÒתÍä·Ö½çÏß CFG_ADJUST_LIGHT_COLOR stAdjustLightColor; // ½»Í¨µÆÑÕɫУÕýÅäÖà int nParkingSpaceNum; // ³µÎ»Êý CFG_PARKING_SPACE stParkingSpaces[MAX_PARKING_SPACE_NUM];// ³µÎ»ÅäÖÃÐÅÏ¢,ÿ¸öÔªËØ´ú±íÒ»¸ö³µÎ» } CFG_TRAFFIC_SCENE_INFO; // ÆÕ±é³¡¾° typedef struct tagCFG_NORMAL_SCENE_INFO { float fCameraHeight; // ÉãÏñÍ·ÀëµØ¸ß¶È µ¥Î»£ºÃ× float fCameraAngle; // ÉãÏñÍ·Óë´¹·½ÏòµÄ¼Ð½Ç µ¥Î»¶È£¬0~90£¬ float fCameraDistance; // ÉãÏñÍ·ÀëµØÃæ¼ì²âÇøÓòÖÐÐĵÄˮƽ¾àÀë µ¥Î»£ºÃ× CFG_POLYGON stuLandLineStart; // µØÆ½ÏßÏß¶ÎÆðʼµã(µãµÄ×ø±ê×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£) CFG_POLYGON stuLandLineEnd; // µØÆ½ÏßÏß¶ÎÖÕÖ¹µã(µãµÄ×ø±ê×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£) } CFG_NORMAL_SCENE_INFO; // ½»Í¨Ñ²ÊÓ³¡¾° typedef struct tagCFG_TRAFFIC_TOUR_SCENE_INFO { int nPlateHintNum; // ³µÅÆ×Ö·û°µÊ¾¸öÊý char szPlateHints[MAX_PLATEHINT_NUM][MAX_NAME_LEN]; // ³µÅÆ×Ö·û°µÊ¾Êý×飬ÔÚÅÄÉãͼƬÖÊÁ¿½Ï²î³µÅÆÊ¶±ð²»È·¶¨Ê±£¬¸ù¾Ý´ËÊý×éÖеÄ×Ö·û½øÐÐÆ¥Å䣬Êý×éϱêԽС£¬Æ¥ÅäÓÅÏȼ¶Ô½¸ß } CFG_TRAFFIC_TOUR_SCENE_INFO; // ÈËÈºÌ¬ÊÆºÍÈËȺÃܶȳ¡¾° typedef struct tagCFG_CROWD_SCENE_INFO { float fCameraHeight; // ÉãÏñÍ·ÀëµØ¸ß¶È µ¥Î»£ºÃ× } CFG_CROWD_SCENE_INFO; // »­Ãæ¾°ÉîÀàÐÍ typedef enum tagEM_DEPTH_TYPE { EM_DEPTH_UNKNOWN, //unknown EM_DEPTH_NORMAL, // "Normal" δ֪ EM_DEPTH_FAR, // "Far" Ô¶¾° EM_DEPTH_MIDDLE, // "Middle" Öо° EM_DEPTH_NEAR // "Near" ½ü¾° }EM_DEPTH_TYPE; // ͳһ³¡¾°ÅäÖÃ,TypeList´æÔÚʱÅäÖô˳¡¾° typedef struct tagCFG_INTELLI_UNIFORM_SCENE{ char szSubType[MAX_NAME_LEN]; // ½»Í¨³¡¾°µÄ×ÓÀàÐÍ,"Gate" ¿¨¿ÚÀàÐÍ,"Junction" ·¿ÚÀàÐÍ // "Tunnel"ËíµÀÀàÐÍ , "ParkingSpace"³µÎ»¼ì²âÀàÐÍ // "Bridge"ÇÅÁºÀàÐÍ // "Freeway"¸ßËÙ¹«Â·ÀàÐÍ int nPlateHintNum; // ³µÅÆ×Ö·û°µÊ¾¸öÊý char szPlateHints[MAX_PLATEHINT_NUM][MAX_NAME_LEN]; // ³µÅÆ×Ö·û°µÊ¾Êý×飬ÔÚÅÄÉãͼƬÖÊÁ¿½Ï²î³µÅÆÊ¶±ð²»È·¶¨Ê±£¬¸ù¾Ý´ËÊý×éÖеÄ×Ö·û½øÐÐÆ¥Å䣬Êý×éϱêԽС£¬Æ¥ÅäÓÅÏȼ¶Ô½¸ß int nLaneNum; // ³µµÀÊý CFG_LANE stuLanes[MAX_LANE_NUM]; // ³µµÀÐÅÏ¢ }CFG_INTELLI_UNIFORM_SCENE; // ÊÓÆµ·ÖÎöÈ«¾ÖÅäÖó¡¾° typedef struct tagCFG_ANALYSEGLOBAL_SCENE { char szSceneType[MAX_NAME_LEN]; // Ó¦Óó¡¾°,Ïê¼û"Ö§³ÖµÄ³¡¾°Áбí" // ÒÔÏÂΪ³¡¾°¾ßÌåÐÅÏ¢, ¸ù¾ÝszSceneType¾ö¶¨Äĸö³¡¾°ÓÐЧ union { CFG_FACEDETECTION_SCENCE_INFO stuFaceDetectionScene; // ÈËÁ³¼ì²â³¡¾°/ÈËÁ³Ê¶±ð¼ì²é CFG_TRAFFIC_SCENE_INFO stuTrafficScene; // ½»Í¨³¡¾° CFG_NORMAL_SCENE_INFO stuNormalScene; // ÆÕͨ³¡¾°/Ô¶¾°³¡¾°/Öо°³¡¾°/½ü¾°³¡¾°/ÊÒÄÚ³¡¾°/ÈËÊýͳ¼Æ³¡¾° CFG_TRAFFIC_TOUR_SCENE_INFO stuTrafficTourScene; // ½»Í¨Ñ²ÊÓ³¡¾° CFG_CROWD_SCENE_INFO stuCrowdScene; // ÈËÈºÌ¬ÊÆºÍÈËȺÃܶȳ¡¾° }; EM_DEPTH_TYPE emDepthType; // »­Ãæ¾°Éî int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ£¬0~255 // ÒÔÏÂÊÇÓжà¸ö´óÀàÒµÎñµÄÇé¿ö int nSceneListCount; // ʵ¼Ê³¡¾°¸öÊý char szSceneTypeList[MAX_SCENE_TYPE_LIST_SIZE][CFG_COMMON_STRING_16];// ³¡¾°Áбð£¬Í¬Ò»ÊÓÆµÍ¨µÀÏÂÆôÓöà¸ö³¡¾°Ê±£¬±íʾµÚ2¸öÖ®ºóµÄ·½°¸ // ¶à¸ö´óÀàÒµÎñʱÓÐЧ CFG_INTELLI_UNIFORM_SCENE stuUniformScene; // ͳһ³¡¾°ÅäÖà } CFG_ANALYSEGLOBAL_SCENE; typedef struct tagCFG_TIME { DWORD dwHour; // ʱ DWORD dwMinute; // ·Ö DWORD dwSecond; // Ãë }CFG_TIME; typedef struct tagCFG_TIME_PERIOD { CFG_TIME stuStartTime; CFG_TIME stuEndTime; }CFG_TIME_PERIOD; // ¶à³¡¾°±ê¶¨ÇøÓòÅäÖûù±¾µ¥Ôª typedef struct tagCFG_CALIBRATEAREA_SCENE_UNIT { unsigned int nCalibrateAreaNum; // ´Ë³¡¾°ÄÚ±ê¶¨ÇøÓòÊý CFG_CALIBRATEAREA_INFO stuCalibrateArea[MAX_CALIBRATEBOX_NUM]; // ±ê¶¨ÇøÓò(Èô¸Ã×ֶβ»´æÔÚ£¬ÔòÒÔÕû·ù³¡¾°Îª±ê¶¨ÇøÓò) } CFG_CALIBRATEAREA_SCENE_UNIT; // ¶à³¡¾°±ê¶¨ÇøÓòÅäÖà typedef struct tagCFG_CALIBRATEAREA_SCENE_INFO { DWORD dwMaxSceneCalibrateAreaNum; // ¶à³¡¾°±ê¶¨ÇøÓò×î´ó¸öÊý(ÐèÒªÉêÇë´Ë´óСÄÚ´æ) DWORD dwRetSceneCalibrateAreaNum; // ʵ¼Ê°üº¬¶à³¡¾°±ê¶¨ÇøÓò¸öÊý CFG_CALIBRATEAREA_SCENE_UNIT *pstuCalibrateArea; // ¶à³¡¾°±ê¶¨ÇøÓòµ¥Ôª } CFG_CALIBRATEAREA_SCENE_INFO; // ÔÆÌ¨¿ØÖÆ×ø±êµ¥Ôª typedef struct tagCFG_PTZ_SPACE_UNIT { int nPositionX; //ÔÆÌ¨Ë®Æ½Ô˶¯Î»Öã¬ÓÐЧ·¶Î§£º[0,3600] int nPositionY; //ÔÆÌ¨´¹Ö±Ô˶¯Î»Öã¬ÓÐЧ·¶Î§£º[-1800,1800] int nZoom; //ÔÆÌ¨¹âȦ±ä¶¯Î»Öã¬ÓÐЧ·¶Î§£º[0,128] }CFG_PTZ_SPACE_UNIT; // ±ê¶¨ÇøÓòÅäÖà typedef struct tagCFG_CALIBRATEAREA_UNIT { int nSceneID; // ³¡¾°±àºÅ int nPtzPresetID; // Ô¤Öõã±àºÅ BOOL abCalibrateArea; // ±ê¶¨ÇøÓòÊÇ·ñ´æÔÚ CFG_CALIBRATEAREA_SCENE_UNIT stuCalibrateArea; // ±ê¶¨ÇøÓò CFG_PTZ_SPACE_UNIT stuPtzPosition; // ±ê¶¨µÄÔÆÌ¨Î»Öà } CFG_VIDEO_ANALYSE_CALIBRATEAREA_UNIT; // ±ê¶¨ÇøÓòÅäÖà typedef struct tagCFG_VIDEO_ANALYSE_CALIBRATEAREA { DWORD dwMaxSceneCalibrateNum; // ¶à³¡¾°±ê¶¨ÇøÓò×î´ó¸öÊý(ÐèÒªÉêÇë´Ë´óСÄÚ´æ) DWORD dwRetSceneCalibrateNum; // ʵ¼Ê°üº¬¶à³¡¾°±ê¶¨ÇøÓò¸öÊý CFG_VIDEO_ANALYSE_CALIBRATEAREA_UNIT *pstuCalibrateAreaUnit; // ±ê¶¨ÇøÓò } CFG_VIDEO_ANALYSE_CALIBRATEAREA; // ÖçÒ¹Ëã·¨Çл»Ä£Ê½ typedef enum tagCFG_TIMEPERIOD_SWITCH_MODE { CFG_TIMEPERIOD_SWITCH_MODE_UNKNOWN, // δ֪ CFG_TIMEPERIOD_SWITCH_MODE_BYCOLOR, // ͨ¹ýÉ«²ÊÇл» CFG_TIMEPERIOD_SWITCH_MODE_BYBRIGHTNESS, // ͨ¹ýÁÁ¶ÈÇл» CFG_TIMEPERIOD_SWITCH_MODE_BYPOS, // ͨ¹ý¾­Î³¶È¼ÆËãÈÕ³öÈÕÂäʱ¼äÇл» }CFG_TIMEPERIOD_SWITCH_MODE; // ¶à³¡¾°±ê¶¨°×ÌìºÍºÚÒ¹ÅäÖûù±¾µ¥Ôª typedef struct tagCFG_TIME_PERIOD_SCENE_UNIT { CFG_TIME_PERIOD stuDayTimePeriod; // ±ê¶¨°×ÌìµÄʱ¼ä¶Î.(8,20),±íʾ´Ó8µãµ½ÍíÉÏ20µãΪ°×Ìì CFG_TIME_PERIOD stuNightTimePeriod; // ±ê¶¨ºÚÒ¹µÄʱ¼ä¶Î.(20,7)£¬±íʾ´ÓÍí8µãµ½Á賿7µãΪºÚÒ¹ CFG_TIMEPERIOD_SWITCH_MODE emSwitchMode; // ÖçÒ¹Ëã·¨Çл»Ä£Ê½£¬Ïê¼ûCFG_TIMEPERIOD_SWITCH_MODE UINT unLongitude; // ¾­¶È µ¥Î»°ÙÍò·ÖÖ®Ò»¶È UINT unLatitude; // γ¶È µ¥Î»°ÙÍò·ÖÖ®Ò»¶È } CFG_TIME_PERIOD_SCENE_UNIT; // ¶à³¡¾°±ê¶¨°×ÌìºÍºÚÒ¹ÅäÖà typedef struct tagCFG_TIME_PERIOD_SCENE_INFO { DWORD dwMaxTimePeriodSceneNum; // ¶à³¡¾°±ê¶¨°×ÌìºÍºÚÒ¹ÅäÖÃ×î´ó¸öÊý(ÐèÒªÉêÇë´Ë´óСÄÚ´æ) DWORD dwRetTimePeriodSceneNum; // ʵ¼Ê°üº¬¶à³¡¾°±ê¶¨°×ÌìºÍºÚÒ¹ÅäÖøöÊý CFG_TIME_PERIOD_SCENE_UNIT *pstuTimePeriodScene; // ¶à³¡¾°±ê°×ÌìºÍºÚÒ¹ÅäÖÃÓòµ¥Ôª,ÓÉÓû§ÉêÇëÄڴ棬´óСΪsizeof(CFG_TIME_PERIOD_SCENE_UNIT)*dwMaxTimePeriodSceneNum }CFG_TIME_PERIOD_SCENE_INFO; // ÊÓÆµ·ÖÎöÈ«¾ÖÅäÖà typedef struct tagCFG_ANALYSEGLOBAL_INFO { // ÐÅÏ¢ char szSceneType[MAX_NAME_LEN]; // Ó¦Óó¡¾°,Ïê¼û"Ö§³ÖµÄ³¡¾°Áбí" //½»Í¨³¡¾°ÐÅÏ¢ double CameraHeight; // ÉãÏñÍ·ÀëµØ¸ß¶È µ¥Î»£ºÃ× double CameraDistance; // ÉãÏñÍ·ÀëµØÃæ¼ì²âÇøÓòÖÐÐĵÄˮƽ¾àÀë µ¥Î»£ºÃ× CFG_POLYGON stuNearDetectPoint; // ½ü¾°¼ì²âµã CFG_POLYGON stuFarDectectPoint; // Ô¶¾°¼ì²âµã int nNearDistance; // NearDetectPoint,ת»»µ½Êµ¼Ê³¡¾°ÖÐʱ,ÀëÉãÏñÍ·´¹Ö±ÏßµÄˮƽ¾àÀë int nFarDistance; // FarDectectPoint,ת»»µ½Êµ¼Ê³¡¾°ÖÐʱ,ÀëÉãÏñÍ·´¹Ö±ÏßµÄˮƽ¾àÀë char szSubType[MAX_NAME_LEN]; // ½»Í¨³¡¾°µÄ×ÓÀàÐÍ,"Gate",¿¨¿ÚÀàÐÍ,"Junction" ·¿ÚÀàÐÍ,"ParkingSpace" ³µÎ»¼ì²âÀàÐÍ int nLaneNum; // ³µµÀÊý CFG_LANE stuLanes[MAX_LANE_NUM]; // ³µµÀÐÅÏ¢ int nPlateHintNum; // ³µÅÆ×Ö·û°µÊ¾¸öÊý char szPlateHints[MAX_PLATEHINT_NUM][MAX_NAME_LEN]; // ³µÅÆ×Ö·û°µÊ¾Êý×飬ÔÚÅÄÉãͼƬÖÊÁ¿½Ï²î³µÅÆÊ¶±ð²»È·¶¨Ê±£¬¸ù¾Ý´ËÊý×éÖеÄ×Ö·û½øÐÐÆ¥Å䣬Êý×éϱêԽС£¬Æ¥ÅäÓÅÏȼ¶Ô½¸ß int nLightGroupNum; // µÆ×éÊý CFG_LIGHTGROUPS stLightGroups[MAX_LIGHTGROUP_NUM]; // µÆ×éÅäÖÃÐÅÏ¢ BOOL bHangingWordPlate; // ÊÇ·ñʶ±ð¹Ò×Ö³µÅÆ BOOL bNonStdPolicePlate; // ÊÇ·ñʶ±ð·Ç±ê×¼¾¯ÅÆ BOOL bYellowPlateLetter; // ÊÇ·ñʶ±ð»ÆÅÆ×Öĸ int nReportMode; // Éϱ¨Ä£Ê½£¬0£ºÎ´¶¨Ò壬1£ºÉϱ¨ËùÓÐÎ¥Õ³µÁ¾£¬2£ºÉϱ¨³µÅÆÊ¶±ð³É¹¦µÄÎ¥Õ³µÁ¾ int nPlateMatch; // ³µÅÆÆ¥ÅäÂÊ£¬0~100£¬¶à´Îʶ±ð³µÅÆÊ¹ÓÃ,±íÊ¾ÖØ¸´Ê¶±ð³µÅƺÍǰһ´Îʶ±ð³µÅƵÄÒ»ÖÂÐÔÒªÇó int nJudgment; // Î¥ÕÂÅж¨ÒÀ¾Ý£¬0£ºÎ´¶¨Ò壬1£º°´³µµÀ£¬2£º°´ÐÐÊ»·½Ïò£¬3£º°´³µµÀºÍÐÐÊ»·½Ïò int nLeftDivisionPtCount; // ×óתÍä·Ö½çÏßµãÊý CFG_POLYLINE stLeftDivisionLine[MAX_POLYLINE_NUM]; // ×óתÍä·Ö½çÏß int nRightDivisionPtCount; // ÓÒתÍä·Ö½çÏßµãÊý CFG_POLYLINE stRightDivisionLine[MAX_POLYLINE_NUM]; // ÓÒתÍä·Ö½çÏß CFG_ADJUST_LIGHT_COLOR stAdjustLightColor; // ½»Í¨µÆÑÕɫУÕýÅäÖà int nParkingSpaceNum; // ³µÎ»Êý CFG_PARKING_SPACE stParkingSpaces[MAX_PARKING_SPACE_NUM]; // ³µÎ»ÅäÖÃÐÅÏ¢,ÿ¸öÔªËØ´ú±íÒ»¸ö³µÎ» // Ò»°ã³¡¾°ÐÅÏ¢ int nStaffNum; // ±ê³ßÊý CFG_STAFF stuStaffs[MAX_STAFF_NUM]; // ±ê³ß unsigned int nCalibrateAreaNum; // ±ê¶¨ÇøÓòÊý CFG_CALIBRATEAREA_INFO stuCalibrateArea[MAX_CALIBRATEBOX_NUM]; // ±ê¶¨ÇøÓò(Èô¸Ã×ֶβ»´æÔÚ£¬ÔòÒÔÕû·ù³¡¾°Îª±ê¶¨ÇøÓò) BOOL bFaceRecognition; // ÈËÁ³Ê¶±ð³¡¾°ÊÇ·ñÓÐЧ CFG_FACERECOGNITION_SCENCE_INFO stuFaceRecognitionScene; // ÈËÁ³Ê¶±ð³¡¾° bool abJitter; bool abDejitter; BYTE bReserved[2]; // ±£Áô×Ö¶Î int nJitter; // ÉãÏñ»ú¶¶¶¯ÂÊ : ÉãÏñ»ú¶¶¶¯ÂÊ£¬È¡Öµ0-100£¬·´Ó¦¾²Ö¹ÉãÏñ»ú¶¶¶¯³Ì¶È£¬¶¶¶¯Ô½À÷º¦£¬ÖµÔ½´ó¡£ BOOL bDejitter; // ÊÇ·ñ¿ªÆôÈ¥¶¶¶¯Ä£¿é Ŀǰ²»ÊµÏÖ BOOL abCompatibleMode; int nCompatibleMode; // 0:"OldTrafficRule" : ½»Í¨ÀϹæÔò¼æÈÝģʽ;1:"NewTrafficRule" : ½»Í¨Ð¹æÔò¼æÈÝģʽ;-1:×Ö·û´®´íÎó int nCustomDataLen; // ʵ¼ÊÊý¾Ý³¤¶È£¬²»ÄÜ´óÓÚ1024 BYTE byCustomData[1024]; // µÚÈý·½×Ô¶¨ÒåÅäÖÃÊý¾Ý double CameraAngle; // ÉãÏñÍ·Óë´¹·½ÏòµÄ¼Ð½Ç CFG_POLYGON stuLandLineStart; // µØÆ½ÏßÏß¶ÎÆðʼµã(µãµÄ×ø±ê×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£) CFG_POLYGON stuLandLineEnd; // µØÆ½ÏßÏß¶ÎÖÕÖ¹µã(µãµÄ×ø±ê×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£) BOOL bFaceDetection; // ÈËÁ³¼ì²â³¡¾°ÊÇ·ñÓÐЧ CFG_FACEDETECTION_SCENCE_INFO stuFaceDetectionScene; // ÈËÁ³¼ì²â³¡¾° CFG_TIME_PERIOD stuDayTimePeriod; // ±ê¶¨°×ÌìµÄʱ¼ä¶Î.(8,20),±íʾ´Ó8µãµ½ÍíÉÏ20µãΪ°×Ìì CFG_TIME_PERIOD stuNightTimePeriod; // ±ê¶¨ºÚÒ¹µÄʱ¼ä¶Î.(20,7)£¬±íʾ´ÓÍí8µãµ½Á賿7µãΪºÚÒ¹ CFG_TIME_PERIOD_SCENE_INFO stuTimePeriodSceneInfo; // ¶à³¡¾°±ê¶¨°×ÌìºÍºÚҹʱ¼ä¶Î CFG_CALIBRATEAREA_SCENE_INFO stuCalibrateAreaSceneInfo; // ¶à³¡¾°±ê¶¨ÇøÓòÅäÖÃÐÅÏ¢ CFG_TIMEPERIOD_SWITCH_MODE emSwitchMode; // ÖçÒ¹Ëã·¨Çл»Ä£Ê½,Ïê¼ûCFG_TIMEPERIOD_SWITCH_MODE int nSceneNum; // ³¡¾°Êý, >0ʱ±íʾ֧³Ö¶à³¡¾°, stuMultiSceneÓÐЧ CFG_ANALYSEGLOBAL_SCENE stuMultiScene[MAX_ANALYSE_SCENE_NUM]; // ¶à³¡¾°ÅäÖà int nSceneCount; // ʵ¼Ê³¡¾°¸öÊý char szSceneTypeList[MAX_SCENE_TYPE_LIST_SIZE][CFG_COMMON_STRING_16];// ³¡¾°Áбð£¬Í¬Ò»ÊÓÆµÍ¨µÀÏÂÆôÓöà¸ö³¡¾°Ê±£¬±íʾµÚ2¸öÖ®ºóµÄ·½°¸(¿ÉÑ¡) EM_DEPTH_TYPE emDepthType; // »­Ãæ¾°Éî int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ£¬0~255 UINT unLongitude; // ¾­¶È µ¥Î»°ÙÍò·ÖÖ®Ò»¶È UINT unLatitude; // γ¶È µ¥Î»°ÙÍò·ÖÖ®Ò»¶È } CFG_ANALYSEGLOBAL_INFO; // ³ß´ç¹ýÂËÆ÷ typedef struct tagCFG_SIZEFILTER_INFO { int nCalibrateBoxNum; // У׼¿ò¸öÊý CFG_CALIBRATEBOX_INFO stuCalibrateBoxs[MAX_CALIBRATEBOX_NUM]; // У׼¿ò(Ô¶¶Ë½ü¶Ë±ê¶¨Ä£Ê½ÏÂÓÐЧ) bool bMeasureModeEnable; // ¼ÆÁ¿·½Ê½²ÎÊýÊÇ·ñÓÐЧ BYTE bMeasureMode; // ¼ÆÁ¿·½Ê½,0-ÏñËØ£¬²»ÐèÒªÔ¶¶Ë¡¢½ü¶Ë±ê¶¨, 1-ʵ¼Ê³¤¶È£¬µ¥Î»£ºÃ×, 2-Ô¶¶Ë½ü¶Ë±ê¶¨ºóµÄÏñËØ bool bFilterTypeEnable; // ¹ýÂËÀàÐͲÎÊýÊÇ·ñÓÐЧ // ByArea,ByRatio½ö×÷¼æÈÝ£¬Ê¹ÓöÀÁ¢µÄByAreaºÍByRatioÑ¡Ïî´úÌæ 2012/03/06 BYTE bFilterType; // ¹ýÂËÀàÐÍ:0:"ByLength",1:"ByArea", 2"ByWidthHeight" BYTE bReserved[2]; // ±£Áô×Ö¶Î bool bFilterMinSizeEnable; // ÎïÌå×îС³ß´ç²ÎÊýÊÇ·ñÓÐЧ bool bFilterMaxSizeEnable; // ÎïÌå×î´ó³ß´ç²ÎÊýÊÇ·ñÓÐЧ CFG_SIZE stuFilterMinSize; // ÎïÌå×îС³ß´ç "ByLength"ģʽϱíʾ¿í¸ßµÄ³ß´ç£¬"ByArea"ģʽÏ¿í±íÊ¾Ãæ»ý£¬¸ßÎÞЧ(Ô¶¶Ë½ü¶Ë±ê¶¨Ä£Ê½Ï±íʾ»ù×¼¿òµÄ¿í¸ß³ß´ç)¡£ CFG_SIZE stuFilterMaxSize; // ÎïÌå×î´ó³ß´ç "ByLength"ģʽϱíʾ¿í¸ßµÄ³ß´ç£¬"ByArea"ģʽÏ¿í±íÊ¾Ãæ»ý£¬¸ßÎÞЧ(Ô¶¶Ë½ü¶Ë±ê¶¨Ä£Ê½Ï±íʾ»ù×¼¿òµÄ¿í¸ß³ß´ç)¡£ bool abByArea; bool abMinArea; bool abMaxArea; bool abMinAreaSize; bool abMaxAreaSize; bool bByArea; // ÊÇ·ñ°´Ãæ»ý¹ýÂË Í¨¹ýÄÜÁ¦ComplexSizeFilterÅжÏÊÇ·ñ¿ÉÓà bool bReserved1[2]; // ²¹Æë float nMinArea; // ×îÐ¡Ãæ»ý float nMaxArea; // ×î´óÃæ»ý CFG_SIZE stuMinAreaSize; // ×îÐ¡Ãæ»ý¾ØÐοò³ß´ç "¼ÆÁ¿·½Ê½"Ϊ"ÏñËØ"ʱ£¬±íʾ×îÐ¡Ãæ»ý¾ØÐοòµÄ¿í¸ß³ß´ç£»"¼ÆÁ¿·½Ê½"Ϊ"Ô¶¶Ë½ü¶Ë±ê¶¨Ä£Ê½"ʱ£¬±íʾ»ù×¼¿òµÄ×îС¿í¸ß³ß´ç£» CFG_SIZE stuMaxAreaSize; // ×î´óÃæ»ý¾ØÐοò³ß´ç, ͬÉÏ bool abByRatio; bool abMinRatio; bool abMaxRatio; bool abMinRatioSize; bool abMaxRatioSize; bool bByRatio; // ÊÇ·ñ°´¿í¸ß±È¹ýÂË Í¨¹ýÄÜÁ¦ComplexSizeFilterÅжÏÊÇ·ñ¿ÉÓà bool bReserved2[6]; // ²¹Æë double dMinRatio; // ×îС¿í¸ß±È double dMaxRatio; // ×î´ó¿í¸ß±È CFG_SIZE stuMinRatioSize; // ×îС¿í¸ß±È¾ØÐοò³ß´ç£¬×îС¿í¸ß±È¶ÔÓ¦¾ØÐοòµÄ¿í¸ß³ß´ç¡£ CFG_SIZE stuMaxRatioSize; // ×î´ó¿í¸ß±È¾ØÐοò³ß´ç£¬Í¬ÉÏ int nAreaCalibrateBoxNum; // Ãæ»ýУ׼¿ò¸öÊý CFG_CALIBRATEBOX_INFO stuAreaCalibrateBoxs[MAX_CALIBRATEBOX_NUM];// Ãæ»ýУ׼¿ò int nRatioCalibrateBoxs; // ¿í¸ßУ׼¿ò¸öÊý CFG_CALIBRATEBOX_INFO stuRatioCalibrateBoxs[MAX_CALIBRATEBOX_NUM];// ¿í¸ßУ׼¿ò bool abBySize; // ³¤¿í¹ýÂËʹÄܲÎÊýÊÇ·ñÓÐЧ bool bBySize; // ³¤¿í¹ýÂËʹÄÜ BYTE bReserved3[6]; // ±£Áô×Ö¶Î }CFG_SIZEFILTER_INFO; // ¸÷ÖÖÎïÌåÌØ¶¨µÄ¹ýÂËÆ÷ typedef struct tagCFG_OBJECT_SIZEFILTER_INFO { char szObjectType[MAX_NAME_LEN]; // ÎïÌåÀàÐÍ CFG_SIZEFILTER_INFO stSizeFilter; // ¶ÔÓ¦µÄ³ß´ç¹ýÂËÆ÷ }CFG_OBJECT_SIZEFILTER_INFO; // ÌØÊâ¼ì²âÇø£¬ÊÇÖ¸´Ó¼ì²âÇøÖÐÇø·Ö³öÀ´£¬ÓÐÌØÊâ¼ì²âÊôÐÔµÄÇøÓò typedef struct tagCFG_SPECIALDETECTREGION_INFO { int nDetectNum; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nPropertyNum; // ÌØÊâ¼ì²âÇøÊôÐÔ¸öÊý int nPropertys[EM_SEPCIALREGION_PROPERTY_TYPE_NUM]; // ÌØÊâ¼ì²âÇøÊôÐÔ }CFG_SPECIALDETECT_INFO; //¸÷ÀàÎïÌåµÄ×ÓÀàÐÍ typedef enum tagCFG_CATEGORY_TYPE { CFG_CATEGORY_TYPE_UNKNOW, // δ֪ÀàÐÍ //³µÐÍÏà¹Ø×ÓÀà±ð CFG_CATEGORY_VEHICLE_TYPE_MOTOR, // "Motor" »ú¶¯³µ CFG_CATEGORY_VEHICLE_TYPE_NON_MOTOR, // "Non-Motor"·Ç»ú¶¯³µ CFG_CATEGORY_VEHICLE_TYPE_BUS, // "Bus"¹«½»³µ CFG_CATEGORY_VEHICLE_TYPE_BICYCLE, // "Bicycle" ×ÔÐгµ CFG_CATEGORY_VEHICLE_TYPE_MOTORCYCLE, // "Motorcycle"ĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_UNLICENSEDMOTOR, // "UnlicensedMotor": ÎÞÅÆ»ú¶¯³µ CFG_CATEGORY_VEHICLE_TYPE_LARGECAR, // "LargeCar" ´óÐÍÆû³µ CFG_CATEGORY_VEHICLE_TYPE_MICROCAR, // "MicroCar" СÐÍÆû³µ CFG_CATEGORY_VEHICLE_TYPE_EMBASSYCAR, // "EmbassyCar" ʹ¹ÝÆû³µ CFG_CATEGORY_VEHICLE_TYPE_MARGINALCAR, // "MarginalCar" Áì¹ÝÆû³µ CFG_CATEGORY_VEHICLE_TYPE_AREAOUTCAR, // "AreaoutCar" ¾³ÍâÆû³µ CFG_CATEGORY_VEHICLE_TYPE_FOREIGNCAR, // "ForeignCar" Íâ¼®Æû³µ CFG_CATEGORY_VEHICLE_TYPE_DUALTRIWHEELMOTORCYCLE, // "DualTriWheelMotorcycle"Á½¡¢ÈýÂÖĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_LIGHTMOTORCYCLE, // "LightMotorcycle" Çá±ãĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_EMBASSYMOTORCYCLE, // "EmbassyMotorcycle "ʹ¹ÝĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_MARGINALMOTORCYCLE, // "MarginalMotorcycle "Áì¹ÝĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_AREAOUTMOTORCYCLE, // "AreaoutMotorcycle "¾³ÍâĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_FOREIGNMOTORCYCLE, // "ForeignMotorcycle "Í⼮ĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_FARMTRANSMITCAR, // "FarmTransmitCar" Å©ÓÃÔËÊä³µ CFG_CATEGORY_VEHICLE_TYPE_TRACTOR, // "Tractor" ÍÏÀ­»ú CFG_CATEGORY_VEHICLE_TYPE_TRAILER, // "Trailer" ¹Ò³µ CFG_CATEGORY_VEHICLE_TYPE_COACHCAR, // "CoachCar"½ÌÁ·Æû³µ CFG_CATEGORY_VEHICLE_TYPE_COACHMOTORCYCLE, // "CoachMotorcycle "½ÌÁ·Ä¦Íгµ CFG_CATEGORY_VEHICLE_TYPE_TRIALCAR, // "TrialCar" ÊÔÑéÆû³µ CFG_CATEGORY_VEHICLE_TYPE_TRIALMOTORCYCLE, // "TrialMotorcycle "ÊÔÑéĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_TEMPORARYENTRYCAR, // "TemporaryEntryCar"ÁÙʱÈë¾³Æû³µ CFG_CATEGORY_VEHICLE_TYPE_TEMPORARYENTRYMOTORCYCLE, // "TemporaryEntryMotorcycle"ÁÙʱÈ뾳ĦÍгµ CFG_CATEGORY_VEHICLE_TYPE_TEMPORARYSTEERCAR, // "TemporarySteerCar"ÁÙʱÐÐÊ»³µ CFG_CATEGORY_VEHICLE_TYPE_PASSENGERCAR, // "PassengerCar" ¿Í³µ CFG_CATEGORY_VEHICLE_TYPE_LARGETRUCK, // "LargeTruck" ´ó»õ³µ CFG_CATEGORY_VEHICLE_TYPE_MIDTRUCK, // "MidTruck" Öлõ³µ CFG_CATEGORY_VEHICLE_TYPE_SALOONCAR, // "SaloonCar" ½Î³µ CFG_CATEGORY_VEHICLE_TYPE_MICROBUS, // "Microbus"Ãæ°ü³µ CFG_CATEGORY_VEHICLE_TYPE_MICROTRUCK, // "MicroTruck"С»õ³µ CFG_CATEGORY_VEHICLE_TYPE_TRICYCLE, // "Tricycle"ÈýÂÖ³µ CFG_CATEGORY_VEHICLE_TYPE_PASSERBY, // "Passerby" ÐÐÈË CFG_CATEGORY_VEHICLE_TYPE_OILTANKTRUCK, // "OilTankTruck" Ó͹޳µ CFG_CATEGORY_VEHICLE_TYPE_TANKCAR, // "TankCar" ²Û¹Þ³µ CFG_CATEGORY_VEHICLE_TYPE_SUV, // "SUV" SUV CFG_CATEGORY_VEHICLE_TYPE_MPV, // "MPV" MPV //³µÅÆÏà¹Ø×ÓÀà±ð CFG_CATEGORY_PLATE_TYPE_NORMAL, // "Normal" À¶ÅƺÚ×Ö CFG_CATEGORY_PLATE_TYPE_YELLOW, // "Yellow" »ÆÅÆ CFG_CATEGORY_PLATE_TYPE_DOUBLEYELLOW, // "DoubleYellow" Ë«²ã»ÆÎ²ÅÆ CFG_CATEGORY_PLATE_TYPE_POLICE, // "Police" ¾¯ÅÆ CFG_CATEGORY_PLATE_TYPE_ARMED, // "Armed" Î依ů CFG_CATEGORY_PLATE_TYPE_MILITARY, // "Military" ²¿¶ÓºÅÅÆ CFG_CATEGORY_PLATE_TYPE_DOUBLEMILITARY, // "DoubleMilitary" ²¿¶ÓË«²ã CFG_CATEGORY_PLATE_TYPE_SAR, // "SAR" ¸Û°ÄÌØÇøºÅÅÆ CFG_CATEGORY_PLATE_TYPE_TRAINNING, // "Trainning" ½ÌÁ·³µºÅÅÆ CFG_CATEGORY_PLATE_TYPE_PERSONAL, // "Personal" ¸öÐÔºÅÅÆ CFG_CATEGORY_PLATE_TYPE_AGRI, // "Agri" Å©ÓÃÅÆ CFG_CATEGORY_PLATE_TYPE_EMBASSY, // "Embassy" ʹ¹ÝºÅÅÆ CFG_CATEGORY_PLATE_TYPE_MOTO, // "Moto" ĦÍгµºÅÅÆ CFG_CATEGORY_PLATE_TYPE_TRACTOR, // "Tractor" ÍÏÀ­»úºÅÅÆ CFG_CATEGORY_PLATE_TYPE_OFFICIALCAR, // "OfficialCar " ¹«Îñ³µ CFG_CATEGORY_PLATE_TYPE_PERSONALCAR, // "PersonalCar" ˽¼Ò³µ CFG_CATEGORY_PLATE_TYPE_WARCAR, // "WarCar" ¾üÓà CFG_CATEGORY_PLATE_TYPE_OTHER, // "Other" ÆäËûºÅÅÆ CFG_CATEGORY_PLATE_TYPE_CIVILAVIATION, // "Civilaviation" Ãñº½ºÅÅÆ CFG_CATEGORY_PLATE_TYPE_BLACK, // "Black" ºÚÅÆ CFG_CATEGORY_PLATE_TYPE_PURENEWENERGYMICROCAR, // "PureNewEnergyMicroCar" ´¿µç¶¯ÐÂÄÜԴС³µ CFG_CATEGORY_PLATE_TYPE_MIXEDNEWENERGYMICROCAR, // "MixedNewEnergyMicroCar" »ìºÏÐÂÄÜԴС³µ CFG_CATEGORY_PLATE_TYPE_PURENEWENERGYLARGECAR, // "PureNewEnergyLargeCar" ´¿µç¶¯ÐÂÄÜÔ´´ó³µ CFG_CATEGORY_PLATE_TYPE_MIXEDNEWENERGYLARGECAR, // "MixedNewEnergyLargeCar" »ìºÏÐÂÄÜÔ´´ó³µ }CFG_CATEGORY_TYPE; // ¼ÆÁ¿·½Ê½ typedef enum tagEM_CFG_MEASURE_MODE_TYPE { EM_CFG_NEASURE_MODE_TYPE_UNKNOW, // δ֪ EM_CFG_NEASURE_MODE_TYPE_PIXEL, // ÏñËØ EM_CFG_NEASURE_MODE_TYPE_METRIC, // ʵ¼Ê³¤¶È }EM_CFG_MEASURE_MODE_TYPE; // ¹ýÂËÀàÐÍ typedef enum tagCFG_FILTER_HEIGHT_TYPE { CFG_FILTER_HEIGHT_TYPE_UNKNOW, // δ֪ CFG_FILTER_HEIGHT_TYPE_BYHEIGHT, // ¸ß¶È }CFG_FILTER_HEIGHT_TYPE; // ÎïÌåÀàÐͳ¤¶È¹ýÂËÆ÷ typedef struct tagCFG_LENGTH_FILTER_INFO { EM_CFG_MEASURE_MODE_TYPE emMeasureMode; // ¼ÆÁ¿·½Ê½ CFG_FILTER_HEIGHT_TYPE emFilterType; // ¹ýÂËÀàÐÍ int nDetectType; // 0:´óÓÚÇÒСÓÚ 1:´óÓÚ»òµÈÓÚÇÒСÓÚ»òµÈÓÚ 2:´óÓÚÇÒСÓÚ»òµÈÓÚ 3:´óÓÚ»òµÈÓÚÇÒСÓÚ int nMinLen; // ×îС¼ì²â³¤¶È£¬µ¥Î»£ºcm int nMaxLen; // ×î´ó¼ì²â³¤¶È£¬µ¥Î»£ºcm }CFG_LENGTH_FILETER_INFO; // ²»Í¬ÇøÓò¸÷ÖÖÀàÐÍÎïÌåµÄ¼ì²âÄ£¿éÅäÖà typedef struct tagCFG_MODULE_INFO { // ÐÅÏ¢ char szObjectType[MAX_NAME_LEN]; // ĬÈÏÎïÌåÀàÐÍ,Ïê¼û"Ö§³ÖµÄ¼ì²âÎïÌåÀàÐÍÁбí" bool bSnapShot; // ÊÇ·ñ¶Ôʶ±ðÎïÌåץͼ BYTE bSensitivity; // ÁéÃô¶È,ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ bool bMeasureModeEnable; // ¼ÆÁ¿·½Ê½²ÎÊýÊÇ·ñÓÐЧ BYTE bMeasureMode; // ¼ÆÁ¿·½Ê½,0-ÏñËØ£¬²»ÐèÒªÔ¶¶Ë¡¢½ü¶Ë±ê¶¨, 1-ʵ¼Ê³¤¶È£¬µ¥Î»£ºÃ×, 2-Ô¶¶Ë½ü¶Ë±ê¶¨ºóµÄÏñËØ int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nTrackRegionPoint; // ¸ú×ÙÇøÓò¶¥µãÊý CFG_POLYGON stuTrackRegion[MAX_POLYGON_NUM]; // ¸ú×ÙÇøÓò bool bFilterTypeEnable; // ¹ýÂËÀàÐͲÎÊýÊÇ·ñÓÐЧ // ByArea,ByRatio½ö×÷¼æÈÝ£¬Ê¹ÓöÀÁ¢µÄByAreaºÍByRatioÑ¡Ïî´úÌæ 2012/03/06 BYTE nFilterType; // ¹ýÂËÀàÐÍ:0:"ByLength",1:"ByArea", 2:"ByWidthHeight", 3:"ByRatio": °´ÕÕ¿í¸ß±È£¬¿í¶È³ýÒԸ߶ȵĽá¹ûСÓÚij¸öÖµ»òÕß´óÓÚij¸öÖµµÄÎÊÌ⽫±»¹ýÂ˵ô¡£ bool bBackgroudEnable; // ÇøÓòµÄ±³¾°ÀàÐͲÎÊýÊÇ·ñÓÐЧ BYTE bBackgroud; // ÇøÓòµÄ±³¾°ÀàÐÍ, 0-ÆÕͨÀàÐÍ, 1-¸ß¹âÀàÐÍ bool abBySize; // ³¤¿í¹ýÂËʹÄܲÎÊýÊÇ·ñÓÐЧ bool bBySize; // ³¤¿í¹ýÂËʹÄÜ bool bFilterMinSizeEnable; // ÎïÌå×îС³ß´ç²ÎÊýÊÇ·ñÓÐЧ bool bFilterMaxSizeEnable; // ÎïÌå×î´ó³ß´ç²ÎÊýÊÇ·ñÓÐЧ CFG_SIZE stuFilterMinSize; // ÎïÌå×îС³ß´ç "ByLength"ģʽϱíʾ¿í¸ßµÄ³ß´ç£¬"ByArea"ģʽÏ¿í±íÊ¾Ãæ»ý£¬¸ßÎÞЧ¡£ CFG_SIZE stuFilterMaxSize; // ÎïÌå×î´ó³ß´ç "ByLength"ģʽϱíʾ¿í¸ßµÄ³ß´ç£¬"ByArea"ģʽÏ¿í±íÊ¾Ãæ»ý£¬¸ßÎÞЧ¡£ int nExcludeRegionNum; // ÅųýÇøÓòÊý CFG_REGION stuExcludeRegion[MAX_EXCLUDEREGION_NUM];// ÅųýÇøÓò int nCalibrateBoxNum; // У׼¿ò¸öÊý CFG_CALIBRATEBOX_INFO stuCalibrateBoxs[MAX_CALIBRATEBOX_NUM];// У׼¿ò(Ô¶¶Ë½ü¶Ë±ê¶¨Ä£Ê½ÏÂÓÐЧ) bool bAccuracy; // ¼ì²â¾«¶ÈÊÇ·ñÓÐЧ BYTE byAccuracy; // ¼ì²â¾«¶È bool bMovingStep; // Ëã·¨ÒÆ¶¯²½³¤ÊÇ·ñÓÐЧ BYTE byMovingStep; // Ëã·¨ÒÆ¶¯²½³¤ bool bScalingFactor; // Ëã·¨Ëõ·ÅÒò×ÓÊÇ·ñÓÐЧ BYTE byScalingFactor; // Ëã·¨Ëõ·ÅÒò×Ó BYTE bReserved2[1]; // ±£Áô×Ö¶Î bool abDetectBalance; // ©¼ìºÍÎó¼ìƽºâ²ÎÊýÊÇ·ñÓÐЧ int nDetectBalance; // ©¼ìºÍÎó¼ìƽºâ 0-ÕÛÖÐģʽ(ĬÈÏ)1-©¼ì¸üÉÙ2-Îó¼ì¸üÉÙ bool abByRatio; bool abMinRatio; bool abMaxRatio; bool abMinAreaSize; bool abMaxAreaSize; bool bByRatio; // ÊÇ·ñ°´¿í¸ß±È¹ýÂË Í¨¹ýÄÜÁ¦ComplexSizeFilterÅжÏÊÇ·ñ¿ÉÓà ¿ÉÒÔºÍnFilterType¸´Óà bool bReserved1[2]; double dMinRatio; // ×îС¿í¸ß±È double dMaxRatio; // ×î´ó¿í¸ß±È CFG_SIZE stuMinAreaSize; // ×îÐ¡Ãæ»ý¾ØÐοò³ß´ç "¼ÆÁ¿·½Ê½"Ϊ"ÏñËØ"ʱ£¬±íʾ×îÐ¡Ãæ»ý¾ØÐοòµÄ¿í¸ß³ß´ç£»"¼ÆÁ¿·½Ê½"Ϊ"Ô¶¶Ë½ü¶Ë±ê¶¨Ä£Ê½"ʱ£¬±íʾ»ù×¼¿òµÄ×îС¿í¸ß³ß´ç£» CFG_SIZE stuMaxAreaSize; // ×î´óÃæ»ý¾ØÐοò³ß´ç, ͬÉÏ bool abByArea; bool abMinArea; bool abMaxArea; bool abMinRatioSize; bool abMaxRatioSize; bool bByArea; // ÊÇ·ñ°´Ãæ»ý¹ýÂË Í¨¹ýÄÜÁ¦ComplexSizeFilterÅжÏÊÇ·ñ¿ÉÓà ¿ÉÒÔºÍnFilterType¸´Óà bool bReserved3[2]; float nMinArea; // ×îÐ¡Ãæ»ý float nMaxArea; // ×î´óÃæ»ý CFG_SIZE stuMinRatioSize; // ×îС¿í¸ß±È¾ØÐοò³ß´ç£¬×îС¿í¸ß±È¶ÔÓ¦¾ØÐοòµÄ¿í¸ß³ß´ç¡£ CFG_SIZE stuMaxRatioSize; // ×î´ó¿í¸ß±È¾ØÐοò³ß´ç£¬Í¬ÉÏ int nAreaCalibrateBoxNum; // Ãæ»ýУ׼¿ò¸öÊý CFG_CALIBRATEBOX_INFO stuAreaCalibrateBoxs[MAX_CALIBRATEBOX_NUM];// Ãæ»ýУ׼¿ò int nRatioCalibrateBoxs; // ±ÈÀýУ׼¿ò¸öÊý CFG_CALIBRATEBOX_INFO stuRatioCalibrateBoxs[MAX_CALIBRATEBOX_NUM];// ±ÈÀýУ׼¿ò¸öÊý bool bAntiDisturbance; // ÊÇ·ñ¿ªÆôÈ¥ÈŶ¯Ä£¿é bool bBacklight; // ÊÇ·ñÓÐÄæ¹â bool bShadow; // ÊÇ·ñÓÐÒõÓ° bool bContourAssistantTrack; // ÊÇ·ñ¿ªÆôÂÖÀª¸¨Öú¸ú×Ù£¬Àý£ºÔÚÈËÁ³Ê¶±ðʱ¿ÉÒÔͨ¹ý¸ú×ÙÈËÌåÀ´¸¨Öúʶ±ðÈËÁ³ int nPtzPresetId; // ÔÆÌ¨Ô¤Öõ㣬0~255£¬0±íʾ¹Ì¶¨³¡¾°£¬ºöÂÔÔ¤Öõ㡣´óÓÚ0±íʾÔÚ´ËÔ¤Öõãʱģ¿éÓÐЧ int nObjectFilterNum; // ÎïÌåÌØ¶¨µÄ¹ýÂËÆ÷¸öÊý CFG_OBJECT_SIZEFILTER_INFO stObjectFilter[MAX_OBJECT_LIST_SIZE]; // ÎïÌåÌØ¶¨µÄ¹ýÂËÆ÷ÐÅÏ¢ BOOL abObjectImageSize; CFG_SIZE stObjectImageSize; // ±£Ö¤ÎïÌåͼÏñ³ß´çÏàͬ,µ¥Î»ÊÇÏñËØ,²»Ö§³ÖСÊý£¬È¡Öµ£º>=0, 0 ±íʾ×Ô¶¯µ÷Õû´óС int nSpecailDetectNum; // ÌØÊâ¼ì²âÇøÓò¸öÊý CFG_SPECIALDETECT_INFO stSpecialDetectRegions[MAX_SPECIALDETECT_NUM]; // ÌØÊâ¼ì²âÇøÐÅÏ¢ unsigned int nAttribute; // ÐèҪʶ±ðÎïÌåµÄÊôÐÔ¸öÊý char szAttributes[MAX_OBJECT_ATTRIBUTES_SIZE][MAX_NAME_LEN]; // ÐèҪʶ±ðÎïÌåµÄÊôÐÔÁÐ±í£¬¡°Category¡± ÎïÌå×ÓÀࣻ¡°Size¡± ÎïÌå´óС£»¡°Color¡± ÎïÌåÑÕÉ«£»¡°Speed¡± ÎïÌåËÙ¶È£»¡°Sign¡± ÎïÌå±êÖ¾£¬¶Ô³µÁ¾¶øÑÔ£¬Ö¸³µ±ê£»¡°Action¡± ÎïÌ嶯×÷ BOOL abPlateAnalyseMode; // nPlateAnalyseModeÊÇ·ñÓÐЧ int nPlateAnalyseMode; // ³µÅÆÊ¶±ðģʽ£¬0-ֻʶ±ð³µÍ·ÅÆÕÕ 1-ֻʶ±ð³µÎ²ÅÆÕÕ 2-³µÍ·ÅÆÕÕÓÅÏÈ£¨³¡¾°Öд󲿷ֳµ¾ùÊdzµÍ·ÅÆÕÕ£©3-³µÎ²ÅÆÕÕÓÅÏÈ£¨³¡¾°Öд󲿷ֳµ¾ùÊdzµÎ²ÅÆÕÕ£© //szAttributesÊôÐÔ´æÔÚ"Category"ʱÉúЧ unsigned int nCategoryNum; // ÐèҪʶ±ðÎïÌåµÄ×ÓÀàÐÍ×ÜÊý CFG_CATEGORY_TYPE emCategoryType[MAX_CATEGORY_TYPE_NUMBER]; // ×ÓÀàÐÍÐÅÏ¢ char szSceneType[CFG_COMMON_STRING_16]; // ¼ì²âÇø²ÎÊýÓÃÓڵij¡¾°ÀàÐÍ CFG_LENGTH_FILETER_INFO stuLengthFilter; // ÎïÌåÀàÐ͹ýÂËÆ÷£¬Èç¹ûÖ¸¶¨ÐµĹýÂËÆ÷ÒÔеÄΪ׼ } CFG_MODULE_INFO; typedef struct tagCFG_ANALYSEMODULES_INFO { int nMoudlesNum; // ¼ì²âÄ£¿éÊý CFG_MODULE_INFO stuModuleInfo[MAX_ANALYSE_MODULE_NUM]; // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄ¸÷ÖÖÀàÐÍÎïÌåµÄ¼ì²âÄ£¿éÅäÖà } CFG_ANALYSEMODULES_INFO; // ÊÓÆµ·ÖÎöʼþ¹æÔòÅäÖÃÏà¹Ø½á¹¹Ì嶨Òå enum CFG_EM_DETECTMODE_T{ CFG_EM_DETECTMODE_NONE, // ÎÞ´Ë×Ö¶Î CFG_EM_DETECTMODE_BY_VIDEO, // ÊÓÆµ¼ì²âģʽ CFG_EM_DETECTMODE_BY_BYAUDIO, // ÒôƵ¼ì²âģʽ CFG_EM_DETECTMODE_BY_BOTH, // ÒôÊÓÆµÁªºÏ¼ì²âģʽ CFG_EM_DETECTMODE_ERR=255 // ×Ö¶ÎÊý¾Ý´íÎó }; typedef struct tag_VIDEOINANALYSE_GLOBAL_COMM_INFO { EM_SCENE_TYPE emClassType; // Ó¦Óó¡¾° int nPtzPresetId; // Ô¤Öõã } VIDEOINANALYSE_GLOBAL_COMM_INFO; typedef struct tagCFG_VIDEOINANALYSE_GLOBAL_SCENE { VIDEOINANALYSE_GLOBAL_COMM_INFO stuCommInfo; // ¹«¹²ÐÅÏ¢ // ÒÔÏÂΪ³¡¾°¾ßÌåÐÅÏ¢, ¸ù¾ÝstuCommInfoÖеÄemSceneType¾ö¶¨Äĸö³¡¾°ÓÐЧ union { CFG_FACEDETECTION_SCENCE_INFO stuFaceDetectionScene; // ÈËÁ³¼ì²â³¡¾°/ÈËÁ³Ê¶±ð¼ì²é CFG_TRAFFIC_SCENE_INFO stuTrafficScene; // ½»Í¨³¡¾° CFG_NORMAL_SCENE_INFO stuNormalScene; // ÆÕͨ³¡¾°/Ô¶¾°³¡¾°/Öо°³¡¾°/½ü¾°³¡¾°/ÊÒÄÚ³¡¾°/ÈËÊýͳ¼Æ³¡¾° CFG_TRAFFIC_TOUR_SCENE_INFO stuTrafficTourScene; // ½»Í¨Ñ²ÊÓ³¡¾° }; } CFG_VIDEOINANALYSE_GLOBAL_SCENE; // È«¾ÖÅäÖÃÄ£°åºÍĬÈÏÖµ typedef struct tagCFG_VIDEOINANALYSE_GLOBAL_INFO { unsigned int nCalibrateAreaNum; // ±ê¶¨ÇøÓòÊý CFG_CALIBRATEAREA_INFO stuCalibrateArea[MAX_CALIBRATEBOX_NUM]; // ±ê¶¨ÇøÓò(Èô¸Ã×ֶβ»´æÔÚ£¬ÔòÒÔÕû·ù³¡¾°Îª±ê¶¨ÇøÓò) CFG_VIDEOINANALYSE_GLOBAL_SCENE stuVideoInAnalyseScene; // ¶à³¡¾°ÅäÖà }CFG_VIDEOINANALYSE_GLOBAL_INFO; // ÖÇÄܼì²âÇøÅäÖÃÄ£°åºÍĬÈÏÖµ typedef struct tagCFG_VIDEOINANALYSE_MODULE_INFO { CFG_MODULE_INFO stuModuleInfo; // »ñÈ¡µ½µÄÖÇÄܼì²âÇøÅäÖÃÄ£°åºÍĬÈÏÖµ }CFG_VIDEOINANALYSE_MODULE_INFO; // ³µÁ¾ÀàÐÍ typedef enum tagEM_CFG_CATEGORY_TYPE { EM_CFG_CATEGORY_UNKNOWN, // δ֪ EM_CFG_CATEGORY_OTHER, // ÆäËû EM_CFG_CATEGORY_MOTOR, // »ú¶¯³µ EM_CFG_CATEGORY_BUS, // ¹«½»³µ EM_CFG_CATEGORY_UNLICENSED_MOTOR, // ÎÞÅÆ»ú¶¯³µ EM_CFG_CATEGORY_LARGE_CAR, // ´óÐÍÆû³µ EM_CFG_CATEGORY_MICRO_CAR, // СÐÍÆû³µ EM_CFG_CATEGORY_EMBASSY_CAR, // ʹ¹ÝÆû³µ EM_CFG_CATEGORY_MARGINAL_CAR, // Áì¹ÝÆû³µ EM_CFG_CATEGORY_AREAOUT_CAR, // ¾³ÍâÆû³µ EM_CFG_CATEGORY_FOREIGN_CAR, // Íâ¼®Æû³µ EM_CFG_CATEGORY_FARMTRANSMIT_CAR, // Å©ÓÃÔËÊä³µ EM_CFG_CATEGORY_TRACTOR, // ÍÏÀ­»ú EM_CFG_CATEGORY_TRAILER, // ¹Ò³µ EM_CFG_CATEGORY_COACH_CAR, // ½ÌÁ·Æû³µ EM_CFG_CATEGORY_TRIAL_CAR, // ÊÔÑéÆû³µ EM_CFG_CATEGORY_TEMPORARY_ENTRY_CAR, // ÁÙʱÈë¾³Æû³µ EM_CFG_CATEGORY_TEMPORARY_ENTRY_MOTORCYCLE, // ÁÙʱÈ뾳ĦÍÐ EM_CFG_CATEGORY_TEMPORARY_STEER_CAR, // ÁÙʱÐÐÊ»³µ EM_CFG_CATEGORY_LARGE_TRUCK, // ´ó»õ³µ EM_CFG_CATEGORY_MID_TRUCK, // Öлõ³µ EM_CFG_CATEGORY_MICRO_TRUCK, // С»õ³µ EM_CFG_CATEGORY_MICROBUS, // Ãæ°ü³µ EM_CFG_CATEGORY_SALOON_CAR, // ½Î³µ EM_CFG_CATEGORY_CARRIAGE, // С½Î³µ EM_CFG_CATEGORY_MINI_CARRIAGE, // ΢Ðͽγµ EM_CFG_CATEGORY_SUV_MPV, // SUV»òÕßMPV EM_CFG_CATEGORY_SUV, // SUV EM_CFG_CATEGORY_MPV, // MPV EM_CFG_CATEGORY_PASSENGER_CAR, // ¿Í³µ EM_CFG_CATEGORY_MOTOR_BUS, // ´ó¿Í EM_CFG_CATEGORY_MID_PASSENGER_CAR, // Öпͳµ EM_CFG_CATEGORY_MINI_BUS, // С¿Í³µ EM_CFG_CATEGORY_PICKUP, // Ƥ¿¨³µ EM_CFG_CATEGORY_OILTANK_TRUCK, // Ó͹޳µ EM_CFG_CATEGORY_TANK_CAR, // Σ»¯Æ·³µÁ¾ EM_CFG_CATEGORY_SLOT_TANK_CAR, // ²Û¹Þ³µ EM_CFG_CATEGORY_DREGS_CAR, // ÔüÍÁ³µ EM_CFG_CATEGORY_CONCRETE_MIXER_TRUCK, // »ìÄýÍÁ½Á°è³µ EM_CFG_CATEGORY_TAXI, // ³ö×â³µ EM_CFG_CATEGORY_POLICE, // ¾¯³µ EM_CFG_CATEGORY_AMBULANCE, // ¾È»¤³µ EM_CFG_CATEGORY_GENERAL, // ÆÕͨ³µ EM_CFG_CATEGORY_WATERING_CAR, // È÷Ë®³µ EM_CFG_CATEGORY_FIRE_ENGINE, // Ïû·À³µ EM_CFG_CATEGORY_MACHINE_TRUCK, // ¹¤³Ì³µ EM_CFG_CATEGORY_POWER_LOT_VEHICLE, // ·ÛÁ£ÎïÁϳµ EM_CFG_CATEGORY_SUCTION_SEWAGE_TRUCK, // ÎüÎÛ³µ EM_CFG_CATEGORY_NORMAL_TANK_TRUCK, // ÆÕͨ¹Þ³µ EM_CFG_CATEGORY_SCHOOL_BUS, // У³µ EM_CFG_CATEGORY_EXCAVATOR, // ÍÚ¾ò³µ EM_CFG_CATEGORY_BULLDOZER, // ÍÆÍÁ³µ EM_CFG_CATEGORY_CRANE, // µõ³µ EM_CFG_CATEGORY_PIMP_TRUCK, // ±Ã³µ } EM_CFG_CATEGORY_TYPE; // ÊÓÆµ·ÖÎöʼþ¹æÔòÅäÖà // ʼþÀàÐÍ EVENT_IVS_CROSSLINEDETECTION (¾¯½äÏßʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CROSSLINE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDirection; // ¼ì²â·½Ïò:0:ÓÉ×óÖÁÓÒ;1:ÓÉÓÒÖÁ×ó;2:Á½Õß¶¼¿ÉÒÔ int nDetectLinePoint; // ¾¯½äÏß¶¥µãÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¾¯½äÏß CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î BOOL bDisableTimeSection; // stuTimeSection×Ö¶ÎÊÇ·ñ½ûÓã¬Ä¬ÈÏFALSE£º²»½ûÓã¬TRUE£º½ûÓã¬Óû§¿ØÖÆ int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä UINT nVehicleSubTypeNum; // ¼ì²âµÄ³µÁ¾×ÓÀàÐ͸öÊý EM_CFG_CATEGORY_TYPE emVehicleSubType[128]; // ¼ì²âµÄ³µÁ¾×ÓÀàÐÍÁбí BOOL bFeatureEnable; // ÊÇ·ñ¿ªÆôÄ¿±êÊôÐÔʶ±ð,ĬÈÏfalse } CFG_CROSSLINE_INFO; //ʼþÀàÐÍEVENT_IVS_CROSSFENCEDETECTION(·­Ô½Î§À¸¹æÔò)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CROSSFENCEDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDirection; // ·­Ô½Î§À¸·½Ïò:0:ÓÉ×óÖÁÓÒ;1:ÓÉÓÒÖÁ×ó;2:Á½Õß¶¼¿ÉÒÔ int nUpstairsLinePointNumber; // ΧÀ¸ÉÏÏß¶¥µãÊý CFG_POLYLINE stuUpstairsLine[MAX_POLYLINE_NUM]; // ΧÀ¸ÉÏÏß int nDownstairsLinePointNumber; // ΧÀ¸ÏÂÏß¶¥µãÊý CFG_POLYLINE stuDownstairsLine[MAX_POLYLINE_NUM]; // ΧÀ¸ÏÂÏß BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_CROSSFENCEDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_CROSSREGIONDETECTION(¾¯½äÇøÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CROSSREGION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDirection; // ¼ì²â·½Ïò:0:Enter;1:Leave;2:Both int nDetectRegionPoint; // ¾¯½äÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¾¯½äÇø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î BOOL bDisableTimeSection; // stuTimeSection×Ö¶ÎÊÇ·ñ½ûÓã¬Ä¬ÈÏFALSE£º²»½ûÓã¬TRUE£º½ûÓã¬Óû§¿ØÖÆ int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nActionType; // ¼ì²â¶¯×÷Êý BYTE bActionType[4]; // ¼ì²â¶¯×÷Áбí,0-³öÏÖ 1-Ïûʧ 2-ÔÚÇøÓòÄÚ 3-´©Ô½ÇøÓò int nMinTargets; // ×îСĿ±ê¸öÊý(µ±bActionTypeÖаüº¬"2-ÔÚÇøÓòÄÚ"ʱÓÐЧ) int nMaxTargets; // ×î´óÄ¿±ê¸öÊý(µ±bActionTypeÖаüº¬"2-ÔÚÇøÓòÄÚ"ʱÓÐЧ) int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä£¬ µ¥Î»Ãë(µ±bActionTypeÖаüº¬"2-ÔÚÇøÓòÄÚ"ʱÓÐЧ) int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô£¬ µ¥Î»Ãë(µ±bActionTypeÖаüº¬"2-ÔÚÇøÓòÄÚ"ʱÓÐЧ) int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä UINT nVehicleSubTypeNum; // ¼ì²âµÄ³µÁ¾×ÓÀàÐ͸öÊý EM_CFG_CATEGORY_TYPE emVehicleSubType[128]; // ¼ì²âµÄ³µÁ¾×ÓÀàÐÍÁбí BOOL bFeatureEnable; // ÊÇ·ñ¿ªÆôÄ¿±êÊôÐÔʶ±ð,ĬÈÏfalse } CFG_CROSSREGION_INFO; // ʼþÀàÐÍEVENT_IVS_PASTEDETECTION(ATMÌùÌõʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PASTE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nSensitivity; // ÁéÃô¶È,·¶Î§[1,10],ÁéÃô¶ÈÔ½¸ßÔ½ÈÝÒ×¼ì²â } CFG_PASTE_INFO; // ʼþÀàÐÍEVENT_IVS_LEFTDETECTION(ÎïÆ·ÒÅÁôʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_LEFT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_LEFT_INFO; // ʼþÀàÐÍEVENT_IVS_TAKENAWAYDETECTION(ÎïÆ·°áÒÆ¹æÔòÅäÖÃ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TAKENAWAYDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_TAKENAWAYDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_PARKINGDETECTION (·Ç·¨Í£³µ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PARKINGDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_PARKINGDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_PRESERVATION(ÎïÆ·±£È«Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PRESERVATION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 } CFG_PRESERVATION_INFO; // ʼþÀàÐÍEVENT_IVS_STAYDETECTION(Í£Áôʼþ/ÖÍÁô)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_STAY_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ int nTriggerTargetsNumber; // ´¥·¢±¨¾¯µÄÅÇ»²»òÖÍÁôÈËÊý int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»Ãë BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_STAY_INFO; // ʼþÀàÐÍEVENT_IVS_WANDERDETECTION(ÅÇ»²Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_WANDER_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ int nTriggerTargetsNumber; // ´¥·¢±¨¾¯µÄÅÇ»²»òÖÍÁôÈËÊý int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»Ãë BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_WANDER_INFO; // ʼþÀàÐÍEVENT_IVS_MOVEDETECTION(ÒÆ¶¯Ê¼þ/Ô˶¯¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_MOVE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[1]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nTriggerSpeed; // ´¥·¢ËÙ¶È£¬km/h int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTypeNumber; // ¼ì²âÀàÐÍÊý BYTE bDetectType[4]; // ¼ì²â¶¯×÷Áбí,0-¿ìËÙÔ˶¯ 1-ͻȻ¼ÓËÙ 2-ͻȻ¼õËÙ int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä } CFG_MOVE_INFO; // ʼþÀàÐÍEVENT_IVS_TAILDETECTION(Î²ËæÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TAIL_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDistance; // ¼ä¾à£¬Î²ËæÅäÖÃÖÐʹÓ㬷¶Î§[0, 500] int nSensitivity; // ÁéÃô¶È,£¬·¶Î§[1, 10] BYTE byReserved[512]; // ±£Áô×Ö½Ú } CFG_TAIL_INFO; // ʼþÀàÐÍEVENT_IVS_RIOTERDETECTION(¾ÛÖÚʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_RIOTER_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bAreaPercent; // ¾Û¼¯ËùÕ¼ÇøÓòÃæ»ý°Ù·Ö±È BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ£¬¶ÔÓ¦ÈËȺµÄÃܼ¯³Ì¶ÈÔ½¸ß(È¡´úbAreaPercent) BYTE bReserved; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»Ãë [1,600] ĬÈÏ0±íʾ²»Öظ´±¨¾¯ CFG_POLYGON stuMinDetectRect[2]; // ×îС¾Û¼¯ÇøÓò¾ØÐοò£¬·Ö±ð¶ÔÓ¦¾ØÐοòµÄ×óÉϺÍÓÒϵ㣬¾ØÐοòµÄʵ¼ÊÃæ»ý±íʾ´¥·¢±¨¾¯µÄ×îСÈËȺ¾Û¼¯Ãæ»ý int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä,0Ãë:Ò»Ö±¸ú×Ù,1~300Ãë:¸ú×Ù³ÖÐøÊ±¼ä BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ int nRioterThreshold; // ¾Û¼¯ÈËÊý·§Öµ, ¾Û¼¯ÈËÊý³¬¹ý´ËÖµ£¬¿ªÊ¼±¨¾¯ } CFG_RIOTER_INFO; // ʼþÀàÐÍEVENT_IVS_DENSITYDETECTION(ÈËȺÃܶȼì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_DENSITYDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE byUnit; // Ãܶȼì²âÊýÖµµ¥Î»GB30147ÐèÒª 0 Ãܶȵȼ¶£¬»®·ÖΪËĸö£¬ºÜÏ¡Ê裬ϡÊ裬Ãܼ¯£¬ºÜÃܼ¯¡£1 ÃÜ¶È°Ù·Ö±È BYTE bSensitivity; // ÁéÃô¶È(ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ£¬¶ÔÓ¦ÈËȺµÄÃܼ¯³Ì¶ÈÔ½¸ß) BYTE byMinAlarmDensity; // ×îС±¨¾¯ÃÜ¶È È¡Öµ1-100,±¨¾¯ÃÅÏÞÖµ°Ù·Ö±È int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 } CFG_DENSITYDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_FIGHTDETECTION(¶·Å¹Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FIGHT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nSensitivity; // ÁéÃô¶È, 1-10 CFG_EM_DETECTMODE_T emDetectMode; // ¼ì²âģʽ } CFG_FIGHT_INFO; // ʼþÀàÐÍEVENT_IVS_FIREDETECTION(»ð¾¯Ê¼þ/»ðÑæ¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FIRE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nSensitivity; // ÁéÃô¶È 1~10 } CFG_FIRE_INFO; // ʼþÀàÐÍEVENT_IVS_ELECTROSPARKDETECTION(µç»ð»¨Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_ELECTROSPARK_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 } CFG_ELECTROSPARK_INFO; // ʼþÀàÐÍ EVENT_IVS_SMOKEDETECTION (ÑÌÎí±¨¾¯Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_SMOKE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nSensitivity; // ÁéÃô¶È 1~10 } CFG_SMOKE_INFO; // ʼþÀàÐÍEVENT_IVS_FLOWSTAT(Á÷Á¿Í³¼ÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FLOWSTAT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nUpperLimit; // Á÷Á¿ÉÏÏÞ µ¥Î»£º¸ö/Ã룬1~65535 int nPeriod; // Éϱ¨ÖÜÆÚ µ¥Î»£ºÃ룬1~65535 int nDetectLinePoint; // ¼ì²âÏß¶¥µãÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¼ì²âÏß CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 } CFG_FLOWSTAT_INFO; enum NET_NUMBERSTAT_TYPE { NET_EM_NUMSTAT_TYPE_REGION, // "Region" ÇøÓòÀàÐÍ NET_EM_NUMSTAT_TYPE_ENTRANCE, // "Entrance" ³öÈë¿ÚÀàÐÍ NET_EM_NUMSTAT_TYPE_OTHER, // other }; // ʼþÀàÐÍEVENT_IVS_NUMBERSTAT(ÊýÁ¿Í³¼ÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_NUMBERSTAT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nUpperLimit; // ÊýÁ¿ÉÏÏÞ µ¥Î»£º¸ö£¬1~65535 int nPeriod; // Éϱ¨ÖÜÆÚ µ¥Î»£ºÃ룬1~65535 int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 NET_NUMBERSTAT_TYPE emType; // ÊýÁ¿Í³¼ÆÀàÐÍ Ö§³Ö£º"Region" ÇøÓòÀàÐÍ "Entrance" ³öÈë¿ÚÀàÐÍ CFG_POLYGON stDirection[2]; // Õý³£Ô˶¯·½Ïò, °´ÕÕ´Ë·½ÏòÐÐÊ»ÊÇÕýÏò£¬·´¹ýÀ´ÊÇÄæÐÐ Ö»¶Ô³öÈë¿ÚÀàÐÍÓÐЧ¡£µÚÒ»¸öµãÊÇÆðµã£¬µÚ¶þ¸öµãÊÇÖյ㣬µãµÄ×ø±ê¹éÒ»»¯µ½[0,8191]Çø¼ä¡£ int nRecordInterval; // ¼Ç¼ÖÜÆÚ£¬µ¥Î»£º·ÖÖÓ£¬1~10 int nEnterThreshold; // ½øÈëÊý±¨¾¯ãÐÖµ,0±íʾ²»±¨¾¯ int nExitThreshold; // À뿪Êý±¨¾¯ãÐÖµ,0±íʾ²»±¨¾¯ int nInsideThreshold; // ÖÍÁôÊý±¨¾¯ãÐÖµ,0±íʾ²»±¨¾¯ UINT nPlanID; // ¼Æ»®ID,½öÇò»úÓÐЧ,´Ó1¿ªÊ¼ UINT nAreaID; // ÇøÓòID,Ò»¸öÔ¤Öõã¿ÉÒÔ¶ÔÓ¦¶à¸öÇøÓò int nMaxDetectLineNum; // ¼ì²âÏßʵ¼Ê×î´ó¸öÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // À뿪¼ì²âÏß×ø±ê UINT nStayMinDuration; // Í£Áô³¬Ê±Ê±¼ä } CFG_NUMBERSTAT_INFO; //ʼþÀàÐÍEVENT_IVS_RETROGRADEDETECTION(ÈËÔ±ÄæÐÐʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_RETROGRADEDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È, ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nDirectionPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYGON stuDirection[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò, °´ÕÕ´Ë·½ÏòÐÐÊ»ÊÇÕýÏò£¬·´¹ýÀ´ÊÇÄæÐÐ(µÚÒ»¸öµãÊÇÆðµã£¬µÚ¶þ¸öµãÊÇÖյ㣬µãµÄ×ø±ê¹éÒ»»¯µ½[0,8191]Çø¼ä) BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_RETROGRADEDETECTION_INFO; //ʼþÀàÐÍEVENT_IVS_ABNORMALRUNDETECTION(Òì³£±¼ÅÜʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_ABNORMALRUNDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È, ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved[1]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nTriggerPosition; // ´¥·¢±¨¾¯Î»ÖÃÊý BYTE bTriggerPosition[8]; // ´¥·¢±¨¾¯Î»ÖÃ,0-Ä¿±êÍâ½Ó¿òÖÐÐÄ, 1-Ä¿±êÍâ½Ó¿ò×ó¶ËÖÐÐÄ, 2-Ä¿±êÍâ½Ó¿ò¶¥¶ËÖÐÐÄ, 3-Ä¿±êÍâ½Ó¿òÓÒ¶ËÖÐÐÄ, 4-Ä¿±êÍâ½Ó¿òµ×¶ËÖÐÐÄ int nDetectType; // ¼ì²âÀàÐÍÊý BYTE bDetectType[4]; // ¼ì²âÀàÐÍ,0-¿ìËÙ±¼ÅÜ, 1-ͻȻ¼ÓËÙ, 2-ͻȻ¼õËÙ int nTriggerSpeed; // ´¥·¢ËÙ¶È£¬´óÓÚ¸ÃËٶȱ¨¾¯ µ¥Î»£ºkm/h int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_ABNORMALRUNDETECTION_INFO; //ʼþÀàÐÍEVENT_IVS_VIDEOABNORMALDETECTION(ÊÓÆµÒì³£)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_VIDEOABNORMALDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È, ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ(Ö»¶Ô¼ì²âÀàÐÍÊÓÆµÕÚµ²£¬¹ýÁÁ£¬¹ý°µ£¬³¡¾°±ä»¯ÓÐЧ) BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectType; // ¼ì²âÀàÐÍÊý BYTE bDetectType[MAX_ABNORMAL_DETECT_TYPE]; // ¼ì²âÀàÐÍ,0-ÊÓÆµ¶ªÊ§, 1-ÊÓÆµÕÚµ², 2-»­Ãæ¶³½á, 3-¹ýÁÁ, 4-¹ý°µ, 5-³¡¾°±ä»¯ // 6-ÌõÎÆ¼ì²â , 7-ÔëÉù¼ì²â , 8-ƫɫ¼ì²â , 9-ÊÓÆµÄ£ºý¼ì²â , 10-¶Ô±È¶ÈÒì³£¼ì²â // 11-ÊÓÆµÔ˶¯ , 12-ÊÓÆµÉÁ˸ , 13-ÊÓÆµÑÕÉ« , 14-Ðé½¹¼ì²â , 15-¹ýÆØ¼ì²â int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nThresholdNum; // Òì³£¼ì²âãÐÖµÊýÁ¿ int nThreshold[MAX_ABNORMAL_THRESHOLD_LEN]; // Òì³£¼ì²âãÐÖµ,·¶Î§1~100 } CFG_VIDEOABNORMALDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_FACERECOGNITION(ÈËÁ³Ê¶±ð)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FACERECOGNITION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 BYTE bySimilarity; // ÏàËÆ¶È£¬±ØÐë´óÓÚ¸ÃÏàʶ¶È²Å±¨¸æ(1~100) BYTE byAccuracy; // ʶ±ð¾«¶È(ȡֵ1~10£¬Ëæ×ÅÖµÔö´ó£¬¼ì²â¾«¶ÈÌá¸ß£¬¼ì²âËÙ¶ÈϽµ¡£×îСֵΪ1 ±íʾ¼ì²âËÙ¶ÈÓÅÏÈ£¬×î´óֵΪ10±íʾ¼ì²â¾«¶ÈÓÅÏÈ) BYTE byMode; // ¶Ô±Èģʽ, 0-Õý³£, 1-Ö¸¶¨ÈËÁ³ÇøÓò×éºÏ, 2-ÖÇÄÜģʽ(Ëã·¨¸ù¾ÝÈËÁ³¸÷¸öÇøÓòÇé¿ö×Ô¶¯Ñ¡È¡×éºÏ) BYTE byImportantRank; // ²éÑ¯ÖØÒªµÈ¼¶´óÓÚµÈÓڴ˵ȼ¶µÄÈËÔ±(1~10,ÊýÖµÔ½¸ßÔ½ÖØÒª) int nAreaNum; // ÇøÓòÊý BYTE byAreas[8]; // ÈËÁ³ÇøÓò×éºÏ, 0-ü룬1-ÑÛ¾¦£¬2-±Ç×Ó£¬3-×ì°Í£¬4-Á³¼Õ(´Ë²ÎÊýÔÚ¶Ô±ÈģʽΪ1ʱÓÐЧ) int nMaxCandidate; // ±¨¸æµÄ×î´óÆ¥ÅäͼƬ¸öÊý CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_FACERECOGNITION_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFICCONTROL(½»Í¨¹ÜÖÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFICCONTROL_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDetectLinePoint; // ¼ì²âÏß¶¥µãÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¼ì²âÏß CFG_TIME_SECTION stuTimeSchedule[WEEK_DAY_NUM][MAX_REC_TSECT]; // ÏÞÐÐʱ¼ä±í int nVehicleSizeNum; // ³µÁ¾´óСÀàÐ͸öÊý char szVehicleSizeList[MAX_VEHICLE_SIZE_LIST][MAX_NAME_LEN]; // ³µÁ¾´óСÀàÐÍÁбí"Light-duty":СÐͳµ; "Medium":ÖÐÐͳµ; "Oversize":´óÐͳµ int nPlateTypeNum; // ³µÅÆÀàÐ͸öÊý char szPlateTypesList[MAX_PLATE_TYPE_LIST][MAX_NAME_LEN]; // ³µÅÆÀàÐÍÁбí"Unknown" δ֪; "Normal" À¶ÅƺÚÅÆ; "Yellow" »ÆÅÆ; "DoubleYellow" Ë«²ã»ÆÎ²ÅÆ // "Police" ¾¯ÅÆ; "Armed" Î依ů; "Military" ²¿¶ÓºÅÅÆ; "DoubleMilitary" ²¿¶ÓË«²ã // "SAR" ¸Û°ÄÌØÇøºÅÅÆ; "Trainning" ½ÌÁ·³µºÅÅÆ; "Personal" ¸öÐÔºÅÅÆ; "Agri" Å©ÓÃÅÆ // "Embassy" ʹ¹ÝºÅÅÆ; "Moto" ĦÍгµºÅÅÆ; "Tractor" ÍÏÀ­»úºÅÅÆ; "Other" ÆäËûºÅÅÆ // "Civilaviation"Ãñº½ºÅÅÆ,"Black"ºÚÅÆ,"PureNewEnergyMicroCar"´¿µç¶¯ÐÂÄÜԴС³µ // "MixedNewEnergyMicroCar,"»ìºÏÐÂÄÜԴС³µ,"PureNewEnergyLargeCar",´¿µç¶¯ÐÂÄÜÔ´´ó³µ // "MixedNewEnergyLargeCar"»ìºÏÐÂÄÜÔ´´ó³µ int nPlateNumber; // ³µÅƵ¥Ë«ºÅ 0:µ¥ºÅ; 1:Ë«ºÅ; 2:µ¥Ë«ºÅ; CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 } CFG_TRAFFICCONTROL_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFICACCIDENT(½»Í¨Ê¹Êʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAACCIDENT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 } CFG_TRAACCIDENT_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFICJUNCTION(½»Í¨Â·¿ÚÀϹæÔòʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAJUNCTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nLane; // ³µµÀ±àºÅ int nDirection; // ³µµÀ·½Ïò(³µ¿ªÍùµÄ·½Ïò),0-±± 1-¶«±± 2-¶« 3-¶«ÄÏ 4-ÄÏ 5-Î÷ÄÏ 6-Î÷ 7-Î÷±± int nPreLinePoint; // ǰÖüì²âÏß¶¥µãÊý CFG_POLYLINE stuPreLine[MAX_POLYLINE_NUM]; // ǰÖüì²âÏß int nMiddleLinePoint; // Öмä¼ì²âÏß¶¥µãÊý CFG_POLYLINE stuMiddleLine[MAX_POLYLINE_NUM]; // Öмä¼ì²âÏß int nPostLinePoint; // ºóÖüì²âÏß¶¥µãÊý CFG_POLYLINE stuPostLine[MAX_POLYLINE_NUM]; // ºóÖüì²âÏß int nFlowLimit; // Á÷Á¿ÉÏÏÞ£¬µ¥Î»Á¾/Ãë int nSpeedDownLimit; // ËÙ¶ÈÏÂÏÞ£¬ÈôΪ0£¬Ôò±íʾ²»ÉèÏÂÏÞ£¬km/h int nSpeedUpLimit; // ËÙ¶ÈÉÏÏÞ£¬ÈôΪ0£¬Ôò±íʾ²»ÉèÉÏÏÞ£¬km/h int nTriggerModeNum; // ´¥·¢Ä£Ê½¸öÊý char szTriggerMode[MAX_TRIGGERMODE_NUM][MAX_NAME_LEN]; // ´¥·¢Ä£Ê½£¬"Passing" : ´©¹ý·¿Ú(ÒÔÖмä¼ì²âÏßΪ׼£¬Ö»Äܵ¥¶ÀʹÓÃ),"RunRedLight" : ´³ºìµÆ // "Overline":ѹ°×³µµÀÏß,"OverYellowLine": ѹ»ÆÏß, "Retrograde":ÄæÐÐ // "TurnLeft":Î¥ÕÂ×óת, "TurnRight":Î¥ÕÂÓÒת, "CrossLane":Î¥Õ±äµÀ // "U-Turn" Î¥ÕµôÍ·, "Parking":Î¥ÕÂÍ£³µ, "WaitingArea" Î¥Õ½øÈë´ýÐÐÇø // "OverSpeed": ³¬ËÙ,"UnderSpeed":Ç·ËÙ,"Overflow" : Á÷Á¿¹ý´ó // "Human":ÐÐÈË,"NoMotor":·Ç»ú¶¯³µ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX];// ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 BOOL bMaskRetrograde; // ÊÇ·ñÆÁ±ÎÄæÐУ¬¼´½«ÄæÐе±×÷Õý³£´¦Àí } CFG_TRAJUNCTION_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFICGATE(½»Í¨¿¨¿ÚÀϹæÔòʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFICGATE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nLane; // ³µµÀ±àºÅ int nDetectLinePoint1; // ¼ì²âÏß(ÐéÄâÏßȦ)1¶¥µãÊý CFG_POLYLINE stuDetectLine1[MAX_POLYLINE_NUM]; // ¼ì²âÏß1 int nDetectLinePoint2; // ¼ì²âÏß(ÐéÄâÏßȦ)2¶¥µãÊý CFG_POLYLINE stuDetectLine2[MAX_POLYLINE_NUM]; // ¼ì²âÏß2 int nLeftLinePoint; // ×ó³µµÀÏß¶¥µãÊý CFG_POLYLINE stuLeftLine[MAX_POLYLINE_NUM]; // ×ó³µµÀÏß int nRightLinePoint; // ÓÒ³µµÀÏß¶¥µãÊý CFG_POLYLINE stuRightLine[MAX_POLYLINE_NUM]; // ÓÒ³µµÀÏß int nSpeedWeight; // ËÙ¶ÈÈ¨ÖØÏµÊý(×îÖÕ³µËÙ=²âÁ¿³µËÙ*È¨ÖØÏµÊý) double MetricDistance; // Á½Ìõ¼ì²âÏßʵ¼Ê¾àÀë,µ¥Î»£ºÃ× int nSpeedUpperLimit; // ËÙ¶ÈÉÏÏÞ 0±íʾ²»ÏÞÉÏÏÞ µ¥Î»£ºkm/h int nSpeedLowerLimit; // ËÙ¶ÈÏÂÏÞ 0±íʾ²»ÏÞÏÂÏÞ µ¥Î»£ºkm/h CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDirection; // ³µµÀ·½Ïò(³µ¿ªÍùµÄ·½Ïò)£¬0-±± 1-¶«±± 2-¶« 3-¶«ÄÏ 4-ÄÏ 5-Î÷ÄÏ 6-Î÷ 7-Î÷±± int nTriggerModeNum; // ´¥·¢Ä£Ê½¸öÊý char szTriggerMode[MAX_TRIGGERMODE_NUM][MAX_NAME_LEN]; // ´¥·¢Ä£Ê½£¬"OverLine":ѹÏß,"Retrograde":ÄæÐÐ,"OverSpeed":³¬ËÙ,"UnderSpeed":Ç·ËÙ // "Passing":´©¹ý·¿Ú£¬ÊôÕý³£×¥ÅÄ, "WrongRunningRoute":ÓгµÕ¼µÀ(µ¥¶ÀʹÓÃ),"YellowVehicleInRoute": »ÆÅÆÕ¼µÀ // "OverYellowLine":ѹ»ÆÏß int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 BOOL bMaskRetrograde; // ÊÇ·ñÆÁ±ÎÄæÐУ¬¼´½«ÄæÐе±×÷Õý³£´¦Àí } CFG_TRAFFICGATE_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_TOLLGATE(½»Í¨¿¨¿ÚйæÔòʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFICTOLLGATE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDetectLinePoint; // ¿¨¿Ú±¨¾¯Ïß¶¥µãÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¿¨¿Ú±¨¾¯Ïß CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_TRAFFICTOLLGATE_INFO; // ʼþÀàÐÍEVENT_IVS_FACEDETECT(ÈËÁ³¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FACEDETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nHumanFaceTypeCount; // ´¥·¢Ê¼þµÄÈËÁ³ÀàÐ͸öÊý char szHumanFaceType[MAX_HUMANFACE_LIST_SIZE][MAX_NAME_LEN]; // ´¥·¢Ê¼þµÄÈËÁ³ÀàÐÍ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä,µ¥Î»£ºÃë int nSensitivity; // ÁéÃô¶È,·¶Î§[1,10],ÁéÃô¶ÈÔ½¸ßÔ½ÈÝÒ×¼ì²â int nReportInterval; // ÖØ¸´±¨¾¯¼ä¸ô,µ¥Î»:Ãë,[0,600](µÈÓÚ0±íʾ²»Öظ´±¨¾¯) BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ BOOL bFeatureEnable; // ÊÇ·ñ¿ªÆôÈËÁ³ÊôÐÔʶ±ð, IPCÔö¼Ó //(ͨ¹ýFaceDetectionÄÜÁ¦ÖеÄFeatureSupportÀ´È·¶¨¸ÃÅäÖÃÊÇ·ñ¿ÉÒÔÉèÖÃ) int nFaceFeatureNum; // ÐèÒª¼ì²âµÄÈËÁ³ÊôÐÔ¸öÊý EM_FACEFEATURE_TYPE emFaceFeatureType[MAX_FEATURE_LIST_SIZE]; // Ðè¼ì²âµÄÈËÁ³ÊôÐÔ, ͨ¹ýFaceDetectionÄÜÁ¦À´»ñȡ֧³ÖÄÄЩÈËÁ³ÊôÐÔ }CFG_FACEDETECT_INFO; // Áª¶¯µÄ²¼¿Ø×é typedef struct tagCFG_LINKGROUP_INFO { BOOL bEnable; // ²¼¿Ø×éÊÇ·ñÆôÓà char szGroupID[MAX_GROUP_ID_LEN]; // ²¼¿Ø×éID BYTE bySimilarity; // ÏàËÆ¶ÈãÐÖµ char szColorName[MAX_COLOR_NAME_LEN]; // ʼþ´¥·¢Ê±»æÖÆÈËÁ³¿òµÄÑÕÉ« BOOL bShowTitle; // ʼþ´¥·¢Ê±¹æÔò¿òÉÏÊÇ·ñÏÔʾ±¨¾¯±êÌâ BOOL bShowPlate; // ʼþ´¥·¢Ê±ÊÇ·ñÏÔʾ±È¶ÔÃæ°å BYTE bReserved[511]; // ±£Áô×Ö¶Î CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_LINKGROUP_INFO; // İÉúÈ˲¼·Àģʽ typedef struct tagCFG_STRANGERMODE_INFO { BOOL bEnable; // ģʽÊÇ·ñÆôÓà char szColorHex[MAX_COLOR_HEX_LEN]; // ʼþ´¥·¢Ê±»æÖÆÈËÁ³¿òµÄÑÕÉ« BOOL bShowTitle; // ʼþ´¥·¢Ê±¹æÔò¿òÉÏÊÇ·ñÏÔʾ±¨¾¯±êÌâ BOOL bShowPlate; // ʼþ´¥·¢Ê±ÊÇ·ñÏÔʾ±È¶ÔÃæ°å BYTE bReserved[512]; // ±£Áô×Ö¶Î CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_STRANGERMODE_INFO; // ʼþÀàÐÍEVENT_IVS_FACEANALYSIS(ÈËÁ³·ÖÎöʼþ) ¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FACEANALYSIS_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nSensitivity; // ÁéÃô¶È,·¶Î§[1,10],ÁéÃô¶ÈÔ½¸ßÔ½ÈÝÒ×¼ì²â int nLinkGroupNum; // Áª¶¯²¼¿Ø¸öÊý CFG_LINKGROUP_INFO stuLinkGroup[MAX_LINK_GROUP_NUM]; // Áª¶¯µÄ²¼¿Ø×é CFG_STRANGERMODE_INFO stuStrangerMode; // İÉúÈ˲¼·Àģʽ BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ BOOL bFeatureEnable; // ÊÇ·ñ¿ªÆôÈËÁ³ÊôÐÔʶ±ð, IPCÔö¼Ó int nFaceFeatureNum; // ÐèÒª¼ì²âµÄÈËÁ³ÊôÐÔ¸öÊý EM_FACEFEATURE_TYPE emFaceFeatureType[MAX_FEATURE_LIST_SIZE]; // Ðè¼ì²âµÄÈËÁ³ÊôÐÔ BOOL bFeatureFilter; // ÔÚÈËÁ³ÊôÐÔ¿ªÆôǰÌáÏ£¬Èç¹ûÈËÁ³Í¼ÏñÖÊÁ¿Ì«²î£¬ÊÇ·ñ²»Éϱ¨ÊôÐÔ // true-ͼÏñÌ«²î²»Éϱ¨ÊôÐÔ false-ͼÏñºÜ²îÒ²Éϱ¨ÊôÐÔ(¿ÉÄÜ»á·Ç³£²»×¼£¬Ó°ÏìÓû§ÌåÑé) int nMinQuality; // ÈËÁ³Í¼Æ¬ÖÊÁ¿ãÐÖµ,ºÍbFeatureFilterÒ»ÆðʹÓà ·¶Î§[1,100] } CFG_FACEANALYSIS_INFO; // ʼþÀàÐÍEVENT_IVSS_FACEATTRIBUTE(IVSSÈËÁ³¼ì²âʼþ) ¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FACEATTRIBUTE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä,µ¥Î»£ºÃë int nTriggerTargetsNumber; // ´¥·¢±¨¾¯µÄÈËÁ³¸öÊý int nSensitivity; // ÁéÃô¶È,·¶Î§[1,10],ÁéÃô¶ÈÔ½¸ßÔ½ÈÝÒ×¼ì²â(ĬÈÏÖµ5) int nReportInterval; // ÖØ¸´±¨¾¯¼ä¸ô,µ¥Î»:Ãë,[0,600] µÈÓÚ0±íʾ²»Öظ´±¨¾¯(ĬÈÏÖµ30) BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nFaceFeatureNum; // ÐèÒª¼ì²âµÄÈËÁ³ÊôÐÔ¸öÊý EM_FACEFEATURE_TYPE emFaceFeatureType[MAX_FEATURE_LIST_SIZE]; // Ðè¼ì²âµÄÈËÁ³ÊôÐÔ BOOL bFeatureFilter; // ÔÚÈËÁ³ÊôÐÔ¿ªÆôǰÌáÏ£¬Èç¹ûÈËÁ³Í¼ÏñÖÊÁ¿Ì«²î£¬ÊÇ·ñ²»Éϱ¨ÊôÐÔ int nMinQuality; // ÈËÁ³Í¼Æ¬ÖÊÁ¿ãÐÖµ,ºÍbFeatureFilterÒ»ÆðʹÓà ·¶Î§[0,100] } CFG_FACEATTRIBUTE_INFO; // ʼþÀàÐÍEVENT_IVSS_FACECOMPARE(IVSSÈËÁ³Ê¶±ðʼþ) ¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FACECOMPARE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLinkGroupNum; // Áª¶¯²¼¿Ø¸öÊý CFG_LINKGROUP_INFO stuLinkGroup[MAX_LINK_GROUP_NUM]; // Áª¶¯µÄ²¼¿Ø×é CFG_STRANGERMODE_INFO stuStrangerMode; // İÉúÈ˲¼·Àģʽ } CFG_FACECOMPARE_INFO; //ʼþÀàÐÍEVENT_IVS_TRAFFIC_NOPASSING(½»Í¨Î¥ÕÂ-½ûֹͨÐÐʼþ)¶ÔÓ¦µÄÊý¾Ý¿éÃèÊöÐÅÏ¢ typedef struct tagCFG_NOPASSING_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î }CFG_NOPASSING_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFICJAM (½»Í¨Óµ¶Âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFICJAM_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bJamLineMargin; // Õ¼ÏßÏÞÖµ£¬Óµ¶Â³¤¶ÈÕ¼³µµÀ±ÈÀýÏÞÖµ£¬0-100 BYTE bSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ¡£È¡Öµ1-10 BYTE bReserved[1]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDelayTime; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nIntervalTime; // ±¨¾¯¼ä¸ôʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nReportTimes; // Éϱ¨´ÎÊý, 1~255 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFICJAM_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_NONMOTORINMOTORROUTE(·Ç»ú¶¯³µÕ¼»ú¶¯³µ³µµÀÅäÖÃ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_NONMOTORINMOTORROUTE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ bool bSnapMotorcycle; // ÊÇ·ñ×¥ÅÄĦÍгµ,ͬһ¸öÊÓÆµÍ¨µÀ²¿·Ö¹æÔòÐèҪץÅÄĦÍгµ£¬ÆäËü²»ÐèÒª£¬ËùÒÔʹÓùæÔò BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLaneNumber; // ³µµÀ±àºÅ CFG_POLYGON stDirection[2]; // Õý³£ÐÐÊ»·½Ïò, °´ÕÕ´Ë·½ÏòÐÐÊ»ÊÇÕýÏò£¬·´¹ýÀ´ÊÇÄæÐÐ µÚÒ»¸öµãÊÇÆðµã£¬µÚ¶þ¸öµãÊÇÖյ㣬µãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_TRAFFIC_NONMOTORINMOTORROUTE_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_NONMOTOR_OVERLOAD(·Ç»ú¶¯³µ³¬ÔØÅäÖÃ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_NONMOTOR_OVERLOAD_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLaneNumber; // ³µµÀ±àºÅ }CFG_TRAFFIC_NONMOTOR_OVERLOAD_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_NONMOTOR_HOLDUMBRELLA(·Ç»ú¶¯³µ×°ÔØÉ¡¾ßʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_NONMOTOR_HOLDUMBRELLA_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLaneNumber; // ³µµÀ±àºÅ int nSnapInterval; // ×¥Åļä¸ôʱ¼ä BOOL bSnapMotorcycle; // ÊÇ·ñ×¥ÅÄĦÍгµ }CFG_TRAFFIC_NONMOTOR_HOLDUMBRELLA_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_NONMOTOR_WITHOUTSAFEHAT (·Ç»ú¶¯³µÎ´´÷°²È«Ã±ÅäÖÃ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_NONMOTOR_WITHOUTSAFEHAT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLaneNumber; // ³µµÀ±àºÅ }CFG_TRAFFIC_NONMOTOR_WITHOUTSAFEHAT_INFO; // ʼþÀàÐÍEVENT_IVS_CITY_MOTORPARKING (³ÇÊлú¶¯³µÎ¥Í£Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CITY_MOTORPARKING_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] }CFG_CITY_MOTORPARKING_INFO; // ʼþÀàÐÍEVENT_IVS_CITY_NONMOTORPARKING (³ÇÊзǻú¶¯³µÎ¥Í£Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CITY_NONMOTORPARKING_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nAlarmNum; // ±¨¾¯ÊýÁ¿ãÐÖµ£¬µ¥Î»£ºÁ¾ ·¶Î§[1£¬ 100] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] }CFG_CITY_NONMOTORPARKING_INFO; // ʼþÀàÐÍEVENT_IVS_FLOWBUSINESS (Á÷¶¯Ì¯··Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FLOWBUSINESS_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ·¶Î§[1£¬ 10] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] }CFG_FLOWBUSINESS_INFO; // ʼþÀàÐÍEVENT_IVS_SHOPPRESENCE (ÉÌÆÌÕ¼µÀʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_SHOPPRESENCE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ·¶Î§[1£¬ 10] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] char szShopAddress[256]; // ÉÌÆÌµØÖ· }CFG_SHOPPRESENCE_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_IDLE (½»Í¨¿ÕÏÐʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_IDLE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bJamLineMargin; // Õ¼ÏßÏÞÖµ£¬Óµ¶Â³¤¶ÈÕ¼³µµÀ±ÈÀýÏÞÖµ£¬0-100 BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDelayTime; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nIntervalTime; // ±¨¾¯¼ä¸ôʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nReportTimes; // Éϱ¨´ÎÊý, 1~255 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFIC_IDLE_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_PARKING (½»Í¨Î¥ÕÂÍ£³µÊ¼þ) / EVENT_IVS_TRAFFIC_PARKING_B (BÀཻͨΥÕÂÍ£³µÊ¼þ) / // EVENT_IVS_TRAFFIC_PARKING_C (CÀཻͨΥÕÂÍ£³µÊ¼þ) / EVENT_IVS_TRAFFIC_PARKING_D (DÀཻͨΥÕÂÍ£³µÊ¼þ)/ // EVENT_IVS_TRAFFIC_PARKING_MANUAL(ÊÖ¶¯È¡Ö¤½»Í¨Î¥·¨)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PARKING_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß,ÈëÇÖµÄÎïÌå¸ú×Ù BYTE bSensitivity; // ÁéÃô¶È, ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ(Ö»¶Ô¼ì²âÀàÐÍÊÓÆµÕÚµ²£¬¹ýÁÁ£¬¹ý°µ£¬³¡¾°±ä»¯ÓÐЧ) BYTE bParkingNumThreshold; // Í£³µÊýãÐÖµ£¬»­ÃæÖÐÍ£³µÊýÁ¿´óÓÚ´Ëֵʱ²»±¨¾¯,ȡֵ1-128 int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDelayTime; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nParkingAllowedTime; // ÔÊÐíÍ£³µÊ±¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nReportTimes; // Éϱ¨´ÎÊý, 1~255 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFIC_PARKING_INFO; // ʼþÀàÐÍEVENT_IVS_TRAFFIC_PARKING_SPACEDETECTION(ΥͣÏà»ú¶¨ÖƵ¥Çò³µÎ»¼ì²â)¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PARKING_SPACEDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß,ÈëÇÖµÄÎïÌå¸ú×Ù BYTE bSensitivity; // ÁéÃô¶È, ȡֵ1-10£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ(Ö»¶Ô¼ì²âÀàÐÍÊÓÆµÕÚµ²£¬¹ýÁÁ£¬¹ý°µ£¬³¡¾°±ä»¯ÓÐЧ) BYTE bReserved; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDelayTime; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nParkingAllowedTime; // ÔÊÐíÍ£³µÊ±¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nReportTimes; // Éϱ¨´ÎÊý, 1~255 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFIC_PARKING_SPACEDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_RUNREDLIGHT (½»Í¨Î¥ÕÂ-´³ºìµÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_RUNREDLIGHT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDirection; // ³µµÀ·½Ïò(³µ¿ªÍùµÄ·½Ïò)£¬0-±± 1-¶«±± 2-¶« 3-¶«ÄÏ 4-ÄÏ 5-Î÷ÄÏ 6-Î÷ 7-Î÷±± int nPreLinePoint; // ǰÖüì²âÏß¶¥µãÊý CFG_POLYLINE stuPreLine[MAX_POLYLINE_NUM]; // ǰÖüì²âÏß int nMiddleLinePoint; // Öмä¼ì²âÏß¶¥µãÊý CFG_POLYLINE stuMiddleLine[MAX_POLYLINE_NUM]; // Öмä¼ì²âÏß int nPostLinePoint; // ºóÖüì²âÏß¶¥µãÊý CFG_POLYLINE stuPostLine[MAX_POLYLINE_NUM]; // ºóÖüì²âÏß CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_TRAFFIC_RUNREDLIGHT_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PEDESTRAINRUNREDLIGHT (½»Í¨Î¥ÕÂ-ÐÐÈË´³ºìµÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PEDESTRAINRUNREDLIGHT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDirection; // ³µµÀ·½Ïò(³µ¿ªÍùµÄ·½Ïò)£¬0-±± 1-¶«±± 2-¶« 3-¶«ÄÏ 4-ÄÏ 5-Î÷ÄÏ 6-Î÷ 7-Î÷±± int nPreLinePoint; // ǰÖüì²âÏß¶¥µãÊý CFG_POLYLINE stuPreLine[MAX_POLYLINE_NUM]; // ǰÖüì²âÏß int nMiddleLinePoint; // Öмä¼ì²âÏß¶¥µãÊý CFG_POLYLINE stuMiddleLine[MAX_POLYLINE_NUM]; // Öмä¼ì²âÏß int nPostLinePoint; // ºóÖüì²âÏß¶¥µãÊý CFG_POLYLINE stuPostLine[MAX_POLYLINE_NUM]; // ºóÖüì²âÏß CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_TRAFFIC_PEDESTRAINRUNREDLIGHT_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_WRONGROUTE (½»Í¨Î¥ÕÂ-²»°´³µµÀÐÐʻʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_WRONGROUTE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß,ÈëÇÖµÄÎïÌå¸ú×Ù BYTE bReserved; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_WRONGROUTE_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_CROSSLANE (½»Í¨Î¥ÕÂ-Î¥Õ±äµÀ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_CROSSLANE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_CROSSLANE_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_OVERLINE (½»Í¨Î¥ÕÂ-ѹ³µµÀÏß)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_OVERLINE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_OVERLINE_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_OVERYELLOWLINE (½»Í¨Î¥ÕÂ-ѹ»ÆÏß)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_OVERYELLOWLINE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFIC_OVERYELLOWLINE_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_RETROGRADE (½»Í¨Î¥ÕÂ-ÄæÐÐʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_RETROGRADE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß,ÈëÇÖµÄÎïÌå¸ú×Ù BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ BOOL bLegal; // TRUE: ÄæÐкϷ¨;FALSE:ÄæÐв»ºÏ·¨ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä µ¥Î»£ºÃë }CFG_TRAFFIC_RETROGRADE_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_TURNLEFT (½»Í¨Î¥ÕÂ-Î¥ÕÂ×óתʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_TURNLEFT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_TURNLEFT_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_TURNRIGHT (½»Í¨Î¥ÕÂ-Î¥ÕÂÓÒת)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_TURNRIGHT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_TURNRIGHT_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_UTURN (½»Í¨Î¥ÕÂ-Î¥ÕµôÍ·)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_UTURN_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß¡¢ÈëÇÖµÄÎïÌå¸ú×Ù BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nTriggerAngle; // µôÍ·´¥·¢½Ç¶È,ȡֵ·¶Î§(90,180)£¬Ä¿±êµ÷ͷǰºóµÄÔ˶¯¼Ð½Ç BOOL abSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ }CFG_TRAFFIC_UTURN_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_OVERSPEED (½»Í¨Î¥ÕÂ-³¬ËÙ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_OVERSPEED_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nSpeedUpperLimit; // ËÙ¶ÈÉÏÏÞ int nSpeedLowerLimit; // ËÙ¶ÈÏÂÏÞ int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä µ¥Î»£ºÃë CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_TRAFFIC_OVERSPEED_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_UNDERSPEED (½»Í¨Î¥ÕÂ-Ç·ËÙ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_UNDERSPEED_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nSpeedUpperLimit; // ËÙ¶ÈÉÏÏÞ int nSpeedLowerLimit; // ËÙ¶ÈÏÂÏÞ int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä µ¥Î»£ºÃë CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_TRAFFIC_UNDERSPEED_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE (½»Í¨Î¥ÕÂ-»ÆÅƳµÕ¼µÀʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_YELLOWPLATEINLANE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_YELLOWPLATEINLANE_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_VEHICLEINROUTE (½»Í¨Î¥ÕÂ-ÓгµÕ¼µÀʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_VEHICLEINROUTE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_VEHICLEINROUTE_INFO; // ʼþÀ´Ô´ typedef enum tagEM_CFG_EVENT_ORIGIN { EM_CFG_EVENT_ORIGIN_UNKNOWN = -1, // δ֪ EM_CFG_EVENT_ORIGIN_VIDEO, // ÊÓÆµ¼ì²â EM_CFG_EVENT_ORIGIN_NET, // ÍøÂç }EM_CFG_EVENT_ORIGIN; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_JAM_FORBID_INTO (³µÁ¾Óµ¶Â½ûÈëʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_JAM_FORBID_INTO_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLaneNumber; // ³µµÀ±àºÅ int nTriggerTime; // Ç°ÃæµÄ³µÍ£Á˶àÉÙʱ¼ä²ÅËãÓµ¶Â,ºóÃæµÄ³µÉÏÀ´¾ÍËãÓµ¶Â½ûÈë,µ¥Î»Ãë int nFollowTime; // ¸úËæÊ±¼äãÐÖµ,¸úËæÇ°³µ½øÈ뷿ڵIJ»ËãÓµ¶Â½ûÈëÎ¥ÕÂ,µ¥Î»Ãë int nDelayTime; // Â̵ÆÃðºóÑÓʱץÅĵÚÈýÕÅʱ¼ä,µ¥Î»Ãë EM_CFG_EVENT_ORIGIN emEventOrigin; // Óµ¶ÂʼþÀ´Ô´ int nJamForbidIntoLineCount; // Óµ¶Âʼþ±ß½çÏßµãÊý CFG_POLYLINE stuJamForbidIntoLine[MAX_POLYLINE_NUM]; // Óµ¶Âʼþ±ß½çÏß, ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä }CFG_TRAFFIC_JAM_FORBID_INTO_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_JAM_STOP_ON_ZEBRACROSSING (Óµ¶ÂÖÍÁô°ßÂíÏßʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_JAM_STOP_ON_ZEBRACROSSING_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLaneNumber; // ³µµÀ±àºÅ int nJamStopDelay; // Óµ¶ÂÖÍÁôÑÓʱʱ¼ä int nSnapInterval; // ×¥Åļä¸ôʱ¼ä BOOL bSnapMotorcycle; // ÊÇ·ñ×¥ÅÄĦÍгµ int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø }CFG_TRAFFIC_JAM_STOP_ON_ZEBRACROSSING_INFO; // // ʼþÀàÐÍ EVENT_IVS_PRISONERRISEDETECTION (¿´ÊØËùÆðÉí¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PRISONRISEDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¾¯½äÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM10]; // ¾¯½äÇø CFG_POLYGON stDirection[2]; // ÈË˯¾õ·½Ïò µÚÒ»¸öµãÊÇÆðµã£¬µÚ¶þ¸öµãÊÇÖյ㣬µãµÄ×ø±ê¹éÒ»»¯µ½[0,8191]Çø¼ä CFG_POLYGON stBedMiddleLine[2]; // ´²ÆÌÖÐÏß µãµÄ×ø±ê¹éÒ»»¯µ½[0,8191]Çø¼ä int nBedSide; // ´²ÆÌµÄ·½Î» 1×ó±ßÆÌλ,2Ó񱧮Ìλ int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä µ¥Î»£ºÃë int nReportInterval; // ÖØ¸´±¨¾¯¼ä¸ô µ¥Î»£ºÃë BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_PRISONRISEDETECTION_INFO; // ×î´óµÄÅäÖõĸöÊý #define MAX_AREACONFIG_NUMBER 8 // ´¥·¢±¨¾¯µÄÐÐÈË·½Ïò typedef enum tagEM_CFG_PEOPLE_DIRECTION { EM_CFG_PEOPLE_DIRECTION_LEFT = 1, // ×ó EM_CFG_PEOPLE_DIRECTION_RIGHT = 2, // ÓÒ }EM_CFG_PEOPLE_DIRECTION; // ¼ì²âÇøÓòÅäÖà typedef struct tagCFG_AREACONFIG { int nPeopleTargets; // ´¥·¢±¨¾¯µÄÐÐÈ˸öÊý UINT nPeopleDirectionMask; // ´¥·¢±¨¾¯µÄÐÐÈË·½Ïò, EM_CFG_PEOPLE_DIRECTION µÄ λ¼¯ºÏ£¬Àý£ºnPeopleDirectionMask |= EM_CFG_PEOPLE_DIRECTION_LEFT; BYTE byReserved[1024]; // ±£Áô×Ö¶Î }CFG_AREACONFIG; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PEDESTRAINPRIORITY (ÐÐÈËÀñÈüì²â/°ßÂíÏßÐÐÈËÓÅÏÈʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PEDESTRAINPRIORITY_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î // int nAreaConfigNum; // ¹æÔò¶ÔÓ¦µÄ¼ì²âÇøÓòÅäÖõĸöÊý CFG_AREACONFIG stuAreaConfigList[MAX_AREACONFIG_NUMBER]; // ¹æÔò¶ÔÓ¦µÄ¼ì²âÇøÓòÅäÖà int nSpeedLimit; // ³µËÙ·§Öµ int nFollowTime; // ¸úËæÊ±¼ä£¬µ¥Î»Ãë BOOL bSnapMotorcycle; // ÊÇ·ñ×¥ÅÄĦÍгµ,ͬһ¸öÊÓÆµÍ¨µÀ²¿·Ö¹æÔòÐèҪץÅÄĦÍгµ£¬ÆäËü²»ÐèÒª£¬ËùÒÔʹÓùæÔò int nAlarmDistanceRate; // ´¥·¢»ú¶¯³µ²»ÀñÈÃÐÐÈ˵ļì²â¾àÀë int nSnapPicHavePriCategory; // Î¥ÕÂ×¥ÅĵÄͼƬÊÇ·ñÒªÓÐÐÐÈË»ò·Ç»ú¶¯³µµÄÑÚÂëֵÿ¸öbitλº¬Ò壬1£º×¥ÅÄͼƬҪÓÐÐÐÈË£»0£º×¥ÅÄͼƬ¿ÉÒÔÎÞÐÐÈË // bit0:µÚÒ»ÕÅͼƬÊÇ·ñÐèÒªÓÐÐÐÈË // bit1:µÚ¶þÕÅͼƬÊÇ·ñÐèÒªÓÐÐÐÈË // bit2:µÚÈýÕÅͼƬÊÇ·ñÐèÒªÓÐÐÐÈË }CFG_TRAFFIC_PEDESTRAINPRIORITY_INFO; // ʼþÀàÐÍ EVENT_IVS_QUEUEDETECTION (ÅŶӼì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_QUEUEDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î CFG_POLYLINE stuDetectLine[2]; // ¾¯½äÏß int nOccupyLineMargin; // Õ¼ÏßÏÞÖµ£¬¶ÓÎ鳤¶ÈÕ¼Ïß±ÈÀýÏÞÖµ int nTriggerTime; // µ¥Î»Ã룬ÅŶӼì²â±¨¾¯Ê±¼ä£¬ÅŶӳ¬¹ýãÐÖµµÄ״̬ά³ÖÁË"ÅŶӼì²â±¨¾¯Ê±¼ä"ÒԺ󱨾¯ int nMaxDetectRegionNum; // ×î´ó¼ì²âÇøÓòµÄ¸öÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nThreshold; // Òì³£ÈËÊýãÐÖµ int nDetectType; // ÈËÊýÒì³£¼ì²â·½Ê½ int nPlanID; // ¼Æ»®ID int nAreaID; // ÇøÓòID£¨Ò»¸öÔ¤Öõã¿ÉÒÔ¶ÔÓ¦¶à¸öÇøÓòID£© BOOL bStayDetectEnable; // ÖÍÁô¼ì²â±¨¾¯Ê¹ÄÜ£¬¶ÔÓ¦±¨¾¯Îª EVENT_IVS_STAYDETECTION int nStayMinDuration; // ×î¶ÌÖÍÁô³ÖÐøÊ±¼ä£¬µ¥Î»Ãë[1, 1800], ¿ªÆôÖÍÁô¼ì²â±¨¾¯Ê±ÐèÉèÖà BOOL bManNumAlarmEnable; // ÈËÊýÒì³£±¨¾¯Ê¹ÄÜ, ĬÈÏΪTRUE¡£¶ÔÓ¦±¨¾¯Îª EVENT_IVS_MAN_NUM_DETECTION }CFG_IVS_QUEUEDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_CLIMBDETECTION (Åʸ߼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_CLIMBDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectLine; // ¼ì²âÏß¶¥µã¸öÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¶ÔÓ¦µÄ¼ì²âÕÛÏß,[0,8192) BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ }CFG_IVS_CLIMBDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_LEAVEDETECTION (Àë¸Ú¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà enum CFG_EM_LEAVEDETECTION_MODE{ CFG_EM_LEAVEDETECTION_MODE_NONE, CFG_EM_LEAVEDETECTION_MODE_PATROL, // ѲÂßģʽ CFG_EM_LEAVEDETECTION_MODE_SENTRY, // ¸ÚÉÚģʽ CFG_EM_LEAVEDETECTION_MODE_ERR=255 }; typedef enum EM_CFG_LEAVEDETECTION_TRIGGERMODE{ CFG_LEAVEDETECTION_TRIGGERMODE_UNKNOWN, //δ֪ CFG_LEAVEDETECTION_TRIGGERMODE_NOPERSON, //ÎÞÈË CFG_LEAVEDETECTION_TRIGGERMODE_LEAVE, //À뿪 CFG_LEAVEDETECTION_TRIGGERMODE_STATIC, //¾²Ö¹(˯¸Ú) CFG_LEAVEDETECTION_TRIGGERMODE_OUTPERSONLIMIT, // ²»ÔÚÔÊÐíÖµ¸ÚÈËÊý·¶Î§ÄÚ(Öµ¸ÚÈËÊýÒì³£) }CFG_LEAVEDETECTION_TRIGGERMODE; typedef struct tagCFG_IVS_LEAVEDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î CFG_EM_LEAVEDETECTION_MODE emMode; // ¼ì²âģʽ unsigned int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë unsigned int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»£ºÃë BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nTriggerModeCount; // ´¥·¢Ä£Ê½Êý×éÓÐЧ¸öÊý CFG_LEAVEDETECTION_TRIGGERMODE emTriggerMode[MAX_TRIGGER_MODE_NUMBER]; // ´¥·¢Ä£Ê½Êý×é int anPersonLimit[2]; // ÔÊÐíÖµ¸ÚÈËÊý·¶Î§, ²»ÔÚ´Ë·¶Î§ÄÚʱ±¨¾¯,Êý×éµÚÒ»¸öÔªËØÎª×îСֵ,µÚ¶þ¸öÔªËØÎª×î´óÖµ,×î´óֵΪ0ʱ±íʾ²»ÏÞÖÆÉÏÏÞ }CFG_IVS_LEAVEDETECTION_INFO; //ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PARKINGONYELLOWBOX(»ÆÍø¸ñÏß×¥ÅÄʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PARKINGONYELLOWBOX_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀºÅ int nInterval1; // µÚ¶þÕź͵ÚÒ»ÕŵÄÑÓʱʱ¼ä£¬µ¥Î»Ãë int nInterval2; // µÚÈýÕź͵ڶþÕŵÄÑÓʱʱ¼ä£¬µ¥Î»Ãë int nFollowTime; // ¸úËæÊ±¼ä£¬Èç¹ûÒ»Á¾³µÓëǰһÁ¾³µ½øÈë»ÆÍø¸ñµÄʱ¼ä²îСÓÚ´ËÖµ£¬¾ÍÈÏΪÊǸú³µ½øÈ룬¸ú³µ½øÈëÇé¿öÏÂÈç¹ûÍ£³µÔò²»ËãÎ¥Õ }CFG_TRAFFIC_PARKINGONYELLOWBOX_INFO; //ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PARKINGSPACEPARKING(³µÎ»ÓгµÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PARKINGSPACEPARKING_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µÎ»ºÅ int nDelayTime; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFIC_PARKINGSPACEPARKING_INFO; //ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PARKINGSPACENOPARKING(³µÎ»ÎÞ³µÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PARKINGSPACENOPARKING_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µÎ»ºÅ int nDelayTime; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»£ºÃ룬·¶Î§1~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò }CFG_TRAFFIC_PARKINGSPACENOPARKING_INFO; //ʼþÀàÐÍEVENT_IVS_TRAFFIC_PARKINGSPACEOVERLINE(³µÎ»Ñ¹Ïßʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PARKINGSPACEOVERLINE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ bool bAllowParkingSpaceParkingSnap; // ÊÇ·ñÔÊÐí³µÎ»ÓгµÉÏ´«×¥ÅÄ£¬true-±íʾÔÊÐí(ĬÈϲ»ÔÊÐí) BYTE byReserved[2]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µÎ»ºÅ }CFG_TRAFFIC_PARKINGSPACEOVERLINE_INFO; //ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PEDESTRAIN (½»Í¨ÐÐÈËʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PEDESTRAIN_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀ±àºÅ int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä£¬µ¥Î»£ºÃë }CFG_TRAFFIC_PEDESTRAIN_INFO; //ʼþÀàÐÍ EVENT_IVS_TRAFFIC_THROW (½»Í¨Å×È÷ʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_THROW_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀ±àºÅ int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä£¬µ¥Î»£ºÃë }CFG_TRAFFIC_THROW_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_BACKING (Î¥Õµ¹³µÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_BACKING_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß,ÈëÇÖµÄÎïÌå¸ú×Ù BYTE bReserved; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nDirectionLinPoint; // Õý³£ÐÐÊ»·½Ïò¶¥µãÊý CFG_POLYLINE stuDirectionLine[MAX_POLYLINE_NUM]; // Õý³£ÐÐÊ»·½Ïò£¬µÚÒ»¸öµãÊÇÆðµã£¬×îºóÒ»¸öµãÊÇÖÕµã }CFG_TRAFFIC_BACKING_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_VEHICLEINBUSROUTE(Õ¼Óù«½»³µµÀʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_VEHICLEINBUSROUTE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE byCarType; // ×¥ÅijµÁ¾ÀàÐÍ£¬0£º·Ç»ÆÅƳµ 1£ºÀ¶ÅƳµ 2£º·Ç´ó¿Í³µ BYTE bSensitivity; // ÁéÃô¶È£¬È¡Öµ1-10£¬ÊýÖµÔ½´ó´ú±íÁéÃô¶ÈÔ½¸ß BYTE bEnclosure; // µç×ÓΧÀ¸¹¦ÄÜ, 1-´ò¿ª 0-¹Ø±Õ bool bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,¶Ô°íÏß,ÈëÇÖµÄÎïÌå¸ú×Ù int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLane; // ³µµÀ±àºÅ int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_TRAFFIC_VEHICLEINBUSROUTE_INFO; typedef enum tagCFG_SAFEBELT_SEAT { CSS_UNKNOW , CSS_MAIN_SEAT , //Ö÷¼ÝÊ»×ùλ CSS_SLAVE_SEAT , //¸±¼ÝÊ»×ùλ }CFG_SAFEBELT_SEAT; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_WITHOUT_SAFEBELT(½»Í¨Î´Ïµ°²È«´øÊ¼þ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_WITHOUT_SAFEBELT { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀ±àºÅ int nSeatNum; // »ñÈ¡µÄ×ùλÊý CFG_SAFEBELT_SEAT emSnapSeat[MAX_SEAT_NUM]; // ÐèҪץÅĵļÝÊ»×ù×ùλ }CFG_TRAFFIC_WITHOUT_SAFEBELT; // ʼþÀàÐÍ EVENT_IVS_GETOUTBEDDETECTION(¿´ÊØËùÏ´²Ê¼þ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_GETOUTBEDDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø,¶à±ßÐÎÀàÐÍ£¬¶à±ßÐÎÖÐÿ¸ö¶¥µãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä unsigned int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë unsigned int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»£ºÃë int nAssisDectLinePointNum; // ¸¨Öú¼ì²âÏßµãÊý CFG_POLYLINE stuAssisDectLine[MAX_POLYLINE_NUM]; // ¸¨Öú¼ì²âÏß }CFG_IVS_GETOUTBEDDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_PATROLDETECTION(ѲÂß¼ì²âʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_PATROLDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¾¯½äÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¾¯½äÇø,¶à±ßÐÎÀàÐÍ£¬¶à±ßÐÎÖÐÿ¸ö¶¥µãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä unsigned int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë unsigned int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»£ºÃë unsigned int nPatrolTime; // ѲÂßʱ¼ä,µ¥Î»£ºÃë BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ }CFG_IVS_PATROLDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_ONDUTYDETECTION(Õ¾¸Ú¼ì²âʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_ONDUTYDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¾¯½äÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¾¯½äÇø,¶à±ßÐÎÀàÐÍ£¬¶à±ßÐÎÖÐÿ¸ö¶¥µãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä unsigned int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë unsigned int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô,µ¥Î»£ºÃë int nTemplateRegionPointPairNum; // Ä£°åÇøÓòÐÅÏ¢µã¶Ô¸öÊý CFG_POLYGON stuTemplateRegion[MAX_TEMPLATEREGION_NUM][POINT_PAIR_NUM]; // Ä£°åÇøÓòÐÅÏ¢,¸öÊý¶ÔÓ¦ÓÚÄ£°åͼƬ¸öÊý }CFG_IVS_ONDUTYDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_DRIVER_SMOKING(¼ÝʻԱ³éÑÌʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_DRIVER_SMOKING { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀ±àºÅ }CFG_TRAFFIC_DRIVER_SMOKING; // ʼþÀàÐÍ EVNET_IVS_TRAFFIC_DRIVER_CALLING(¼ÝʻԱ´òµç»°Ê¼þ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_DRIVER_CALLING { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀ±àºÅ }CFG_TRAFFIC_DRIVER_CALLING; // ʼþÀàÐÍ EVENT_IVS_TRAFFIC_PASSNOTINORDER(δ°´¹æ¶¨ÒÀ´ÎͨÐÐ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_TRAFFIC_PASSNOTINORDER_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nLane; // ³µµÀ±àºÅ int nFollowTime; // ¸úËæÊ±¼äãÐÖµ,¸ßÓÚ´ËÖµ²»ËãÎ¥Õ µ¥Î»£ººÁÃ루ms£© }CFG_TRAFFIC_PASSNOTINORDER_INFO; // ʼþÀàÐÍ EVENT_IVS_HEATMAP/EVENT_IVS_HEATMAP_PLAN(ÈȶÈͼ/ÈȶÈͼ¼Æ»®)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_HEATMAP_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¾¯½äÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¾¯½äÇø,¶à±ßÐÎÀàÐÍ£¬¶à±ßÐÎÖÐÿ¸ö¶¥µãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ UINT nPlanID; // ¼Æ»®ID,½öÇò»úÓÐЧ,´Ó1¿ªÊ¼ (ÈȶÈͼͳһ֮ǰʹÓã¬Í³Ò»Ö®ºóʹÓÃnPtzPresetId) }CFG_IVS_HEATMAP_INFO; typedef struct tagCFG_REGION_FILTER { CFG_RECT stuMaxRect; // ×î´óÈËÍ·ÇøÓò CFG_RECT stuMinRect; // ×îСÈËÍ·ÇøÓò }CFG_REGION_FILTER; // ʼþÀàÐÍ EVENT_IVS_STANDUPDETECTION ÈËÆðÁ¢¼ì²â ¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_STANDUPDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î CFG_REGION stuHumanRegion; // ¼ì²âÈËÇøÓò int nStandUpDirectionNum; // ÆðÁ¢·½Ïò¶¥µãÊý CFG_POLYLINE stuStandUpDirection[MAX_POLYLINE_NUM]; // ÆðÁ¢·½Ïò, µÚÒ»¸öΪÆðµã, µÚ¶þ¸öΪÖÕµã, ǰÁ½µãÓÐЧ CFG_REGION_FILTER stuRegionFilter; // ¹ýÂËÆ÷ }CFG_IVS_STANDUPDETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_SHOOTINGSCORERECOGNITION ´ò°ÐÏñ»úʼþ ¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_SHOOTINGSCORERECOGNITION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î CFG_REGION stuDetectRegion; // ¼ì²âÇøÓò ²Î¼û¾¯½äÇøÅäÖÃDetectRegion int nRound; // ¼ÆÊýÖÜÆÚ¼Ó1ºóµ¯¿×ÐòºÅÖØÐ´Ó1¿ªÊ¼¼ÆÊý int nSensitivity; // ÁéÃô¶È int nCaliber; // µ¯¿×¿Ú¾¶£¬0:5mm¿Ú¾¶, 1:7~8mm¿Ú¾¶, 2:9mm¿Ú¾¶ }CFG_IVS_SHOOTINGSCORERECOGNITION_INFO; // ʼþÀàÐÍEVENT_IVS_VEHICLEANALYSE(³µÁ¾ÌØÕ÷¼ì²â·ÖÎö)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_VEHICLEANALYSE_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¾¯½äÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¾¯½äÇø BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ } CFG_IVS_VEHICLEANALYSE_INFO; // ʼþÀàÐÍEVENT_IVS_LETRACK(¼òµ¥¸ú×Ùʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_LETRACK_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_IVS_LETRACK_INFO; // ʼþÀàÐÍEVENT_IVS_MAN_STAND_DETECTION(Á¢ÌåÊÓ¾õÕ¾Á¢Ê¼þ) // EVENT_IVS_NEAR_DISTANCE_DETECTION(½ü¾àÀë½Ó´¥Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_STEREO_VISION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectLinePoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¼ì²âÇøÓò int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò×ø±ê int nThreshold; // Òì³£ãÐÖµ int nDetectType; // ÈËÊýÒì³£¼ì²â·½Ê½£¨½öÓÃÓÚÇøÓòÄÚÈËÊýͳ¼Æ£© // 0-СÓÚµÈÓÚãÐÖµ±¨¾¯ 1-´óÓÚµÈÓÚãÐÖµ±¨¾¯ int nSensitivity; // ÁéÃô¶È,[0-100] int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_STEREO_VISION_INFO; // ʼþÀàÐÍEVENT_IVS_MAN_NUM_DETECTION(Á¢ÌåÊÓ¾õÇøÓòÄÚÈËÊýͳ¼ÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_MAN_NUM_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò×ø±ê int nThreshold; // Òì³£ÈËÊýãÐÖµ int nDetectType; // ÈËÊýÒì³£¼ì²â·½Ê½ // 0-СÓÚµÈÓÚãÐÖµ±¨¾¯ 1-´óÓÚµÈÓÚãÐÖµ±¨¾¯ int nSensitivity; // ÁéÃô¶È,[1-10] int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm BOOL bStayDetectEnable; // ÊÇ·ñ¿ªÆôÖÍÁô¼ì²â±¨¾¯¹¦ÄÜ, ¶ÔÓ¦±¨¾¯ÎªStayDetection¡£ int nStayMinDuration; // ×î¶ÌÖÍÁô³ÖÐøÊ±¼ä£¬µ¥Î»Ãë[2, 65535], ¿ªÆôÖÍÁô¼ì²â±¨¾¯Ê±ÐèÉèÖà BOOL bManNumAlarmEnable; // ÊÇ·ñ¿ªÆôÈËÊýÒì³£±¨¾¯¹¦ÄÜ, ĬÈÏΪTRUE¡£¶ÔÓ¦±¨¾¯ÎªManNumDetection UINT nAreaID; // ÇøÓòID£¨Ò»¸öÔ¤Öõã¶ÔÓ¦¶à¸öÇøÓòID£© UINT nPlanId; // ¼Æ»®ID£¬·¶Î§ 1~MaxNumberStatPlan BYTE bReserved[504]; // ±£Áô×Ö½Ú } CFG_IVS_MAN_NUM_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_STEREO_NUMBERSTAT(Á¢ÌåÊÓ¾õÈËÊýͳ¼ÆÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_STEREO_NUMBERSTAT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectLinePoint; // ¼ì²âÏß¶¥µãÊý CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ¼ì²âÏß int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò×ø±ê int nSensitivity; // ÁéÃô¶È, 1-10 int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm int nEnterThreshold; // ½øÈëÈËÊý±¨¾¯ãÐÖµ, 0±íʾ²»±¨¾¯ int nExitThreshold; // À뿪ÈËÊý±¨¾¯ãÐÖµ, 0±íʾ²»±¨¾¯ int nInsideThreshold; // ÖÍÁôÈËÊý±¨¾¯ãÐÖµ, 0±íʾ²»±¨¾¯ char szDirection[CFG_COMMON_STRING_8]; // ¼ì²â·½Ïò BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_IVS_STEREO_NUMBERSTAT_INFO; // ¶¯×÷ÀàÐÍ typedef enum tagEM_CFG_ACTION_TYPE { EM_CFG_ACTION_TYPE_UNKNOWN, // δ֪ EM_CFG_ACTION_TYPE_DRASTIC_MOTION, // ¾çÁÒÔ˶¯ EM_CFG_ACTION_TYPE_SINGLE_FIGHT, // µ¥ÈË´òÔÒ EM_CFG_ACTION_TYPE_MULTI_FIGHT, // ¶àÈË´ò¼Ü }EM_CFG_ACTION_TYPE; // ʼþÀàÐÍEVENT_IVS_STEREO_FIGHTDETECTION(Á¢ÌåÐÐΪ·ÖÎö´ò¼Ü/¾çÁÒÔ˶¯¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_STEREO_FIGHTDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nSensitivity; // ÁéÃô¶È, 1-10, ĬÈÏÖµ5 int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm EM_CFG_ACTION_TYPE emActionType; // ¶¯×÷ÀàÐÍ BYTE bReserved[508]; // ±£Áô×Ö½Ú } CFG_IVS_STEREO_FIGHTDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_STEREO_STEREOFALLDETECTION(Á¢ÌåÐÐΪ·ÖÎöµøµ¹¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_STEREO_STEREOFALLDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä£¬µ¥Î»ÊÇÃë,µÍÓÚ¸Ãʱ¼ä²»±¨¾¯, ĬÈÏ1 ·¶Î§[1,60] int nReportInterval; // µøµ¹Öظ´±¨¾¯Ê±¼ä,Ϊ0²»Öظ´±¨¾¯, ĬÈÏ0 ·¶Î§[0,300]£¬µ¥Î»£ºÃë int nSensitivity; // ÁéÃô¶È, 1-10£¬ ĬÈÏÖµ5 int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_IVS_STEREO_STEREOFALLDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_STEREO_STAYDETECTION(Á¢ÌåÐÐΪ·ÖÎöÈËÔ±ÖÍÁô¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_STEREO_STAYDETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nMinDuration; // ÖÍÁôʱ¼äãÐÖµ£¬µ¥Î»ÊÇÃë,µÍÓÚ¸Ãʱ¼ä²»±¨¾¯, ĬÈÏ300, ·¶Î§[1,3600] int nReportInterval; // µøµ¹Öظ´±¨¾¯Ê±¼ä,Ϊ0²»Öظ´±¨¾¯, ĬÈÏ0 ·¶Î§[0,300]£¬µ¥Î»£ºÃë int nSensitivity; // ÁéÃô¶È, 1-10, ĬÈÏ5 int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_IVS_STEREO_STAYDETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_STEREO_DISTANCE_DETECTION(Á¢ÌåÐÐΪ·ÖÎö¼ä¾àÒì³£/ÈËÔ±¿¿½ü¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_STEREO_DISTANCE_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î»ÊÇÃë,µÍÓÚ¸Ãʱ¼ä²»±¨¾¯, ĬÈÏ2, ·¶Î§[1,60] int nReportInterval; // ÖØ¸´±¨¾¯Ê±¼ä, µ¥Î»£ºÃë, Ϊ0²»Öظ´±¨¾¯, ĬÈÏ0, ·¶Î§[0,300] int nSensitivity; // ÁéÃô¶È, 1-10, ĬÈÏ5 int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nDetectType; // ¼ì²âģʽ, ȡֵ£º0-´óÓÚãÐÖµ±¨¾¯ 1-СÓÚãÐÖµ±¨¾¯, ĬÈÏΪ 1 int nDistance; // ¼ä¾àãÐÖµ, µ¥Î»:cm, ȡֵ10-600£¬Ä¬ÈÏÖµ100 BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_IVS_STEREO_DISTANCE_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_STEREO_MANNUM_DETECTION(Á¢ÌåÐÐΪ·ÖÎöÈËÊýÒì³£¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_IVS_STEREO_MANNUM_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î»ÊÇÃë,µÍÓÚ¸Ãʱ¼ä²»±¨¾¯, ĬÈÏ2, ·¶Î§[1,60] int nReportInterval; // ÖØ¸´±¨¾¯Ê±¼ä, µ¥Î»£ºÃë, Ϊ0²»Öظ´±¨¾¯, ĬÈÏ0, ·¶Î§[0,300] int nSensitivity; // ÁéÃô¶È, 1-10, ĬÈÏ5 int nMinHeight; // ×îС¼ì²â¸ß¶È,µ¥Î»cm int nMaxHeight; // ×î´ó¼ì²â¸ß¶È,µ¥Î»cm int nDetectType; // ¼ì²âģʽ, ȡֵ£º0-´óÓÚãÐÖµ±¨¾¯ 1-СÓÚãÐÖµ±¨¾¯ 2-²»µÈÓÚãÐÖµ±¨¾¯ 3-µÈÓÚãÐÖµ±¨¾¯ int nThresholdPerson; // ±¨¾¯ÈËÊýãÐÖµ, ȡֵ0-10£¬Ä¬ÈÏÖµ2 BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_IVS_STEREO_MANNUM_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_ROAD_CONSTRUCTION (µÀ·ʩ¹¤¼ì²âʼþ) ºÍEVENT_IVS_ROAD_BLOCK(·Õϼì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_ROAD_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î»Ãë, 0-65535 int nSensitivity; // ÁéÃô¶È, 1-10 } CFG_ROAD_DETECTION_INFO; // ÈËÊýͳ¼ÆÇøÓò typedef struct tagPEOPLE_STAT_REGIONS_INFO { CFG_POLYGON stuRegion[MAX_CROWD_DISTRI_MAP_REGION_POINT_NUM]; // ÇøÓò¼ì²â×ø±ê UINT nPointNum; // ÇøÓòÓÐЧµãÊý unsigned int nPeopleNumLimit; // ÇøÓòÄÚÈËÊýÉÏÏÞ,µ¥Î»:ÈË char szName[32]; // ÇøÓòÃû³Æ UINT nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä£¬µ¥Î»Ãë, ·¶Î§[1, 600](CrowdPosture´óÀà²ÅÖ§³Ö) UINT nReportInterval; // ÖØ¸´±¨¾¯¼ä¸ô£¬µ¥Î»Ãë, ·¶Î§[0, 3600](CrowdPosture´óÀà²ÅÖ§³Ö) UINT nSensitivity; // ÁéÃô¶È, ·¶Î§[1, 10](CrowdPosture´óÀà²ÅÖ§³Ö) BYTE byReserved[336]; // ±£Áô×Ö½Ú }PEOPLE_STAT_REGIONS_INFO; // ʼþÀàÐÍEVENT_IVS_CROWDDETECTION(ÈËȺÃܶȼì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CROWDDISTRIMAP_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 BOOL bGeneralAlarmEnable; // È«¾ÖÈËȺÃܶȳ¬ÏÞ±¨¾¯Ê¹ÄÜ unsigned int nCrowdDensity; // È«¾ÖÈËȺÃܶȱ¨¾¯ãÐÖµ,µ¥Î»:ÈË/ƽ·½Ã× BOOL bRegionAlarmEnable; // ÇøÓòÈËÔ±ÊýÁ¿³¬ÏÞ±¨¾¯Ê¹ÄÜ int nPeopleStatRegionsNum; // ÈËÊýͳ¼ÆÇøÓò¸öÊý PEOPLE_STAT_REGIONS_INFO stuPeopleStatRegions[MAX_PEOPLESTATREGIONS_NUM]; // ÈËÊýͳ¼ÆÇøÓò BOOL bSlaveTrackEnable; // ǹÇòÁª¶¯¸ú×ÙʹÄÜ UINT nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î»Ãë, ·¶Î§[1, 600](CrowdPosture´óÀà²ÅÖ§³Ö) UINT nReportInterval; // ÖØ¸´±¨¾¯¼ä¸ô, µ¥Î»Ãë, ·¶Î§[0, 3600](CrowdPosture´óÀà²ÅÖ§³Ö) UINT nSensitivity; // ÁéÃô¶È, ·¶Î§[1, 10](CrowdPosture´óÀà²ÅÖ§³Ö) BYTE bReserved[500]; // ±£Áô×Ö½Ú }CFG_CROWDDISTRIMAP_INFO; // ʼþÀàÐÍEVENT_IVS_BANNER_DETECTION(À­ºá·ùʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_BANNER_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î»:Ã룬·¶Î§1-600, ĬÈÏ30 int nReportInterval; // ÖØ¸´±¨¾¯¼ä¸ô,µ¥Î»:Ãë,·¶Î§0-600,ĬÈÏ30,Ϊ0±íʾ²»Öظ´ int nSensitivity; // ¼ì²âÁéÃô¶È,·¶Î§1-10 BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_BANNER_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_NORMAL_FIGHTDETECTION(ÆÕͨ¶·Å¹Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_NORMAL_FIGHT_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃ룬·¶Î§1-600, ĬÈÏÖµ30 int nDetectRegionPoint; // ¼ì²âÇøÓò¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nTrackDuration; // ³ÖÐø¸ú×Ùʱ¼ä, µ¥Î»:Ãë, ·¶Î§5-300 int nSensitivity; // ÁéÃô¶È, 1-10 CFG_EM_DETECTMODE_T emDetectMode; // ¼ì²âģʽ BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_NORMAL_FIGHT_INFO; // ʼþÀàÐÍEVENT_IVS_ELEVATOR_ABNORMAL(µç¶¯·öÌÝÔËÐÐÒ쳣ʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_ELEVATOR_ABNORMAL_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nMinDuration; // ·öÌÝÄæÐÐʱ¼äãÐÖµ int nReportInterval; // ·öÌÝÄæÐÐÖØ¸´±¨¾¯¼ä¸ôÃëÊý£¬Îª0Ôò²»Öظ´±¨¾¯ int nSensitivity; // ÁéÃô¶È, ȡֵ1-10, ĬÈÏÖµ6 CFG_POLYLINE stuDetectLineBegin; // ·öÌÝÔËÐз½ÏòµÄÆðµã CFG_POLYLINE stuDetectLineEnd; // ·öÌÝÔËÐз½ÏòµÄÖÕµã BYTE bReserved[512]; // ±£Áô×Ö½Ú } CFG_ELEVATOR_ABNORMAL_INFO; // ·Ç»ú¶¯³µÊôÐÔÀàÐÍ typedef enum tagEM_CFG_NONMOTOR_FEATURE { EM_CFG_NONMOTOR_FEATURE_HELMET, //Í·¿ø EM_CFG_NONMOTOR_FEATURE_NUMOFCYCLING, //³µÉÏÈËÊý EM_CFG_NONMOTOR_FEATURE_NONMOTORCOLOR, //³µÉíÑÕÉ« EM_CFG_NONMOTOR_FEATURE_SEX, //ÐÔ±ð EM_CFG_NONMOTOR_FEATURE_AGE, //ÄêÁä EM_CFG_NONMOTOR_FEATURE_HAT, //ñ×Ó EM_CFG_NONMOTOR_FEATURE_BAG, //±³°ü EM_CFG_NONMOTOR_FEATURE_CARRIERBAG, //ÊÖÌá°ü EM_CFG_NONMOTOR_FEATURE_UMBRELLA, //ÓêÉ¡ EM_CFG_NONMOTOR_FEATURE_UPPERBODYCOLOR, //ÉÏÒÂÑÕÉ« EM_CFG_NONMOTOR_FEATURE_LOWERBODYCOLOR, //ÏÂÒÂÑÕÉ« EM_CFG_NONMOTOR_FEATURE_UPCLOTHES, //ÉÏÒÂÀàÐÍ EM_CFG_NONMOTOR_FEATURE_DOWNCLOTHES, //ÏÂÒÂÀàÐÍ EM_CFG_NONMOTOR_FEATURE_CATEGORY, //³µÀàÐÍ }EM_CFG_NONMOTOR_FEATURE; #define MAX_NONMOTOR_ATTRIBUTE_NUM 32 // Ö§³ÖµÄ·Ç»ú¶¯³µÊôÐÔ¸öÊý // ʼþÀàÐÍEVENT_IVS_NONMOTORDETECT(·Ç»ú¶¯³µÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_NONMOTORDETECT_INFO { // ͨÓÃÅäÖà char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î // »ù´¡ÅäÖà int nFeatureNum; // Ö§³ÖµÄ·Ç»ú¶¯³µÊôÐÔ¸öÊý EM_CFG_NONMOTOR_FEATURE emFeatureList[MAX_NONMOTOR_ATTRIBUTE_NUM]; // Ö§³ÖµÄ·Ç»ú¶¯³µÊôÐÔÁбí BYTE bReserved[512]; // ±£Áô×Ö½Ú }CFG_NONMOTORDETECT_INFO; // ʼþÀàÐÍEVENT_IVS_HUMANTRAIT(ÈËÔ±¼ì²â¹æÔò)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_HUMANTRAIT_INFO { // ͨÓÃÅäÖà char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î // ÌØÓÐÅäÖà int nHumanFaceTypeNum; // Ö§³ÖµÄÈËÁ³¼ì²âÀàÐ͸öÊý EM_VIDEO_ANALYSE_HUMANFACE_TYPE emHumanFaceType[MAX_HUMANFACE_LIST_SIZE]; // Ö§³ÖµÄÈËÁ³¼ì²âÀàÐÍÁбí int nMinDuration; // ×î¶Ì´¥·¢Ê±¼ä,µ¥Î»£ºÃë int nTriggerTargets; // ´¥·¢±¨¾¯µÄÈËÁ³¸öÊý int nSensitivity; // ÁéÃô¶È,Ô½¸ßÔ½ÈÝÒ×¼ì²â, 0-10 BOOL bSizeFileter; // ÊÇ·ñʹÓóߴç¹ýÂËÆ÷ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷£¬Ìá¸ßÅжϾ«¶È BOOL bFeatureEnable; // ÊÇ·ñ¿ªÆôÈËÁ³ÊôÐÔʶ±ð BOOL bFeatureFilter; // ÔÚÈËÁ³ÊôÐÔ¿ªÆôǰÌáÏ£¬Èç¹ûÈËÁ³Í¼ÏñÖÊÁ¿Ì«²î£¬ÊÇ·ñ²»Éϱ¨ÊôÐÔ true-ͼÏñÌ«²î²»Éϱ¨ÊôÐÔ;false-ͼÏñºÜ²îÒ²Éϱ¨ÊôÐÔ(¿ÉÄÜ»á·Ç³£²»×¼£¬Ó°ÏìÓû§ÌåÑé) int nMinQuality; // ÈËÁ³Í¼Æ¬ÖÊÁ¿ãÐÖµ,ºÍbFeatureFilterÒ»ÆðʹÓà int nFaceFeatureNum; // ÐèÒª¼ì²âµÄÈËÁ³ÊôÐÔ¸öÊý EM_FACEFEATURE_TYPE emFaceFeatureType[MAX_FEATURE_LIST_SIZE]; // Ðè¼ì²âµÄÈËÁ³ÊôÐÔ BYTE bReserved[512]; // ±£Áô×Ö½Ú }CFG_HUMANTRAIT_INFO; // ʼþÀàÐÍEVENT_IVS_VEHICLEDETECT(»ú¶¯³µÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_VEHICLEDETECT_INFO { // ͨÓÃÅäÖà char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î // ÌØÓÐÅäÖà int nSnapThreshold; // ³µÁ¾×¥ÅÄãÐÖµ,ÊÇÒ»¸ö°Ù·ÖÊý£¬±íʾµ±³µÁ¾¼ì²â¿ò¸ß¶ÈÕ¼»­Ãæ°Ù·Ö±È´óÓÚÕâ¸öãÐֵʱ£¬´¥·¢¹æÔò½øÐÐ×¥ÅÄ¡£ BYTE bReserved[512]; // ±£Áô×Ö½Ú }CFG_VEHICLEDETECT_INFO; // ʼþÀàÐÍEVENT_IVS_TUMBLE_DETECTION(µ¹µØÊ¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_TUMBLE_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ BYTE bTrackEnable; // ´¥·¢¸ú×ÙʹÄÜ,½ö¶Ô°íÏߣ¬ÈëÇÖ¹æÔòÓÐЧ BYTE bReserved1[3]; // ±£Áô×Ö¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nMinDuration; // µ¹µØÊ״α¨¾¯Ê±¼äãÐÖµ£¬µÍÓÚ¸Ãʱ¼ä²»±¨¾¯¡£·¶Î§[0,30]£¬µ¥Î»£ºÃë int nReportInterval; // µ¹µØÖظ´±¨¾¯Ê±¼ä,Ϊ0²»Öظ´±¨¾¯¡£·¶Î§[1,300]£¬µ¥Î»£ºÃë int nMinHeight; // ×îС¼ì²â¸ß¶È¡£µ¥Î»£ºÀåÃ× int nMaxHeight; // ×î´ó¼ì²â¸ß¶È¡£µ¥Î»£ºÀåÃ× int nSensitivity; // ÁéÃô¶È,·¶Î§[1,10] BYTE byReserved[512]; // ±£Áô×Ö½Ú }CFG_TUMBLE_DETECTION_INFO; //¼ì²â·½Ïò typedef enum tagEM_CFG_DIRECTION_TYPE { EM_CFG_DIRECTION_UNKNOWN = 0, // δ֪ EM_CFG_DIRECTION_LEFT_TO_RIGHT, // ´Ó×óÏòÓÒ EM_CFG_DIRECTION_RIGHT_TO_LEFT, // ´ÓÓÒÏò×ó EM_CFG_DIRECTION_BOTH // È«²¿ }EM_CFG_DIRECTION_TYPE; // ʼþÀàÐÍEVENT_IVS_SPILLEDMATERIAL_DETECTION(Å×È÷Îï¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_SPILLEDMATERIAL_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectLinePointNum; // ¾¯½äÏ߶˵ã¸öÊý CFG_POLYLINE stuDetectLine[MAX_POLYGON_NUM]; // ¾¯½äÏß¡£ ÕÛÏßÀàÐÍ£¬ÕÛÏßÖÐÿ¸ö¶ËµãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£ EM_CFG_DIRECTION_TYPE emDirection; // ¼ì²â·½Ïò CFG_SIZEFILTER_INFO stuSizeFilter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷£¬ÎªÌá¸ß¹æÔòÅжϾ«¶È BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_SPILLEDMATERIAL_DETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_AIRPLANE_DETECTION (·É»úÐÐΪ¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_AIRPLANE_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î CFG_POLYLINE stuGuideLine[2]; // µ¼ÏòÏß CFG_POLYLINE stuStopLine[10][2]; // Í£Ö¹Ïß int nStopLineNum; // Í£Ö¹ÏßÊýÁ¿ BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_AIRPLANE_DETECTION_INFO; // ʼþÀàÐÍ DEV_EVENT_GENERATEGRAPH_DETECTION_INFO£¨Éú³É¹æÔòͼʼþ£©¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_GENERATEGRAPH_DETECTION_INFO { // ͨÓÃÅäÖà char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î // ÌØÓÐÅäÖà UINT nPlanID; // ¼Æ»®ID,½öÇò»úÓÐЧ,´Ó1¿ªÊ¼ }CFG_GENERATEGRAPH_DETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_FLOATINGOBJECT_DETECTION (Ư¸¡Îï¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_FLOATINGOBJECT_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø float fAlarmThreshold; // ±¨¾¯ãÐÖµ¡£µ±¼ì²âÇøÓòÄ򵀮¯¸¡ÎïÕ¼±È³¬¹ýãÐֵʱÔò²úÉú±¨¾¯;µ¥Î»:%£¬È¡Öµ·¶Î§(0, 100] UINT nAlarmInterval; // ±¨¾¯Ê±¼ä¼ä¸ô¡££¨µ¥Î»£ºÃ룩¡£È¡Öµ·¶Î§[60, 86400] BOOL bDataUpload; // ÊÇ·ñÉϱ¨ÊµÊ±Êý¾Ý¡£ UINT nUpdateInterval; // ʵʱÊý¾ÝÉϱ¨¼ä¸ô¡£(µ¥Î»£ºÃë)¡£È¡Öµ·¶Î§[60, 86400] BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_FLOATINGOBJECT_DETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_WATER_LEVEL_DETECTION (ˮλ¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_WATER_LEVEL_DETECTION_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nBaseLinePointNum; // Æ´½ÓµÄˮλ³ß×ø±êµãÊý CFG_POLYGON stuBaseLine[16]; // ¶ÔÓÚÆ´½ÓµÄˮλ³ß£¬ÐèÒ³ÃæÉϱ궨³öÆ´½Ó´¦£¬ÈôÎÞÆ´½ÓÎÞÐèÌî³ä // Ò»°ã4¸öµã£¬×î´ó²»³¬¹ý16¸öµã,ÿ¸öµã×ø±ê¹éÒ»»¯µ½[0,8192]Çø¼ä float fBaseLevel; // ¶ÔÓ¦BaseLine±ê¶¨µÄʵ¼Êˮλֵ¡££¨µ¥Î»£ºÃ×£© float fHighLevel; // ˮλÉÏÏÞ±¨¾¯ãÐÖµ(µ¥Î»£ºÃ×) float fLowLevel; // ˮλÏÂÏÞ±¨¾¯ãÐÖµ(µ¥Î»£ºÃ×) UINT nAlarmInterval; // ±¨¾¯Ê±¼ä¼ä¸ô¡££¨µ¥Î»£ºÃ룩¡£È¡Öµ·¶Î§[60, 86400] BOOL bDataUpload; // ÊÇ·ñÉϱ¨ÊµÊ±Êý¾Ý¡£ UINT nUpdateInterval; // ʵʱÊý¾ÝÉϱ¨¼ä¸ô¡£(µ¥Î»£ºÃë)¡£È¡Öµ·¶Î§[60, 86400] BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_WATER_LEVEL_DETECTION_INFO; // ʼþÀàÐÍ EVENT_IVS_PHONECALL_DETECT (´òµç»°±¨¾¯Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PHONECALL_DETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä£¬µ¥Î»Ãë int nSensitivity; // ÁéÃô¶È int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_PHONECALL_DETECT_INFO; // ʼþÀàÐÍ EVENT_IVS_SMOKING_DETECT (ÎüÑ̼ì²â±¨¾¯Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_SMOKING_DETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä£¬µ¥Î»Ãë int nSensitivity; // ÁéÃô¶È int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_SMOKING_DETECT_INFO; // ʼþÀàÐÍ EVENT_IVS_HELMET_DETECTION (°²È«Ã±¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_HELMET_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò int nDectRegionID; // ¼ì²âÇøÓò±àºÅ BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_HELMET_DETECTION_INFO; //ʼþÀàÐÍEVENT_IVS_HOLD_UMBRELLA(Î¥¹æ´òɡʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_HOLDUMBRELLA_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ·¶Î§[1£¬ 10] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] UINT nDetectRegionNumber; // ¼ì²âÇøÓòºÅ BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_HOLDUMBRELLA_INFO; //ʼþÀàÐÍEVENT_IVS_GARBAGE_EXPOSURE(À¬»ø±©Â¶Ê¼þ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_GARBAGEEXPOSURE_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ·¶Î§[1£¬ 10] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] UINT nDetectRegionNumber; // ¼ì²âÇøÓòºÅ BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_GARBAGEEXPOSURE_INFO; //ʼþÀàÐÍEVENT_IVS_DUSTBIN_OVER_FLOW(À¬»øÍ°ÂúÒçʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_DUSTBIN_OVERFLOW_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ·¶Î§[1£¬ 10] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] UINT nDetectRegionNumber; // ¼ì²âÇøÓòºÅ BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_DUSTBIN_OVERFLOW_INFO; //ʼþÀàÐÍEVENT_IVS_DOOR_FRONT_DIRTY(ÃÅǰÔàÂÒʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_DOORFRONT_DIRTY_INFO { // ÐÅÏ¢ char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ·¶Î§[1£¬ 10] int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë ·¶Î§[0£¬ 3600] int nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä ·¶Î§[0£¬ 3600] char szShopAddress[256]; // ÉÌÆÌµØÖ· UINT nDetectRegionNumber; // ¼ì²âÇøÓòºÅ BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_DOORFRONT_DIRTY_INFO; //ʼþÀàÐÍ EVENT_IVS_STAY_ALONE_DETECTION (µ¥È˶À´¦Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_STAY_ALONE_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionNum; // ¶à±ßÐμì²âÇøÓò¶¥µã¸öÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¶à±ßÐμì²âÇøÓò UINT nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î»:Ãë UINT nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô, µ¥Î»:Ãë, Ϊ0ʱ±íʾֻ±¨Ò»´Î BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_STAY_ALONE_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_INTELLI_SHELF(ÖÇÄܲ¹»õʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_INTELLI_SHELF_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø unsigned short nThreshold; // »õ¼ÜÉÏ»õÎï°Ù·Ö±ÈµÍÓÚãÐÖµÔò±¨¾¯, 0±íʾ²»±¨¾¯ unsigned short nAreaID; // ÇøÓòID£¬¸ÃͨµÀºÍPresetIDϵÄij¸öÇøÓò,ȡֵ·¶Î§1-5 BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_INTELLI_SHELF_INFO; // ʼþÀàÐÍEVENT_IVS_SHOP_WINDOW_POST(³÷´°ÕÅÌùʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_SHOP_WINDOW_POST_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø unsigned short nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë0-3600s unsigned short nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä 0-3600s int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ȡֵ1-10 UINT nDetectRegionNumber; // ¼ì²âÇøÓòºÅ char szShopAddress[256]; // ÉÌÆÌµØÖ· BYTE byReserved[1024]; // ±£Áô×Ö½Ú }CFG_SHOP_WINDOW_POST_INFO; // ʼþÀàÐÍEVENT_IVS_SHOP_SIGN_ABNORMAL(µêÕÐÒ쳣ʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_SHOP_SIGN_ABNORMAL_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø unsigned short nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä,µ¥Î»£ºÃë0-3600s unsigned short nTrackDuration; // ¸ú×Ù³ÖÐøÊ±¼ä 0-3600s int nSensitivity; // ÁéÃô¶È£¬ÖµÔ½Ð¡ÁéÃô¶ÈÔ½µÍ ȡֵ1-10 UINT nDetectRegionNumber; // ¼ì²âÇøÓòºÅ char szShopAddress[256]; // ÉÌÆÌµØÖ· BYTE byReserved[1024]; // ±£Áô×Ö½Ú }CFG_SHOP_SIGN_ABNORMAL_INFO; // ʼþÀàÐÍEVENT_IVS_ANIMAL_DETECTION(¶¯Îï¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_ANIMAL_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø int nReportInterval; // ±¨¾¯ÖÜÆÚ£¬µ¥Î»Ãë,·¶Î§(1£¬3600),ĬÈÏ5sȡֵ·¶Î§1-5 BYTE byReserved[1024]; // ±£Áô×Ö½Ú }CFG_ANIMAL_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_CONGESTION_DETECTION(µÀ·³¡¾°³µÁ¾Óµ¶Â±¨¾¯Ê¼þ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_CONGESTION_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[32]; // ¼ì²âÇø BOOL bCongestionAlarmEnable; // Óµ¶Â±¨¾¯Ê¹ÄÜ BOOL bQueueAlarmEnable; // ÅŶӳ¤¶È±¨¾¯Ê¹ÄÜ UINT nCongestionThreshold; // Óµ¶Â³µÁ¾±¨¾¯ãÐÖµ,µ¥Î»Á¾£¬È¡Öµ[10,1000] UINT nQueueLengthThreshold; // ³µÁ¾ÅŶӳ¤¶È±¨¾¯ãÐÖµ,µ¥Î»Ã×£¬È¡Öµ[10,1000] UINT nCongestionDuration; // ×î¶ÌÓµ¶Âʱ¼äãÐÖµ µ¥Î»·ÖÖÓ£¬È¡Öµ[1,100] UINT nAlarmInterval; // ±¨¾¯Ê±¼ä¼ä¸ô,È¡0Ö»±¨¾¯Ò»´Î µ¥Î»Ã룬ȡֵ[0£¬65535] BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_CONGESTION_DETECTION_INFO; // ʼþÀàÐÍEVENT_IVS_VEHICLELIMIT_DETECTION(Í£³µ³¡³¡¾°ÏÂÍ£³µ³µÁ¾ÉÏÏÞ±¨¾¯)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_VEHICLELIMIT_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[32]; // ¼ì²âÇø BOOL bLimitAlarmEnable; // ³µÁ¾ÉÏÏÞ±¨¾¯Ê¹ÄÜ UINT nVehicleThreshold; // ³µÁ¾ÉÏÏÞãÐÖµ,µ¥Î»Á¾£¬È¡Öµ[10,1000] UINT nAlarmInterval; // ±¨¾¯Ê±¼ä¼ä¸ô,È¡0Ö»±¨¾¯Ò»´Î µ¥Î»Ã룬ȡֵ[0£¬65535] BYTE byReserved[4096]; // ±£Áô×Ö½Ú }CFG_VEHICLELIMIT_DETECTION_INFO; // ¼ì²âÇøÓòÐÅÏ¢ typedef struct tagNET_DETECT_REGION_INFO { int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø BYTE byReserved[252]; // ±£Áô×Ö½Ú } NET_DETECT_REGION_INFO; // ʼþÀàÐÍEVENT_IVS_BREED_DETECTION(ÖÇ»ÛÑøÖ³¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_BREED_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î UINT nSensitivity; // ÁéÃô¶È, 1-10 UINT nMinDuration; // ¼ì²âƵÂÊ£¬Ö¸¶¨Ê±¼äÄÚ¼ì²âÒ»´Î£¬µ¥Î»£ºÃë float fCameraHeight; // ÉãÏñ»ú°²×°¸ß¶È£¬µ¥Î»:m, 2-5 float fHeightMultiple; // ÉãÏñ»ú°²×°¸ß¶È±¶Êý£¬ÓÃÓÚËã·¨ÐÞÕý½á¹ûÖµ, 0.5-2 UINT nDetectRegionNum; // ¼ì²âÇø¸öÊý NET_DETECT_REGION_INFO stuDetectRegionInfo[8]; // ¼ì²âÇøÐÅÏ¢ BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_BREED_DETECTION_INFO; // ¹¤×°ÑÕÉ« typedef enum tagEM_WORKCLOTHES_COLOR_TYPE { EM_WORKCLOTHES_COLOR_UNKNOWN, // δ֪ EM_WORKCLOTHES_COLOR_WHITE, // °×É« EM_WORKCLOTHES_COLOR_ORANGE, // ³ÈÉ« EM_WORKCLOTHES_COLOR_PINK, // ·ÛÉ« EM_WORKCLOTHES_COLOR_BLACK, // ºÚÉ« EM_WORKCLOTHES_COLOR_RED, // ºìÉ« EM_WORKCLOTHES_COLOR_YELLOW, // »ÆÉ« EM_WORKCLOTHES_COLOR_GRAY, // »ÒÉ« EM_WORKCLOTHES_COLOR_BLUE, // À¶É« EM_WORKCLOTHES_COLOR_GREEN, // ÂÌÉ« EM_WORKCLOTHES_COLOR_PURPLE, // ×ÏÉ« EM_WORKCLOTHES_COLOR_BROWN, // רɫ }EM_WORKCLOTHES_COLOR_TYPE; // °²È«Ã±¼ì²â typedef struct tagNET_WORK_HELMET { BOOL bEnbale; // ÊÇ·ñ¼ì²â°²È«Ã± BOOL bWeared; // ÊÇ·ñ´©´÷°²È«Ã± BOOL bDetectColor; // ÊÇ·ñÖ¸¶¨¼ì²âÑÕÉ« EM_WORKCLOTHES_COLOR_TYPE emColor; // °²È«Ã±ÑÕÉ«£¬DetectColorΪtrueʱÓÐЧ BYTE byReserved[64]; // ±£Áô×Ö½Ú }NET_WORK_HELMET; // ¹¤×÷·þ¼ì²â typedef struct tagNET_WORK_CLOTHES { BOOL bEnbale; // ÊÇ·ñ¼ì²â¹¤×÷·þ BOOL bWeared; // ÊÇ·ñ´©×ʤ×÷·þ BOOL bDetectColor; // ÊÇ·ñÖ¸¶¨¼ì²âÑÕÉ« EM_WORKCLOTHES_COLOR_TYPE emColor; // ¹¤×÷·þÑÕÉ«£¬DetectColorΪtrueʱÓÐЧ BYTE byReserved[64]; // ±£Áô×Ö½Ú }NET_WORK_CLOTHES; // Âí¼×¼ì²â typedef struct tagNET_WORK_VEST { BOOL bEnbale; // ÊÇ·ñ¼ì²âÂí¼× BOOL bWeared; // ÊÇ·ñ´©×ÅÂí¼× BOOL bDetectColor; // ÊÇ·ñÖ¸¶¨¼ì²âÑÕÉ« EM_WORKCLOTHES_COLOR_TYPE emColor; // Âí¼×ÑÕÉ«£¬DetectColorΪtrueʱÓÐЧ BYTE byReserved[64]; // ±£Áô×Ö½Ú }NET_WORK_VEST; // ¹¤×°ÌØÕ÷ÃèÊö typedef struct tagNET_WORK_CLOTHES_DESCRIPTION { NET_WORK_HELMET stuWorkHelmet; // °²È«Ã±¼ì²â NET_WORK_CLOTHES stuWorkClothes; // ¹¤×÷·þ¼ì²â NET_WORK_VEST stuWorkVest; // Âí¼×¼ì²â BYTE bReserved[512]; // ±£Áô×Ö½Ú }NET_WORK_CLOTHES_DESCRIPTION; // ʼþÀàÐÍEVENT_IVS_WORKCLOTHES_DETECT(¹¤×°(°²È«Ã±/¹¤×÷·þµÈ)¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_WORKCLOTHES_DETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 UINT nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø UINT nWorkClothesDescriptionCount; // ¹¤×°ÌØÕ÷ÃèÊöÊý×éµÄʵ¼Ê¸öÊý NET_WORK_CLOTHES_DESCRIPTION stuWorkClothesDescription[64]; // ¹¤×°ÌØÕ÷ÃèÊö,Êý×é×î´óÔªËØ64¸ö¡£ BYTE byReserved[1028]; // ±£Áô×Ö½Ú } CFG_WORKCLOTHES_DETECT_INFO; // ʼþÀàÐÍEVENT_IVS_AIRPORT_VEHICLE_DETECT(»ú³¡ÖÇÄܱ£ÕϳµÁ¾¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_AIRPORT_VEHICLE_DETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 UINT nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[20]; // ¼ì²âÇø BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_AIRPORT_VEHICLE_DETECT_INFO; // ʼþÀàÐÍEVENT_IVS_PIG_TEMP_DETECT(ÖÇ»ÛÑøÖ³ÖíÌåμì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PIG_TEMPERATURE_DETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î UINT nSensitivity; // ÁéÃô¶È, 1-10 UINT nMaxTemperatureNum; // ÖíÌåΰ´ÅÅÐò×î¸ßÌåθöÊý int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇø BYTE byReserved1[4]; // ²¹Æë BOOL bSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ÊÇ·ñÓÐЧ CFG_SIZEFILTER_INFO stuSizeFileter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷ BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_PIG_TEMPERATURE_DETECT_INFO; // ±¾×鳵λÅÅÁз½Ïò typedef enum tagEM_PARKING_DIRECTION { EM_PARKING_DIRECTION_UNKNOWN, // δ֪ EM_PARKING_DIRECTION_HORIZONTAL, // ºáÏò EM_PARKING_DIRECTION_VERTICAL, // ×ÝÏò } EM_PARKING_DIRECTION; // Í£³µ³µÎ»ÐÅÏ¢ typedef struct tagCFG_PARKING_INFO { int nID; // ³µÎ»ID£¬·¶Î§:[0,99] char szName[32]; // ³µÎ»Ãû³Æ int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò BYTE byReserved[512]; // ±£Áô×Ö½Ú } CFG_PARKING_INFO; // ÊÒÍâÍ£³µÎ»×éÐÅÏ¢ typedef struct tagCFG_PARKING_GROUP { EM_PARKING_DIRECTION emDirection; // ±¾×鳵λÅÅÁз½Ïò int nParkingNum; // Í£³µ³µÎ»¸öÊý CFG_PARKING_INFO stuParkingInfo[100]; // Í£³µ³µÎ»ÐÅÏ¢ BYTE byReserved[512]; // ±£Áô×Ö½Ú } CFG_PARKING_GROUP; // ʼþÀàÐÍ EVENT_IVS_PARKING_LOT_STATUS_DETECTION (ÊÒÍâÍ£³µÎ»×´Ì¬¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_PARKING_LOT_STATUS_DETECTION { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nReportInterval; // ±¨¸æÊ±¼ä¼ä¸ô, µ¥Î»Ã룬·¶Î§:[5,3600] int nConfirmTime; // Í£³µ×´Ì¬È·¶¨Ê±¼ä·§Öµ, µ¥Î»ÎªÃë, ·¶Î§:[0,20] BOOL bSubscribePicture; // ÊÇ·ñ¶©ÔÄͼƬ int nParkingGroupNumber; // ÊÒÍâÍ£³µÎ»×é¸öÊý CFG_PARKING_GROUP stuParkingGroup[100]; // ÊÒÍâÍ£³µÎ»×éÐÅÏ¢ BYTE byReserved[1024]; // ±£Áô×Ö½Ú } CFG_PARKING_LOT_STATUS_DETECTION; // ʼþÀàÐÍ EVENT_IVS_VEHICLE_COMPARE (ǰÖÇÄܼì²â+ºóÖÇÄܱȶÔ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_VEHICLE_COMPARE { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nLinkGroupNum; // Áª¶¯²¼¿Ø¸öÊý CFG_LINKGROUP_INFO stuLinkGroup[MAX_LINK_GROUP_NUM]; // Áª¶¯µÄ²¼¿Ø×é BYTE byReserved[1024]; // ±£Áô×Ö½Ú } CFG_VEHICLE_COMPARE; // ʼþÀàÐÍEVENT_IVS_HIGH_TOSS_DETECT(¸ß¿ÕÅ×Îï¼ì²â)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_HIGH_TOSS_DETECT_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î UINT nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[20]; // ¼ì²âÇø BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_HIGH_TOSS_DETECT_INFO; // À×´ï¹ýÂ˶ÔÏóÀàÐÍ typedef enum tagCFG_EM_RADAR_OBJECT_FILTER_TYPE { CFG_EM_RADAR_OBJECT_FILTER_UNKNOWN, // δ֪ CFG_EM_RADAR_OBJECT_FILTER_HUMAN, // ÈË CFG_EM_RADAR_OBJECT_FILTER_VEHICLE // ³µ }CFG_EM_RADAR_OBJECT_FILTER_TYPE; // À״ᆵ½äÏß±¨¾¯ÀàÐÍ typedef enum tagCFG_EM_RADAR_ALARM_TYPE { CFG_EM_RADAR_ALARM_UNKNOWN, // δ֪ CFG_EM_RADAR_ALARM_ALARM, // ±¨¾¯ CFG_EM_RADAR_ALARM_WARNING, // Ô¤¾¯ CFG_EM_RADAR_ALARM_SHIELD, // ÆÁ±Î }CFG_EM_RADAR_ALARM_TYPE; // Ä¿±êÏÞËÙÀàÐÍ typedef enum tagCFG_EM_SPEED_LIMIT_TYPE { CFG_EM_SPEED_LIMIT_TYPE_UNKNOWN, // δ֪ CFG_EM_SPEED_LIMIT_TYPE_BELOW, // µÍÓÚ CFG_EM_SPEED_LIMIT_TYPE_ABOVE, // ¸ßÓÚ CFG_EM_SPEED_LIMIT_TYPE_EQUAL, // µÈÓÚ }CFG_EM_SPEED_LIMIT_TYPE; // Ä¿±êÏÞËÙ¹ýÂËÆ÷ typedef struct CFG_MOVESPEED_FILTER { BOOL bEnable; // Ä¿±êÏÞËÙʹÄÜ CFG_EM_SPEED_LIMIT_TYPE emSpeedLimitType; // Ä¿±êÏÞËÙÀàÐÍ int nSpeedValue; // Ä¿±êÏÞËÙ£¬µ¥Î»0.01km/h BYTE byReserved[500]; // Ô¤Áô×Ö¶Î }CFG_MOVESPEED_FILTER; // ÎïÌå¹ýÂËÆ÷ typedef struct tagCFG_RADAR_OBJECT_FILTER { CFG_MOVESPEED_FILTER stuMoveSpeedFilter; // Ä¿±êÏÞËÙ¹ýÂËÆ÷ CFG_EM_RADAR_OBJECT_FILTER_TYPE emTypes[16]; // À×´ï¶ÔÏóÀàÐÍ int nTypeNum; // ¶ÔÏóµÄ¸öÊý£¬nTypeNumΪ0ʱ±íʾ²»¹ýÂË BYTE byReserved[992]; // Ô¤Áô×Ö¶Î }CFG_RADAR_OBJECT_FILTER; // ʼþÀàÐÍEVENT_IVS_RADAR_LINE_DETECTION(À״ᆵ½äÏß/°íÏß¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_RADAR_LINE_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectLineNum; // ¾¯½äÏ߶˵ã¸öÊý CFG_POLYLINE stuDetectLine[MAX_POLYGON_NUM]; // ¾¯½äÏß¡£ ÕÛÏßÀàÐÍ£¬ÕÛÏßÖÐÿ¸ö¶ËµãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£ CFG_RADAR_OBJECT_FILTER stuObjectFilter; // ÎïÌå¹ýÂËÆ÷ EM_CFG_DIRECTION_TYPE emDirection; // ¼ì²â·½Ïò CFG_SIZEFILTER_INFO stuSizeFilter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷£¬ÎªÌá¸ß¹æÔòÅжϾ«¶È BOOL bSizeFilterEnable; // ³ß´ç¹ýÂËÆ÷ʹÄÜ BYTE byReserved[4092]; // ±£Áô×Ö½Ú } CFG_RADAR_LINE_DETECTION_INFO; // ÇøÓò´©Ô½·½Ïò typedef enum tagCFG_EM_CROSS_DIRECTION_TYPE { CFG_EM_CROSS_DIRECTION_UNKNOWN, // δ֪ CFG_EM_CROSS_DIRECTION_ENTER, // ½øÈë CFG_EM_CROSS_DIRECTION_LEAVE, // À뿪 CFG_EM_CROSS_DIRECTION_BOTH, // ½øÈëÀ뿪 }CFG_EM_CROSS_DIRECTION_TYPE; // ʼþÀàÐÍEVENT_IVS_RADAR_REGION_DETECTION(À״ᆵ½äÇø¼ì²âʼþ)¶ÔÓ¦µÄ¹æÔòÅäÖà typedef struct tagCFG_RADAR_REGION_DETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû BOOL bRuleEnable; // ¹æÔòʹÄÜ int nObjectTypeNum; // ÏàÓ¦ÎïÌåÀàÐ͸öÊý char szObjectTypes[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ÏàÓ¦ÎïÌåÀàÐÍÁбí CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î int nPtzPresetId; // ÔÆÌ¨Ô¤Öõã±àºÅ 0~65535 int nDetectRegionNum; // ¾¯½äÇø¶Ëµã¸öÊý CFG_POLYLINE stuDetectRegion[MAX_POLYGON_NUM]; // ¾¯½äÇø£¬ ¶à±ßÐÎÀàÐÍ£¬¶à±ßÐÎÖÐÿ¸ö¶ËµãµÄ×ø±ê¹éÒ»»¯µ½[0,8192)Çø¼ä¡£ CFG_RADAR_OBJECT_FILTER stuObjectFilter; // ÎïÌå¹ýÂËÆ÷ CFG_EM_CROSS_DIRECTION_TYPE emDirection; // ¼ì²â·½Ïò CFG_EM_RADAR_ALARM_TYPE emAlarmType; // ±¨¾¯ÀàÐÍ EM_VIDEO_ANALYSE_ACTION_TYPE emActions[MAX_ACTION_LIST_SIZE]; // Ö§³ÖµÄ¼ì²âÎïÌ嶯×÷Áбí int nActionNum; // ¶¯×÷ÁбíÔªËØµÄ¸öÊý BOOL bSizeFilterEnable; // ³ß´ç¹ýÂËÆ÷ʹÄÜ CFG_SIZEFILTER_INFO stuSizeFilter; // ¹æÔòÌØ¶¨µÄ³ß´ç¹ýÂËÆ÷£¬ÎªÌá¸ß¹æÔòÅжϾ«¶È BYTE byReserved[4096]; // ±£Áô×Ö½Ú } CFG_RADAR_REGION_DETECTION_INFO; // ¹æÔòͨÓÃÐÅÏ¢ typedef struct tagCFG_RULE_COMM_INFO { BYTE bRuleId; // ¹æÔò±àºÅ EM_SCENE_TYPE emClassType; // ¹æÔòËùÊôµÄ³¡¾° BYTE bReserved[512]; // ±£Áô×Ö½Ú }CFG_RULE_COMM_INFO; typedef struct tagCFG_RULE_INFO { DWORD dwRuleType; // ʼþÀàÐÍ£¬Ïê¼ûdhnetsdk.hÖÐ"ÖÇÄÜ·ÖÎöʼþÀàÐÍ" int nRuleSize; // ¸ÃʼþÀàÐ͹æÔòÅäÖýṹÌå´óС CFG_RULE_COMM_INFO stuRuleCommInfo; // ¹æÔòͨÓÃÐÅÏ¢ } CFG_RULE_INFO; // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄËùÓÐʼþ¹æÔò£º»º³åÇøpRuleBufÌî³ä¶à¸öʼþ¹æÔòÐÅÏ¢£¬Ã¿¸öʼþ¹æÔòÐÅÏ¢ÄÚÈÝΪCFG_RULE_INFO+"ʼþÀàÐͶÔÓ¦µÄ¹æÔòÅäÖýṹÌå"¡£ typedef struct tagCFG_ANALYSERULES_INFO { int nRuleCount; // ʼþ¹æÔò¸öÊý char* pRuleBuf; // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄÊÓÆµ·ÖÎöʼþ¹æÔòÅäÖûº³å int nRuleLen; // »º³å´óС } CFG_ANALYSERULES_INFO; // ÊÓÆµ·ÖÎö×ÊÔ´ÀàÐÍ typedef enum tagCFG_VIDEO_SOURCE_TYPE { CFG_VIDEO_SOURCE_REALSTREAM, // ʵʱÁ÷ CFG_VIDEO_SOURCE_FILESTREAM, // ÎļþÁ÷ }CFG_VIDEO_SOURCE_TYPE; // ·ÖÎöÔ´ÎļþÀàÐÍ typedef enum tagCFG_SOURCE_FILE_TYPE { CFG_SOURCE_FILE_UNKNOWN, // δ֪ÀàÐÍ CFG_SOURCE_FILE_RECORD, // ¼ÏñÎļþ CFG_SOURCE_FILE_PICTURE, // ͼƬÎļþ }CFG_SOURCE_FILE_TYPE; // ÊÓÆµ·ÖÎöÔ´ÎļþÐÅÏ¢ typedef struct tagCFG_SOURCE_FILE_INFO { char szFilePath[MAX_PATH]; // Îļþ·¾¶ CFG_SOURCE_FILE_TYPE emFileType; // ÎļþÀàÐÍ£¬Ïê¼ûCFG_SOURCE_FILE_TYPE }CFG_SOURCE_FILE_INFO; // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄÊÓÆµ·ÖÎö×ÊÔ´ÅäÖÃÐÅÏ¢ typedef struct tagCFG_ANALYSESOURCE_INFO { bool bEnable; // ÊÓÆµ·ÖÎöʹÄÜ BYTE bReserved[3]; // ±£Áô¶ÔÆë int nChannelID; // ÖÇÄÜ·ÖÎöµÄǰ¶ËÊÓÆµÍ¨µÀºÅ int nStreamType; // ÖÇÄÜ·ÖÎöµÄǰ¶ËÊÓÆµÂëÁ÷ÀàÐÍ£¬0:ץͼÂëÁ÷; 1:Ö÷ÂëÁ÷; 2:×ÓÂëÁ÷1; 3:×ÓÂëÁ÷2; 4:×ÓÂëÁ÷3; 5:ÎïÌåÁ÷ char szRemoteDevice[MAX_NAME_LEN]; // É豸Ãû BOOL abDeviceInfo; // É豸ÐÅÏ¢ÊÇ·ñÓÐЧ AV_CFG_RemoteDevice stuDeviceInfo; // É豸ÐÅÏ¢ CFG_VIDEO_SOURCE_TYPE emSourceType; // ÊÓÆµ·ÖÎöÔ´ÀàÐÍ£¬Ïê¼ûCFG_VIDEO_SOURCE_TYPE CFG_SOURCE_FILE_INFO stuSourceFile; // µ±ÊÓÆµ·ÖÎöÔ´ÀàÐÍΪCFG_VIDEO_SOURCE_FILESTREAMʱ£¬ÓÐЧ } CFG_ANALYSESOURCE_INFO; //ÊÓÆµ·ÖÎöÕûÌåÅäÖã¬Ó°ÏìÉ豸»ò·þÎñÆ÷ÕûÌåÐÐΪ typedef struct tagCFG_ANALYSEWHOLE_INFO { unsigned int nVideoChannelType; // ÊÓÆµÍ¨µÀÀàÐÍÑ¡Ôñ 0:Êý×Ö£¬1;Ä£Ä⣬2:Êý×ÖºÍÄ£Äâ }CFG_ANALYSEWHOLE_INFO; typedef struct tagCFG_RAINBRUSH_INFO { bool bEnable; // ÓêˢʹÄÜ BYTE bSpeedRate; // ÓêË¢ËÙ¶È,1:¿ìËÙ;2:ÖÐËÙ;3:ÂýËÙ BYTE bReserved[2]; // ±£Áô¶ÔÆë CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î int nInterval; // ÓêË¢Ô˶¯¼ä¸ôʼþ, µ¥Î»: Ãë BOOL bProtectEnable; // ÓêË¢±£»¤Ê¹ÄÜ: true ±£»¤¿ªÆô, false ±£»¤¹Ø±Õ int nProtectTime; // ±£»¤Ê±¼ä, µ¥Î»: Ãë }CFG_RAINBRUSH_INFO; // BreakingSnapTimes typedef struct tagBREAKINGSNAPTIMES_INFO { int nNormal; // Õý³£ int nRunRedLight; // ´³ºìµÆ int nOverLine; // ѹÏß int nOverYellowLine; // ѹ»ÆÏß int nRetrograde; // ÄæÏò int nUnderSpeed; // Ç·ËÙ int nOverSpeed; // ³¬ËÙ int nWrongRunningRoute; // ÓгµÕ¼µÀ int nYellowInRoute; // »ÆÅÆÕ¼µÀ int nSpecialRetrograde; // ÌØÊâÄæÐÐ int nTurnLeft; // Î¥ÕÂ×óת int nTurnRight; // Î¥ÕÂÓÒת int nCrossLane; // Î¥Õ±äµÀ int nU_Turn; // Î¥Õµ÷Í· int nParking; // Î¥ÕÂÍ£³µ int nWaitingArea; // Î¥Õ½øÈë´ýÐÐÇø int nWrongRoute; // ²»°´³µµÀÐÐÊ» int nParkingSpaceParking; // ³µÎ»Óгµ int nParkingSpaceNoParking; // ³µÎ»ÎÞ³µ int nRunYellowLight; // ´³»ÆµÆ int nStay; // Î¥ÕÂÍ£Áô int nPedestrainPriority; // °ßÂíÏßÐÐÈËÓÅÏÈÎ¥Õ int nVehicleInBusRoute; // Î¥ÕÂÕ¼µÀ int nBacking; // Î¥Õµ¹³µ int nOverStopLine; // ѹֹͣÏß int nParkingOnYellowBox; // »ÆÍø¸ñÏßÍ£³µ int nRestrictedPlate; // ÊÜÏÞ³µÅÆ int nNoPassing; // ½ûÐÐ int nWithoutSafeBelt; // ²»Ïµ°²È«´ø int nDriverSmoking; // ¼ÝʻԱ³éÑÌ int nDriverCalling; // ¼ÝʻԱ´òµç»° int nPedestrianRunRedLight; // ÐÐÈË´³ºìµÆ int nPassNotInOrder; // δ°´¹æ¶¨ÒÀ´ÎͨÐÐ }BREAKINGSNAPTIMES_INFO; //OSDºÚ±ß typedef struct tagBLACK_REGION_INFO { int nHeight; //ºÚ±ß¸ß¶È ȡֵ·¶Î§£º0 ~ ( 8192-ԭͼƬ¸ß¶È) int nOSDPosition; //ºÚ±ßλÖà 0=δ֪ , 1=¶¥²¿ , 2=µ×²¿ }BLACK_REGION_INFO; #define MAX_OSD_CUSTOM_SORT_NUM 8 #define MAX_OSD_CUSTOM_SORT_ELEM_NUM 8 #define MAX_OSD_CUSTOM_GENERAL_NUM 8 #define MAX_OSD_ITEM_ATTR_NUM 8 #define MAX_PRE_POX_STR_LEN 32 #define MAX_OSD_CUSTOM_NAME_LEN 32 #define MAX_OSD_CUSTOM_VALUE_LEN 256 //È«ÌåOSDÏî¹²ÓÃÊôÐÔ typedef struct tagOSD_WHOLE_ATTR { BOOL bPositionAsBlackRegion; //λÖÃÊÇ·ñͬºÚ±ßÏàͬ,trueʱ£¬ÏÂÃæµÄPositionÎÞЧ CFG_RECT stPostion; //λÖÃ,²»Äܳ¬¹ýͼƬ·¶Î§ BOOL bNewLine; //³¬³ö¾ØÐη¶Î§ÊÇ·ñ»»ÐÐ,bPositionAsBlackRegionΪtrueʱÓÐЧ BOOL bLoneVehicle; //³µÁ¾ÐÅÏ¢¶ÀÁ¢ÏÔʾ,true Ò»ÐÐÏÔʾһÁ¾³µÐÅÏ¢,false ÔÊÐí¶àÁ¾³µÐÅÏ¢ÏÔʾÔÚÒ»ÐÐ }OSD_WHOLE_ATTR; typedef union tagOSD_ATTR_SCHEME { OSD_WHOLE_ATTR stWholeAttr; }OSD_ATTR_SCHEME; //OSD¾ßÌåµþ¼ÓÔªËØ typedef struct tagOSD_CUSTOM_ELEMENT { int nNameType; //Ãû³ÆÀàÐÍ, 0:szName×ֶκ¬Òå²ÎÕÕszOSDOrder×ֶζ¨ÒåµÄÏî // 1:"Name"×ֶαíʾ×Ô¶¨ÒåÏÎÞÐè½âÎö char szName[MAX_OSD_CUSTOM_VALUE_LEN]; // ¸ÃÏîÃû³Æ char szPrefix[MAX_PRE_POX_STR_LEN]; // µþ¼Óǰ׺×Ö·û´® char szPostfix[MAX_PRE_POX_STR_LEN]; //µþ¼Óºó׺×Ö·û´® int nSeperaterCount; //ºóÃæÌí¼Ó·Ö¸ô·û¸öÊý }OSD_CUSTOM_ELEMENT; //OSDµþ¼ÓÄÚÈÝ×Ô¶¨ÒåÅÅÐò typedef struct tagOSD_CUSTOM_SORT { OSD_CUSTOM_ELEMENT stElements[MAX_OSD_CUSTOM_SORT_ELEM_NUM]; //¾ßÌåµþ¼ÓÔªËØ int nElementNum; }OSD_CUSTOM_SORT; typedef struct tagOSD_CUSTOM_GENERAL_INFO { BOOL bEnable; //ÊÇ·ñµþ¼Ó }OSD_CUSTOM_GENERAL_INFO; //OSD×Ô¶¨ÒåÏî typedef struct tagOSD_CUSTOM_INFO { OSD_CUSTOM_GENERAL_INFO stGeneralInfos[MAX_OSD_CUSTOM_GENERAL_NUM]; //¾ßÌåµþ¼ÓÔªËØ int nGeneralInfoNum; }OSD_CUSTOM_INFO; #define MAX_CONF_CHAR 256 //OSDÊôÐÔ typedef struct tagOSD_INFO { BLACK_REGION_INFO stBackRegionInfo; //OSDºÚ±ßÊôÐÔ int nOSDAttrScheme; //OSDÊôÐÔÅäÖ÷½°¸ 0=δ֪ , 1=È«ÌåOSDÏî¹²ÓÃÊôÐÔ , 2=ÿ¸öOSDÏîÒ»¸öÊôÐÔ OSD_ATTR_SCHEME stOSDAttrScheme; //OSDÊôÐÔÅäÖ÷½°¸ÄÚÈÝ OSD_CUSTOM_SORT stOSDCustomSorts[MAX_OSD_CUSTOM_SORT_NUM]; //OSDµþ¼ÓÄÚÈÝ×Ô¶¨ÒåÅÅÐò int nOSDCustomSortNum; int nRedLightTimeDisplay; //OSDºìµÆÊ±¼äÅäÖà 0=δ֪,1=Î¥·¨×îºóÒ»ÕÅ,2=ËùÓÐÕÅ char cSeperater; //OSD²»Í¬ÏîÖ®¼äµÄ·Ö¸ô·û BYTE bReserved[3]; //×Ö½Ú¶ÔÆë char szOSDOrder[MAX_CONF_CHAR]; int nOSDContentScheme; //0=δ֪, 1=Mask , 2=CustomizeSort OSD_CUSTOM_INFO stOSDCustomInfo; //OSD×Ô¶¨ÒåÏî }OSD_INFO; // Detector -- BEGIN // CoilConfig typedef struct tagCOILCONFIG_INFO { int nDelayFlashID; // ÑÓʱÉÁ¹âµÆÐòºÅ ÿ¸öÏßȦ¶ÔÓ¦µÄÑÓʱÉÁ¹ØµÆÐòºÅ£¬·¶Î§0~5£¬0±íʾ²»ÑÓʱÈκÎÉÁ¹âµÆ int nFlashSerialNum; // ÉÁ¹âµÆÐòºÅ ·¶Î§0~5£¬0±íʾ²»´ò¿ªÉÁ¹âµÆ£¨Û´ÖÝÏîÄ¿Óã© int nRedDirection; // ºìµÆ·½Ïò ÿ¸öÏßȦ¶ÔÓ¦µÄºìµÆ·½Ïò£º0-²»¹ØÁª,1-×óתºìµÆ,2-Ö±ÐÐºìµÆ,3-ÓÒתºìµÆ,4-´ý×ó,5-´ýÖ±,6-´ýÓÒ, Ö»Ôڵ羯ÖÐÓÐЧ int nTriggerMode ; // ÏßȦ´¥·¢Ä£Ê½ ´¥·¢Ä£Ê½£º0-ÈëÏßȦ´¥·¢1-³öÏßȦ´¥·¢£¨Û´ÖÝÏîÄ¿Óã© int nFlashSerialNum2; //¶à×¥µÚ¶þÕŶÔÓ¦ÉÁ¹âµÆÐòºÅ ·¶Î§0~5£¬0±íʾ²»´ò¿ªÉÁ¹âµÆ int nFlashSerialNum3; //¶à×¥µÚÈýÕŶÔÓ¦ÉÁ¹âµÆÐòºÅ ·¶Î§0~5£¬0±íʾ²»´ò¿ªÉÁ¹âµÆ }COILCONFIG_INFO; // ÏßȦӳÉä typedef struct tagCOIL_MAP_INFO { UINT nPhyCoilID; // ÎïÀíÏßȦºÅ UINT nLogicCoilID; // Âß¼­ÏßȦºÅ }COIL_MAP_INFO; typedef struct tagDETECTOR_INFO { int nDetectBreaking; // Î¥ÕÂÀàÐÍÑÚÂë ´ÓµÍλµ½¸ßλÒÀ´ÎÊÇ£º0-Õý³£1-´³ºìµÆ2-ѹÏß3-ÄæÐÐ4-Ç·ËÙ5-³¬ËÙ6-ÓгµÕ¼µÀ // 7-»ÆÅÆÕ¼µÀ 8-´³»ÆµÆ 9-Î¥ÕÂÕ¼¹«½»³µµÀ 10-²»Ïµ°²È«´ø 11-¼ÝʻԱ³éÑÌ 12-¼ÝʻԱ´òµç»° COILCONFIG_INFO arstCoilCfg[MAX_COILCONFIG]; // ÏßȦÅäÖÃÊý×é int nRoadwayNumber; // ³µµÀºÅ 1-16 ; 0±íʾ²»ÆôÓà int nRoadwayDirection; // ³µµÀ·½Ïò£¨³µ¿ªÍùµÄ·½Ïò£© 0-ÄÏÏò±± 1-Î÷ÄÏÏò¶«±± 2-¶« 3-Î÷±±Ïò¶«ÄÏ 4-±±ÏòÄÏ 5-¶«±±ÏòÎ÷ÄÏ 6-¶«ÏòÎ÷ 7-¶«ÄÏÏòÎ÷±± 8-ºöÂÔ int nRedLightCardNum; // ¿¨¿ÚͼƬÐòºÅ ±íʾ½«µç¾¯ÖеÄijһÕÅͼƬ×÷Ϊ¿¨¿ÚͼƬ£¨¹²ÈýÕÅ£©£¬0±íʾ²»²ÉÓã¬1~3,±íʾ²ÉÓöÔÓ¦ÐòºÅµÄͼƬ int nCoilsNumber; // ÏßȦ¸öÊý 1-3 int nOperationType; // ÒµÎñģʽ 0-¿¨¿Úµç¾¯1-µç¾¯2-¿¨¿Ú int arnCoilsDistance[3]; // Á½Á½ÏßȦµÄ¼ä¸ô ·¶Î§0-1000£¬µ¥Î»ÎªÀåÃ× int nCoilsWidth; // ÿ¸öÏßȦµÄ¿í¶È 0~200cm int arnSmallCarSpeedLimit[2]; // СÐͳµÁ¾ËÙ¶ÈÏÂÏÞºÍÉÏÏÞ 0~255km/h£¬²»ÆôÓôóС³µÏÞËÙʱ×÷ΪÆÕͨ³µÁ¾ÏÞËÙ int arnBigCarSpeedLimit[2]; // ´óÐͳµÁ¾ËÙ¶ÈÏÂÏÞºÍÉÏÏÞ 0~255km/h£¬ÆôÓôóС³µÏÞËÙʱÓÐЧ int nOverSpeedMargin; // ÏÞ¸ßËÙ¿íÏÞÖµ µ¥Î»£ºkm/h int nBigCarOverSpeedMargin; // ´ó³µÏÞ¸ßËÙ¿íÏÞÖµ µ¥Î»£ºkm/h£¬ÆôÓôóС³µÏÞËÙʱÓÐЧ int nUnderSpeedMargin; // ÏÞµÍËÙ¿íÏÞÖµ µ¥Î»£ºkm/h int nBigCarUnderSpeedMargin; // ´ó³µÏÞµÍËÙ¿íÏÞÖµ µ¥Î»£ºkm/h£¬ÆôÓôóС³µÏÞËÙʱÓÐЧ bool bSpeedLimitForSize; // ÊÇ·ñÆôÓôóС³µÏÞËÙ bool bMaskRetrograde; // ÄæÐÐÊÇ·ñÊÓΪΥÕÂÐÐΪ BYTE byReserved[2]; // ±£Áô¶ÔÆë char szDrivingDirection[3][MAX_DRIVINGDIRECTION]; // // "DrivingDirection" : ["Approach", "ÉϺ£", "º¼ÖÝ"],ÐÐÊ»·½Ïò // "Approach"-ÉÏÐУ¬¼´³µÁ¾ÀëÉ豸²¿ÊðµãÔ½À´Ô½½ü£»"Leave"-ÏÂÐУ¬ // ¼´³µÁ¾ÀëÉ豸²¿ÊðµãÔ½À´Ô½Ô¶£¬µÚ¶þºÍµÚÈý¸ö²ÎÊý·Ö±ð´ú±íÉÏÐÐºÍ // ÏÂÐеÄÁ½¸öµØµã£¬UTF-8±àÂë int nOverPercentage; // ³¬Ëٰٷֱȣ¬³¬¹ýÏÞËٰٷֱȺó×¥ÅÄ int nCarScheme; // ¾ßÌåµÄ·½°¸Index,¾ßÌå·½°¸º¬Òå²Î²Î¿¼´ò°ü»·¾³local.png;¸ù¾ÝCFG_TRAFFICSNAPSHOT_INFO.abSchemeRange×Ö¶ÎÇø·Ö×÷Ó÷¶Î§ int nSigScheme; // ͬÉÏ£¬·Ç¿¨¿ÚʹÓà BOOL bEnable; // ³µµÀÊÇ·ñÓÐЧ£¬Ö»ÓÐÓÐЧʱ²Å×¥ÅÄ int nYellowSpeedLimit[2]; //»ÆÅƳµÏÞËÙÉÏÏÞºÍÏÂÏÞ ·¶Î§0~255km/h int nRoadType; //¹¤×÷·¶Î 0 ÆÕͨ¹«Â· 1 ¸ßËÙ¹«Â· int nSnapMode; //×¥ÅÄģʽ 0-È«²¿×¥ÅÄ 1-³¬ËÙ×¥ÅÄ 2-ÄæÏò×¥ÅÄ£¨Û´ÖÝÏîÄ¿Óã© int nDelayMode; //ÑÓʱץÅÄ·½°¸ 0-ʹDelaySnapshotDistance£¬1-ʹÓÃDelayTime int nDelayTime; //ÑÓʱץÅÄʱ¼ä ´³ºìµÆµÚÈýÕÅ×¥ÅÄλÖþàÀë×îºóÒ»¸öÏßȦµÄʱ¼ä£¬µ¥Î»ºÁÃë int nTriggerMode; //´¥·¢Ä£Ê½ 0-ÈëÏßȦ´¥·¢ 1-³öÏßȦ´¥·¢ 2-³öÈë¶¼×¥ÅÄ 3-¹Ø±Õ int nErrorRange; //ËÙ¶ÈÎó²îÖµ£¬½øÏßȦ2Óë½øÏßȦ3Ö®¼äµÄËÙ¶ÈÎó²îÖµ£¬Èôʵ¼ÊÎó²î´óÓÚ»òµÈÓÚ¸ÃÖµ£¬ÊÓËÙ¶ÈÎÞЧ£¬·ñÔòȡƽ¾ùËÙ¶È 0-20 double dSpeedCorrection; //ËÙ¶ÈУÕýϵÊý£¬¼´ËÙ¶ÈֵΪ²â³öµÄÖµ³ËÒÔ¸ÃϵÊý int nDirection[2]; //Ïà¶Ô³µµÀ·½ÏòÐèÒªÉϱ¨³µÁ¾ÐÐÊ»·½Ïò,nDirection[0] 0--¿Õ 1--ÕýÏò ; nDirection[1] 0--¿Õ 1--·´Ïò char szCustomParkNo[CFG_COMMON_STRING_32 + 1]; // ×Ô¶¨Ò峵λºÅ£¨Í£³µ³¡Óã© BYTE btReserved[3]; int nCoilMap; // ÓжàÉÙ¶ÔÏßȦӳÉä¹ØÏµ COIL_MAP_INFO stuCoilMap[16]; // ÏßȦºÅÓ³Éä¹ØÏµ }DETECTOR_INFO; // Detector -- END typedef struct tagRADAR_INFO { int nAngle; //½Ç¶È,ÓÃÓÚÐÞÕýÀ×´ï̽ͷ°²×°µÄ½Ç¶ÈÔì³ÉµÄËÙ¶ÈÎó²î,·¶Î§[0,90] int nAntiJammingValue; //¿¹¸ÉÈÅÃż÷Öµ int nComeInValue; //À´Ïò½øÈëÃż÷Öµ,ȡֵ·¶Î§[0,65535] int nComeOutValue; //À´ÏòÀ뿪Ãż÷Öµ int nDelayTime; //À×´ïÑÓʱ,µ¥Î»ms£¬·¶Î§[0,255] DWORD nDetectBreaking; //Î¥ÕÂÀàÐÍÑÚÂë,´ÓµÍλµ½¸ßλÒÀ´ÎÊÇ: //0-Õý³£,1-´³ºìµÆ, 2-ѹÏß, 3-ÄæÐÐ,4-Ç·ËÙ //5-³¬ËÙ,6-ÓгµÕ¼µÀ,7-»ÆÅÆÕ¼µÀ,8-´³»ÆµÆ,9-Î¥ÕÂÕ¼¹«½»³µµÀ int nDetectMode; //¼ì²âģʽ 0-³µÍ·¼ì²â 1-³µÎ²¼ì²â 2-Ë«Ïò¼ì²â int nInstallMode; //À×´ï°²×°·½Ê½ 0-²àÃæ°²×° 1-ÉÏ·½°²×° int nLevel; //ÁéÃô¶È,0¼¶ÁéÃô¶È×î¸ß,·¶Î§[0,5] int nMultiTargetFilter; //¶àÄ¿±ê¹ýÂËģʽ,0-Õý³£ 1-¹ýÂË int nWentEndValue; //È¥ÏòÐźŽáÊøÃż÷Öµ int nWentInValue; //È¥Ïò½øÈëÃż÷Öµ int nWentOutValue; //È¥ÏòÀ뿪Ãż÷Öµ }RADAR_INFO; // CFG_CMD_INTELLECTIVETRAFFIC typedef struct tagCFG_TRAFFICSNAPSHOT_INFO { char szDeviceAddress[MAX_DEVICE_ADDRESS]; // É豸µØÖ· UTF-8±àÂ룬256×Ö½Ú DWORD nVideoTitleMask; // OSDµþ¼ÓÀàÐÍÑÚÂë ´ÓµÍλµ½¸ßλ·Ö±ð±íʾ£º0-ʱ¼ä 1-µØµã 2-³µÅÆ3-³µ³¤ 4-³µËÙ 5-ÏÞËÙ6-´ó³µÏÞËÙ 7-С³µÏÞËÙ8-³¬ËÙ 9-Î¥·¨´úÂë10-³µµÀºÅ 11-³µÉíÑÕÉ« 12-³µÅÆÀàÐÍ 13-³µÅÆÑÕÉ«14-ºìµÆµãÁÁʱ¼ä 15-Î¥ÕÂÀàÐÍ 16-À×´ï·½Ïò 17-É豸±àºÅ 18-±ê¶¨µ½ÆÚʱ¼ä 19-³µÐÍ 20-ÐÐÊ»·½Ïò int nRedLightMargin; // ºìµÆÈßÓà¼ä¸ôʱ¼ä ºìµÆ¿ªÊ¼µÄÒ»¶Îʱ¼äÄÚ£¬³µÁ¾Í¨Ðв»Ëã´³ºìµÆ£¬µ¥Î»£ºÃë float fLongVehicleLengthLevel; // ³¬³¤³µ³¤¶È×îСãÐÖµ µ¥Î»£ºÃ×£¬°üº¬ float arfLargeVehicleLengthLevel[2]; // ´ó³µ³¤¶ÈãÐÖµ µ¥Î»£ºÃ×£¬°üº¬Ð¡Öµ float arfMediumVehicleLengthLevel[2]; // ÖÐÐͳµ³¤¶ÈãÐÖµ µ¥Î»£ºÃ×£¬°üº¬Ð¡Öµ float arfSmallVehicleLengthLevel[2]; // С³µ³¤¶ÈãÐÖµ µ¥Î»£ºÃ×£¬°üº¬Ð¡Öµ float fMotoVehicleLengthLevel; // ĦÍгµ³¤¶È×î´óãÐÖµ µ¥Î»£ºÃ×£¬²»°üº¬ BREAKINGSNAPTIMES_INFO stBreakingSnapTimes; // Î¥ÕÂ×¥ÅÄÕÅÊý DETECTOR_INFO arstDetector[MAX_DETECTOR]; // ³µ¼ìÆ÷ÅäÖã¬Ï±êÊdzµµÀºÅ int nCarType; // ×¥ÅijµÁ¾ÀàÐÍ 0-´óС³µ¶¼×¥ÅÄ1-×¥ÅÄС³µ2-×¥ÅÄ´ó³µ3-´óС³µ¶¼²»×¥ÅÄ int nMaxSpeed; // µ±²âµÃµÄËٶȳ¬¹ý×î´óËÙ¶Èʱ£¬ÔòÒÔ×î´óËÙ¶È¼Æ 0~255km/h int nFrameMode; // Ö¡¼ä¸ôģʽ 1-ËÙ¶È×ÔÊÊÓ¦£¨³¬¹ýËÙ¶ÈÉÏÏÞÈ¡0¼ä¸ô£¬µÍÓÚËÙ¶ÈÏÂÏÞÈ¡2¼ä¸ô£¬ÖмäÈ¡1¼ä¸ô£©2-ÓÉÁª¶¯²ÎÊý¾ö¶¨ int arnAdaptiveSpeed[2]; // ËÙ¶È×ÔÊÊÓ¦ÏÂÏÞºÍÉÏÏÞ CFG_ALARM_MSG_HANDLE stuEventHandler; // ½»Í¨×¥ÅÄÁª¶¯²ÎÊý BOOL abSchemeRange; // TRUE:·½°¸Õë¶ÔÏà»ú,ÒÔ³µµ½0µÄֵΪ׼;FALSE:·½°¸Õë¶Ô³µµÀ¡£²»¿ÉÒÔÐ޸ĴË×Ö¶ÎÊý¾Ý, Ö»ÄÚ²¿Ê¹Óà DWORD nVideoTitleMask1; // ´ÓµÍλµ½¸ßλ·Ö±ð±íʾ£º0-³µ±ê 1-ºìµÆ½áÊøÊ±¼ä 2-Éè±¸ÖÆÔì³§ÉÌ 3-С³µµÍÏÞËÙ 4-´ó³µµÍÏÞËÙ 5-С³µ¸ßÏÞËÙ 6-´ó³µ¸ßÏÞËÙ 7-É豸¹¤×÷ģʽ 8-ͨÓÃ×Ô¶¨Òå 9-³µµÀ×Ô¶¨Òå 10-×¥ÅÄ´¥·¢Ô´ 11-Í£³µ³¡ÇøÓò12-³µÁ¾ÀàÐÍ(Ãæ°ü³µ¡¢½Î³µµÈµÈ) 13-ÖгµµÍÏÞËÙ 14-Öгµ¸ßÏÞËÙ 15-µÀ··½Ïò 16-GPSÐÅÏ¢ DWORD nMergeVideoTitleMask; // ºÏ³ÉͼƬOSDµþ¼ÓÀàÐÍÑÚÂë ²ÎÕÕnVideoTitleMask×Ö¶Î DWORD nMergeVideoTitleMask1; // ºÏ³ÉͼƬOSDµþ¼ÓÀàÐÍÑÚÂë ²ÎÕÕnVideoTitleMask1×Ö¶Î int nTriggerSource; // ´¥·¢Ô´ÑÚÂë 0-RS232 1-RS485 2-IO 3-Video 4-Net int nSnapMode; // ×¥ÅÄģʽ 0-È«²¿×¥ÅÄ 1-³¬ËÙ×¥ÅÄ 2-ÄæÏò×¥ÅÄ 3-PKģʽ int nWorkMode; // ¹¤×÷ģʽ 0-×Ô¶¯Ä£Ê½£¬1-ÏßȦץÅÄģʽ£¬2-ÏßȦץÅÄʶ±ð£¬3-ÊÓÆµ×¥ÅÄ£¬4-ÊÓÆµÊ¶±ð, 5-»ìºÏ×¥ÅÄ£¨´øÊ¶±ð£© int nCarThreShold; // ³µ³¤ãÐÖµ Çø·Ö´óС³µ³¤µÄãÐÖµ£¬µ¥Î»: cm int nSnapType; // ×¥ÅÄ»òץ¼ѡÔñ 0-Õý³£×¥ÅÄģʽ 1-ÊÓÆµ×¥ÅÄģʽ 2-ºÚÆÁ¿ìץģʽ int nCustomFrameInterval[3]; // ×Ô¶¨Òå×¥ÅÄÖ¡¼ä¸ô µÚÒ»¸öÔªËØÖ¸³µËÙСÓÚËÙ¶È×ÔÊÊÓ¦ÏÂÏÞʱµÄ×¥ÅÄÖ¡¼ä¸ô£¬ÒÀ´ÎÀàÍÆ int nKeepAlive; // ÓëÀ×´ï¡¢³µ¼ìÆ÷µÄĬÈϱ£»îÖÜÆÚ µ¥Î»Ãë OSD_INFO stOSD; // ԭʼͼƬOSD²ÎÊýÅäÖà OSD_INFO stMergeOSD; // ºÏ³ÉͼƬOSD²ÎÊýÅäÖà CFG_NET_TIME stValidUntilTime; // ±ê¶¨µ½ÆÚʱ¼ä£¬Ö¸¸Ãʱ¼äµã֮ǰץÅÄÕÕÆ¬ÓÐЧ RADAR_INFO stRadar; char szRoadwayCode[MAX_ROADWAYNO]; // µÀ·´úÂë DWORD nVideoTitleMask2; // ԭʼͼƬOSDµþ¼ÓÀàÐÍÑÚÂë2 ´ÓµÍλµ½¸ßλ·Ö±ð±íʾ£º0-¹ú±ð 1-Î²ÆøÊý¾Ý DWORD nMergeVideoTitleMask2; // ºÏ³ÉͼƬOSDµþ¼ÓÀàÐÍÑÚÂë2 ²ÎÕÕnVideoTitleMask2×Ö¶Î int nParkType; // ³öÈë¿ÚÀàÐÍ£¬0-ĬÈÏ( ¼æÈÝÒÔǰ£¬²»Çø·Ö³ö¿Ú/Èë¿Ú )£¬1-Èë¿ÚÏà»ú£¬ 2-³ö¿ÚÏà»ú }CFG_TRAFFICSNAPSHOT_INFO; typedef struct tagCFG_TRAFFICSNAPSHOT_NEW_INFO { int nCount; // ÓÐЧ³ÉÔ±¸öÊý CFG_TRAFFICSNAPSHOT_INFO stInfo[8]; // ½»Í¨×¥ÅıíÊý×é }CFG_TRAFFICSNAPSHOT_NEW_INFO; // ½»Í¨×¥ÅÄ(CFG_CMD_TRAFFICSNAPSHOT_MULTI_EX) typedef struct tagCFG_TRAFFICSNAPSHOT_NEW_EX_INFO { CFG_TRAFFICSNAPSHOT_INFO* pstInfo; // ½»Í¨×¥ÅıíÖ¸Õ룬Óû§·ÖÅ䣬´óСΪsizeof(CFG_TRAFFICSNAPSHOT_INFO) * nMaxInfoNum int nMaxInfoNum; // Óû§·ÖÅäCFG_TRAFFICSNAPSHOT_INFO³ÉÔ±¸öÊý int nRetInfoNum; // »ñÈ¡²ÎÊýʱ±íʾ»ñÈ¡µ½CFG_TRAFFICSNAPSHOT_INFO³ÉÔ±¸öÊý }CFG_TRAFFICSNAPSHOT_NEW_EX_INFO; typedef struct tagCFG_DATA_TIME { DWORD dwYear; // Äê DWORD dwMonth; // Ô DWORD dwDay; // ÈÕ DWORD dwHour; // ʱ DWORD dwMinute; // ·Ö DWORD dwSecond; // Ãë DWORD dwReserved[2]; // ±£Áô×Ö¶Î } CFG_DATA_TIME; // ÆÕͨÅäÖà (CFG_CMD_DEV_GENERRAL) General typedef struct tagCFG_DEV_DISPOSITION_INFO { int nLocalNo; // ±¾»ú±àºÅ£¬Ö÷ÒªÓÃÓÚÒ£¿ØÆ÷Çø·Ö²»Í¬É豸 0~998 char szMachineName[256]; // »úÆ÷Ãû³Æ»ò±àºÅ char szMachineAddress[256]; // »úÆ÷²¿ÊðµØµã¼´µÀ·±àÂë char szMachineGroup[256]; // »úÆ÷·Ö×é»ò½ÐÉ豸ËùÊôµ¥Î» ĬÈÏΪ¿Õ£¬Óû§¿ÉÒÔ½«²»Í¬µÄÉ豸±àΪһ×飬±ãÓÚ¹ÜÀí£¬¿ÉÖØ¸´¡£ char szMachineID[64]; // »úÆ÷±àºÅ, ÁªÍøÆ½Ì¨ÄÚΨһ int nLockLoginTimes; // µÇ½ʧ°Ü¿É³¢ÊÔ´ÎÊý int nLoginFailLockTime; // µÇ½ʧ°ÜËø¶¨Ê±¼ä BOOL bLockLoginEnable; // µÇ½ʧ°Ü¿É³¢ÊÔ´ÎÊýʹÄÜ CFG_DATA_TIME stuActivationTime; // Æô¶¯Ê±¼ä BYTE bReserved[916]; // ±£Áô×Ö½Ú }CFG_DEV_DISPOSITION_INFO; typedef struct tagOVERSPEED_INFO { int nSpeedingPercentage[2]; // ³¬ËٰٷֱÈÇø¼äÒªÇóÇø¼ä²»ÄÜÖØµþ¡£ÓÐЧֵΪ0,ÕýÊý,-1£¬-1±íʾÎÞÇî´óÖµ // Èç¹ûÊÇÇ·ËÙ£ºÒªÇóÇø¼ä²»ÄÜÖØµþ¡£ÓÐЧֵΪ0,ÕýÊý,-1£¬-1±íʾÎÞÇî´óÖµ£¬Ç·ËٰٷֱȵļÆË㷽ʽ£ºÏÞµÍËÙ-ʵ¼Ê³µËÙ/ÏÞµÍËÙ char szCode[MAX_VIOLATIONCODE]; // Î¥Õ´úÂë char szDescription[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊö }CFG_OVERSPEED_INFO; typedef CFG_OVERSPEED_INFO CFG_OVERSPEED_HIGHWAY_INFO; typedef CFG_OVERSPEED_INFO CFG_UNDERSPEED_INFO; //ViolationCode Î¥Õ´úÂëÅäÖñí typedef struct tagVIOLATIONCODE_INFO { char szRetrograde[MAX_VIOLATIONCODE]; // ÄæÐÐ char szRetrogradeDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szRetrogradeShowName[MAX_VIOLATIONCODE_DESCRIPT]; //ÏÔʾÃû³Æ char szRetrogradeHighway[MAX_VIOLATIONCODE]; // ÄæÐÐ-¸ßËÙ¹«Â· char szRetrogradeHighwayDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szRunRedLight[MAX_VIOLATIONCODE]; // ´³ºìµÆ char szRunRedLightDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szCrossLane[MAX_VIOLATIONCODE]; // Î¥Õ±äµÀ char szCrossLaneDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szCrossLaneShowName[MAX_VIOLATIONCODE_DESCRIPT]; //Î¥Õ±äµÀÏÔʾÃû³Æ char szTurnLeft[MAX_VIOLATIONCODE]; // Î¥ÕÂ×óת char szTurnLeftDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szTurnRight[MAX_VIOLATIONCODE]; // Î¥ÕÂÓÒת char szTurnRightDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szU_Turn[MAX_VIOLATIONCODE]; // Î¥ÕµôÍ· char szU_TurnDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szU_TurnShowName[MAX_VIOLATIONCODE_DESCRIPT]; //ÏÔʾÐÅÏ¢ char szJam[MAX_VIOLATIONCODE]; // ½»Í¨Óµ¶Â char szJamDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szParking[MAX_VIOLATIONCODE]; // Î¥ÕÂÍ£³µ char szParkingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szParkingShowName[MAX_VIOLATIONCODE_DESCRIPT]; //Î¥ÕÂÍ£³µÏÔʾÃû³Æ // ³¬ËÙ ºÍ ³¬ËÙ±ÈÀý Ö»ÐèÇÒ±ØÐëÓÐÒ»¸öÅäÖà char szOverSpeed[MAX_VIOLATIONCODE]; // ³¬ËÙ char szOverSpeedDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ CFG_OVERSPEED_INFO stOverSpeedConfig[5]; // ³¬ËÙ±ÈÀý´úÂë // ³¬ËÙ(¸ßËÙ¹«Â·) ºÍ ³¬ËÙ±ÈÀý(¸ßËÙ¹«Â·) Ö»ÐèÇÒ±ØÐëÓÐÒ»¸öÅäÖà char szOverSpeedHighway[MAX_VIOLATIONCODE]; // ³¬ËÙ-¸ßËÙ¹«Â· char szOverSpeedHighwayDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ³¬ËÙ-Î¥ÕÂÃèÊöÐÅÏ¢ CFG_OVERSPEED_HIGHWAY_INFO stOverSpeedHighwayConfig[5]; // ³¬ËÙ±ÈÀý´úÂë // Ç·ËÙ ºÍ Ç·ËÙ±ÈÀý Ö»ÐèÇÒ±ØÐëÓÐÒ»¸öÅäÖà char szUnderSpeed[MAX_VIOLATIONCODE]; // Ç·ËÙ char szUnderSpeedDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ CFG_UNDERSPEED_INFO stUnderSpeedConfig[5]; // Ç·ËÙÅäÖÃÐÅÏ¢ ÊÇÒ»¸öÊý×飬²»Í¬µÄÇ·ËÙ±ÈÎ¥Õ´úÂ벻ͬ£¬Îª¿Õ±íʾΥÕ´úÂë²»Çø·Ö³¬ËÙ±È char szOverLine[MAX_VIOLATIONCODE]; // ѹÏß char szOverLineDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szOverLineShowName[MAX_VIOLATIONCODE_DESCRIPT]; //ѹÏßÏÔʾÃû³Æ char szOverYellowLine[MAX_VIOLATIONCODE]; // ѹ»ÆÏß char szOverYellowLineDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÃèÊöÐÅÏ¢ char szYellowInRoute[MAX_VIOLATIONCODE]; // »ÆÅÆÕ¼µÀ char szYellowInRouteDesc[MAX_VIOLATIONCODE_DESCRIPT]; // »ÆÅÆÕ¼µÀÎ¥ÕÂÃèÊöÐÅÏ¢ char szWrongRoute[MAX_VIOLATIONCODE]; // ²»°´³µµÀÐÐÊ» char szWrongRouteDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ²»°´³µµÀÐÐʻΥÕÂÃèÊöÐÅÏ¢ char szDrivingOnShoulder[MAX_VIOLATIONCODE]; // ·¼çÐÐÊ» char szDrivingOnShoulderDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ·¼çÐÐʻΥÕÂÃèÊöÐÅÏ¢ char szPassing[MAX_VIOLATIONCODE]; // Õý³£ÐÐÊ» char szPassingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Õý³£ÐÐʻΥÕÂÃèÊöÐÅÏ¢ char szNoPassing[MAX_VIOLATIONCODE]; // ½ûÖ¹ÐÐÊ» char szNoPassingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ½ûÖ¹ÐÐʻΥÕÂÃèÊöÐÅÏ¢ char szFakePlate[MAX_VIOLATIONCODE]; // Ì×ÅÆ char szFakePlateDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Ì×ÅÆÎ¥ÕÂÃèÊöÐÅÏ¢ char szParkingSpaceParking[MAX_VIOLATIONCODE]; // ³µÎ»Óгµ char szParkingSpaceParkingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ³µÎ»ÓгµÎ¥ÕÂÃèÊöÐÅÏ¢¡¢ char szParkingSpaceNoParking[MAX_VIOLATIONCODE]; // ³µÎ»ÎÞ³µ char szParkingSpaceNoParkingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ³µÎ»ÎÞ³µÎ¥ÕÂÃèÊöÐÅÏ¢ char szWithoutSafeBelt[MAX_VIOLATIONCODE]; // ²»Ïµ°²È«´ø char szWithoutSafeBeltShowName[MAX_VIOLATIONCODE_DESCRIPT]; // ²»Ïµ°²È«´øÏÔʾÃû³Æ char szWithoutSafeBeltDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ²»Ïµ°²È«´øÎ¥ÕÂÃèÊöÐÅÏ¢ char szDriverSmoking[MAX_VIOLATIONCODE]; // ¼ÝʻԱ³éÑÌ char szDriverSmokingShowName[MAX_VIOLATIONCODE_DESCRIPT]; // ¼ÝʻԱ³éÑÌÏÔʾÃû³Æ char szDriverSmokingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ¼ÝʻԱ³éÑÌ´øÎ¥ÕÂÃèÊöÐÅÏ¢ char szDriverCalling[MAX_VIOLATIONCODE]; // ¼ÝʻԱ´òµç»° char szDriverCallingShowName[MAX_VIOLATIONCODE_DESCRIPT]; // ¼ÝʻԱ´òµç»°ÏÔʾÃû³Æ char szDriverCallingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ¼ÝʻԱ´òµç»°Î¥ÕÂÃèÊöÐÅÏ¢ char szBacking[MAX_VIOLATIONCODE]; // Î¥Õµ¹³µ char szBackingShowName[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥Õµ¹³µÏÔʾÃû³Æ char szBackingDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥Õµ¹³µÃèÊöÐÅÏ¢ char szVehicleInBusRoute[MAX_VIOLATIONCODE]; // Î¥ÕÂÕ¼µÀ char szVehicleInBusRouteShowName[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÕ¼µÀÏÔʾÃû³Æ char szVehicleInBusRouteDesc[MAX_VIOLATIONCODE_DESCRIPT]; // Î¥ÕÂÕ¼µÀÃèÊöÐÅÏ¢ char szPedestrianRunRedLight[MAX_VIOLATIONCODE]; // ÐÐÈË´³ºìµÆ char szPedestrianRunRedLightShowName[MAX_VIOLATIONCODE_DESCRIPT]; // ÐÐÈË´³ºìµÆÏÔʾÃû³Æ char szPedestrianRunRedLightDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ÐÐÈË´³ºìµÆÃèÊöÐÅÏ¢ char szPassNotInOrder[MAX_VIOLATIONCODE]; // δ°´¹æ¶¨ÒÀ´ÎͨÐÐ char szPassNotInOrderShowName[MAX_VIOLATIONCODE_DESCRIPT]; // δ°´¹æ¶¨ÒÀ´ÎͨÐÐÏÔʾÃû³Æ char szPassNotInOrderDesc[MAX_VIOLATIONCODE_DESCRIPT]; // δ°´¹æ¶¨ÒÀ´ÎͨÐÐÃèÊöÐÅÏ¢ char szTrafficBan[MAX_VIOLATIONCODE]; // »ú¶¯³µÎ¥·¨½ûÁî±êʶ char szTrafficBanShowName[MAX_VIOLATIONCODE_DESCRIPT]; // »ú¶¯³µÎ¥·¨½ûÁî±êʶÏÔʾÃû³Æ char szTrafficBanDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ÃèÊöÐÅÏ¢ char szParkingB[MAX_VIOLATIONCODE]; // BÀàÎ¥ÕÂÍ£³µ char szParkingBDesc[MAX_VIOLATIONCODE_DESCRIPT]; // BÀàÎ¥ÕÂÃèÊöÐÅÏ¢ char szParkingBShowName[MAX_VIOLATIONCODE_DESCRIPT]; // BÀàÎ¥ÕÂÍ£³µÏÔʾÃû³Æ char szParkingC[MAX_VIOLATIONCODE]; // CÀàÎ¥ÕÂÍ£³µ char szParkingCDesc[MAX_VIOLATIONCODE_DESCRIPT]; // CÀàÎ¥ÕÂÃèÊöÐÅÏ¢ char szParkingCShowName[MAX_VIOLATIONCODE_DESCRIPT]; // CÀàÎ¥ÕÂÍ£³µÏÔʾÃû³Æ char szParkingD[MAX_VIOLATIONCODE]; // DÀàÎ¥ÕÂÍ£³µ char szParkingDDesc[MAX_VIOLATIONCODE_DESCRIPT]; // DÀàÎ¥ÕÂÃèÊöÐÅÏ¢ char szParkingDShowName[MAX_VIOLATIONCODE_DESCRIPT]; // DÀàÎ¥ÕÂÍ£³µÏÔʾÃû³Æ char szNonMotorHoldUmbrella[MAX_VIOLATIONCODE]; // ·Ç»ú¶¯³µ×°ÔØÉ¡¾ß´úÂë char szNonMotorHoldUmbrellaDesc[MAX_VIOLATIONCODE_DESCRIPT]; // ·Ç»ú¶¯³µ×°ÔØÉ¡¾ßÃèÊöÐÅÏ¢ char szNonMotorHoldUmbrellaShowName[MAX_VIOLATIONCODE_DESCRIPT]; // ·Ç»ú¶¯³µ×°ÔØÉ¡¾ßÏÔʾÃû³Æ }VIOLATIONCODE_INFO; // ³µµÀ¼ì²âÀàÐÍ typedef enum tagEmCheckType { EM_CHECK_TYPE_UNKNOWN, // ²»Ê¶±ðµÄ¼ì²âÀàÐÍ EM_CHECK_TYPE_PHYSICAL, // ÎïÀí¼ì²â EM_CHECK_TYPE_VIDEO, // ÊÓÆµ¼ì²â }EM_CHECK_TYPE; typedef struct tagTrafficEventCheckInfo { BOOL abTrafficGate; // ÊÇ·ñЯ´ø½»Í¨¿¨¿ÚÐÅÏ¢ EM_CHECK_TYPE emTrafficGate; // ½»Í¨¿¨¿Ú¼ì²âÀàÐÍ BOOL abTrafficJunction; // ÊÇ·ñЯ´ø½»Í¨Â·¿ÚÐÅÏ¢ EM_CHECK_TYPE emTrafficJunction; // ½»Í¨Â·¿Ú¼ì²âÀàÐÍ BOOL abTrafficTollGate; // ÊÇ·ñЯ´øÐ½»Í¨¿¨¿ÚÐÅÏ¢ EM_CHECK_TYPE emTrafficTollGate; // н»Í¨¿¨¿Ú¼ì²âÀàÐÍ BOOL abTrafficRunRedLight; // ÊÇ·ñЯ´ø½»Í¨´³ºìµÆÐÅÏ¢ EM_CHECK_TYPE emTrafficRunRedLight; // ½»Í¨´³ºìµÆ¼ì²âÀàÐÍ BOOL abTrafficRunYellowLight; // ÊÇ·ñЯ´ø½»Í¨´³»ÆµÆÐÅÏ¢ EM_CHECK_TYPE emTrafficRunYellowLight; // ½»Í¨´³»ÆµÆ¼ì²âÀàÐÍ BOOL abTrafficOverLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹ÏßÐÅÏ¢ EM_CHECK_TYPE emTrafficOverLine; // ½»Í¨Ñ¹Ïß¼ì²âÀàÐÍ BOOL abTrafficOverYellowLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹»ÆÏßÐÅÏ¢ EM_CHECK_TYPE emTrafficOverYellowLine; // ½»Í¨Ñ¹»ÆÏß¼ì²âÀàÐÍ BOOL abTrafficRetrograde; // ÊÇ·ñЯ´ø½»Í¨ÄæÐÐÐÅÏ¢ EM_CHECK_TYPE emTrafficRetrograde; // ½»Í¨ÄæÐмì²âÀàÐÍ BOOL abTrafficTurnLeft; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂ×óתÐÅÏ¢ EM_CHECK_TYPE emTrafficTurnLeft; // ½»Í¨Î¥ÕÂ×óת¼ì²âÀàÐÍ BOOL abTrafficTurnRight; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÓÒתÐÅÏ¢ EM_CHECK_TYPE emTrafficTurnRight; // ½»Í¨Â·¿ÚÎ¥ÕÂÓÒתÀàÐÍ BOOL abTrafficU_Turn; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕµôÍ·ÐÅÏ¢ EM_CHECK_TYPE emTrafficU_Turn; // ½»Í¨Î¥ÕµôÍ·¼ì²âÀàÐÍ BOOL abTrafficCrossLane; // ÊÇ·ñЯ´ø½»Í¨Î¥Õ±äµÀÐÅÏ¢ EM_CHECK_TYPE emTrafficCrossLane; // ½»Í¨Î¥Õ±äµÀ¼ì²âÀàÐÍ BOOL abTrafficParking; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÍ£³µÐÅÏ¢ EM_CHECK_TYPE emTrafficParking; // ½»Í¨Î¥ÕÂÍ£³µ¼ì²âÀàÐÍ BOOL abTrafficJam; // ÊÇ·ñЯ´ø½»Í¨Óµ¶ÂÐÅÏ¢ EM_CHECK_TYPE emTrafficJam; // ½»Í¨Óµ¶Â¼ì²âÀàÐÍ BOOL abTrafficIdle; // ÊÇ·ñЯ´ø½»Í¨½»Í¨¿ÕÏÐÐÅÏ¢ EM_CHECK_TYPE emTrafficIdle; // ½»Í¨½»Í¨¿ÕÏмì²âÀàÐÍ BOOL abTrafficWaitingArea; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÊ»Èë´ýÐÐÇøÐÅÏ¢ EM_CHECK_TYPE emTrafficWaitingArea; // ½»Í¨Î¥ÕÂÊ»Èë´ýÐÐÇø¼ì²âÀàÐÍ BOOL abTrafficUnderSpeed; // ÊÇ·ñЯ´ø½»Í¨Ç·ËÙÐÅÏ¢ EM_CHECK_TYPE emTrafficUnderSpeed; // ½»Í¨Ç·ËÙ¼ì²âÀàÐÍ BOOL abTrafficOverSpeed; // ÊÇ·ñЯ´ø½»Í¨³¬ËÙÐÅÏ¢ EM_CHECK_TYPE emTrafficOverSpeed; // ½»Í¨³¬ËÙ¼ì²âÀàÐÍ BOOL abTrafficWrongRoute; // ÊÇ·ñЯ´ø½»Í¨²»°´³µµÀÐÐÊ»ÐÅÏ¢ EM_CHECK_TYPE emTrafficWrongRoute; // ½»Í¨²»°´³µµÀÐÐÊ»¼ì²âÀàÐÍ BOOL abTrafficYellowInRoute; // ÊÇ·ñЯ´ø½»Í¨»ÆÅÆÕ¼µÀÐÅÏ¢ EM_CHECK_TYPE emTrafficYellowInRoute; // ½»Í¨»ÆÅÆÕ¼µÀ¼ì²âÀàÐÍ BOOL abTrafficVehicleInRoute; // ÊÇ·ñЯ´ø½»Í¨ÓгµÕ¼µÀÐÅÏ¢ EM_CHECK_TYPE emTrafficVehicleInRoute; // ½»Í¨ÓгµÕ¼µÀ¼ì²âÀàÐÍ BOOL abTrafficControl; // ÊÇ·ñЯ´ø½»Í¨½»Í¨¹ÜÖÆÐÅÏ¢ EM_CHECK_TYPE emTrafficControl; // ½»Í¨½»Í¨¹ÜÖÆ¼ì²âÀàÐÍ BOOL abTrafficObjectAlarm; // ÊÇ·ñЯ´ø½»Í¨Ö¸¶¨ÀàÐÍ×¥ÅÄÐÅÏ¢ EM_CHECK_TYPE emTrafficObjectAlarm; // ½»Í¨Ö¸¶¨ÀàÐÍ×¥Åļì²âÀàÐÍ BOOL abTrafficAccident; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Ê¹ÊÐÅÏ¢ EM_CHECK_TYPE emTrafficAccident; // ½»Í¨½»Í¨Ê¹ʼì²âÀàÐÍ BOOL abTrafficStay; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Í£Áô/ÖÍÁôÐÅÏ¢ EM_CHECK_TYPE emTrafficStay; // ½»Í¨½»Í¨Í£Áô/ÖÍÁô¼ì²âÀàÐÍ BOOL abTrafficPedestrainPriority; // ÊÇ·ñЯ´ø½»Í¨°ßÂíÏßÐÐÈËÓÅÏÈÐÅÏ¢ EM_CHECK_TYPE emTrafficPedestrainPriority; // ½»Í¨°ßÂíÏßÐÐÈËÓÅÏȼì²âÀàÐÍ BOOL abTrafficPedestrain; // ÊÇ·ñЯ´ø½»Í¨½»Í¨ÐÐÈËʼþÐÅÏ¢ EM_CHECK_TYPE emTrafficPedestrain; // ½»Í¨½»Í¨ÐÐÈËʼþ¼ì²âÀàÐÍ BOOL abTrafficThrow; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Å×È÷ÎïÆ·Ê¼þÐÅÏ¢ EM_CHECK_TYPE emTrafficThrow; // ½»Í¨½»Í¨Å×È÷ÎïÆ·Ê¼þ¼ì²âÀàÐÍ BOOL abTrafficVehicleInBusRoute; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÕ¼µÀÐÅÏ¢ EM_CHECK_TYPE emTrafficVehicleInBusRoute; // ½»Í¨Î¥ÕÂÕ¼µÀ¼ì²âÀàÐÍ BOOL abTrafficBacking; // ÊÇ·ñЯ´ø½»Í¨Î¥Õµ¹³µÐÅÏ¢ EM_CHECK_TYPE emTrafficBacking; // ½»Í¨Î¥Õµ¹³µ¼ì²âÀàÐÍ BOOL abTrafficOverStopLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹Í£Ö¹ÏßÐÅÏ¢ EM_CHECK_TYPE emTrafficOverStopLine; // ½»Í¨Ñ¹Í£Ö¹Ïß¼ì²âÀàÐÍ BOOL abTrafficParkingOnYellowBox; // ÊÇ·ñЯ´ø½»Í¨»ÆÍø¸ñÏß×¥ÅÄÐÅÏ¢ EM_CHECK_TYPE emTrafficParkingOnYellowBox; // ½»Í¨»ÆÍø¸ñÏß×¥Åļì²âÀàÐÍ BOOL abTrafficParkingSpaceParking; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÓгµÐÅÏ¢ EM_CHECK_TYPE emTrafficParkingSpaceParking; // ½»Í¨³µÎ»Óгµ¼ì²âÀàÐÍ BOOL abTrafficParkingSpaceNoParking; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÎÞ³µÐÅÏ¢ EM_CHECK_TYPE emTrafficParkingSpaceNoParking; // ½»Í¨³µÎ»ÎÞ³µ¼ì²âÀàÐÍ BOOL abTrafficParkingSpaceOverLine; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÓгµÑ¹ÏßÐÅÏ¢ EM_CHECK_TYPE emTrafficParkingSpaceOverLine; // ½»Í¨³µÎ»ÓгµÑ¹Ïß¼ì²âÀàÐÍ BOOL abParkingSpaceDetection; // ÊÇ·ñЯ´ø½»Í¨¶àÍ£³µÎ»×´Ì¬¼ì²âÐÅÏ¢ EM_CHECK_TYPE emParkingSpaceDetection; // ½»Í¨¶àÍ£³µÎ»×´Ì¬¼ì²â¼ì²âÀàÐÍ BOOL abTrafficRestrictedPlate; // ÊÇ·ñЯ´ø½»Í¨ÊÜÏÞ³µÅÆÐÅÏ¢ EM_CHECK_TYPE emTrafficRestrictedPlate; // ½»Í¨ÊÜÏÞ³µÅƼì²âÀàÐÍ BOOL abTrafficWithoutSafeBelt; // ÊÇ·ñЯ´ø½»Í¨²»Ïµ°²È«´øÐÅÏ¢ EM_CHECK_TYPE emTrafficWithoutSafeBelt; // ½»Í¨²»Ïµ°²È«´ø¼ì²âÀàÐÍ BOOL abTrafficNoPassing; // ÊÇ·ñЯ´ø½»Í¨½ûÐÐÐÅÏ¢ EM_CHECK_TYPE emTrafficNoPassing; // ½»Í¨½ûÐмì²âÀàÐÍ BOOL abVehicleAnalyse; // ÊÇ·ñЯ´ø½»Í¨³µÁ¾ÌØÕ÷¼ì²â·ÖÎöÐÅÏ¢ EM_CHECK_TYPE emVehicleAnalyse; // ½»Í¨³µÁ¾ÌØÕ÷¼ì²âÀàÐÍ BOOL abCrossLineDetection; // ÊÇ·ñЯ´ø½»Í¨¾¯½äÏßÐÅÏ¢ EM_CHECK_TYPE emCrossLineDetection; // ½»Í¨¾¯½äÏß¼ì²âÀàÐÍ BOOL abCrossFenceDetection; // ÊÇ·ñЯ´ø½»Í¨´©Ô½Î§À¸ÐÅÏ¢ EM_CHECK_TYPE emCrossFenceDetection; // ½»Í¨´©Ô½Î§À¸¼ì²âÀàÐÍ BOOL abCrossRegionDetection; // ÊÇ·ñЯ´ø½»Í¨¾¯½äÇøÐÅÏ¢ EM_CHECK_TYPE emCrossRegionDetection; // ½»Í¨¾¯½äÇø¼ì²âÀàÐÍ BOOL abPasteDetection; // ÊÇ·ñЯ´ø½»Í¨ATMÌùÌõÐÅÏ¢ EM_CHECK_TYPE emPasteDetection; // ½»Í¨ATMÌùÌõ¼ì²âÀàÐÍ BOOL abLeftDetection; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·ÒÅÁôÐÅÏ¢ EM_CHECK_TYPE emLeftDetection; // ½»Í¨ÎïÆ·ÒÅÁô¼ì²âÀàÐÍ BOOL abPreservation; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·±£È«ÐÅÏ¢ EM_CHECK_TYPE emPreservation; // ½»Í¨ÎïÆ·±£È«¼ì²âÀàÐÍ BOOL abTakenAwayDetection; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·°áÒÆÐÅÏ¢ EM_CHECK_TYPE emTakenAwayDetection; // ½»Í¨ÎïÆ·°áÒÆ¼ì²âÀàÐÍ BOOL abStayDetection; // ÊÇ·ñЯ´ø½»Í¨Í£Áô/ÖÍÁôÐÅÏ¢ EM_CHECK_TYPE emStayDetection; // ½»Í¨Í£Áô/ÖÍÁô¼ì²âÀàÐÍ BOOL abParkingDetection; // ÊÇ·ñЯ´ø½»Í¨·Ç·¨Í£³µÐÅÏ¢ EM_CHECK_TYPE emParkingDetection; // ½»Í¨·Ç·¨Í£³µ¼ì²âÀàÐÍ BOOL abWanderDetection; // ÊÇ·ñЯ´ø½»Í¨ÅÇ»²ÐÅÏ¢ EM_CHECK_TYPE emWanderDetection; // ½»Í¨ÅÇ»²¼ì²âÀàÐÍ BOOL abMoveDetection; // ÊÇ·ñЯ´ø½»Í¨Ô˶¯ÐÅÏ¢ EM_CHECK_TYPE emMoveDetection; // ½»Í¨Ô˶¯¼ì²âÀàÐÍ BOOL abTailDetection; // ÊÇ·ñЯ´ø½»Í¨Î²ËæÐÅÏ¢ EM_CHECK_TYPE emTailDetection; // ½»Í¨Î²Ëæ¼ì²âÀàÐÍ BOOL abRioterDetection; // ÊÇ·ñЯ´ø½»Í¨¾Û¼¯ÐÅÏ¢ EM_CHECK_TYPE emRioterDetection; // ½»Í¨¾Û¼¯¼ì²âÀàÐÍ BOOL abFightDetection; // ÊÇ·ñЯ´ø½»Í¨´ò¼ÜÐÅÏ¢ EM_CHECK_TYPE emFightDetection; // ½»Í¨´ò¼Ü¼ì²âÀàÐÍ BOOL abRetrogradeDetection; // ÊÇ·ñЯ´ø½»Í¨ÄæÐÐÐÅÏ¢ EM_CHECK_TYPE emRetrogradeDetection; // ½»Í¨ÄæÐмì²âÀàÐÍ BOOL abFireDetection; // ÊÇ·ñЯ´ø½»Í¨»ðÑæÐÅÏ¢ EM_CHECK_TYPE emFireDetection; // ½»Í¨»ðÑæ¼ì²âÀàÐÍ BOOL abSmokeDetection; // ÊÇ·ñЯ´ø½»Í¨ÑÌÎíÐÅÏ¢ EM_CHECK_TYPE emSmokeDetection; // ½»Í¨ÑÌÎí¼ì²âÀàÐÍ BOOL abNumberStat; // ÊÇ·ñЯ´ø½»Í¨ÊýÁ¿Í³¼ÆÐÅÏ¢ EM_CHECK_TYPE emNumberStat; // ½»Í¨ÊýÁ¿Í³¼Æ¼ì²âÀàÐÍ BOOL abVideoAbnormalDetection; // ÊÇ·ñЯ´ø½»Í¨ÊÓÆµÒì³£ÐÅÏ¢ EM_CHECK_TYPE emVideoAbnormalDetection; // ½»Í¨ÊÓÆµÒì³£¼ì²âÀàÐÍ BOOL abPrisonerRiseDetection; // ÊÇ·ñЯ´ø¿´ÊØËùÇô·¸ÆðÉí¼ì²âÐÅÏ¢ EM_CHECK_TYPE emPrisonerRiseDetection; // ¿´ÊØËùÇô·¸ÆðÉí¼ì²â¼ì²âÀàÐÍ BOOL abFaceDetection; // ÊÇ·ñЯ´øÈËÁ³¼ì²âÐÅÏ¢ EM_CHECK_TYPE emFaceDetection; // ÈËÁ³¼ì²â¼ì²âÀàÐÍ BOOL abFaceRecognition; // ÊÇ·ñЯ´øÈËÁ³Ê¶±ðÐÅÏ¢ EM_CHECK_TYPE emFaceRecognition; // ÈËÁ³Ê¶±ð¼ì²âÀàÐÍ BOOL abDensityDetection; // ÊÇ·ñЯ´øÃܼ¯¶È¼ì²âÐÅÏ¢ EM_CHECK_TYPE emDensityDetection; // Ãܼ¯¶È¼ì²â¼ì²âÀàÐÍ BOOL abQueueDetection; // ÊÇ·ñЯ´øÅŶӼì²âÐÅÏ¢ EM_CHECK_TYPE emQueueDetection; // ÅŶӼì²â¼ì²âÀàÐÍ BOOL abClimbDetection; // ÊÇ·ñЯ´øÅʸ߼ì²âÐÅÏ¢ EM_CHECK_TYPE emClimbDetection; // Åʸ߼ì²âÀàÐÍ BOOL abLeaveDetection; // ÊÇ·ñЯ´øÀë¸Ú¼ì²âÐÅÏ¢ EM_CHECK_TYPE emLeaveDetection; // Àë¸Ú¼ì²âÀàÐÍ BOOL abVehicleOnPoliceCar; // ÊÇ·ñЯ´ø³µÔؾ¯³µÐÅÏ¢ EM_CHECK_TYPE emVehicleOnPoliceCar; // ³µÔؾ¯³µ¼ì²âÀàÐÍ BOOL abVehicleOnBus; // ÊÇ·ñЯ´ø³µÔع«½»ÐÅÏ¢ EM_CHECK_TYPE emVehicleOnBus; // ³µÔع«½»¼ì²âÀàÐÍ BOOL abVehicleOnSchoolBus; // ÊÇ·ñЯ´ø³µÔØÐ£³µÐÅÏ¢ EM_CHECK_TYPE emVehicleOnSchoolBus; // ³µÔØÐ£³µ¼ì²âÀàÐÍ BOOL abStandUpDetection; // ÊÇ·ñЯ´øÑ§ÉúÆðÁ¢ÐÅÏ¢ EM_CHECK_TYPE emStandUpDetection; // ѧÉúÆðÁ¢¼ì²âÀàÐÍ }TRAFFIC_EVENT_CHECK_INFO; typedef struct tagTrafficEventCheckMask { BOOL abTrafficGate; // ÊÇ·ñЯ´ø½»Í¨¿¨¿ÚÐÅÏ¢ int nTrafficGate; // ½»Í¨¿¨¿Ú¼ì²âģʽÑÚÂë BOOL abTrafficJunction; // ÊÇ·ñЯ´ø½»Í¨Â·¿ÚÐÅÏ¢ int nTrafficJunction; // ½»Í¨Â·¿Ú¼ì²âģʽÑÚÂë BOOL abTrafficTollGate; // ÊÇ·ñЯ´øÐ½»Í¨¿¨¿ÚÐÅÏ¢ int nTrafficTollGate; // н»Í¨¿¨¿Ú¼ì²âģʽÑÚÂë BOOL abTrafficRunRedLight; // ÊÇ·ñЯ´ø½»Í¨´³ºìµÆÐÅÏ¢ int nTrafficRunRedLight; // ½»Í¨´³ºìµÆ¼ì²âģʽÑÚÂë BOOL abTrafficRunYellowLight; // ÊÇ·ñЯ´ø½»Í¨´³»ÆµÆÐÅÏ¢ int nTrafficRunYellowLight; // ½»Í¨´³»ÆµÆ¼ì²âģʽÑÚÂë BOOL abTrafficOverLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹ÏßÐÅÏ¢ int nTrafficOverLine; // ½»Í¨Ñ¹Ïß¼ì²âģʽÑÚÂë BOOL abTrafficOverYellowLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹»ÆÏßÐÅÏ¢ int nTrafficOverYellowLine; // ½»Í¨Ñ¹»ÆÏß¼ì²âģʽÑÚÂë BOOL abTrafficRetrograde; // ÊÇ·ñЯ´ø½»Í¨ÄæÐÐÐÅÏ¢ int nTrafficRetrograde; // ½»Í¨ÄæÐмì²âģʽÑÚÂë BOOL abTrafficTurnLeft; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂ×óתÐÅÏ¢ int nTrafficTurnLeft; // ½»Í¨Î¥ÕÂ×óת¼ì²âģʽÑÚÂë BOOL abTrafficTurnRight; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÓÒתÐÅÏ¢ int nTrafficTurnRight; // ½»Í¨Â·¿ÚÎ¥ÕÂÓÒתÀàÐÍ BOOL abTrafficU_Turn; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕµôÍ·ÐÅÏ¢ int nTrafficU_Turn; // ½»Í¨Î¥ÕµôÍ·¼ì²âģʽÑÚÂë BOOL abTrafficCrossLane; // ÊÇ·ñЯ´ø½»Í¨Î¥Õ±äµÀÐÅÏ¢ int nTrafficCrossLane; // ½»Í¨Î¥Õ±äµÀ¼ì²âģʽÑÚÂë BOOL abTrafficParking; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÍ£³µÐÅÏ¢ int nTrafficParking; // ½»Í¨Î¥ÕÂÍ£³µ¼ì²âģʽÑÚÂë BOOL abTrafficJam; // ÊÇ·ñЯ´ø½»Í¨Óµ¶ÂÐÅÏ¢ int nTrafficJam; // ½»Í¨Óµ¶Â¼ì²âģʽÑÚÂë BOOL abTrafficIdle; // ÊÇ·ñЯ´ø½»Í¨½»Í¨¿ÕÏÐÐÅÏ¢ int nTrafficIdle; // ½»Í¨½»Í¨¿ÕÏмì²âģʽÑÚÂë BOOL abTrafficWaitingArea; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÊ»Èë´ýÐÐÇøÐÅÏ¢ int nTrafficWaitingArea; // ½»Í¨Î¥ÕÂÊ»Èë´ýÐÐÇø¼ì²âģʽÑÚÂë BOOL abTrafficUnderSpeed; // ÊÇ·ñЯ´ø½»Í¨Ç·ËÙÐÅÏ¢ int nTrafficUnderSpeed; // ½»Í¨Ç·ËÙ¼ì²âģʽÑÚÂë BOOL abTrafficOverSpeed; // ÊÇ·ñЯ´ø½»Í¨³¬ËÙÐÅÏ¢ int nTrafficOverSpeed; // ½»Í¨³¬ËÙ¼ì²âģʽÑÚÂë BOOL abTrafficWrongRoute; // ÊÇ·ñЯ´ø½»Í¨²»°´³µµÀÐÐÊ»ÐÅÏ¢ int nTrafficWrongRoute; // ½»Í¨²»°´³µµÀÐÐÊ»¼ì²âģʽÑÚÂë BOOL abTrafficYellowInRoute; // ÊÇ·ñЯ´ø½»Í¨»ÆÅÆÕ¼µÀÐÅÏ¢ int nTrafficYellowInRoute; // ½»Í¨»ÆÅÆÕ¼µÀ¼ì²âģʽÑÚÂë BOOL abTrafficVehicleInRoute; // ÊÇ·ñЯ´ø½»Í¨ÓгµÕ¼µÀÐÅÏ¢ int nTrafficVehicleInRoute; // ½»Í¨ÓгµÕ¼µÀ¼ì²âģʽÑÚÂë BOOL abTrafficControl; // ÊÇ·ñЯ´ø½»Í¨½»Í¨¹ÜÖÆÐÅÏ¢ int nTrafficControl; // ½»Í¨½»Í¨¹ÜÖÆ¼ì²âģʽÑÚÂë BOOL abTrafficObjectAlarm; // ÊÇ·ñЯ´ø½»Í¨Ö¸¶¨ÀàÐÍ×¥ÅÄÐÅÏ¢ int nTrafficObjectAlarm; // ½»Í¨Ö¸¶¨ÀàÐÍ×¥Åļì²âģʽÑÚÂë BOOL abTrafficAccident; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Ê¹ÊÐÅÏ¢ int nTrafficAccident; // ½»Í¨½»Í¨Ê¹ʼì²âģʽÑÚÂë BOOL abTrafficStay; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Í£Áô/ÖÍÁôÐÅÏ¢ int nTrafficStay; // ½»Í¨½»Í¨Í£Áô/ÖÍÁô¼ì²âģʽÑÚÂë BOOL abTrafficPedestrainPriority; // ÊÇ·ñЯ´ø½»Í¨°ßÂíÏßÐÐÈËÓÅÏÈÐÅÏ¢ int nTrafficPedestrainPriority; // ½»Í¨°ßÂíÏßÐÐÈËÓÅÏȼì²âģʽÑÚÂë BOOL abTrafficPedestrain; // ÊÇ·ñЯ´ø½»Í¨½»Í¨ÐÐÈËʼþÐÅÏ¢ int nTrafficPedestrain; // ½»Í¨½»Í¨ÐÐÈËʼþ¼ì²âģʽÑÚÂë BOOL abTrafficThrow; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Å×È÷ÎïÆ·Ê¼þÐÅÏ¢ int nTrafficThrow; // ½»Í¨½»Í¨Å×È÷ÎïÆ·Ê¼þ¼ì²âģʽÑÚÂë BOOL abTrafficVehicleInBusRoute; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÕ¼µÀÐÅÏ¢ int nTrafficVehicleInBusRoute; // ½»Í¨Î¥ÕÂÕ¼µÀ¼ì²âģʽÑÚÂë BOOL abTrafficBacking; // ÊÇ·ñЯ´ø½»Í¨Î¥Õµ¹³µÐÅÏ¢ int nTrafficBacking; // ½»Í¨Î¥Õµ¹³µ¼ì²âģʽÑÚÂë BOOL abTrafficOverStopLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹Í£Ö¹ÏßÐÅÏ¢ int nTrafficOverStopLine; // ½»Í¨Ñ¹Í£Ö¹Ïß¼ì²âģʽÑÚÂë BOOL abTrafficParkingOnYellowBox; // ÊÇ·ñЯ´ø½»Í¨»ÆÍø¸ñÏß×¥ÅÄÐÅÏ¢ int nTrafficParkingOnYellowBox; // ½»Í¨»ÆÍø¸ñÏß×¥Åļì²âģʽÑÚÂë BOOL abTrafficParkingSpaceParking; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÓгµÐÅÏ¢ int nTrafficParkingSpaceParking; // ½»Í¨³µÎ»Óгµ¼ì²âģʽÑÚÂë BOOL abTrafficParkingSpaceNoParking; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÎÞ³µÐÅÏ¢ int nTrafficParkingSpaceNoParking; // ½»Í¨³µÎ»ÎÞ³µ¼ì²âģʽÑÚÂë BOOL abTrafficParkingSpaceOverLine; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÓгµÑ¹ÏßÐÅÏ¢ int nTrafficParkingSpaceOverLine; // ½»Í¨³µÎ»ÓгµÑ¹Ïß¼ì²âģʽÑÚÂë BOOL abParkingSpaceDetection; // ÊÇ·ñЯ´ø½»Í¨¶àÍ£³µÎ»×´Ì¬¼ì²âÐÅÏ¢ int nParkingSpaceDetection; // ½»Í¨¶àÍ£³µÎ»×´Ì¬¼ì²â¼ì²âģʽÑÚÂë BOOL abTrafficRestrictedPlate; // ÊÇ·ñЯ´ø½»Í¨ÊÜÏÞ³µÅÆÐÅÏ¢ int nTrafficRestrictedPlate; // ½»Í¨ÊÜÏÞ³µÅƼì²âģʽÑÚÂë BOOL abTrafficWithoutSafeBelt; // ÊÇ·ñЯ´ø½»Í¨²»Ïµ°²È«´øÐÅÏ¢ int nTrafficWithoutSafeBelt; // ½»Í¨²»Ïµ°²È«´ø¼ì²âģʽÑÚÂë BOOL abTrafficNoPassing; // ÊÇ·ñЯ´ø½»Í¨½ûÐÐÐÅÏ¢ int nTrafficNoPassing; // ½»Í¨½ûÐмì²âģʽÑÚÂë BOOL abVehicleAnalyse; // ÊÇ·ñЯ´ø½»Í¨³µÁ¾ÌØÕ÷¼ì²â·ÖÎöÐÅÏ¢ int nVehicleAnalyse; // ½»Í¨³µÁ¾ÌØÕ÷¼ì²âģʽÑÚÂë BOOL abCrossLineDetection; // ÊÇ·ñЯ´ø½»Í¨¾¯½äÏßÐÅÏ¢ int nCrossLineDetection; // ½»Í¨¾¯½äÏß¼ì²âģʽÑÚÂë BOOL abCrossFenceDetection; // ÊÇ·ñЯ´ø½»Í¨´©Ô½Î§À¸ÐÅÏ¢ int nCrossFenceDetection; // ½»Í¨´©Ô½Î§À¸¼ì²âģʽÑÚÂë BOOL abCrossRegionDetection; // ÊÇ·ñЯ´ø½»Í¨¾¯½äÇøÐÅÏ¢ int nCrossRegionDetection; // ½»Í¨¾¯½äÇø¼ì²âģʽÑÚÂë BOOL abPasteDetection; // ÊÇ·ñЯ´ø½»Í¨ATMÌùÌõÐÅÏ¢ int nPasteDetection; // ½»Í¨ATMÌùÌõ¼ì²âģʽÑÚÂë BOOL abLeftDetection; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·ÒÅÁôÐÅÏ¢ int nLeftDetection; // ½»Í¨ÎïÆ·ÒÅÁô¼ì²âģʽÑÚÂë BOOL abPreservation; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·±£È«ÐÅÏ¢ int nPreservation; // ½»Í¨ÎïÆ·±£È«¼ì²âģʽÑÚÂë BOOL abTakenAwayDetection; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·°áÒÆÐÅÏ¢ int nTakenAwayDetection; // ½»Í¨ÎïÆ·°áÒÆ¼ì²âģʽÑÚÂë BOOL abStayDetection; // ÊÇ·ñЯ´ø½»Í¨Í£Áô/ÖÍÁôÐÅÏ¢ int nStayDetection; // ½»Í¨Í£Áô/ÖÍÁô¼ì²âģʽÑÚÂë BOOL abParkingDetection; // ÊÇ·ñЯ´ø½»Í¨·Ç·¨Í£³µÐÅÏ¢ int nParkingDetection; // ½»Í¨·Ç·¨Í£³µ¼ì²âģʽÑÚÂë BOOL abWanderDetection; // ÊÇ·ñЯ´ø½»Í¨ÅÇ»²ÐÅÏ¢ int nWanderDetection; // ½»Í¨ÅÇ»²¼ì²âģʽÑÚÂë BOOL abMoveDetection; // ÊÇ·ñЯ´ø½»Í¨Ô˶¯ÐÅÏ¢ int nMoveDetection; // ½»Í¨Ô˶¯¼ì²âģʽÑÚÂë BOOL abTailDetection; // ÊÇ·ñЯ´ø½»Í¨Î²ËæÐÅÏ¢ int nTailDetection; // ½»Í¨Î²Ëæ¼ì²âģʽÑÚÂë BOOL abRioterDetection; // ÊÇ·ñЯ´ø½»Í¨¾Û¼¯ÐÅÏ¢ int nRioterDetection; // ½»Í¨¾Û¼¯¼ì²âģʽÑÚÂë BOOL abFightDetection; // ÊÇ·ñЯ´ø½»Í¨´ò¼ÜÐÅÏ¢ int nFightDetection; // ½»Í¨´ò¼Ü¼ì²âģʽÑÚÂë BOOL abRetrogradeDetection; // ÊÇ·ñЯ´ø½»Í¨ÄæÐÐÐÅÏ¢ int nRetrogradeDetection; // ½»Í¨ÄæÐмì²âģʽÑÚÂë BOOL abFireDetection; // ÊÇ·ñЯ´ø½»Í¨»ðÑæÐÅÏ¢ int nFireDetection; // ½»Í¨»ðÑæ¼ì²âģʽÑÚÂë BOOL abSmokeDetection; // ÊÇ·ñЯ´ø½»Í¨ÑÌÎíÐÅÏ¢ int nSmokeDetection; // ½»Í¨ÑÌÎí¼ì²âģʽÑÚÂë BOOL abNumberStat; // ÊÇ·ñЯ´ø½»Í¨ÊýÁ¿Í³¼ÆÐÅÏ¢ int nNumberStat; // ½»Í¨ÊýÁ¿Í³¼Æ¼ì²âģʽÑÚÂë BOOL abVideoAbnormalDetection; // ÊÇ·ñЯ´ø½»Í¨ÊÓÆµÒì³£ÐÅÏ¢ int nVideoAbnormalDetection; // ½»Í¨ÊÓÆµÒì³£¼ì²âģʽÑÚÂë BOOL abPrisonerRiseDetection; // ÊÇ·ñЯ´ø¿´ÊØËùÇô·¸ÆðÉí¼ì²âÐÅÏ¢ int nPrisonerRiseDetection; // ¿´ÊØËùÇô·¸ÆðÉí¼ì²â¼ì²âģʽÑÚÂë BOOL abFaceDetection; // ÊÇ·ñЯ´øÈËÁ³¼ì²âÐÅÏ¢ int nFaceDetection; // ÈËÁ³¼ì²â¼ì²âģʽÑÚÂë BOOL abFaceRecognition; // ÊÇ·ñЯ´øÈËÁ³Ê¶±ðÐÅÏ¢ int nFaceRecognition; // ÈËÁ³Ê¶±ð¼ì²âģʽÑÚÂë BOOL abDensityDetection; // ÊÇ·ñЯ´øÃܼ¯¶È¼ì²âÐÅÏ¢ int nDensityDetection; // Ãܼ¯¶È¼ì²â¼ì²âģʽÑÚÂë BOOL abQueueDetection; // ÊÇ·ñЯ´øÅŶӼì²âÐÅÏ¢ int nQueueDetection; // ÅŶӼì²â¼ì²âģʽÑÚÂë BOOL abClimbDetection; // ÊÇ·ñЯ´øÅʸ߼ì²âÐÅÏ¢ int nClimbDetection; // Åʸ߼ì²âģʽÑÚÂë BOOL abLeaveDetection; // ÊÇ·ñЯ´øÀë¸Ú¼ì²âÐÅÏ¢ int nLeaveDetection; // Àë¸Ú¼ì²âģʽÑÚÂë BOOL abVehicleOnPoliceCar; // ÊÇ·ñЯ´ø³µÔؾ¯³µÐÅÏ¢ int nVehicleOnPoliceCar; // ³µÔؾ¯³µ¼ì²âģʽÑÚÂë BOOL abVehicleOnBus; // ÊÇ·ñЯ´ø³µÔع«½»ÐÅÏ¢ int nVehicleOnBus; // ³µÔع«½»¼ì²âģʽÑÚÂë BOOL abVehicleOnSchoolBus; // ÊÇ·ñЯ´ø³µÔØÐ£³µÐÅÏ¢ int nVehicleOnSchoolBus; // ³µÔØÐ£³µ¼ì²âģʽÑÚÂë }TRAFFIC_EVENT_CHECK_MASK; // Î¥ÕÂ×¥ÅÄʱ¼äÅäÖñí typedef struct tagTimeScheduleInfo { BOOL bEnable; // ÊÇ·ñÆôÓÃʱ¼ä±í CFG_TIME_SECTION stuTimeSchedule[WEEK_DAY_NUM][MAX_REC_TSECT]; // ʱ¼ä±í }TIME_SCHEDULE_INFO; // Î¥ÕÂ×¥ÅÄ×Ô¶¨Òåʱ¼äÅäÖà typedef struct tagViolationTimeSchedule { BOOL abTrafficGate; // ÊÇ·ñЯ´ø½»Í¨¿¨¿ÚÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficGate; // ½»Í¨¿¨¿Úʱ¼äÅäÖà BOOL abTrafficJunction; // ÊÇ·ñЯ´ø½»Í¨Â·¿ÚÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficJunction; // ½»Í¨Â·¿Úʱ¼äÅäÖà BOOL abTrafficTollGate; // ÊÇ·ñЯ´øÐ½»Í¨¿¨¿ÚÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficTollGate; // н»Í¨¿¨¿Úʱ¼äÅäÖà BOOL abTrafficRunRedLight; // ÊÇ·ñЯ´ø½»Í¨´³ºìµÆÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficRunRedLight; // ½»Í¨´³ºìµÆÊ±¼äÅäÖà BOOL abTrafficRunYellowLight; // ÊÇ·ñЯ´ø½»Í¨´³»ÆµÆÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficRunYellowLight; // ½»Í¨´³»ÆµÆÊ±¼äÅäÖà BOOL abTrafficOverLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹ÏßÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficOverLine; // ½»Í¨Ñ¹Ïßʱ¼äÅäÖà BOOL abTrafficOverYellowLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹»ÆÏßÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficOverYellowLine; // ½»Í¨Ñ¹»ÆÏßʱ¼äÅäÖà BOOL abTrafficRetrograde; // ÊÇ·ñЯ´ø½»Í¨ÄæÐÐÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficRetrograde; // ½»Í¨ÄæÐÐʱ¼äÅäÖà BOOL abTrafficTurnLeft; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂ×óתÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficTurnLeft; // ½»Í¨Î¥ÕÂ×óתʱ¼äÅäÖà BOOL abTrafficTurnRight; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÓÒתÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficTurnRight; // ½»Í¨Â·¿ÚÎ¥ÕÂÓÒתÀàÐÍ BOOL abTrafficU_Turn; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕµôÍ·ÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficU_Turn; // ½»Í¨Î¥Õµôͷʱ¼äÅäÖà BOOL abTrafficCrossLane; // ÊÇ·ñЯ´ø½»Í¨Î¥Õ±äµÀÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficCrossLane; // ½»Í¨Î¥Õ±äµÀʱ¼äÅäÖà BOOL abTrafficParking; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÍ£³µÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficParking; // ½»Í¨Î¥ÕÂÍ£³µÊ±¼äÅäÖà BOOL abTrafficJam; // ÊÇ·ñЯ´ø½»Í¨Óµ¶ÂÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficJam; // ½»Í¨Óµ¶Âʱ¼äÅäÖà BOOL abTrafficIdle; // ÊÇ·ñЯ´ø½»Í¨½»Í¨¿ÕÏÐÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficIdle; // ½»Í¨½»Í¨¿ÕÏÐʱ¼äÅäÖà BOOL abTrafficWaitingArea; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÊ»Èë´ýÐÐÇøÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficWaitingArea; // ½»Í¨Î¥ÕÂÊ»Èë´ýÐÐÇøÊ±¼äÅäÖà BOOL abTrafficUnderSpeed; // ÊÇ·ñЯ´ø½»Í¨Ç·ËÙÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficUnderSpeed; // ½»Í¨Ç·ËÙʱ¼äÅäÖà BOOL abTrafficOverSpeed; // ÊÇ·ñЯ´ø½»Í¨³¬ËÙÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficOverSpeed; // ½»Í¨³¬ËÙʱ¼äÅäÖà BOOL abTrafficWrongRoute; // ÊÇ·ñЯ´ø½»Í¨²»°´³µµÀÐÐÊ»ÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficWrongRoute; // ½»Í¨²»°´³µµÀÐÐʻʱ¼äÅäÖà BOOL abTrafficYellowInRoute; // ÊÇ·ñЯ´ø½»Í¨»ÆÅÆÕ¼µÀÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficYellowInRoute; // ½»Í¨»ÆÅÆÕ¼µÀʱ¼äÅäÖà BOOL abTrafficVehicleInRoute; // ÊÇ·ñЯ´ø½»Í¨ÓгµÕ¼µÀÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficVehicleInRoute; // ½»Í¨ÓгµÕ¼µÀʱ¼äÅäÖà BOOL abTrafficControl; // ÊÇ·ñЯ´ø½»Í¨½»Í¨¹ÜÖÆÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficControl; // ½»Í¨½»Í¨¹ÜÖÆÊ±¼äÅäÖà BOOL abTrafficObjectAlarm; // ÊÇ·ñЯ´ø½»Í¨Ö¸¶¨ÀàÐÍ×¥ÅÄÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficObjectAlarm; // ½»Í¨Ö¸¶¨ÀàÐÍ×¥ÅÄʱ¼äÅäÖà BOOL abTrafficAccident; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Ê¹ÊÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficAccident; // ½»Í¨½»Í¨Ê¹Êʱ¼äÅäÖà BOOL abTrafficStay; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Í£Áô/ÖÍÁôÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficStay; // ½»Í¨½»Í¨Í£Áô/ÖÍÁôʱ¼äÅäÖà BOOL abTrafficPedestrainPriority; // ÊÇ·ñЯ´ø½»Í¨°ßÂíÏßÐÐÈËÓÅÏÈÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficPedestrainPriority; // ½»Í¨°ßÂíÏßÐÐÈËÓÅÏÈʱ¼äÅäÖà BOOL abTrafficPedestrain; // ÊÇ·ñЯ´ø½»Í¨½»Í¨ÐÐÈËʼþÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficPedestrain; // ½»Í¨½»Í¨ÐÐÈËʼþʱ¼äÅäÖà BOOL abTrafficThrow; // ÊÇ·ñЯ´ø½»Í¨½»Í¨Å×È÷ÎïÆ·Ê¼þÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficThrow; // ½»Í¨½»Í¨Å×È÷ÎïÆ·Ê¼þʱ¼äÅäÖà BOOL abTrafficVehicleInBusRoute; // ÊÇ·ñЯ´ø½»Í¨Î¥ÕÂÕ¼µÀÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficVehicleInBusRoute; // ½»Í¨Î¥ÕÂÕ¼µÀʱ¼äÅäÖà BOOL abTrafficBacking; // ÊÇ·ñЯ´ø½»Í¨Î¥Õµ¹³µÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficBacking; // ½»Í¨Î¥Õµ¹³µÊ±¼äÅäÖà BOOL abTrafficOverStopLine; // ÊÇ·ñЯ´ø½»Í¨Ñ¹Í£Ö¹ÏßÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficOverStopLine; // ½»Í¨Ñ¹Í£Ö¹Ïßʱ¼äÅäÖà BOOL abTrafficParkingOnYellowBox; // ÊÇ·ñЯ´ø½»Í¨»ÆÍø¸ñÏß×¥ÅÄÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficParkingOnYellowBox; // ½»Í¨»ÆÍø¸ñÏß×¥ÅÄʱ¼äÅäÖà BOOL abTrafficParkingSpaceParking; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÓгµÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficParkingSpaceParking; // ½»Í¨³µÎ»ÓгµÊ±¼äÅäÖà BOOL abTrafficParkingSpaceNoParking; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÎÞ³µÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficParkingSpaceNoParking; // ½»Í¨³µÎ»ÎÞ³µÊ±¼äÅäÖà BOOL abTrafficParkingSpaceOverLine; // ÊÇ·ñЯ´ø½»Í¨³µÎ»ÓгµÑ¹ÏßÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficParkingSpaceOverLine; // ½»Í¨³µÎ»ÓгµÑ¹Ïßʱ¼äÅäÖà BOOL abParkingSpaceDetection; // ÊÇ·ñЯ´ø½»Í¨¶àÍ£³µÎ»×´Ì¬¼ì²âÐÅÏ¢ TIME_SCHEDULE_INFO stParkingSpaceDetection; // ½»Í¨¶àÍ£³µÎ»×´Ì¬¼ì²âʱ¼äÅäÖà BOOL abTrafficRestrictedPlate; // ÊÇ·ñЯ´ø½»Í¨ÊÜÏÞ³µÅÆÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficRestrictedPlate; // ½»Í¨ÊÜÏÞ³µÅÆÊ±¼äÅäÖà BOOL abTrafficWithoutSafeBelt; // ÊÇ·ñЯ´ø½»Í¨²»Ïµ°²È«´øÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficWithoutSafeBelt; // ½»Í¨²»Ïµ°²È«´øÊ±¼äÅäÖà BOOL abTrafficNoPassing; // ÊÇ·ñЯ´ø½»Í¨½ûÐÐÐÅÏ¢ TIME_SCHEDULE_INFO stTrafficNoPassing; // ½»Í¨½ûÐÐʱ¼äÅäÖà BOOL abVehicleAnalyse; // ÊÇ·ñЯ´ø½»Í¨³µÁ¾ÌØÕ÷¼ì²â·ÖÎöÐÅÏ¢ TIME_SCHEDULE_INFO stVehicleAnalyse; // ½»Í¨³µÁ¾ÌØÕ÷ʱ¼äÅäÖà BOOL abCrossLineDetection; // ÊÇ·ñЯ´ø½»Í¨¾¯½äÏßÐÅÏ¢ TIME_SCHEDULE_INFO stCrossLineDetection; // ½»Í¨¾¯½äÏßʱ¼äÅäÖà BOOL abCrossFenceDetection; // ÊÇ·ñЯ´ø½»Í¨´©Ô½Î§À¸ÐÅÏ¢ TIME_SCHEDULE_INFO stCrossFenceDetection; // ½»Í¨´©Ô½Î§À¸Ê±¼äÅäÖà BOOL abCrossRegionDetection; // ÊÇ·ñЯ´ø½»Í¨¾¯½äÇøÐÅÏ¢ TIME_SCHEDULE_INFO stCrossRegionDetection; // ½»Í¨¾¯½äÇøÊ±¼äÅäÖà BOOL abPasteDetection; // ÊÇ·ñЯ´ø½»Í¨ATMÌùÌõÐÅÏ¢ TIME_SCHEDULE_INFO stPasteDetection; // ½»Í¨ATMÌùÌõʱ¼äÅäÖà BOOL abLeftDetection; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·ÒÅÁôÐÅÏ¢ TIME_SCHEDULE_INFO stLeftDetection; // ½»Í¨ÎïÆ·ÒÅÁôʱ¼äÅäÖà BOOL abPreservation; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·±£È«ÐÅÏ¢ TIME_SCHEDULE_INFO stPreservation; // ½»Í¨ÎïÆ·±£È«Ê±¼äÅäÖà BOOL abTakenAwayDetection; // ÊÇ·ñЯ´ø½»Í¨ÎïÆ·°áÒÆÐÅÏ¢ TIME_SCHEDULE_INFO stTakenAwayDetection; // ½»Í¨ÎïÆ·°áÒÆÊ±¼äÅäÖà BOOL abStayDetection; // ÊÇ·ñЯ´ø½»Í¨Í£Áô/ÖÍÁôÐÅÏ¢ TIME_SCHEDULE_INFO stStayDetection; // ½»Í¨Í£Áô/ÖÍÁôʱ¼äÅäÖà BOOL abParkingDetection; // ÊÇ·ñЯ´ø½»Í¨·Ç·¨Í£³µÐÅÏ¢ TIME_SCHEDULE_INFO stParkingDetection; // ½»Í¨·Ç·¨Í£³µÊ±¼äÅäÖà BOOL abWanderDetection; // ÊÇ·ñЯ´ø½»Í¨ÅÇ»²ÐÅÏ¢ TIME_SCHEDULE_INFO stWanderDetection; // ½»Í¨ÅÇ»²Ê±¼äÅäÖà BOOL abMoveDetection; // ÊÇ·ñЯ´ø½»Í¨Ô˶¯ÐÅÏ¢ TIME_SCHEDULE_INFO stMoveDetection; // ½»Í¨Ô˶¯Ê±¼äÅäÖà BOOL abTailDetection; // ÊÇ·ñЯ´ø½»Í¨Î²ËæÐÅÏ¢ TIME_SCHEDULE_INFO stTailDetection; // ½»Í¨Î²ËæÊ±¼äÅäÖà BOOL abRioterDetection; // ÊÇ·ñЯ´ø½»Í¨¾Û¼¯ÐÅÏ¢ TIME_SCHEDULE_INFO stRioterDetection; // ½»Í¨¾Û¼¯Ê±¼äÅäÖà BOOL abFightDetection; // ÊÇ·ñЯ´ø½»Í¨´ò¼ÜÐÅÏ¢ TIME_SCHEDULE_INFO stFightDetection; // ½»Í¨´ò¼Üʱ¼äÅäÖà BOOL abRetrogradeDetection; // ÊÇ·ñЯ´ø½»Í¨ÄæÐÐÐÅÏ¢ TIME_SCHEDULE_INFO stRetrogradeDetection; // ½»Í¨ÄæÐÐʱ¼äÅäÖà BOOL abFireDetection; // ÊÇ·ñЯ´ø½»Í¨»ðÑæÐÅÏ¢ TIME_SCHEDULE_INFO stFireDetection; // ½»Í¨»ðÑæÊ±¼äÅäÖà BOOL abSmokeDetection; // ÊÇ·ñЯ´ø½»Í¨ÑÌÎíÐÅÏ¢ TIME_SCHEDULE_INFO stSmokeDetection; // ½»Í¨ÑÌÎíʱ¼äÅäÖà BOOL abNumberStat; // ÊÇ·ñЯ´ø½»Í¨ÊýÁ¿Í³¼ÆÐÅÏ¢ TIME_SCHEDULE_INFO stNumberStat; // ½»Í¨ÊýÁ¿Í³¼ÆÊ±¼äÅäÖà BOOL abVideoAbnormalDetection; // ÊÇ·ñЯ´ø½»Í¨ÊÓÆµÒì³£ÐÅÏ¢ TIME_SCHEDULE_INFO stVideoAbnormalDetection; // ½»Í¨ÊÓÆµÒ쳣ʱ¼äÅäÖà BOOL abPrisonerRiseDetection; // ÊÇ·ñЯ´ø¿´ÊØËùÇô·¸ÆðÉí¼ì²âÐÅÏ¢ TIME_SCHEDULE_INFO stPrisonerRiseDetection; // ¿´ÊØËùÇô·¸ÆðÉí¼ì²âʱ¼äÅäÖà BOOL abFaceDetection; // ÊÇ·ñЯ´øÈËÁ³¼ì²âÐÅÏ¢ TIME_SCHEDULE_INFO stFaceDetection; // ÈËÁ³¼ì²âʱ¼äÅäÖà BOOL abFaceRecognition; // ÊÇ·ñЯ´øÈËÁ³Ê¶±ðÐÅÏ¢ TIME_SCHEDULE_INFO stFaceRecognition; // ÈËÁ³Ê¶±ðʱ¼äÅäÖà BOOL abDensityDetection; // ÊÇ·ñЯ´øÃܼ¯¶È¼ì²âÐÅÏ¢ TIME_SCHEDULE_INFO stDensityDetection; // Ãܼ¯¶È¼ì²âʱ¼äÅäÖà BOOL abQueueDetection; // ÊÇ·ñЯ´øÅŶӼì²âÐÅÏ¢ TIME_SCHEDULE_INFO stQueueDetection; // ÅŶӼì²âʱ¼äÅäÖà BOOL abClimbDetection; // ÊÇ·ñЯ´øÅʸ߼ì²âÐÅÏ¢ TIME_SCHEDULE_INFO stClimbDetection; // Åʸßʱ¼äÅäÖà BOOL abLeaveDetection; // ÊÇ·ñЯ´øÀë¸Ú¼ì²âÐÅÏ¢ TIME_SCHEDULE_INFO stLeaveDetection; // Àë¸Úʱ¼äÅäÖà BOOL abVehicleOnPoliceCar; // ÊÇ·ñЯ´ø³µÔؾ¯³µÐÅÏ¢ TIME_SCHEDULE_INFO stVehicleOnPoliceCar; // ³µÔؾ¯³µÊ±¼äÅäÖà BOOL abVehicleOnBus; // ÊÇ·ñЯ´ø³µÔع«½»ÐÅÏ¢ TIME_SCHEDULE_INFO stVehicleOnBus; // ³µÔع«½»Ê±¼äÅäÖà BOOL abVehicleOnSchoolBus; // ÊÇ·ñЯ´ø³µÔØÐ£³µÐÅÏ¢ TIME_SCHEDULE_INFO stVehicleOnSchoolBus; // ³µÔØÐ£³µÊ±¼äÅäÖà BOOL abTrafficNonMotorHoldUmbrella; // ÊÇ·ñЯ´ø·Ç»ú¶¯³µ×°ÔØÉ¡¾ßʱ¼äÅäÖà TIME_SCHEDULE_INFO stTrafficNonMotorHoldUmbrella; // ·Ç»ú¶¯³µ×°ÔØÉ¡¾ßʱ¼äÅäÖà }VIOLATION_TIME_SCHEDULE; // MixModeConfigÖйØÓÚ³µµÀÅäÖÃÐÅÏ¢ typedef struct tagMixModeLaneInfo { unsigned int nLaneNum; // ³µµÀÅäÖøöÊý TRAFFIC_EVENT_CHECK_INFO stCheckInfo[MAX_LANE_CONFIG_NUMBER]; // ³µµÀÅäÖöÔӦʼþ¼ì²âÐÅÏ¢ }MIX_MODE_LANE_INFO; // MixModeConfig »ìºÏģʽΥÕÂÅäÖà typedef struct tagMIX_MODE_CONFIG { BOOL bLaneDiffEnable; // ÊÇ·ñ°´³µµÀÇø·Ö MIX_MODE_LANE_INFO stLaneInfo; TRAFFIC_EVENT_CHECK_INFO stCheckInfo; }MIX_MODE_CONFIG; typedef struct tagPeriodOfValidity { CFG_NET_TIME stBeginTime; // ±ê¶¨¿ªÊ¼Ê±¼ä CFG_NET_TIME stEndTime; // ±ê¶¨µ½ÆÚʱ¼ä }PERIOD_OF_VALIDITY; // ½»Í¨È«¾ÖÅäÖöÔÓ¦±ê¶¨Ïà¹ØÅäÖà typedef struct tagTrafficCalibrationInfo { char szUnit[CFG_COMMON_STRING_256]; // ±ê¶¨µ¥Î» char szCertificate[CFG_COMMON_STRING_256]; // ±ê¶¨Ö¤Êé PERIOD_OF_VALIDITY stPeriodOfValidity; // ±ê¶¨ÓÐЧÆÚ }TRAFFIC_CALIBRATION_INFO; // ½»Í¨ÅäÖöÔÓ¦´«Êä²ßÂÔ typedef enum tagEmTransferPolicy { EM_TRAFFIC_TRANSFER_UNKNOWN, // δ֪²ßÂÔ EM_TRAFFIC_TRANSFER_REALTIME, // "RealtimePriority" ʵʱÓÅÏÈ EM_TRAFFIC_TRANSFER_SEQUENCE, // "SequencePriority" ˳ÐòÓÅÏÈ }EM_TRANSFER_POLICY; // ½»Í¨È«¾ÖÅäÖöÔӦͼƬÃüÃû¸ñʽ²ÎÊýÅäÖà typedef struct tagTrafficNamingFormat { char szFormat[CFG_COMMON_STRING_256]; // ͼƬ¸ñʽ }TRAFFIC_NAMING_FORMAT; // ½»Í¨È«¾ÖÅäÖöÔÓ¦µÆ×é״̬ÅäÖà typedef struct tagEnableLightStateInfo { BOOL bEnable; // ÊÇ·ñÆô¶¯Ó¦ÓòãÊÕµ½µÄµÆ×é״̬¸øµ×²ã }ENABLE_LIGHT_STATE_INFO; // CFG_CMD_TRAFFICGLOBAL ½»Í¨È«¾ÖÅäÖÃÅäÖñí typedef struct tagCFG_TRAFFICGLOBAL_INFO { VIOLATIONCODE_INFO stViolationCode; // Î¥Õ´úÂëÅäÖñí BOOL bEnableRedList; // ʹÄܺìÃûµ¥¼ì²â£¬Ê¹Äܺó£¬Ãûµ¥ÄÚ³µÁ¾Î¥Õ²»Éϱ¨ BOOL abViolationTimeSchedule; // ÊÇ·ñЯ´øÎ¥ÕÂ×¥ÅÄ×Ô¶¨Òåʱ¼äÅäÖà VIOLATION_TIME_SCHEDULE stViolationTimeSchedule; // Î¥ÕÂ×¥ÅÄ×Ô¶¨Òåʱ¼äÅäÖà BOOL abEnableBlackList; // ÊÇ·ñЯ´øÊ¹ÄܺÚÃûµ¥¼ì²âÐÅÏ¢ BOOL bEnableBlackList; // ʹÄܺÚÃûµ¥¼ì²â BOOL abPriority; // ÊÇ·ñЯ´øÎ¥ÕÂÓÅÏȼ¶²ÎÊý unsigned int nPriority; // Î¥ÕÂÓÅÏȼ¶¸öÊý char szPriority[MAX_PRIORITY_NUMBER][CFG_COMMON_STRING_256]; // Î¥ÕÂÓÅÏȼ¶, 0Ϊ×î¸ßÓÅÏȼ¶ BOOL abNamingFormat; // ÊÇ·ñЯ´øÍ¼Æ¬ÃüÃû¸ñʽ²ÎÊý TRAFFIC_NAMING_FORMAT stNamingFormat; // ͼƬÃüÃû¸ñʽ²ÎÊýÅäÖà BOOL abVideoNamingFormat; // ÊÇ·ñЯ´øÂ¼ÏñÃüÃû¸ñʽ²ÎÊý TRAFFIC_NAMING_FORMAT stVideoNamingFormat; // ¼ÏñÃüÃû¸ñʽ²ÎÊýÅäÖà BOOL abCalibration; // ÊÇ·ñЯ´ø±ê¶¨ÐÅÏ¢ TRAFFIC_CALIBRATION_INFO stCalibration; // ±ê¶¨ÐÅÏ¢ BOOL abAddress; // ÊÇ·ñЯ´ø²éѯµØÖ·²ÎÊý char szAddress[CFG_COMMON_STRING_256]; // ²éѯµØÖ·£¬UTF-8±àÂë BOOL abTransferPolicy; // ÊÇ·ñЯ´ø´«Êä²ßÂÔ²ÎÊý EM_TRANSFER_POLICY emTransferPolicy; // ´«Êä²ßÂÔ BOOL abSupportModeMaskConfig; // ÊÇ·ñЯ´øÎ¥ÕÂÑÚÂë TRAFFIC_EVENT_CHECK_MASK stSupportModeMaskConfig; // Î¥ÕÂÀàÐÍÖ§³ÖµÄ¼ì²âģʽÑÚÂëÅäÖà BOOL abIsEnableLightState; // ÊÇ·ñЯ´øµÆ×é״̬ ENABLE_LIGHT_STATE_INFO stIsEnableLightState; // ½»Í¨È«¾ÖÅäÖöÔӦͼƬÃüÃû¸ñʽ²ÎÊýÅäÖà BOOL abMixModeInfo; // ÊÇ·ñº¬ÓлìºÏģʽÅäÖà MIX_MODE_CONFIG stMixModeInfo; // »ìºÏģʽÅäÖà }CFG_TRAFFICGLOBAL_INFO; // CFG_CMD_VIDEOENCODEROI ÊÓÆµ±àÂëROI(Region of Intrest)ÅäÖà #define DH_MAX_QUALITY_REGION_NUM 8 typedef struct tagCFG_VIDEOENCODEROI_INFO { int nRegionNum; // ÓÅ»¯ÇøÓò¸öÊý CFG_RECT stRegions[DH_MAX_QUALITY_REGION_NUM]; // ÓÅ»¯ÇøÓò Ö§³Ö¶à¸öÓÅ»¯ÇøÓò£¬Ê¹ÓÃÏà¶Ô×ø±êÌåϵ£¬È¡Öµ¾ùΪ0~8191 BYTE byQuality; // ͼÏñÖÊÁ¿ ȡֵ1~6£¬ÖµÔ½´ó£¬Í¼ÏñÖÊÁ¿Ô½ºÃ bool bMain; // ÓÅ»¯Ö÷ÂëÁ÷ÊÓÆµ±àÂë bool bExtra1; // ÓÅ»¯¸¨ÂëÁ÷1ÊÓÆµ±àÂë bool bExtra2; // ÓÅ»¯¸¨ÂëÁ÷2ÊÓÆµ±àÂë bool bExtra3; // ÓÅ»¯¸¨ÂëÁ÷3ÊÓÆµ±àÂë bool bSnapshot; // ÓÅ»¯×¥Í¼±àÂë BYTE byReserved2[2]; // ¶ÔÆë }CFG_VIDEOENCODEROI_INFO; // ATMÈ¡¿î³¬Ê±ÅäÖà typedef struct tagCFG_ATMMOTION_INFO { int nTimeLimit; // È¡¿î³¬Ê±Ê±¼ä,µ¥Î»:Ãë }CFG_ATMMOTION_INFO; typedef struct tagCFG_SNAPSOURCE_INFO_SINGLE_CHANNEL { bool bEnable; // ʹÄÜ BYTE bReserved1[3]; // ±£Áô×ֶΣ¬¶ÔÆë BYTE bDevice[64]; // É豸Ãû DWORD dwChannel; // ÊÓÆµÍ¨µÀºÅ DWORD dwLinkVideoChannel; // ץͼͨµÀ¶ÔÓ¦µÄÊÓÆµÍ¨µÀºÅ BYTE bReserved[512]; // ±£Áô×Ö¶Î }SNAPSOURCE_INFO_SINGLE_CHANNEL; typedef struct tagCFG_SNAPSOURCE_INFO { DWORD dwCount; //ÒªÅäÖõÄͨµÀµÄ¸öÊý SNAPSOURCE_INFO_SINGLE_CHANNEL singleChnSanpInfo[MAX_VIDEO_CHANNEL_NUM]; //SNAPSOURCE_INFO_SINGLE_CHANNELÊý×éµÄµØÖ· }CFG_SNAPSOURCE_INFO; typedef struct tagDEVICE_STATUS { char szDeviceName[MAX_REMOTEDEVICENAME_LEN]; //Ô¶³ÌÉ豸µÄÃû×Ö BYTE bDeviceStatus; //Ô¶³ÌÉ豸µÄ״̬ 0£º¶ÏÏß 1£ºÔÚÏß BYTE bReserved[63]; //±£Áô×Ö½Ú }DEVICE_STATUS; typedef struct tagCFG_REMOTE_DEVICE_STATUS { DEVICE_STATUS devStatus[MAX_REMOTE_DEV_NUM]; //É豸״̬ DWORD dwDevCount; //É豸ÊýÁ¿ BYTE bReserved[1024]; //±£Áô×Ö½Ú }CFG_REMOTE_DEVICE_STATUS; // ͬÖᱨ¾¯×î´ó¸öÊý #define MAX_COAXIAL_ALARM_COUNT 64 // ͬÖᱨ¾¯ÀàÐÍ typedef enum tagEM_COAXIAL_ALARM_TYPE { EM_COAXIAL_ALARM_TYPE_UNKNOWN, // δ֪ EM_COAXIAL_ALARM_TYPE_EXT_ALARM, // ͬÖá×Ô´øÍⲿ±¨¾¯ EM_COAXIAL_ALARM_TYPE_MOTION_ALARM, // ͬÖá×Ô´ø¶¯¼ì±¨¾¯ EM_COAXIAL_ALARM_TYPE_VOLTAGE_ALARM, // ͬÖá×Ô´øµçѹ±¨¾¯ EM_COAXIAL_ALARM_TYPE_ALARM_LOCAL, // ͬÖáÍø¹Ø·ÀÇø´«¸ÐÆ÷±¨¾¯ EM_COAXIAL_ALARM_TYPE_ALARM_BEL, // ͬÖáÍø¹Ø±¨¾¯À®°È EM_COAXIAL_ALARM_TYPE_TEMPERATURE_ALARM, // ͬÖáζȱ¨¾¯ EM_COAXIAL_ALARM_TYPE_HUMIDITY_ALARM, // ͬÖáʪ¶È±¨¾¯ } EM_COAXIAL_ALARM_TYPE; // ²úÆ·¶¨ÒåÐÅÏ¢ typedef struct tagCFG_PRODUCT_DEFINITION_INFO { int nCoaxialAlarmCount; // É豸֧³ÖµÄ±¨¾¯ÊýÁ¿ EM_COAXIAL_ALARM_TYPE emCoaxialAlarm[MAX_COAXIAL_ALARM_COUNT]; // É豸֧³ÖµÄ±¨¾¯ } CFG_PRODUCT_DEFINITION_INFO; //-----------------------------ÒôƵ·ÖÎöÏà¹ØÅäÖÃ------------------------------ // ʼþÀàÐÍ EVENT_IVS_AUDIO_ABNORMALDETECTION (ÉùÒôÒì³£¼ì²âʼþ)¶ÔÓ¦¹æÔòÅäÖà typedef struct tagCFG_IVS_AUDIO_ABNORMALDETECTION_INFO { char szRuleName[MAX_NAME_LEN]; // ¹æÔòÃû³Æ,²»Í¬¹æÔò²»ÄÜÖØÃû bool bRuleEnable; // ¹æÔòʹÄÜ BYTE bReserved[3]; // ±£Áô×Ö¶Î int nDecibel; // ÉùÒôÇ¿¶È£¬µ¥Î» db int nFrequency; // ÉùÒôƵÂÊ, µ¥Î» Hz int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä, µ¥Î» s CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î }CFG_IVS_AUDIO_ABNORMALDETECTION_INFO; typedef struct tagCFG_CAP_AUDIO_ANALYSE_INFO { int nSupportedRuleNum; // Ö§³ÖµÄ¹æÔòÀàÐÍÊý DWORD dwSupportedRules[MAX_RULE_LIST_SIZE]; // ¾ßÌåÖ§³ÖµÄ¹æÔòÀàÐÍ }CFG_CAP_AUDIO_ANALYSE_INFO; //-------------------------IPS && SVR------------------------------ // É豸״̬ÐÅÏ¢ typedef struct tagCFG_DEVICESTATUS_INFO { int nPowerNum; // µçÔ´¸öÊý BYTE byPowerStatus[MAX_POWER_NUM]; // µçԴ״̬£¬1:Õý³£ 2:Òì³£ 3:δ֪ int nCPUNum; // CPU¸öÊý int nCPUTemperature[MAX_CPU_NUM]; // CPUÎÂ¶È int nFanNum; // ·çÉȸöÊý int nRotatoSpeed[MAX_FUN_NUM]; // ·çÉÈתËÙ }CFG_DEVICESTATUS_INFO; // À©Õ¹¹ñÐÅÏ¢ typedef struct tagCFG_HARDDISK_INFO { int nChannel; // ͨµÀºÅ int nCapacity; // Ó²ÅÌÈÝÁ¿ BYTE byStatus; // Ó²ÅÌ״̬£¬0:unknown 1:running 2:fail 3.spareÈȱ¸ // 4.syncͬ²½ 5.faultyʧЧ 6.rebuildingÖØ½¨ 7.removeÒÆ³ý 8.sleepÐÝÃß BYTE byUsedStatus; // ʹÓÃ״̬£¬1.¿ÕÏÐ 2.ÔÚÓà 3.δ֪ BYTE byHotBack; // ÊÇ·ñÊÇÈȱ¸ÅÌ£¬0:Èȱ¸ÅÌ 1:·ÇÈȱ¸ÅÌ BYTE byReserved; // ×Ö½Ú¶ÔÆë char szRaidName[MAX_NAME_LEN]; // ËùÔÚRaid(´ÅÅÌ×é)µÄÃû³Æ "RaidName" : "Raid0", // ËùÔÚRaid(´ÅÅÌ×é)µÄÃû³Æ¡£Èç²»ÊôÓÚÈκÎRaid£¬Ôò×Ö¶ÎΪnull¡£ // ±ÈÈçÈȱ¸ÅÌ£¬ÊôÓÚÈ«¾ÖÈȱ¸Å̵ģ¬Ôò´«null¡£ char szType[32]; // Ó²ÅÌÐͺŠint nTank; // À©Õ¹¹ñ, 0:Ö÷»ú;1:À©Õ¹¹ñ1; 2:À©Õ¹¹ñ2 ¡­¡­ int nRemainSpace; // Ê£ÓàÈÝÁ¿£¬µ¥Î»M }CFG_HARDDISK_INFO; typedef struct tagCFG_HARDDISKTANK_INFO { char szTankName[MAX_NAME_LEN]; // ´æ´¢¹ñÃû³Æ int nHardDiskNum; // Ó²Å̸öÊý CFG_HARDDISK_INFO stuHarddiskInfo[MAX_HARDDISK_NUM]; // Ó²ÅÌÐÅÏ¢ }CFG_HARDDISKTANK_INFO; typedef struct tagCFG_HARDISKTANKGROUP_INFO { int nTankNum; // Ó²ÅÌ´æ´¢¹ñ¸öÊý CFG_HARDDISKTANK_INFO stuHarddisktank[MAX_TANK_NUM]; // Ó²ÅÌ´æ´¢¹ñÊý×é }CFG_HARDISKTANKGROUP_INFO; // Raid×éÐÅÏ¢ typedef struct tagCFG_RAID_INFO { char szRaidName[MAX_NAME_LEN]; // RaidÃû³Æ BYTE byType; // ÀàÐÍ 1:Jbob, 2:Raid0, 3:Raid1, 4:Raid5 BYTE byStatus; // ״̬ 0:unknown, 1:active, 2:degraded, 3:inactive, 4: Resyncing // 5.Clean 6.Unknow 7.Recovering 8.Reshaping 9.Checking 10.NotStarted BYTE byStatusCount; // ״̬ÊýÁ¿, ״̬Êý>=1ʱ, ÓÃbyStatusGroup±íʾ״̬ BYTE byReserved; // ×Ö½Ú¶ÔÆë int nMember[MAX_CHAN_NUM]; // ×é³É´ÅÅÌͨµÀ int nDiskNUM; // ´ÅÅ̸öÊý int nCapacity; // ÈÝÁ¿ int nTank; // À©Õ¹¹ñ int nRemainSpace; // Ê£ÓàÈÝÁ¿£¬µ¥Î»M BYTE byStatusGroup[MAX_STATUS_NUM]; // ״̬Êý×é, ²ÎÊýֵͬbyStatus }CFG_RAID_INFO; typedef struct tagCFG_RAIDGROUP_INFO { int nRaidNum; // Raid¸öÊý CFG_RAID_INFO stuRaidInfo[MAX_RAID_NUM]; // Raid×éÐÅÏ¢ }CFG_RAIDGROUP_INFO; // ´æ´¢³Ø×éÐÅÏ¢ typedef struct tagCFG_STORAGEPOOL_INFO { char szName[MAX_NAME_LEN]; // ´æ´¢³ØÃû³Æ int nMemberNum; // É豸ÊýÁ¿ char szMember[MAX_DEV_NUM][MAX_NAME_LEN];// ×é³ÉÉ豸 int nUsed; // ÒÑÓÃÈÝÁ¿ int nCapacity; // ×ÜÈÝÁ¿ int nStatus; // ״̬ 0:unknown 1:active 2:degraded 3:inactive int nTank; // À©Õ¹¹ñ 0:Ö÷»ú, 1:À©Õ¹¹ñ1, 2:À©Õ¹¹ñ2 ¡­¡­ }CFG_STORAGEPOOL_INFO; typedef struct tagCFG_STORAGEPOOLGROUP_INFO { int nStroagePoolNum; // ´æ´¢³Ø¸öÊý CFG_STORAGEPOOL_INFO stuStoragePoolInfo[MAX_STORAGEPOOL_NUM]; // ´æ´¢³ØÐÅÏ¢ }CFG_STORAGEPOOLGROUP_INFO; // Îļþϵͳ×éÐÅÏ¢ typedef struct tagCFG_STORAGEPOSITION_INFO { char szName[MAX_NAME_LEN]; // ´æ´¢Î»ÖÃÃû³Æ char szStoragePoolName[MAX_NAME_LEN]; // ´æ´¢³ØÃû³Æ int nUsedCapacity; // ÒÑÓÃÈÝÁ¿,µ¥Î»G int nTotalCapacity; // ÈÝÁ¿,µ¥Î»G BYTE byStatus; // ״̬ 0.δ֪ 1.Õý³£ 2.ÅäÖÃÒì³£ 3.¹ÒÔØÒì³£ BYTE byReserved[3]; // ×Ö½Ú¶ÔÆë }CFG_STORAGEPOSITION_INFO; typedef struct tafCFG_STORAGEPOSITIONGROUP_INFO { int nStoragePositionNum; // ´æ´¢ÐÅÏ¢¸öÊý CFG_STORAGEPOSITION_INFO stuStoragePositionInfo[MAX_STRORAGEPOS_NUM]; // Îļþϵͳ×éÐÅÏ¢ }CFG_STORAGEPOSITIONGROUP_INFO; // ǰ¶ËÉ豸×éÐÅÏ¢ typedef struct tagCFG_VIDEOINDEV_INFO { char szDevName[MAX_NAME_LEN]; // ǰ¶ËÉ豸Ãû³Æ char szDevID[MAX_NAME_LEN]; // É豸ID char szDevType[MAX_NAME_LEN]; // É豸ÀàÐÍ int nTotalChan; // ×ÜͨµÀÊý int nTotalAlarmChan; // ±¨¾¯Í¨µÀ×ÜÊý char szIP[MAX_ADDRESS_LEN]; // É豸IP BYTE byStatus; // ״̬ 0:δ֪ 1:ÔÚÏß 2:ÀëÏß BYTE byReserved[3]; // ×Ö½Ú¶ÔÆë }CFG_VIDEOINDEV_INFO; typedef struct tafCFG_VIDEOINDEVGROUP_INFO { int nVideoDevNum; // ǰ¶ËÉ豸¸öÊý CFG_VIDEOINDEV_INFO stuVideoInDevInfo[MAX_VIDEODEV_NUM]; // ǰ¶ËÉ豸×éÐÅÏ¢ }CFG_VIDEOINDEVGROUP_INFO; // ͨµÀ¼Ïñ×é״̬ typedef struct tagCFG_DEVRECORD_INFO { char szDevName[MAX_NAME_LEN]; // É豸Ãû³Æ char szIP[MAX_ADDRESS_LEN]; // É豸IP char szChannel[MAX_NAME_LEN]; // ͨµÀºÅ char szChannelName[MAX_NAME_LEN]; // ͨµÀÃû³Æ char szStoragePosition[MAX_NAME_LEN]; // ´æ´¢Î»ÖÃÐÅÏ¢ BYTE byStatus; // ״̬ 0:δ֪ 1:¼Ïñ 2:Í£Ö¹ BYTE byReserved[3]; // ×Ö½Ú¶ÔÆë }CFG_DEVRECORD_INFO; typedef struct tagCFG_DEVRECORDGROUP_INFO { int nChannelNum; // ͨµÀ¸öÊý CFG_DEVRECORD_INFO stuDevRecordInfo[MAX_CHAN_NUM]; // ͨµÀ¼Ïñ״̬ÐÅÏ¢ }CFG_DEVRECORDGROUP_INFO; #define byDahuaII byPrivateII #define byDahuaIId byPrivateIId // ·þÎñ״̬ typedef struct tagCFG_IPSERVER_STATUS { int nSupportedServerNum; // ÌṩµÄ·þÎñ¸öÊý char szSupportServer[MAX_SEVER_NUM][MAX_NAME_LEN]; // ÌṩµÄ·þÎñÃû³Æ Svr Svrd(SVRÊØ»¤·þÎñ) DataBase DataBased(DataBaseÊØ»¤·þÎñ) NtpServer NtpServerd(NtpServerÊØ»¤·þÎñ) DahuaII DahuaIId(DahuaIIÊØ»¤·þÎñ) Samba Nfs Ftp iScsi int nSvrSuppSubServerNum; // SvrÌṩµÄ×Ó·þÎñÐÅÏ¢¸öÊý char szSvrSuppSubServer[MAX_SEVER_NUM][MAX_NAME_LEN]; // SvrÌṩµÄ×Ó·þÎñÐÅÏ¢ CMS DMS MTS SS RMS DBR BYTE byCMS; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byDMS; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byMTS; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE bySS; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byRMS; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byDBR; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE bySvrd; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byDataBase; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byDataBased; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byNtpServer; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byNtpServerd; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byPrivateII; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byPrivateIId; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE bySAMBA; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byNFS; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byFTP; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byISCSI; // 0:δ֪ 1:ÔËÐÐ 2:δÔËÐÐ BYTE byReserved[3]; // ×Ö½Ú¶ÔÆë }CFG_IPSERVER_STATUS; //---------------------------ÊÓÆµ¾ØÕó----------------------------------- #define MAX_SUPPORT_SPLIT_MODE_NUM 16 // Ö§³ÖµÄ»­Ãæ·Ö¸îµÄÄÜÁ¦×î´óÊý #define MAX_MATRIX_PLAN 4 // ×î´ó¾ØÕó·½°¸Êý #define MAX_TOUR_MODE 16 // ×î´óÂÖѲ¶ÓÁÐÊý typedef enum tagMATRIX_VIEW_SPLITMODE { MATRIX_VIEW_SPLIT1 = 0, MATRIX_VIEW_SPLIT2, MATRIX_VIEW_SPLIT4, MATRIX_VIEW_SPLIT8, MATRIX_VIEW_SPLIT9, MATRIX_VIEW_SPLIT16, MATRIX_VIEW_SPLITPIP, MATRIX_VIEW_SPLIT6, MATRIX_VIEW_SPLIT12, MATRIX_VIEW_SPLIT25, MATRIX_VIEW_SPLIT36, MATRIX_VIEW_SPLIT_NR, }MATRIX_VIEW_SPLITMODE; // ÂÖѲģʽ typedef struct tagCFG_TOUR_MODE { int nViewMode; // »­Ãæ·Ö¸îģʽ,²Î¿¼Ã¶¾ÙÀàÐÍMATRIX_VIEW_SPLITMODE unsigned int dwViewSplitMask; // ±íʾViewModeÖ¸¶¨Ä£Ê½ÏÂ,ʹÄܵö·Ö¸ô·½·¨,ʹÓÃÑÚÂë±í´ï·½Ê½ // ÀýÈç:0x00000007:±íʾģʽ3(SPLIT8)µÄ·Ö¸ô1,2,3ʹÄÜ¿ªÆô,ÆäËûδʹÄÜ,0x0000000F±íʾ·Ö¸ô1,2,3,4ʹÄÜ }CFG_TOUR_MODE; // SPOTÊÓÆµ¾ØÕó·½°¸ typedef struct tagCFG_VIDEO_MATRIX_PLAN { BOOL bEnable; // ¾ØÕóÅäÖ÷½°¸Ê¹ÄÜ int nTourPeriod; // ¾ØÕóÂÖѲ¼ä¸ô,µ¥Î»Ãë,>=1 int nTourModeNum; // ÂÖѲ¶ÓÁиöÊý CFG_TOUR_MODE stuTourMode[MAX_TOUR_MODE]; // ÂÖѲ¶ÓÁÐ }CFG_VIDEO_MATRIX_PLAN; // SPOT¾ØÕóÅäÖà typedef struct tagCFG_VIDEO_MATRIX { int nSupportSplitModeNumber; // Ö§³ÖµÄ»­Ãæ·Ö¸îµÄÄÜÁ¦Êý BYTE bySupportSplitMode[MAX_SUPPORT_SPLIT_MODE_NUM]; // Ö§³ÖµÄ»­Ãæ·Ö¸îµÄÄÜÁ¦ int nMatrixPlanNumber; // ¾ØÕó·½°¸Êý CFG_VIDEO_MATRIX_PLAN stuMatrixPlan[MAX_MATRIX_PLAN]; // ¾ØÕó·½°¸ }CFG_VIDEO_MATRIX; ///////////////////////////////////ÊÓÆµÕï¶ÏÅäÖÃ/////////////////////////////////////// // ÊÓÆµ¶¶¶¯¼ì²â typedef struct tagCFG_VIDEO_DITHER_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_DITHER_DETECTION; // ÌõÎÆ¼ì²â typedef struct tagCFG_VIDEO_STRIATION_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 BYTE byReserved1[2]; // ×Ö½Ú¶ÔÆë BOOL bUVDetection; // UV·ÖÁ¿ÊÇ·ñ¼ì²â }CFG_VIDEO_STRIATION_DETECTION; // ÊÓÆµ¶ªÊ§¼ì²â typedef struct tagCFG_VIDEO_LOSS_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 }CFG_VIDEO_LOSS_DETECTION; // ÊÓÆµÕÚµ²¼ì²â typedef struct tagCFG_VIDEO_COVER_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_COVER_DETECTION; // »­Ãæ¶³½á¼ì²â typedef struct tagCFG_VIDEO_FROZEN_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 }CFG_VIDEO_FROZEN_DETECTION; // ÁÁ¶ÈÒì³£¼ì²â typedef struct tagCFG_VIDEO_BRIGHTNESS_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE bylowerThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE bylowerThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 BYTE byUpperThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byUpperThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_BRIGHTNESS_DETECTION; // ¶Ô±È¶ÈÒì³£¼ì²â typedef struct tagCFG_VIDEO_CONTRAST_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE bylowerThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE bylowerThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 BYTE byUpperThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byUpperThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_CONTRAST_DETECTION; // ƫɫ¼ì²â typedef struct tagCFG_VIDEO_UNBALANCE_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_UNBALANCE_DETECTION; // ÔëÉù¼ì²â typedef struct tagCFG_VIDEO_NOISE_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_NOISE_DETECTION; // Ä£ºý¼ì²â typedef struct tagCFG_VIDEO_BLUR_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_BLUR_DETECTION; // ³¡¾°±ä»¯¼ì²â typedef struct tagCFG_VIDEO_SCENECHANGE_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä µ¥Î»£ºÃë 0~65535 BYTE byThrehold1; // Ô¤¾¯·§Öµ ȡֵ1-100 BYTE byThrehold2; // ±¨¾¯·§Öµ ȡֵ1-100 }CFG_VIDEO_SCENECHANGE_DETECTION; // ÊÓÆµÑÓʱ¼ì²â typedef struct tagCFG_VIDEO_DELAY_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà }CFG_VIDEO_DELAY_DETECTION; // ÔÆÌ¨ÒÆ¶¯¼ì²â typedef struct tagCFG_PTZ_MOVING_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà }CFG_PTZ_MOVING_DETECTION; // ºÚ°×ͼÏñ¼ì²â typedef struct tagCFG_VIDEO_BLACKWHITE_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nEarlyWarning; // Ô¤¾¯ãÐÖµ int nAlarm; // ±¨¾¯ãÐÖµ int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä } CFG_VIDEO_BLACKWHITE_DETECTION; // ³¡¾°¾ç±ä¼ì²â typedef struct tagCFG_VIDEO_DRAMATICCHANGE_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà int nEarlyWarning; // Ô¤¾¯ãÐÖµ int nAlarm; // ±¨¾¯ãÐÖµ int nMinDuration; // ×î¶Ì³ÖÐøÊ±¼ä } CFG_VIDEO_DRAMATICCHANGE_DETECTION; // ÊÓÆµÍêºÃÂʼà²â typedef struct tagCFG_VIDEO_AVAILABILITY_DETECTION { BOOL bEnable; // ʹÄÜÅäÖà }CFG_VIDEO_AVAILABILITY_DETECTION; typedef struct tagCFG_VIDEO_DIAGNOSIS_PROFILE { char szName[MAX_PATH]; // Ãû³ÆAnsi±àÂë CFG_VIDEO_DITHER_DETECTION* pstDither; // ÊÓÆµ¶¶¶¯¼ì²â CFG_VIDEO_STRIATION_DETECTION* pstStriation; // ÊÓÆµÌõÎÆ¼ì²â CFG_VIDEO_LOSS_DETECTION* pstLoss; // ÊÓÆµ¶ªÊ§¼ì²â CFG_VIDEO_COVER_DETECTION* pstCover; // ÊÓÆµÕÚµ²¼ì²â CFG_VIDEO_FROZEN_DETECTION* pstFrozen; // ÊÓÆµ¶³½á¼ì²â CFG_VIDEO_BRIGHTNESS_DETECTION* pstBrightness; // ÊÓÆµÁÁ¶ÈÒì³£¼ì²â CFG_VIDEO_CONTRAST_DETECTION* pstContrast; // ¶Ô±È¶ÈÒì³£¼ì²â CFG_VIDEO_UNBALANCE_DETECTION* pstUnbalance; // ƫɫÒì³£¼ì²â CFG_VIDEO_NOISE_DETECTION* pstNoise; // ÔëÉù¼ì²â CFG_VIDEO_BLUR_DETECTION* pstBlur; // Ä£ºý¼ì²â CFG_VIDEO_SCENECHANGE_DETECTION* pstSceneChange; // ³¡¾°±ä»¯¼ì²â CFG_VIDEO_DELAY_DETECTION* pstVideoDelay; // ÊÓÆµÑÓʱ¼ì²â CFG_PTZ_MOVING_DETECTION* pstPTZMoving; // ÔÆÌ¨ÒÆ¶¯¼ì²â CFG_VIDEO_BLACKWHITE_DETECTION* pstBlackAndWhite; // ºÚ°×ͼÏñ¼ì²â CFG_VIDEO_DRAMATICCHANGE_DETECTION* pstDramaticChange; // ³¡¾°¾ç±ä¼ì²â CFG_VIDEO_AVAILABILITY_DETECTION* pstVideoAvailability; // ÊÓÆµÍêºÃÂʼà²â }CFG_VIDEO_DIAGNOSIS_PROFILE; // ÊÓÆµÕï¶Ï²ÎÊý±í(CFG_CMD_VIDEODIAGNOSIS_PROFILE)£¬Ö§³Ö¶àÖÖ²ÎÊý±í£¬ÓñíÃû³ÆÀ´Ë÷Òý µ÷ÓÃÕßÉêÇëÄÚ´æ²¢³õʼ»¯ typedef struct tagCFG_VIDEODIAGNOSIS_PROFILE { int nTotalProfileNum; // µ÷ÓÃÕß·ÖÅä²ÎÊý±íÊý ¸ù¾ÝÄÜÁ¦¼¯»ñÈ¡ int nReturnProfileNum; // ·µ»ØµÄʵ¼Ê²ÎÊý±íÊý CFG_VIDEO_DIAGNOSIS_PROFILE* pstProfiles; // µ÷ÓÃÕß·ÖÅänTotalProfileNum¸öCFG_VIDEO_DIAGNOSIS_PROFILE }CFG_VIDEODIAGNOSIS_PROFILE; ///// ÊÓÆµÕï¶ÏÈÎÎñ enum CFG_EM_STREAM_TYPE { CFG_EM_STREAM_ERR, // ÆäËü CFG_EM_STREAM_MAIN, // "Main"-Ö÷ÂëÁ÷ CFG_EM_STREAM_EXTRA_1, // "Extra1"-¸¨ÂëÁ÷1 CFG_EM_STREAM_EXTRA_2, // "Extra2"-¸¨ÂëÁ÷2 CFG_EM_STREAM_EXTRA_3, // "Extra3"-¸¨ÂëÁ÷3 CFG_EM_STREAM_SNAPSHOT, // "Snapshot"-ץͼÂëÁ÷ CFG_EM_STREAM_OBJECT, // "Object"-ÎïÌåÁ÷ }; // É豸ÏêϸÐÅÏ¢ typedef struct tagCFG_TASK_REMOTEDEVICE { char szAddress[MAX_PATH]; // É豸µØÖ·»òÓòÃû unsigned int dwPort; // ¶Ë¿ÚºÅ char szUserName[MAX_PATH]; // Óû§Ãû char szPassword[MAX_PATH]; // ÃÜÂëÃ÷ÎÄ char szProtocolType[MAX_PATH]; // Á¬½ÓÉ豸µÄЭÒéÀàÐÍ CFG_RemoteDeviceVideoInput *pVideoInput; // ÊÓÆµÊäÈëͨµÀ£¬Óû§ÉêÇënMaxVideoInputs¸öCFG_RemoteDeviceVideoInput¿Õ¼ä int nMaxVideoInputs; // ÊÓÆµÊäÈëͨµÀ×î´óÊý int nRetVideoInputs; // ·µ»ØµÄÊÓÆµÊäÈëͨµÀÊý }CFG_TASK_REMOTEDEVICE; // ÊÓÆµÕï¶Ï¼Ïñ±£´æÎ»Öà typedef enum tagEM_SOURCE_VIDEO_LOCATION { EM_SOURCE_VIDEO_LOCATION_UNKNOWN, // δ֪ EM_SOURCE_VIDEO_LOCATION_DEVICE, // ´æÓÚÉ豸 EM_SOURCE_VIDEO_LOCATION_CENTER, // ´æÓÚÆ½Ì¨ EM_SOURCE_VIDEO_LOCATION_THIRD, // ´æÓÚµÚÈý·½ÔÆ } EM_SOURCE_VIDEO_LOCATION; // ¼ÏñµÄÀàÐÍ typedef enum tagEM_VIDEO_TYPE { EM_VIDEO_TYPE_UNKNOWN, // δ֪ EM_VIDEO_TYPE_ALL, // È«²¿ EM_VIDEO_TYPE_MANUAL, // ÊÖ¶¯±£´æµÄ¼Ïñ EM_VIDEO_TYPE_ALARM, // ±¨¾¯Â¼Ïñ } EM_VIDEO_TYPE; // ÊÓÆµÕï¶Ï¼ÏñÏêϸÐÅÏ¢ typedef struct tagNET_VIDEO_DIAGNOSIS_RECORD_INFO { EM_SOURCE_VIDEO_LOCATION emSourceLocation; // ¼Ïñ±£´æµÄλÖà EM_VIDEO_TYPE emRecordType; // ÊÓÆµÕï¶Ï¼ÏñÀàÐÍ CFG_NET_TIME stuStartTime; // ÊÓÆµÕï¶Ï¼Ïñ¿ªÊ¼Ê±¼ä int nPreSeconds; // ÊÓÆµÕï¶Ï¼Ïñ¿ªÊ¼Ê±¼äΪµ±Ç°Êµ¼Ê¼ì²âʱ¼äµÄǰPreSecondsÃ루µ±¸Ã×Ö¶ÎÓëStartTimeͬʱ´æÔÚʱ£¬ÒÔ¸Ã×Ö¶ÎÓÅÏÈ£© } NET_VIDEO_DIAGNOSIS_RECORD_INFO; // ÊÓÆµÔ´ÊäÈ뷽ʽ typedef enum tagEM_VIDEO_CHANNEL_SOURCE_INPUT_TYPE { EM_VIDEO_CHANNEL_SOURCE_INPUT_UNKNOWN, // δ֪ EM_VIDEO_CHANNEL_SOURCE_INPUT_STD, // STD EM_VIDEO_CHANNEL_SOURCE_INPUT_AHD, // AHD EM_VIDEO_CHANNEL_SOURCE_INPUT_HDCVR, // HDCVR EM_VIDEO_CHANNEL_SOURCE_INPUT_VGA, // VGA } EM_VIDEO_CHANNEL_SOURCE_INPUT_TYPE; typedef struct tagCFG_TAST_SOURCES { // ÄÜÁ¦ bool abDeviceID; // abDeviceID(ʹÓÃszDeviceID) ºÍ abRemoteDevice(ʹÓÃstRemoteDevice) ±ØÐëÓÐÒ»¸öΪtrue£¬·ñÔòSourcesÊÇnull bool abRemoteDevice; char szDeviceID[MAX_PATH]; // É豸ID CFG_TASK_REMOTEDEVICE stRemoteDevice; // É豸ÏêϸÐÅÏ¢ int nVideoChannel; // ÊÓÆµÍ¨µÀºÅ CFG_EM_STREAM_TYPE emVideoStream; // ÊÓÆµÂëÁ÷ÀàÐÍ int nDuration; // ³ÖÐøÕï¶Ïʱ¼ä BOOL abStartTime; // ±íʾstuStartTime×Ö¶ÎÊÇ·ñÓÐЧ; ÈôԴΪ¼ÏñÎļþÔòÉèÖÃΪTRUE, ·ñÔòÉèÖóÉFALSE. CFG_NET_TIME stuStartTime; // µ±abStartTimeΪTRUEʱÓÐЧ£¬±íʾҪ·ÖÎöµÄ¼ÏñµÄ¿ªÊ¼Ê±¼ä // stuStartTime×Ö¶Î×÷·Ï£¬ºóÐø¶¼Ê¹ÓÃstuDiagnosisRecordInfo£¬±£Áô´Ë×Ö¶ÎֻΪ¼æÈÝÀÏÉ豸 BOOL abDiagnosisRecordInfo; // ±íʾstuDiagnosisRecordInfo×Ö¶ÎÊÇ·ñÓÐЧ; ÈôԴΪ¼ÏñÎļþÔòÉèÖÃΪTRUE, ·ñÔòÉèÖóÉFALSE. NET_VIDEO_DIAGNOSIS_RECORD_INFO stuDiagnosisRecordInfo; // ÊÓÆµÕï¶Ï¼ÏñÐÅÏ¢, µ± abDiagnosisRecordInfo ΪTRUEÓÐЧ EM_VIDEO_CHANNEL_SOURCE_INPUT_TYPE emSourceInputType; // ÊÓÆµÔ´ÊäÈ뷽ʽ }CFG_TAST_SOURCES; typedef struct tagCFG_DIAGNOSIS_TASK { char szTaskName[MAX_PATH]; // ÈÎÎñÃû³ÆAnsi±àÂë char szProfileName[MAX_PATH]; // ±¾ÈÎÎñʹÓõÄÕï¶Ï²ÎÊý±íÃûAnsi±àÂë int nTotalSourceNum; // µ÷ÓÃÕß·ÖÅäÈÎÎñÊý¾ÝÔ´µÄ¸öÊý ¸ù¾ÝÄÜÁ¦¼¯»ñÈ¡ int nReturnSourceNum; // ·µ»ØÊµ¼ÊÈÎÎñÊý¾ÝÔ´µÄ¸öÊý CFG_TAST_SOURCES* pstSources; // ÈÎÎñÊý¾ÝÔ´ µ÷ÓÃÕß·ÖÅäÄÚ´ænTotalSourceNum¸ö }CFG_DIAGNOSIS_TASK; // ÊÓÆµÕï¶ÏÈÎÎñ±í(CFG_CMD_VIDEODIAGNOSIS_TASK),²»Í¬µÄÈÎÎñͨ¹ýÃû×ÓË÷Òý µ÷ÓÃÕßÉêÇëÄÚ´æ²¢³õʼ»¯ typedef struct tagCFG_VIDEODIAGNOSIS_TASK { int nTotalTaskNum; // µ÷ÓÃÕß·ÖÅäÈÎÎñ¸öÊý ¸ù¾ÝÄÜÁ¦¼¯»ñÈ¡ int nReturnTaskNum; // ·µ»ØÊµ¼ÊÈÎÎñ¸öÊý CFG_DIAGNOSIS_TASK* pstTasks; // ÈÎÎñÅäÖà µ÷ÓÃÕß·ÖÅäÄÚ´ænTotalTaskNum¸ö }CFG_VIDEODIAGNOSIS_TASK; // ÊÓÆµÕï¶Ï¼Æ»® typedef struct tagPROJECT_TASK { BOOL bEnable; // ÈÎÎñÊÇ·ñʹÄÜ char szTaskName[MAX_PATH]; // ÈÎÎñÃû³ÆAnsi±àÂë CFG_TIME_SECTION stTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT]; // ÈÎÎñʱ¼ä¶Î BOOL bIsCycle; // ÈÎÎñÊÇ·ñÑ­»·,TRUE±íʾѭ»·,FALSE±íʾ²»Ñ­»· }CFG_PROJECT_TASK; typedef struct tagDIAGNOSIS_PROJECT { char szProjectName[MAX_PATH]; // ¼Æ»®Ãû³ÆAnsi±àÂë int nTotalTaskNum; // µ÷ÓÃÕß·ÖÅäÈÎÎñÁбí¸öÊý ¸ù¾ÝÄÜÁ¦¼¯»ñÈ¡ int nReturnTaskNum; // ·µ»ØÊµ¼ÊÈÎÎñÁбí¸öÊý CFG_PROJECT_TASK* pstProjectTasks; // ÈÎÎñÁÐ±í µ÷ÓÃÕß·ÖÅäÄÚ´ænTotalTaskNum¸ö }CFG_DIAGNOSIS_PROJECT; // ƵÕï¶Ï¼Æ»®±í(CFG_CMD_VIDEODIAGNOSIS_PROJECT),²»Í¬µÄ¼Æ»®Í¨¹ýÃû×ÖË÷Òý µ÷ÓÃÕßÉêÇëÄÚ´æ²¢³õʼ»¯ typedef struct tagCFG_VIDEODIAGNOSIS_PROJECT { int nTotalProjectNum; // µ÷ÓÃÕß·ÖÅ伯»®¸öÊý ¸ù¾ÝÄÜÁ¦¼¯»ñÈ¡ int nReturnProjectNum; // ·µ»ØÊµ¼Ê¼Æ»®¸öÊý CFG_DIAGNOSIS_PROJECT* pstProjects; // ¼Æ»®ÅäÖà µ÷ÓÃÕß·ÖÅäÄÚ´ænTotalProjectNum¸ö }CFG_VIDEODIAGNOSIS_PROJECT; // ʵʱ¼Æ»®Ïà¹ØÐÅÏ¢ typedef struct tagCFG_DIAGNOSIS_REALPROJECT { char szProjectName[MAX_PATH]; // ¼Æ»®Ãû³ÆAnsi±àÂë CFG_DIAGNOSIS_TASK stProjectTask; // ÈÎÎñÐÅÏ¢ }CFG_DIAGNOSIS_REALPROJECT; // ÊÓÆµÕï¶Ïʵʱ¼Æ»®±í typedef struct tagCFG_VIDEODIAGNOSIS_REALPROJECT { int nProjectNum; // ʵʱ¼Æ»®¸öÊý CFG_DIAGNOSIS_REALPROJECT* pstProjects; // ¼Æ»®ÅäÖà µ÷ÓÃÕß·ÖÅäÄÚ´ænProjectNum¸ö }CFG_VIDEODIAGNOSIS_REALPROJECT; // ÊÓÆµÕï¶ÏÈ«¾Ö±í(CFG_CMD_VIDEODIAGNOSIS_GLOBAL),ÿ¸öͨµÀÖ§³ÖÒ»¸öÕï¶ÏÅäÖà typedef struct tagCFG_VIDEODIAGNOSIS_GLOBAL_CHNNL { BOOL abProjectName; // ¼Æ»®Ãû³ÆÊÇ·ñÓÐЧ char szProjectName[MAX_PATH]; // ¼Æ»®Ãû³Æ£¬Ansi±àÂë BOOL abRealProjectName; // ʵʱ¼Æ»®Ãû³ÆÊÇ·ñÓÐЧ char szRealProjectName[MAX_PATH]; // ʵʱ¼Æ»®Ãû³Æ£¬Ansi±àÂë }CFG_VIDEODIAGNOSIS_GLOBAL_CHNNL; typedef struct tagCFG_VIDEODIAGNOSIS_GLOBAL { int nTotalGlobalNum; // µ÷ÓÃÕß·ÖÅäÈ«¾ÖÅäÖøöÊý ¸ù¾ÝÄÜÁ¦¼¯»ñÈ¡ int nReturnGlobalNum; // ·µ»ØÊµ¼ÊÈ«¾ÖÅäÖøöÊý CFG_VIDEODIAGNOSIS_GLOBAL_CHNNL *pstGlobals; // ÊÓÆµÕï¶ÏÈ«¾ÖÅäÖà µ÷ÓÃÕß·ÖÅäÄÚ´ænTotalGlobalNum¸öCFG_VIDEODIAGNOSIS_GLOBAL_CHNNL }CFG_VIDEODIAGNOSIS_GLOBAL; // ÊÓÆµÕï¶Ï·þÎñÄÜÁ¦¼¯(CFG_CAP_CMD_VIDEODIAGNOSIS_SERVER) typedef struct tagCFG_VIDEODIAGNOSIS_CAPS_INFO { int nTypeCount; // Ö§³ÖµÄÊÓÆµÕï¶ÏÀàÐÍ ¸öÊý char szSupportedType[MAX_VIDEODIAGNOSIS_DETECT_TYPE][MAX_PATH];// Ö§³ÖµÄÊÓÆµÕï¶ÏÀàÐÍ int nMaxProfiles; // ×î´ó²ÎÊý±í¸öÊý int nMaxTasks; // ×î´óÈÎÎñ¸öÊý int nMaxSourcesOfTask; // ×î´óµ¥¸öÈÎÎñµÄÊÓÆµÔ´¸öÊý int nMaxProjects; // ×î´ó·½°¸¸öÊý }CFG_VIDEODIAGNOSIS_CAPS_INFO; // »ñÈ¡ÊÓÆµÕï¶ÏͨµÀÊýÄ¿( CFG_CMD_VIDEODIAGNOSIS_GETCOLLECT )¶ÔÓ¦½á¹¹Ìå typedef struct tagCFG_VIDEODIAGNOSIS_COLLECT_INFO { int nDiagnosisChannels; // ÊÓÆµÕï¶ÏͨµÀÊýÄ¿ }CFG_VIDEODIAGNOSIS_COLLECT_INFO; // »ñÈ¡ÊÓÆµÕï¶Ï½øÐÐ״̬( CFG_CMD_VIDEODIAGNOSIS_GETSTATE )¶ÔÓ¦½á¹¹Ìå typedef struct tagCFG_VIDEODIAGNOSIS_STATE_INFO { BOOL bEnable; // ÊÇ·ñʹÄÜ BOOL bRunning; // ÊÇ·ñÕýÔÚÔËÐРʹÄÜ¿ªÆô£¬²¢ÇÒµ±Ç°Óй¤×÷ÈÎÎñÕýÔÚ½øÐУ¬Ã»ÓдíÎó·¢Éú¡£ char szCurrentProject[MAX_PATH]; // µ±Ç°¼Æ»®Ãû³Æ char szCurrentTask[MAX_PATH]; // µ±Ç°ÈÎÎñÃû³Æ char szCurrentProfile[MAX_PATH]; // µ±Ç°ÈÎÎñÅäÖòÎÊý±íÃû³Æ int nCurrentSourceCount; // µ±Ç°ÈÎÎñÂÖѵÊÓÆµÔ´¸öÊý int nCurrentSourceIndex; // µ±Ç°ÈÎÎñµ±Ç°ÊÓÆµÔ´ÐòºÅ ´Ó0¿ªÊ¼ CFG_TIME_SECTION stCurrentTimeSection; // µ±Ç°¼Æ»®Ê±¼ä¶Î int nTaskCountOfProject; // µ±Ç°¼Æ»®×ÜÈÎÎñÊý int nIndexOfCurrentTask; // µ±Ç°ÈÎÎñÐòºÅ ´Ó0¿ªÊ¼ }CFG_VIDEODIAGNOSIS_STATE_INFO; // ·þÎñÆ÷Ö§³ÖµÄ·þÎñÁбí typedef struct tagCFG_DEV_SERVICE_LIST { int nServiceNum; // Ö§³ÖµÄ·þÎñÊý char szService[MAX_SERVICE_NUM][MAX_NAME_LEN]; // ·þÎñÆ÷Ö§³Ö¾ßÌåµÄ·þÎñÏî }CFG_DEV_SERVICE_LIST; //»ñÈ¡Ö÷´Óʽ¸ú×ÙÆ÷ÊýÄ¿ typedef struct tagCFG_MASTERSLAVETRACKER_INFO { int nStructSize; int nChannels; //Ö÷´Óʽ¸ú×ÙÆ÷ͨµÀÊýÄ¿ }CFG_MASTERSLAVETRACKER_INFO; #define MAX_CAMERA_TYPE 64 #define MAX_TYPE_STRING 64 typedef struct tagCFG_CAMERA_PER_TYPE_INFO { char szCameraType[MAX_TYPE_STRING]; //Ïà»úÐͺŠchar szLensType[MAX_TYPE_STRING]; //Ïà»ú¾µÍ·ÐͺоµÍ·ÐͺźÍÏà»úÐͺÅÏà¹Ø£¬¿ÉÒÔΪ¿ÕÖµ }CFG_CAMERA_PER_TYPE_INFO; typedef struct tagCFG_CAMERA_TYPE_INFO { int nCameraTypeNum; //¸ÃÀàÐ͵ÄÏà»úËù¾ßÓеIJ»Í¬ÐͺÅÊý CFG_CAMERA_PER_TYPE_INFO stCameraTypeInfos[MAX_CAMERA_TYPE]; //¾ßÌåµÄÐͺÅÐÅÏ¢ }CFG_CAMERA_TYPE_INFO; // ±ä±¶ÀàÐÍ typedef enum tagCFG_ZOOM_TYPE { ZOOM_TYPE_EXPECTMULTIPLE =0, // ¹Ì¶¨ÆÚÍû±¶Êý±ä±¶ ZOOM_TYPE_IVSADAPTIVE, // ¸ù¾ÝÖÇÄÜÉ豸Êä³ö×ÔÊÊÓ¦±ä±¶ ZOOM_TYPE_MULTIPLEADAPTIVE, // ×ÔÊÊÓ¦±ä±¶ ZOOM_TYPE_NUM }CFG_ZOOM_TYPE; // ¸ú×Ùģʽ typedef enum tagCFG_TRACKING_MODE { TRACKING_MODE_ALARM=0, // ±¨¾¯¸ú×Ù TRACKING_MODE_MANUALOBJECT, // ÊÖ¶¯Ñ¡¶¨ÎïÌå¸ú×Ù TRACKING_MODE_AUTOOBJECT, // ×Ô¶¯Ñ¡¶¨ÎïÌå¸ú×Ù TRACKING_MODE_SELECTPOINT, // ¶¨µã¸ú×Ù TRACKING_MODE_MIX, // »ìºÏ¸ú×Ù(ÒÔÉÏËÄÖÖ¸ú×Ùģʽͬʱ֧³Ö) TRACKING_MODE_SLAVESELF, // Çò»ú×ÔÖ÷¿ØÖÆ£¨Ö÷ÒªÓÃÓÚÓû§¶ÔÇò»ú¿ØÖÆ£© TRACKING_MODE_NUM }CFG_TRACKING_MODE; // Ö÷´Óʽ¸ú×ÙÆ÷È«¾ÖÅäÖûù±¾½á¹¹Ìå typedef struct tagCFG_MASTERSLAVE_GLOBAL_INFO { int nStructSize; float fMaxZoom; // ×î´ó±ä±¶±¶Êý, Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ float fMinZoom; // ×îС±ä±¶±¶Êý, Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ float fExpectMultiple; // ÆÚÍû±¶Êý£¨»ù×¼±¶Êý£©£¬×îС±ä±¶±¶Êý<ÆÚÍû±¶Êý<×î´ó±ä±¶±¶Êý, Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ float fPollTrackTime; // ÂÖѯ¸ú×Ùʱ³¤£¬µ¥Î»£ºÃ룻>0.0 float fPointTrackTime; // ¶¨µã¸ú×Ùʱ³¤,µ¥Î»£ºÃ룻>0.0ÔÚ±¨¾¯¸ú×Ù¡¢×Ô¶¯Ñ¡¶¨ÎïÌå¸ú×Ù¡¢»ìºÏ¸ú×ÙģʽÏÂÓÐЧ float fObjectTrackTime; // ÊÖ¶¯Ñ¡¶¨ÎïÌå¸ú×Ùʱ³¤, µ¥Î»£ºÃ룻>0.0ÔÚ±¨¾¯¸ú×Ù¡¢×Ô¶¯Ñ¡¶¨ÎïÌå¸ú×Ù¡¢»ìºÏ¸ú×ÙģʽÏÂÓÐЧ float fExpectAngleX; // ÆÚÍû±¶Êý¶ÔÓ¦Çò»ú½Ç¶Èx(ˮƽ), Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ float fExpectAngleY; // ÆÚÍû±¶Êý¶ÔÓ¦Çò»ú½Ç¶Èy(´¹Ö±), Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ CFG_SIZE stTargetFaceSize; // °ÐÃæ³ß´ç(µ¥Î»£ººÁÃ×), Çò»úÉ豸²ÎÊý£¬ÓëÇò»úÓйØ, Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ float fMinFocus; // ×îС½¹¾à(µ¥Î»£ººÁÃ×), Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ float fMaxFocus; // ×î´ó½¹¾à(µ¥Î»£ººÁÃ×), Ö»ÄÜÊÇÕûÊý£¬Ð¡Êý±»ºöÂÔ CFG_ZOOM_TYPE emZoomType; // ±ä±¶ÀàÐÍ CFG_TRACKING_MODE emTrackingMode; // ¸ú×Ùģʽ CFG_CAMERA_TYPE_INFO stCameraInfo; // ǹʽÉãÏñ»ú CFG_CAMERA_TYPE_INFO stDomeInfo; // ÇòʽÉãÏñ»ú int nTrackZoomLevel; // ¸ú×Ù±¶ÊýµÈ¼¶ -5<= TrackZoomLevel <=5 0±íʾÓÃĬÈÏËã·¨·½Ê½ BOOL bReturnPtzPreset; // TRUE£¬¸ú×Ùºó·µ»ØÔ¤Öõã , FALSE£¬¸ú×Ùºó²»·µ»ØÔ¤Öõã }CFG_MASTERSLAVE_GLOBAL_INFO; // »ñÈ¡Ö÷´ÓʽÉ豸ÄÜÁ¦¼¯ typedef struct tagCFG_CAP_MASTERSLAVE_INFO { int nStructSize; BYTE byTrackingMode[TRACKING_MODE_NUM]; // Êý×éϱê±íʾCFG_TRACKING_MODEö¾ÙÏà¶ÔӦģʽ£¬1±íʾ֧³Ö CFG_CAMERA_TYPE_INFO stCameraInfo; // ǹʽÉãÏñ»ú CFG_CAMERA_TYPE_INFO stDomeInfo; // ÇòʽÉãÏñ»ú }CFG_CAP_MASTERSLAVE_INFO; // »ñÈ¡·þÎñÆ÷±¨¾¯Áª¶¯ÄÜÁ¦¼¯ typedef struct tagCFG_CAP_EVENTHANDLER_INFO { BOOL bTimeSectionEnable; // BOOL bRecordEnable; // ÊÇ·ñÖ§³Ö¼Ïñ BOOL bAlarmOutEnable; // ÊÇ·ñÖ§³Ö±¨¾¯Êä³ö BOOL bPtzLinkEnable; // ÊÇ·ñÖ§³Ö±¨¾¯Êä³ö BOOL bSnapshotEnable; // ÊÇ·ñÖ§³Ö¿ìÕÕ BOOL bMailEnable; // ÊÇ·ñÖ§³Ö·¢ËÍÓʼþ BOOL bBeepEnable; // ÊÇ·ñÖ§³Ö·äÃù BOOL bDejitterEnable; // ÊÇ·ñÖ§³ÖÈ¥¶¶¶¯ BOOL bTipEnable; // ÊÇ·ñÖ§³Ö±¾µØÏûÏ¢¿òÌáʾ BOOL bMonitorTourEnable; // ÊÇ·ñÖ§³ÖÂÖѯÁª¶¯ÅäÖà }CFG_CAP_EVENTHANDLER_INFO; #define MASTERSLAVE_LIST_MAX_NUM 5 // ǹÇòÁª¶¯×î´óÖ÷´Ó»ú¸öÊý #define MASTERSLAVE_AREA_MAX_NUM 8 // ǹÇòÁª¶¯×î´óÓÅÏȼ¶ÇøÓò¸öÊý #define MASTERSLAVE_NAME_LEN 64 // ¼à¿Øµã×î´óÃû³Æ³¤¶È #define MASTERSLAVE_DEV_SERIALNO_LEN 48 // É豸ÐòÁкÅ×î´ó³¤¶È // ǹÇòÁª¶¯È«¾ÖÅäÖà (CFG_CMD_MASTERSLAVE_LINKAGE) typedef struct tagCFG_MASTERSLAVE_LINKAGE_INFO { BOOL bEnable; // ǹÇòÁª¶¯Ê¹ÄÜ×Ü¿ª¹Ø BOOL bAutoTrack; // ×Ô¶¯¸ú×ÙʹÄÜ int nAutoTrackTime[2]; // ×Ô¶¯¸ú×Ùʱ³¤·¶Î§, [×îСʱ³¤, ×î´óʱ³¤], ĬÈÏ[1, 300], µ¥Î»Ãë int nLocateUnlockTime; // ÊÖ¶¯¶¨Î»½âËøÊ±¼ä(Ãë), 0 ±íʾÓÀ²»½âËø, ĬÈÏ30Ãë. ½âËøºó¿ÉÓÃÓÚ¸ú×Ù int nPriorityAreaNum; // ÓÅÏȼ¶ÇøÓò¸öÊý CFG_RECT stuPriorityArea[MASTERSLAVE_AREA_MAX_NUM]; // ÓÅÏȼ¶ÇøÓò, Êý¾ÝÔ½¿¿Ç°µÄÇøÓòÓÅÏȼ¶Ô½¸ß£¬¿ÉΪ¿Õ }CFG_MASTERSLAVE_LINKAGE_INFO; typedef enum tagEM_MASTER_TYPE { EM_MASTER_UNKNOWN, // δ֪ÀàÐÍ EM_MASTER_FISHEYE, // ÓãÑÛÁª¶¯ EM_MASTER_CAMERA, // ǹÇòÁª¶¯ }EM_MASTER_TYPE; typedef struct tagCFG_MASTER_DEV_INFO { int nChannel; // ±¾µØÍ¨µÀºÅ, ´Ó0¿ªÊ¼ char szDevSerial[MASTERSLAVE_DEV_SERIALNO_LEN]; // É豸ÐòÁкŠ}CFG_MASTER_DEV_INFO; typedef struct tagCFG_SLAVER_DEV_INFO { int nChannel; // ±¾µØÍ¨µÀºÅ, ´Ó0¿ªÊ¼ char szDevSerial[MASTERSLAVE_DEV_SERIALNO_LEN]; // É豸ÐòÁкŠCFG_REGION stuControlRegion; // ´Ó»ú¹Ü¿ØÇøÓò }CFG_SLAVER_DEV_INFO; // ǹÇòÁª¶¯°ó¶¨¹ØÏµÅäÖà (CFG_CMD_MASTERSLAVE_GROUP) typedef struct tagCFG_MASTERSLAVE_GROUP_INFO { char szName[MASTERSLAVE_NAME_LEN]; // ¼à¿ØµãÃû³Æ int nGroupID; // ×éºÅ EM_MASTER_TYPE emMasterType; // Ö÷É豸ÀàÐÍ int nMasterNum; // Ö÷»ú¸öÊý CFG_MASTER_DEV_INFO stuMasterList[MASTERSLAVE_LIST_MAX_NUM]; // Ö÷»úÁбí int nSlaverNum; // ´Ó»ú¸öÊý CFG_SLAVER_DEV_INFO stuSlaverList[MASTERSLAVE_LIST_MAX_NUM]; // ´Ó»úÁбí }CFG_MASTERSLAVE_GROUP_INFO; //----------------------------------ÊÓÆµÊäÈëÅäÖÃ------------------------------------------ #define DH_MAX_INMETERING_REGION_NUM 8 typedef struct tagVIDEO_INMETERING_INFO_CHANNEL { // ÄÜÁ¦ bool bRegion; bool bMode; BYTE bReserved1[2]; // ±£Áô×Ö¶Î1 int nRegionNum; // ²â¹âÇøÓò¸öÊý CFG_RECT stuRegions[DH_MAX_INMETERING_REGION_NUM]; // ²â¹âÇøÓò, ¾Ö²¿²â¹âʹÓã¬Ö§³Ö¶à¸ö²â¹âÇøÓò£¬Ê¹ÓÃÏà¶Ô×ø±êÌåϵ£¬È¡Öµ¾ùΪ0~8191 BYTE byMode; // ²â¹âģʽ,0:ƽ¾ù²â¹â,1:¾Ö²¿²â¹â BYTE bReserved2[3]; // ±£Áô×Ö¶Î2 BYTE bReserved3[32]; // ±£Áô×Ö¶Î3 }VIDEO_INMETERING_INFO_CHANNEL; // ²â¹âÅäÖÃ(CFG_CMD_VIDEO_INMETERING)ÊÇÒ»¸öÊý×飬ÿ¸öÊÓÆµÊäÈëͨµÀÒ»¸öÅäÖà typedef struct tagCFG_VIDEO_INMETERING_INFO { int nChannelNum; // ͨµÀÊý VIDEO_INMETERING_INFO_CHANNEL stuMeteringMode[MAX_VIDEO_CHANNEL_NUM]; // ÿ¸öͨµÀµÄ²â¹âÐÅÏ¢£¬Ï±ê¶ÔӦͨµÀºÅ }CFG_VIDEO_INMETERING_INFO; // ÊÓÆµÊäÈëÄÜÁ¦¼¯(CFG_CAP_CMD_VIDEOINPUT)ÅäÖà typedef struct tagCFG_CAP_VIDEOINPUT_INFO { int nMeteringRegionCount; // ×î´ó²â¹âÇøÓò¸öÊý BOOL bFishEye; // ÊÇ·ñÖ§³ÖÓãÑÛ BOOL bElectricFocus; // ÊÇ·ñÖ§³Öµç¶¯µ÷½¹ DWORD dwExposureMode; // Ö§³ÖµÄ×Ô¶¯ÆØ¹âģʽÑÚÂë ´ÓµÍλµ½¸ßλÒÀ´Î±íʾ£¬0-×Ô¶¯ÆØ¹â£¬1-µÍÔëÉù£¨ÔöÒæ£©ÓÅÏÈ£¬2-ÈõÍÏÓ°£¨¿ìÃÅ£©ÓÅÏÈ£¬ 3-50HZ·ÀÉÁ˸£¬4-60HZ·ÀÉÁ˸ int nWideDynamicRange; // ÊÇ·ñÖ§³Ö¿í¶¯Ì¬ 0-²»Ö§³Ö£¬1-Ö§³ÖÊý×Ö¿í¶¯Ì¬ int nGlareInhibition; // ÊÇ·ñÖ§³ÖÇ¿¹âÒÖÖÆ 0-²»Ö§³Ö£¬1-Ö§³Ö }CFG_CAP_VIDEOINPUT_INFO; // Á÷Á¿Í³¼Æ±¨¾¯ÐÅÏ¢ÅäÖà typedef struct tagCFG_TRAFFIC_FLOWSTAT_ALARM_INFO { bool bEnable; // ÊÇ·ñʹÄÜ int nPeriod; // ͳ¼ÆÖÜÆÚ£¬µ¥Î»£º·ÖÖÓ int nLimit; // ͳ¼ÆÖÜÆÚÄÚ³µÁ¾ÊýÉÏÏÂÏÞ£¬µ¥Î»£ºÁ¾ int nRestore; // ͳ¼ÆÖÜÆÚÄÚ±¨¾¯»Ö¸´³µÁ¾Êý£¬µ¥Î»£ºÁ¾ int nDelay; // ¼ì²âµ½±¨¾¯·¢Éúµ½¿ªÊ¼Éϱ¨µÄʱ¼ä, µ¥Î»:Ãë,·¶Î§1~65535 int nInterval; // ±¨¾¯¼ä¸ôʱ¼ä, µ¥Î»:Ãë, ·¶Î§1~65535 int nReportTimes; // Éϱ¨´ÎÊý,1~255 CFG_TIME_SECTION stCurrentTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // µ±Ç°¼Æ»®Ê±¼ä¶Î CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_TRAFFIC_FLOWSTAT_ALARM_INFO; typedef struct tagCFG_TRAFFIC_FLOWSTAT_INFO_CHNL { // ÄÜÁ¦ bool abEnable; bool bEnable; // ÊÇ·ñʹÄÜ CFG_TRAFFIC_FLOWSTAT_ALARM_INFO stuAlarmUpperInfo; // ±¨¾¯ÉÏÏß²ÎÊý CFG_TRAFFIC_FLOWSTAT_ALARM_INFO stuAlarmLowInfo; // ±¨¾¯ÏÂÏß²ÎÊý int nDetectRegionPoint; // ¼ì²âÇø¶¥µãÊý CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ¼ì²âÇøÓò char szName[MAX_NAME_LEN]; // µ±Ç°³µµÀ¹æÔòÃû³Æ£¬²»Í¬¹æÔò²»ÄÜÖØÃû int nPresetID; // ÔÆÌ¨ËùÔÚÔ¤Öõã±àºÅ(½öÇò»úÓÐЧ) BOOL bIsDetectLine; // ±íʾ³µÁ÷Á¿¼ì²âÏßÊÇ·ñÓÐЧ CFG_POLYGON stuDetectLine[POINT_PAIR_NUM]; // ³µÁ÷Á¿¼ì²âÏß,Èô²»ÅäÖã¬Ëã·¨×Ô¶¯Éú³É¼ì²âÏß }CFG_TRAFFIC_FLOWSTAT_INFO_LANE; // ½»Í¨Á÷Á¿Í³¼ÆÅäÖÃ(CFG_CMD_TRAFFIC_FLOWSTAT) typedef struct tagCFG_TRAFFIC_FLOWSTAT_INFO { // ÄÜÁ¦ bool abPeriod; BYTE bReserved1[3]; // ±£Áô×Ö¶Î1 int nPeriod; // ͳ¼ÆÖÜÆÚ£¬µ¥Î»·ÖÖÓ int nLaneNum; // ³µµÀÊý CFG_TRAFFIC_FLOWSTAT_INFO_LANE stuTrafficFlowstat[MAX_LANE_NUM]; // ÿ¸ö³µµÀµÄÁ÷Á¿ÅäÖã¬Ï±ê¶ÔÓ¦³µµÀºÅ DWORD dwLaneExtraMaxNum; // ³µµÀÊýÀ©³ä×î´óÖµ(ÓÃÓÚÉêÇëÄÚ´æ),¶à³¡¾°Ó¦ÓöàÓàµÄ³µµÀÐÅÏ¢ÐèÒª DWORD dwLaneExtraRetNum; // ¶à³¡¾°Ó¦ÓöàÓàµÄ³µµÀÊýʵ¼Ê¸öÊý CFG_TRAFFIC_FLOWSTAT_INFO_LANE *pstuTrafficFlowstat; // ¶à³¡¾°µÄ³µµÀÊý, stuTrafficFlowstatÊý×é·Å²»¿ªµÄ³µµÀÔÚÕâÀï¼ÌÐø±£´æ£¬ÐòºÅ´Ó³µµÀMAX_LANE_NUM+1¿ªÊ¼ }CFG_TRAFFIC_FLOWSTAT_INFO; //ÊÓÆµÅ¨Ëõ¹æÔòÅäÖÃ(CFG_CMD_SYNOPSISANALYSE_RULE_INFO) typedef struct tagCFG_VIDOE_SYNOPSIS_ANALYSE_RULE_INFO { CFG_ANALYSERULES_INFO stDetailRuleInfo; //Ïêϸ¹æÔò }CFG_VIDOE_SYNOPSIS_ANALYSE_RULE_INFO; //-----------------------------------ÊÓÆµÊäÈëǰ¶ËÑ¡Ïî------------------------------------------- // ÊÓÆµÊäÈëÒ¹ÍíÌØÊâÅäÖÃÑ¡ÏÔÚÍíÉϹâÏ߽ϰµÊ±×Ô¶¯Çл»µ½Ò¹ÍíµÄÅäÖòÎÊý typedef struct tagCFG_VIDEO_IN_NIGHT_OPTIONS { BYTE bySwitchMode; //ÒÑ·ÏÆú,ʹÓÃCFG_VIDEO_IN_OPTIONSÀïÃæµÄbySwitchMode //0-²»Çл»£¬×ÜÊÇʹÓð×ÌìÅäÖã»1-¸ù¾ÝÁÁ¶ÈÇл»£»2-¸ù¾Ýʱ¼äÇл»£»3-²»Çл»£¬×ÜÊÇʹÓÃÒ¹ÍíÅäÖã»4-ʹÓÃÆÕͨÅäÖà BYTE byProfile; // µ±Ç°Ê¹ÓõÄÅäÖÃÎļþ. // 0-°×Ìì // 1-ÍíÉÏ // 2-Normal // 0£¬1,2¶¼ÎªÁÙʱÅäÖã¬Ê¹Í¼ÏñÉúЧ£¬±ãÓڲ鿴ͼÏñµ÷ÊÔЧ¹û£¬²»µã»÷È·¶¨£¬Àë¿ªÒ³Ãæ²»±£´æÖÁÉ豸¡£ ///3-·ÇÁÙʱÅäÖ㬵ã»÷È·¶¨ºó±£´æÖÁÉ豸£¬ÓëSwitchMode½áºÏʹÓ㬸ù¾ÝSwitchMode¾ö¶¨×îÖÕÉúЧµÄÅäÖᣠ// SwitchMode=0£¬Profile=3£¬ÉèÖð×ÌìÅäÖõ½É豸£» // SwitchMode=1£¬Profile=3£¬ÔòÉèÖÃÒ¹ÍíÅäÖõ½É豸 // SwitchMode=2£¬Profile=3£¬¸ù¾ÝÈÕ³öÈÕÂäʱ¼ä¶ÎÇл»£¬°×Ììʱ¼ä¶ÎʹÓð×ÌìÅäÖã¬Ò¹Ííʱ¼ä¶ÎʹÓÃÒ¹ÍíÅäÖ㬱£´æÖÁÉ豸£» // SwitchMode=4£¬Profile=3£»Ê¹ÓÃÆÕͨÅäÖ㬱£´æÖÁÉ豸 BYTE byBrightnessThreshold ; // ÁÁ¶ÈãÐÖµ 0~100 BYTE bySunriseHour; // ´óÖÂÈÕ³öºÍÈÕÂäʱ¼ä£¬ÈÕÂäÖ®ºóÈÕ³ö֮ǰ£¬½«²ÉÓÃÒ¹ÍíÌØÊâµÄÅäÖᣠBYTE bySunriseMinute; // 00:00:00 ~ 23:59:59 BYTE bySunriseSecond; BYTE bySunsetHour; BYTE bySunsetMinute; BYTE bySunsetSecond; BYTE byGainRed; // ºìÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainBlue; // ÂÌÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainGreen; // À¶É«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byExposure; // ÆØ¹âģʽ£»È¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-×Ô¶¯ÆØ¹â£¬1-ÆØ¹âµÈ¼¶1£¬2-ÆØ¹âµÈ¼¶2¡­n-1×î´óÆØ¹âµÈ¼¶Êý n´øÊ±¼äÉÏÏÂÏÞµÄ×Ô¶¯ÆØ¹â n+1×Ô¶¨Òåʱ¼äÊÖ¶¯ÆØ¹â (n==byExposureEn£© float fExposureValue1; // ×Ô¶¯ÆØ¹âʱ¼äÏÂÏÞ»òÕßÊÖ¶¯ÆØ¹â×Ô¶¨Òåʱ¼ä,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms float fExposureValue2; // ×Ô¶¯ÆØ¹âʱ¼äÉÏÏÞ,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms BYTE byWhiteBalance ; // °×ƽºâ, 0-"Disable", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" BYTE byGain; // 0~100, GainAutoΪtrueʱ±íʾ×Ô¶¯ÔöÒæµÄÉÏÏÞ£¬·ñÔò±íʾ¹Ì¶¨µÄÔöÒæÖµ bool bGainAuto; // ×Ô¶¯ÔöÒæ bool bIrisAuto; // ×Ô¶¯¹âȦ float fExternalSyncPhase; // Íâͬ²½µÄÏàλÉèÖà 0~360 BYTE byGainMin; // ÔöÒæÏÂÏÞ BYTE byGainMax; // ÔöÒæÉÏÏÞ BYTE byBacklight; // ±³¹â²¹³¥£ºÈ¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-¹Ø±Õ1-ÆôÓÃ2-Ö¸¶¨ÇøÓò±³¹â²¹³¥ BYTE byAntiFlicker; // ·ÀÉÁ˸ģʽ 0-Outdoor 1-50Hz·ÀÉÁ˸ 2-60Hz·ÀÉÁ˸ BYTE byDayNightColor; // ÈÕ/ҹģʽ£»0-×ÜÊDzÊÉ«£¬1-¸ù¾ÝÁÁ¶È×Ô¶¯Çл»£¬2-×ÜÊÇºÚ°× BYTE byExposureMode; // ÆØ¹âģʽµ÷½Ú ÆØ¹âµÈ¼¶Îª×Ô¶¯ÆØ¹âʱÓÐЧ£¬È¡Öµ£º0-ĬÈÏ×Ô¶¯£¬1-ÔöÒæÓÅÏÈ£¬2-¿ìÃÅÓÅÏÈ BYTE byRotate90; // 0-²»Ðýת£¬1-˳ʱÕë90¡ã£¬2-ÄæÊ±Õë90¡ã bool bMirror; // ¾µÏñ BYTE byWideDynamicRange; // ¿í¶¯Ì¬Öµ 0-¹Ø±Õ£¬1~100-ÎªÕæÊµ·¶Î§Öµ BYTE byGlareInhibition; // Ç¿¹âÒÖÖÆ 0-¹Ø±Õ£¬ 1~100Ϊ·¶Î§Öµ CFG_RECT stuBacklightRegion; // ±³¹â²¹³¥ÇøÓò BYTE byFocusMode; // 0-¹Ø±Õ£¬1-¸¨Öú¾Û½¹£¬2-×Ô¶¯¾Û½¹ bool bFlip; // ·­×ª BYTE reserved[74]; // ±£Áô } CFG_VIDEO_IN_NIGHT_OPTIONS; typedef struct tagCFG_VIDEO_IN_NORMAL_OPTIONS { BYTE byGainRed; // ºìÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainBlue; // ÂÌÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainGreen; // À¶É«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byExposure; // ÆØ¹âģʽ£»È¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-×Ô¶¯ÆØ¹â£¬1-ÆØ¹âµÈ¼¶1£¬2-ÆØ¹âµÈ¼¶2¡­n-1×î´óÆØ¹âµÈ¼¶Êý n´øÊ±¼äÉÏÏÂÏÞµÄ×Ô¶¯ÆØ¹â n+1×Ô¶¨Òåʱ¼äÊÖ¶¯ÆØ¹â (n==byExposureEn£© float fExposureValue1; // ×Ô¶¯ÆØ¹âʱ¼äÏÂÏÞ»òÕßÊÖ¶¯ÆØ¹â×Ô¶¨Òåʱ¼ä,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms float fExposureValue2; // ×Ô¶¯ÆØ¹âʱ¼äÉÏÏÞ,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms BYTE byWhiteBalance ; // °×ƽºâ, 0-"Disable", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" BYTE byGain; // 0~100, GainAutoΪtrueʱ±íʾ×Ô¶¯ÔöÒæµÄÉÏÏÞ£¬·ñÔò±íʾ¹Ì¶¨µÄÔöÒæÖµ bool bGainAuto; // ×Ô¶¯ÔöÒæ bool bIrisAuto; // ×Ô¶¯¹âȦ float fExternalSyncPhase; // Íâͬ²½µÄÏàλÉèÖà 0~360 BYTE byGainMin; // ÔöÒæÏÂÏÞ BYTE byGainMax; // ÔöÒæÉÏÏÞ BYTE byBacklight; // ±³¹â²¹³¥£ºÈ¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-¹Ø±Õ1-ÆôÓÃ2-Ö¸¶¨ÇøÓò±³¹â²¹³¥ BYTE byAntiFlicker; // ·ÀÉÁ˸ģʽ 0-Outdoor 1-50Hz·ÀÉÁ˸ 2-60Hz·ÀÉÁ˸ BYTE byDayNightColor; // ÈÕ/ҹģʽ£»0-×ÜÊDzÊÉ«£¬1-¸ù¾ÝÁÁ¶È×Ô¶¯Çл»£¬2-×ÜÊÇºÚ°× BYTE byExposureMode; // ÆØ¹âģʽµ÷½Ú ÆØ¹âµÈ¼¶Îª×Ô¶¯ÆØ¹âʱÓÐЧ£¬È¡Öµ£º0-ĬÈÏ×Ô¶¯£¬1-ÔöÒæÓÅÏÈ£¬2-¿ìÃÅÓÅÏÈ BYTE byRotate90; // 0-²»Ðýת£¬1-˳ʱÕë90¡ã£¬2-ÄæÊ±Õë90¡ã bool bMirror; // ¾µÏñ BYTE byWideDynamicRange; // ¿í¶¯Ì¬Öµ 0-¹Ø±Õ£¬1~100-ÎªÕæÊµ·¶Î§Öµ BYTE byGlareInhibition; // Ç¿¹âÒÖÖÆ 0-¹Ø±Õ£¬ 1~100Ϊ·¶Î§Öµ CFG_RECT stuBacklightRegion; // ±³¹â²¹³¥ÇøÓò BYTE byFocusMode; // 0-¹Ø±Õ£¬1-¸¨Öú¾Û½¹£¬2-×Ô¶¯¾Û½¹ bool bFlip; // ·­×ª BYTE reserved[74]; // ±£Áô }CFG_VIDEO_IN_NORMAL_OPTIONS; // ÉÁ¹âµÆÅäÖà typedef struct tagCFG_FLASH_CONTROL { BYTE byMode; // ¹¤×÷ģʽ£¬0-½ûÖ¹ÉÁ¹â£¬1-ʼÖÕÉÁ¹â£¬2-×Ô¶¯ÉÁ¹â BYTE byValue; // ¹¤×÷Öµ, 0-0us, 1-64us, 2-128us, 3-192...15-960us BYTE byPole; // ´¥·¢Ä£Ê½, 0-µÍµçƽ 1-¸ßµçƽ 2-ÉÏÉýÑØ 3-ϽµÑØ BYTE byPreValue; // ÁÁ¶ÈÔ¤ÉèÖµ Çø¼ä0~100 BYTE byDutyCycle; // Õ¼¿Õ±È, 0~100 BYTE byFreqMultiple; // ±¶Æµ, 0~10 BYTE reserved[122]; // ±£Áô }CFG_FLASH_CONTROL; // ×¥ÅIJÎÊýÌØÊâÅäÖà typedef struct tagCFG_VIDEO_IN_SNAPSHOT_OPTIONS { BYTE byGainRed; // ºìÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainBlue; // ÂÌÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainGreen; // À¶É«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byExposure; // ÆØ¹âģʽ£»È¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-×Ô¶¯ÆØ¹â£¬1-ÆØ¹âµÈ¼¶1£¬2-ÆØ¹âµÈ¼¶2¡­n-1×î´óÆØ¹âµÈ¼¶Êý n´øÊ±¼äÉÏÏÂÏÞµÄ×Ô¶¯ÆØ¹â n+1×Ô¶¨Òåʱ¼äÊÖ¶¯ÆØ¹â (n==byExposureEn£© float fExposureValue1; // ×Ô¶¯ÆØ¹âʱ¼äÏÂÏÞ»òÕßÊÖ¶¯ÆØ¹â×Ô¶¨Òåʱ¼ä,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms float fExposureValue2; // ×Ô¶¯ÆØ¹âʱ¼äÉÏÏÞ,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms BYTE byWhiteBalance; // °×ƽºâ, 0-"Disable", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" BYTE byColorTemperature; // ɫεȼ¶, °×ƽºâΪ"CustomColorTemperature"ģʽÏÂÓÐЧ bool bGainAuto; // ×Ô¶¯ÔöÒæ BYTE byGain; // ÔöÒæµ÷½Ú, GainAutoΪtrueʱ±íʾ×Ô¶¯ÔöÒæµÄÉÏÏÞ£¬·ñÔò±íʾ¹Ì¶¨µÄÔöÒæÖµ BYTE reversed[112]; // ±£Áô } CFG_VIDEO_IN_SNAPSHOT_OPTIONS; // ÓãÑÛ½ÃÕýģʽ typedef enum { CFG_CALIBRATE_MODE_UNKOWN, // δ֪ģʽ CFG_CALIBRATE_MODE_ORIGIAL, // ԭʼͼÏñģʽ CFG_CALIBRATE_MODE_CONFIG, // ÅäÖÃģʽ CFG_CALIBRATE_MODE_PANORAMA, // È«¾°Ä£Ê½ CFG_CALIBRATE_MODE_DOUBLEPANORAMA, // ˫ȫ¾°Ä£Ê½ CFG_CALIBRATE_MODE_ORIGIALPLUSTHREEEPTZREGION, // 1+3ģʽ£¨Ò»¸öԭʼÓãÑÛͼÏñ¼Ó3¸öEPtzͼÏñ£© CFG_CALIBRATE_MODE_SINGLE, // µ¥»­ÃæEPtzģʽ£¨Ö»ÓÐÒ»¸öEPtz»­Ã棩 CFG_CALIBRATE_MODE_FOUREPTZREGION, // 4»­ÃæÄ£Ê½£¨4¸öEPtz¿ØÖÆ»­Ã棩 CFG_CALIBRATE_MODE_NORMAL, // ÆÕͨģʽ }CFG_CALIBRATE_MODE; // ÓãÑÛ¾µÍ·ÅäÖà typedef struct tagCFG_FISH_EYE { CFG_POLYGON stuCenterPoint; // ÓãÑÛÔ²ÐÄ×ø±ê,·¶Î§[0,8192] unsigned int nRadius; // ÓãÑÛ°ë¾¶´óС,·¶Î§[0,8192] float fDirection; // ¾µÍ·Ðýת·½Ïò,Ðýת½Ç¶È[0,360.0] BYTE byPlaceHolder; // ¾µÍ·°²×°·½Ê½ 1¶¥×°£¬2±Ú×°£»3µØ×°,ĬÈÏ1 BYTE byCalibrateMode; // ÓãÑÛ½ÃÕýģʽ,Ïê¼ûCFG_CALIBRATE_MODEö¾ÙÖµ BYTE reversed[31]; // ±£Áô }CFG_FISH_EYE; // ÊÓÆµÊäÈëǰ¶ËÑ¡Ïî typedef struct tagCFG_VIDEO_IN_OPTIONS { BYTE byBacklight; // ±³¹â²¹³¥£ºÈ¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-¹Ø±Õ1-ÆôÓÃ2-Ö¸¶¨ÇøÓò±³¹â²¹³¥ BYTE byDayNightColor; // ÈÕ/ҹģʽ£»0-×ÜÊDzÊÉ«£¬1-¸ù¾ÝÁÁ¶È×Ô¶¯Çл»£¬2-×ÜÊÇºÚ°× BYTE byWhiteBalance; // °×ƽºâ, 0-"Disable", 1-"Auto", 2-"Custom", 3-"Sunny", 4-"Cloudy", 5-"Home", 6-"Office", 7-"Night", 8-"HighColorTemperature", 9-"LowColorTemperature", 10-"AutoColorTemperature", 11-"CustomColorTemperature" BYTE byColorTemperature; // ɫεȼ¶, °×ƽºâΪ"CustomColorTemperature"ģʽÏÂÓÐЧ bool bMirror; // ¾µÏñ bool bFlip; // ·­×ª bool bIrisAuto; // ×Ô¶¯¹âȦ bool bInfraRed; // ¸ù¾Ý»·¾³¹â×Ô¶¯¿ªÆôºìÍâ²¹³¥µÆ BYTE byGainRed; // ºìÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainBlue; // ÂÌÉ«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byGainGreen; // À¶É«ÔöÒæµ÷½Ú£¬°×ƽºâΪ"Custom"ģʽÏÂÓÐЧ 0~100 BYTE byExposure; // ÆØ¹âģʽ£»È¡Öµ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯£º0-×Ô¶¯ÆØ¹â£¬1-ÆØ¹âµÈ¼¶1£¬2-ÆØ¹âµÈ¼¶2¡­n-1×î´óÆØ¹âµÈ¼¶Êý n´øÊ±¼äÉÏÏÂÏÞµÄ×Ô¶¯ÆØ¹â n+1×Ô¶¨Òåʱ¼äÊÖ¶¯ÆØ¹â (n==byExposureEn£© float fExposureValue1; // ×Ô¶¯ÆØ¹âʱ¼äÏÂÏÞ»òÕßÊÖ¶¯ÆØ¹â×Ô¶¨Òåʱ¼ä,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms float fExposureValue2; // ×Ô¶¯ÆØ¹âʱ¼äÉÏÏÞ,ºÁÃëΪµ¥Î»£¬È¡Öµ0.1ms~80ms bool bGainAuto; // ×Ô¶¯ÔöÒæ BYTE byGain; // ÔöÒæµ÷½Ú, GainAutoΪtrueʱ±íʾ×Ô¶¯ÔöÒæµÄÉÏÏÞ£¬·ñÔò±íʾ¹Ì¶¨µÄÔöÒæÖµ BYTE bySignalFormat; // ÐźŸñʽ, 0-Inside(ÄÚ²¿ÊäÈë) 1-BT656 2-720p 3-1080p 4-1080i 5-1080sF BYTE byRotate90; // 0-²»Ðýת£¬1-˳ʱÕë90¡ã£¬2-ÄæÊ±Õë90¡ã float fExternalSyncPhase; // Íâͬ²½µÄÏàλÉèÖà 0~360 BYTE byExternalSync; // Íⲿͬ²½ÐźÅÊäÈë,0-ÄÚ²¿Í¬²½ 1-Íⲿͬ²½ BYTE bySwitchMode; //0-²»Çл»£¬×ÜÊÇʹÓð×ÌìÅäÖã»1-¸ù¾ÝÁÁ¶ÈÇл»£»2-¸ù¾Ýʱ¼äÇл»£»3-²»Çл»£¬×ÜÊÇʹÓÃÒ¹ÍíÅäÖã»4-ʹÓÃÆÕͨÅäÖà BYTE byDoubleExposure; // Ë«¿ìÃÅ, 0-²»ÆôÓã¬1-Ë«¿ìÃÅȫ֡ÂÊ£¬¼´Í¼ÏñºÍÊÓÆµÖ»ÓпìÃŲÎÊý²»Í¬£¬2-Ë«¿ìÃŰëÖ¡ÂÊ£¬¼´Í¼ÏñºÍÊÓÆµ¿ìÃż°°×ƽºâ²ÎÊý¾ù²»Í¬ BYTE byWideDynamicRange; // ¿í¶¯Ì¬Öµ CFG_VIDEO_IN_NIGHT_OPTIONS stuNightOptions; // Ò¹Íí²ÎÊý CFG_FLASH_CONTROL stuFlash; // ÉÁ¹âµÆÅäÖà CFG_VIDEO_IN_SNAPSHOT_OPTIONS stuSnapshot; // ×¥ÅIJÎÊý, Ë«¿ìÃÅʱÓÐЧ CFG_FISH_EYE stuFishEye; // ÓãÑÛ¾µÍ· BYTE byFocusMode; // 0-¹Ø±Õ£¬1-¸¨Öú¾Û½¹£¬2-×Ô¶¯¾Û½¹ BYTE reserved[28]; // ±£Áô BYTE byGainMin; // ÔöÒæÏÂÏÞ BYTE byGainMax; // ÔöÒæÉÏÏÞ BYTE byAntiFlicker; // ·ÀÉÁ˸ģʽ 0-Outdoor 1-50Hz·ÀÉÁ˸ 2-60Hz·ÀÉÁ˸ BYTE byExposureMode; // ÆØ¹âģʽµ÷½Ú ÆØ¹âµÈ¼¶Îª×Ô¶¯ÆØ¹âʱÓÐЧ£¬È¡Öµ£º0-ĬÈÏ×Ô¶¯£¬1-ÔöÒæÓÅÏÈ£¬2-¿ìÃÅÓÅÏÈ,4-ÊÖ¶¯ BYTE byGlareInhibition; // Ç¿¹âÒÖÖÆ 0-¹Ø±Õ£¬ 1~100Ϊ·¶Î§Öµ CFG_RECT stuBacklightRegion; // ±³¹â²¹³¥ÇøÓò CFG_VIDEO_IN_NORMAL_OPTIONS stuNormalOptions;//ÆÕͨ²ÎÊý } CFG_VIDEO_IN_OPTIONS; // RTSPÊäÈë²ÎÊýºÍÊä³ö²ÎÊýÅäÖýṹÌå typedef struct tagCFG_MULTICAST_INFO { int nStructSize; bool abStreamType; BYTE byReserved[3]; BOOL bEnable; // ÊÇ·ñʹÄÜ char szMulticastAddr[MAX_ADDRESS_LEN]; //×é²¥µØÖ· int nPort; //×é²¥¶Ë¿Ú char szLocalAddr[MAX_ADDRESS_LEN]; //µ¥²¥µØÖ·£¬ÓÃÓÚ×é²¥Ö¸¶¨ÏêÏ¸Íø¿¨ int nChannelID; // ͨµÀºÅ int nStreamType; // ÂëÁ÷ÀàÐÍ 0-Ö÷ÂëÁ÷, 1-¸¨ÂëÁ÷1,2-¸¨ÂëÁ÷2,3-¸¨ÂëÁ÷3 }CFG_MULTICAST_INFO; typedef struct tagCFG_MULTICASTS_INFO { int nStructSize; CFG_MULTICAST_INFO stuMultiInfo[MAX_CHAN_NUM]; //×î´ó×é²¥ÅäÖà int nCount; //ÓÐЧÊý×é¸öÊý }CFG_MULTICASTS_INFO; typedef struct tagCFG_RTSP_INFO_IN { int nStructSize; BOOL bEnable; // Õû¸ö¹¦ÄÜÊÇ·ñʹÄÜ int nPort; // RTSP·þÎñ¶Ë¿Ú int nRtpStartPort; // RTPÆðʼ¶Ë¿Ú int nRtpEndPort; // RTP½áÊø¶Ë¿Ú BOOL bHttpEnable; // RtspOverHttpʹÄÜ int nHttpPort; // RtspOverHttp¶Ë¿Ú }CFG_RTSP_INFO_IN; typedef struct tagCFG_RTSP_INFO_OUT { int nStructSize; BOOL bEnable; // Õû¸ö¹¦ÄÜÊÇ·ñʹÄÜ int nPort; // RTSP·þÎñ¶Ë¿Ú int nRtpStartPort; // RTPÆðʼ¶Ë¿Ú int nRtpEndPort; // RTP½áÊø¶Ë¿Ú BOOL bHttpEnable; // RtspOverHttpʹÄÜ int nHttpPort; // RtspOverHttp¶Ë¿Ú }CFG_RTSP_INFO_OUT; typedef struct tagCFG_MULTICASTS_INFO_IN { int nStructSize; CFG_MULTICAST_INFO *pTSMulticast; //TSµÄ×é²¥ÅäÖà int nTSCount; //ÓÐЧTSÊý×é¸öÊý CFG_MULTICAST_INFO *pRTPMulticast; //RTPµÄ×é²¥ÅäÖà int nRTPCount; //ÓÐЧRTPÊý×é¸öÊý CFG_MULTICAST_INFO *pDHIIMulticast; //DHIIµÄ×é²¥ÅäÖà int nDHIICount; //ÓÐЧDHIIÊý×é¸öÊý CFG_MULTICAST_INFO *pRTPAudio; //RTPÒôƵ×é²¥ÅäÖà int nRTPAudioCount; //ÓÐЧRTPÒôƵÊý×é¸öÊý }CFG_MULTICASTS_INFO_IN; typedef struct tagCFG_MULTICASTS_INFO_OUT { int nStructSize; CFG_MULTICASTS_INFO stuTSMulticast; //TSµÄ×é²¥ÅäÖà CFG_MULTICASTS_INFO stuRTPMulticast; //RTPµÄ×é²¥ÅäÖà CFG_MULTICASTS_INFO stuDHIIMulticast; //DHIIµÄ×é²¥ÅäÖà CFG_MULTICASTS_INFO stuRTPAudioMulticast; //RTPÒôƵ×é²¥ÅäÖà }CFG_MULTICASTS_INFO_OUT; typedef struct tagCFG_ACTIVEUSER_INFO { int nStructSize; int nUserID; //»î¶¯Óû§ID£¬Ò»°ãÊǻỰID char szUser[MAX_USERNAME_LEN]; // Óû§Ãû char szGroupName[MAX_USERNAME_LEN]; // Óû§ËùÔÚ×éÃû int nGroupLevel; // Óû§ËùÔÚ×éµÈ¼¶ char szClientType[MAX_USERNAME_LEN]; // ¿Í»§¶ËÀàÐÍ char szClientAddr[MAX_ADDRESS_LEN]; // ¿Í»§¶ËIPµØÖ· CFG_NET_TIME stuLoginTime; // Óû§µÇÈëʱ¼ä }CFG_ACTIVEUSER_INFO; typedef struct tagCFG_ACTIVEALLUSER_INFO { int nStructSize; int nCount; //ÓÐЧÊý×é¸öÊý CFG_ACTIVEUSER_INFO stuActiveUserInfo[MAX_ACTIVEUSER_NUM]; // ×î´ó»î¶¯Óû§Áбí }CFG_ACTIVEALLUSER_INFO; typedef struct tagCFG_NET_TIME_EX { DWORD dwYear; // Äê DWORD dwMonth; // Ô DWORD dwDay; // ÈÕ DWORD dwHour; // ʱ DWORD dwMinute; // ·Ö DWORD dwSecond; // Ãë DWORD dwMillisecond; // ºÁÃë DWORD dwReserved[2]; // ±£Áô×Ö¶Î } CFG_NET_TIME_EX; #define MAX_EXITMAN_NUM 32 // Ö§³ÖµÄ×î´óµÄÀ뿪ÈËÊý // ¹æÔòÀàÐÍ typedef enum tagEM_CFG_RULE_TYPE { EM_CFG_RULE_UNKNOWN, // δ֪ EM_CFG_RULE_NUMBER_STAT, // ÈËÊýͳ¼Æ EM_CFG_RULE_MAN_NUM_DETECTION, // ÇøÓòÄÚÈËÊýͳ¼Æ } EM_CFG_RULE_TYPE; // À뿪ÈËÔ±µÄÖÍÁôʱ¼äÐÅÏ¢ typedef struct tagCFG_EXITMAN_STAY_STAT { CFG_NET_TIME_EX stuEnterTime; // ÈËÔ±½øÈëÇøÓòʱ¼ä CFG_NET_TIME_EX stuExitTime; // ÈËÔ±Àë¿ªÇøÓòʱ¼ä BYTE reserved[104]; // ±£Áô×Ö½Ú } CFG_EXITMAN_STAY_STAT; //»ñÈ¡ÊÓÆµÍ³¼ÆÕªÒªÐÅÏ¢½á¹¹Ìå typedef struct tagCFG_CFG_VIDEOSATA_SUMMARY_INFO { int nStructSize; int nChannelID; //ͳ¼ÆÍ¨µÀºÅ char szRuleName[MAX_NAME_LEN]; //¹æÔòÃû³Æ CFG_NET_TIME_EX stuStatTime; //ͳ¼ÆÊ±¼ä£¬×ª»»µ½UTC int nEnteredTotal; //½øÈë×Ü¼Æ int nEnteredToday; //½ñÌì½øÈë×Ü¼Æ int nEnteredMonth; //±¾Ô½øÈë×Ü¼Æ int nEnteredYear; //½ñÄê½øÈë×Ü¼Æ int nEnteredDaily; //ÿÈÕ×î´ó½øÈë×Ü¼Æ int nExitedTotal; //³öÈ¥×Ü¼Æ int nExitedToday; //½ñÌì³öÈ¥×Ü¼Æ int nExitedMonth; //±¾Ô³öÈ¥×Ü¼Æ int nExitedYear; //½ñÄê³öÈ¥×Ü¼Æ int nExitedDaily; //ÿÈÕ×î´ó³öÈ¥×Ü¼Æ int nAvgTotal; //ƽ¾ùËùÓб£ÓÐͳ¼Æ(³ýÈ¥ÁãÖµ) int nAvgToday; //ƽ¾ù½ñÌì±£ÓÐͳ¼Æ int nAvgMonth; //ƽ¾ù±¾Ô±£ÓÐͳ¼Æ int nAvgYear; //ƽ¾ù½ñÄê±£ÓÐͳ¼Æ int nMaxTotal; //×î´óËùÓб£ÓÐͳ¼Æ(³ýÈ¥ÁãÖµ) int nMaxToday; //×î´ó½ñÌì±£ÓÐͳ¼Æ int nMaxMonth; //×î´ó±¾Ô±£ÓÐͳ¼Æ int nMaxYear; //×î´ó½ñÄê±£ÓÐͳ¼Æ int nInsideSubTotal; //ÇøÓòÄÚÈËÊý EM_CFG_RULE_TYPE emRuleType; //¹æÔòÀàÐÍ int nRetExitManNum; //À뿪ÈËÔ±µÄÊýÁ¿ CFG_EXITMAN_STAY_STAT stuExitManStayInfo[MAX_EXITMAN_NUM]; //À뿪ÈËÔ±µÄÖÍÁôʱ¼äÐÅÏ¢ }CFG_VIDEOSATA_SUMMARY_INFO; // µ¥³¡¾°¸ú×ٽṹÌå typedef struct tagCFG_SINGLESCENE { int nStructSize; int nSingleAlarmDelay; //±¨¾¯ÑÓʱ:1~600Ãë int nSinglePresetID; //Ô¤Öõã±àºÅ£º1~255(-1´ú±íÎÞ¶¨Òå) }CFG_SINGLESCENE; // Ѳº½Â·¾¶½á¹¹Ìå typedef struct tagCFG_TOURPATH { int nStructSize; int nMultiPresetID; //³¡¾°Ô¤Öõã±àºÅ int nMultiDuration; //Í£Áôʱ¼ä30~900Ãë }CFG_TOURPATH; //¶à³¡¾°¸ú×ÙÓÅÏÈģʽ typedef enum tagCFG_MULTSCENE_PRIOR_MODE { EM_MULTSCENE_PRIOR_MODE_UNKNOW = 0 , EM_MULTSCENE_PRIOR_MODE_DETECT , //¼ì²âÓÅÏÈ,µÈ´ýϵͳ¼ì²âÍê±ÏºóÔÙÇл»³¡¾° EM_MULTSCENE_PRIOR_MODE_SWITCH , //Çл»ÓÅÏÈ,Ö±½ÓÍ£µôϵͳ¼ì²â,Çл»µ½ÏÂÒ»¸ö³¡¾° }CFG_MULTSCENE_PRIOR_MODE; // ¶à³¡¾°¸ú×ٽṹÌå typedef struct tagCFG_MULTISCENE { int nStructSize; int nMultiAlarmDelay; //±¨¾¯ÑÓʱ£º1~600Ãë int nTourPathCount; //Ѳº½Â·¾¶¸öÊý CFG_TOURPATH stuMultiTourPath[MAX_TRACKSCENE_NUM]; //Ѳº½Â·¾¶ CFG_MULTSCENE_PRIOR_MODE emPriorMode; //ÓÅÏÈģʽ }CFG_MULTISCENE; // È«³¡¾°¸ú×ٽṹÌå typedef struct tagCFG_FULLSCENE { int nStructSize; int nFullAlarmDelay; //±¨¾¯ÑÓʱ£º1~600Ãë int nFullPresetID; //Ô¤Öõã±àºÅ,È«¾°¸ú×ÙÔ¤Öõã¹Ì¶¨Îª0£¬Óû§²»¿ÉÉèÖà int nFullDuration; //È«¾°¸ú×Ù³ÖÐøÊ±¼ä,0Ãë: Ò»Ö±¸ú×Ù;1~300:¸ú×Ù³ÖÐøÊ±¼ä }CFG_FULLSCENE; // ÏÞλ²ÎÊý½á¹¹Ìå typedef struct tag_CFG_POSITION_LIMIT { int nStructSize; BOOL bEnable; //ÆôÓÃÏÞλ²ÎÊý int nType; //ÏÞλֵ±íÊö·½Ê½£º0: ÓÉÔÆÌ¨ÔÚÏÞλÉèÖòÙ×÷ʱ±£´æÊý¾Ý£¬ÏÞλֵÊý¾ÝÎÞÒâÒå //1£ºÏÞλֵÓýǶÈ(µ¥Î»0.1¶È)±íʾ£¬ÓøÃÖµÉèÖøó¡¾°µÄÏÞλ int nTop; //ÉÏÏÞλֵ, 0~900:£¨µ¥Î»0.1¶È£© int nBottom; //ÏÂÏÞλֵ£º0~900:£¨µ¥Î»0.1¶È£© int nLeft; //×óÏÞλֵ£º0~3600:£¨µ¥Î»0.1¶È£© int nRight; //ÓÒÏÞλֵ£º0~3600:£¨µ¥Î»0.1¶È£© }CFG_POSITION_LIMIT; //×ÔÐÐÉèÖõıê¼Ç·½Ïò typedef enum tagCFG_SCENE_DIRECTION_INFO { EM_SCENE_DIRECTION_UNKNOW =0 , EM_SCENE_DIRECTION_APPROACH , //ÉÏÐÐ EM_SCENE_DIRECTION_LEAVE , //ÏÂÐÐ EM_SCENE_DIRECTION_BOTH , //Ë«Ïò EM_SCENE_DIRECTION_EAST2WEST , //Óɶ«ÏòÎ÷ EM_SCENE_DIRECTION_WEST2EAST , //ÓÉÎ÷Ïò¶« EM_SCENE_DIRECTION_SOUTH2NORTH , //ÓÉÄÏÏò±± EM_SCENE_DIRECTION_NORTH2SOUTH , //Óɱ±ÏòÄÏ EM_SCENE_DIRECTION_OTHER , //ÆäËû }CFG_SCENE_DIRECTION_INFO; // ³¡¾°ÐÅÏ¢½á¹¹Ìå typedef struct tagCFG_SCENE { int nStructSize; int nScenePresetID; //³¡¾°Ô¤Öõ㣬1~255£¬Í¨¹ýÔ¤Öõã±àºÅ¹ØÁªµ½¶ÔÓ¦¹æÔòÉÏ char szSceneName[MAX_NAME_LEN]; //³¡¾°Ãû int nSceneDuration; //¸ú×Ù³ÖÐøÊ±¼ä:0Ãë: Ò»Ö±¸ú×Ù;1~300:¸ú×Ù³ÖÐøÊ±¼ä double dSceneMaxZoom; //¹éÒ»»¯µ½0~1;Ϊnull±íʾʹÓÃÈ«¾ÖMaxZoomÖµ CFG_POSITION_LIMIT stuPositionLimit; //ÏÞλ²ÎÊý int nSceneRegression; //¹éλʱ¼ä£¬1~10Ãë:¸ú×Ù¶ªÊ§ºó»Øµ½Ô­³¡¾°µÄʱ¼ä CFG_SCENE_DIRECTION_INFO emDirectionInfo; ///×ÔÐÐÉèÖõıê¼Ç·½Ïò }CFG_SCENE; // ÖÇÄܸú×Ùģʽ typedef enum tagCFG_INTELLI_TRACE_MODE { EM_INTELLI_TRACE_MODE_UNKNOW = 0 , EM_INTELLI_TRACE_MODE_INDOOR , //ÊÒÄÚ¸ú×Ù(¶Ìʱ¼ä) EM_INTELLI_TRACE_MODE_OUTDOOR , //ÊÒÍâ¸ú×Ù EM_INTELLI_TRACE_MODE_CLASSROOM , //½ÌÊÒ¸ú×Ù(³¤Ê±¼äÇÒÐèÒªÈËÎï±ê¶¨) }CFG_INTELLI_TRACE_MODE; // ÖÇÄܸú×Ù³¡¾°ÅäÖýṹÌå typedef struct tagCFG_INTELLITRACKSCENE_INFO { int nStructSize; BOOL bEnableTrack; //ÆôÓÃÖÇÄܸú×Ù int nTrackType; //0,±¨¾¯¸ú×Ù£»1£¬ÊÖ¶¯¸ú×Ù double dMaxZoom; //×î´ó¸ú×Ù±¶ÂÊ£¬¹éÒ»»¯µ½0~1£¬Îªnull±íʾÎÞÏÞÖÆ char szCategory[MAX_NAME_LEN]; //µ±Ç°¸ú×ÙÀàÐÍ£¬"SingleScene"£ºµ¥³¡¾°¸ú×Ù£»"MultiScene"£º¶à³¡¾°¸ú×Ù£»"FullScene"£ºÈ«¾°¸ú×Ù CFG_SINGLESCENE stuSingleTrack; //µ¥³¡¾°¸ú×Ù CFG_MULTISCENE stuMultiTrack; //¶à³¡¾°¸ú×Ù CFG_FULLSCENE stuFullTrack; //È«¾°¸ú×Ù int nSceneCount; //Ö§³ÖµÄ³¡¾°¸öÊý CFG_SCENE stuScene[MAX_TRACKSCENE_NUM]; //³¡¾°Áбí double dCameraHeight; //ÉãÏñÍ·ÀëµØÃæ´¹Ö±¾àÀë,µ¥Î»:Ã× int nIdleDelay; //¿ÕÏеȴýʱ¼ä,µ¥Î»:Ãë(¼´Óû§Í£Ö¹²Ù×÷É豸ºó£¬µ½ÖÇÄܼÌÐøÉúЧµÄ¿ÕÏÐÑÓʱʱ¼ä) CFG_INTELLI_TRACE_MODE emTraceMode; //¸ú×Ùģʽ }CFG_INTELLITRACKSCENE_INFO; // ÓãÑÛÏêϸÅäÖà #define CFG_MAX_FISHEYE_WINDOW_NUM 8 // ×î´óÓãÑÛ´°¿ÚÊý #define CFG_MAX_FISHEYE_MODE_NUM 8 // ×î´óÓãÑÛģʽÊý // ÓãÑÛ´°¿ÚλÖÃÐÅÏ¢ typedef struct tagCFG_FISHEYE_WINDOW_INFO { DWORD dwWindowID; // ´°¿ÚID int nFocusX; // EPtz£¨µç×ÓÔÆÌ¨£©µÄ½¹µãºá×ø±ê int nFocusY; // EPtz (µç×ÓÔÆÌ¨£©µÄ½¹µã×Ý×ø±ê int nHorizontalAngle; // EPtzµÄˮƽ½Ç¶È int nVerticalAngle; // EPtzµÄ´¹Ö±½Ç¶È }CFG_FISHEYE_WINDOW_INFO; // ÓãÑÛ¸÷ģʽµÄ´°¿ÚλÖÃÐÅÏ¢ typedef struct tagCFG_FISHEYE_MODE_INFO { int nModeType; // ģʽÀàÐÍ£¬Ïê¼û CFG_CALIBRATE_MODE int nWindowNum; // µ±Ç°Ä£Ê½ÏµĴ°¿ÚÊý CFG_FISHEYE_WINDOW_INFO stuWindwos[CFG_MAX_FISHEYE_WINDOW_NUM]; // ¾ßÌå´°¿ÚÐÅÏ¢ }CFG_FISHEYE_MODE_INFO; typedef struct tagCFG_FISHEYE_DETAIL_INFO { int nModeNum; // Ä£¿éÊý CFG_FISHEYE_MODE_INFO stuModes[CFG_MAX_FISHEYE_MODE_NUM]; // ¾ßÌåÄ£¿éÐÅÏ¢ }CFG_FISHEYE_DETAIL_INFO; // ƽ̨Ï·¢ºô½ÐÎÞÓ¦´ð×ªÒÆÅäÖÃÁбí #define CFG_MAX_NOANSWER_FORWARD_GROUP_NUM 32 // ×î´óÎÞÓ¦´ðǰתÁбí¸öÊý #define CFG_MAX_FORWARD_NUMBERS_NUM 32 // ×î´óÎÞÓ¦´ð×ªÒÆºÅÂë¸öÊý // ÎÞÓ¦´ð×ªÒÆÅäÖà typedef struct tagCFG_VT_NOANSWER_FORWARD_GROUP { char szRoomNumber[CFG_COMMON_STRING_32]; // ±»ºô½ÐºÅÂë int nForwardNumbersNum; // ÎÞÓ¦´ð×ªÒÆºÅÂë¸öÊý char szForwardNumbers[CFG_MAX_FORWARD_NUMBERS_NUM][CFG_COMMON_STRING_64]; // ÎÞÓ¦´ð×ªÒÆºÅÂëÁбí }CFG_VT_NOANSWER_FORWARD_GROUP; // ƽ̨Ï·¢ºô½ÐÎÞÓ¦´ð×ªÒÆÅäÖÃÁбíÐÅÏ¢ typedef struct tagCFG_VT_NOANSWER_FORWARD_INFO { BOOL bEnable; // ÎÞÓ¦´ð×ªÒÆÊ¹ÄÜ int nGroupNum; // ÎÞÓ¦´ð×ªÒÆÅäÖÃÁбíÓÐЧ¸öÊý£¬·¶Î§£º0 ~ CFG_MAX_NOANSWER_FORWARD_GROUP_NUM CFG_VT_NOANSWER_FORWARD_GROUP stuGroups[CFG_MAX_NOANSWER_FORWARD_GROUP_NUM]; // ÎÞÓ¦´ð×ªÒÆÅäÖÃÁбí }CFG_VT_NOANSWER_FORWARD_INFO; // VTOºô½ÐÅäÖà typedef struct tagCFG_VTO_CALL_INFO { BOOL bAreaEnable; // ¿çÇøÓòÁªÍøÊ¹ÄÜ char szAreaNumber[CFG_COMMON_STRING_32]; // ÇøÓò±àÂë BOOL bMiddleNumberCallEnable; // Öкźô½Ð¿ª¹Ø char szVTHMiddleNumberPrefix[CFG_COMMON_STRING_16]; // VTHÖкÅǰ׺£¬¹Ì¶¨³¤¶È4λ char szVTHLongNumberPrefix[CFG_COMMON_STRING_32]; // VTH³¤ºÅǰ׺£¬¹Ì¶¨³¤¶È8λ char szVTOShortNumber[CFG_COMMON_STRING_16]; // VTO¶ÌºÅ£¬¹Ì¶¨³¤¶È4λ char szVTOMiddleNumberPrefix[CFG_COMMON_STRING_16]; // VTOÖкÅǰ׺£¬¹Ì¶¨³¤¶È4λ char szVTOLongNumbrPrefix[CFG_COMMON_STRING_32]; // VTO³¤ºÅǰ׺£¬¹Ì¶¨³¤¶È12λ char szVTSLongNumber[CFG_COMMON_STRING_32]; // VTS³¤ºÅ£¬¹Ì¶¨³¤¶È18λ char szVillaCallVTHNum[CFG_COMMON_STRING_32]; // ±ðÊû»úºô½ÐºÅÂë }CFG_VTO_CALL_INFO; /************************¹¤×÷״̬ÅäÖÃ**********************************/ // ×¥ÅÄģʽ typedef enum tagCFG_TRAFFIC_SNAP_MODE { TRAFFIC_SNAP_MODE_AUTO = 0, // ×Ô¶¯×¥ÅÄ TRAFFIC_SNAP_MODE_COIL, // ÏßȦץÅÄ TRAFFIC_SNAP_MODE_COIL_PICANALYSIS, // ÏßȦץÅÄ, ͼƬ·ÖÎö TRAFFIC_SNAP_MODE_STREAM, // ÊÓÆµ×¥ÅÄ TRAFFIC_SNAP_MODE_STREAM_IDENTIFY, // ÊÓÆµ×¥ÅÄ, ²¢ÇÒʶ±ð TRAFFIC_SNAP_MODE_MIX_IDENTIFY, // »ìºÏ×¥ÅÄ, ²¢ÇÒʶ±ð } CFG_TRAFFIC_SNAP_MODE; // É豸¹¤×÷״̬ÐÅÏ¢ typedef struct tagCFG_TRAFFIC_WORKSTATE_INFO { int nChannelID; // ͨµÀºÅ CFG_TRAFFIC_SNAP_MODE emSnapMode; // ×¥ÅÄģʽ int nMatchMode; // ×¥ÅÄÆ¥Åäģʽ: 0-·ÇʵʱƥÅ䷽ʽ£¬Ïȱ¨¾¯ºó×¥ÅÄ£¬×¥ÅÄÖ¡²»ÊDZ¨¾¯Ö¡; 1-ʵʱƥÅäģʽ£¬±¨¾¯Ö¡ºÍ×¥ÅÄÖ¡ÊÇͬһ֡ }CFG_TRAFFIC_WORKSTATE_INFO; // »ñÈ¡É豸¹¤×÷״̬ÊÇ·ñÕý³£(CFG_CAP_CMD_DEVICE_STATE ¶ÔÓ¦µÄ½á¹¹Ìå) typedef struct tagCFG_TRAFFIC_DEVICE_STATUS { char szType[MAX_PATH]; // É豸ÀàÐÍ Ö§³Ö£º"Radar","Detector","SigDetector","StroboscopicLamp"," FlashLamp" char szSerialNo[MAX_PATH]; // É豸±àºÅ char szVendor[MAX_PATH]; // Éú²ú³§ÉÌ int nWokingState; // ¹¤×÷״̬ 0-¹ÊÕÏ,1-Õý³£¹¤×÷ BYTE byLightState; // RS485µÆµÄÁÁÃð״̬£¬Type Ϊ"DhrsStroboscopicLamp"»òÕß"DhrsSteadyLamp"ʱÓÐЧ // 0-δ֪, 1-µÆÁÁ, 2-µÆÃð BYTE byReserved[3]; // Ô¤Áô×Ö½Ú }CFG_TRAFFIC_DEVICE_STATUS; typedef struct tagCFG_CAP_TRAFFIC_DEVICE_STATUS { int nStatus; // stuStatus ʵ¼Ê¸öÊý CFG_TRAFFIC_DEVICE_STATUS stuStatus[MAX_STATUS_NUM]; }CFG_CAP_TRAFFIC_DEVICE_STATUS; /************************¼ÏñÅÌ×éÅäÖÃ**********************************/ // ´æ´¢×éÐÅÏ¢ typedef struct tagCFG_STORAGEGROUP_INFO { char szGroupName[MAX_STORAGEGROUPNAME_LEN]; // ´æ´¢×éÃû³Æ BYTE* byDisks; // ÎïÀí´ÅÅÌÐòºÅ»º³åÇø int nBufSize; // »º³åÇøbyDisksµÄ³¤¶È int nDiskNum; // ´æ´¢×éÖеĴÅÅÌÊý int nGroupIndex; // ´æ´¢×éÐòºÅ(1~×î´óÓ²ÅÌÊý) }CFG_STORAGEGROUP_INFO; // ¼Ïñ-´æ´¢×é ¶ÔÓ¦ÐÅÏ¢ typedef struct tagCFG_RECORDTOGROUP_INFO { int nChannelID; // ͨµÀºÅ BOOL bEnable; // ʹÄÜ char szGroupName[MAX_STORAGEGROUPNAME_LEN]; // ´æ´¢×éÃû³Æ, Ö»¶Á int nGroupIndex; // ´æ´¢×éÐòºÅ(1~×î´óÅÌ×é, 0Ôò±íʾÎÞ¶ÔÓ¦ÅÌ×é)£¬Í¨¹ý´Ë²ÎÊýÓëCFG_STORAGE_GROUP_INFO¹ØÁª }CFG_RECORDTOGROUP_INFO; enum EM_STORAGEPOINT_TYPE { EM_STORAGE_TIMINGRECORD, //¶¨Ê±Â¼Ïñ´æ´¢µãÀàÐÍ EM_STORAGE_MANUALRECORD, //ÊÖ¶¯Â¼Ïñ´æ´¢µãÀàÐÍ EM_STORAGE_VIDEODETECTRECORD, //ÊÓÆµ¼ì²â¼Ïñ´æ´¢µãÀàÐÍ EM_STORAGE_ALARMRECORD, //±¨¾¯Â¼Ïñ´æ´¢µãÀàÐÍ EM_STORAGE_CARDRECORD, //¿¨ºÅ¼Ïñ´æ´¢µãÀàÐÍ EM_STORAGE_EVENTRECORD, // ÆäËûʼþ¼Ïñ´æ´¢µãÀàÐÍ EM_STORAGE_TIMINGSNAPSHOT, // ¶¨Ê±×¥Í¼´æ´¢µãÀàÐÍ EM_STORAGE_MANUALSNAPSHOT, // ÊÖ¶¯×¥Í¼´æ´¢µãÀàÐÍ EM_STORAGE_VIDEODETECTSNAPSHOT, // ÊÓÆµ¼ì²âץͼ´æ´¢µãÀàÐÍ EM_STORAGE_ALARMSNAPSHOT, // ±¨¾¯×¥Í¼´æ´¢µãÀàÐÍ EM_STORAGE_CARDSNAPSHOT, // ¿¨ºÅץͼ´æ´¢µãÀàÐÍ EM_STORAGE_EVENTSNAPSHOT, // ÆäËûʼþץͼ´æ´¢µãÀàÐÍ EM_STORAGE_TIMINGEXTRA1RECORD, // ¸¨ÂëÁ÷1¼Ïñ´æ´¢µãÀàÐÍ }; // ´æ´¢µãÅäÖÃÐÅÏ¢ typedef struct tagCFG_STORAGEPOINT_INFO { DWORD dwSize; EM_STORAGEPOINT_TYPE emStoragePointType;// ´æ´¢µãÀàÐÍ char nLocalDir; //±¾µØ¹¤×÷Ŀ¼×éÃû³Æ, ¿Õ±íʾ²»Â¼µ½±¾µØ char szCompressDir[MAX_DIRECTORY_LEN]; //ʵʱѹËõ´æ´¢Ä¿Â¼×飬¿Õ±íʾ²»Ê¹ÓÃʵʱѹËõ´æ´¢¡£ char szRedundantDir[MAX_DIRECTORY_LEN]; //ÈßÓ๤×÷Ŀ¼×éÃû³Æ,¿Õ±íʾûÓÐÈßÓà¼Ïñ¡£ char szRemoteDir[MAX_DIRECTORY_LEN]; //Ô¶³Ì¹¤×÷Ŀ¼×éÃû³Æ,¿Õ±íʾ²»Â¼µ½Ô¶³Ì¡£ BOOL bAutoSync; //Ô¶³Ì´æ´¢ÍøÂç¹ÊÕϻָ´ºó£¬ÊÇ·ñ×Ô¶¯½«±¾µØ´æ´¢µÄÊý¾Ýͬ²½µ½Ô¶³Ì´æ´¢¡£ UINT nAutoSyncRange; //´ÓÍøÂç»Ö¸´µÄʱ¿Ì¿ªÊ¼£¬ÐèÒªÍùǰͬ²½µÄÊý¾Ýʱ¼ä·¶Î§£¬Ð¡Ê±Îªµ¥Î»£¬0±íʾͬ²½ËùÓÐÊý¾Ý¡£ BOOL bLocalEmergency; //Ô¶³ÌĿ¼ÎÞ·¨·ÃÎÊʱ£¬ÊÇ·ñ±£´æµ½±¾µØÄ¿Â¼¡£ UINT nCompressBefore; //ÉèÖý«¶àÉÙÌì֮ǰµÄ¼ÏñÎļþ½øÐÐѹËõ¡£ }CFG_STORAGEPOINT_INFO; // ¼Ïñ´æ´¢µãÓ³ÉäÅäÖÃÐÅÏ¢ typedef struct tagCFG_RECORDTOSTORAGEPOINT_INFO { int nStoragePointNum; //´æ´¢µãÊýÄ¿ CFG_STORAGEPOINT_INFO stStoragePoints[MAX_STORAGEPOINT_NUM]; // ´æ´¢µãÅäÖÃÐÅÏ¢ }CFG_RECORDTOSTORAGEPOINT_INFO; // ¼Ïñ´æ´¢µãÓ³ÉäÅäÖÃÀ©Õ¹ÐÅÏ¢ typedef struct tagCFG_RECORDTOSTORAGEPOINT_EX_INFO { DWORD dwSize; int nMaxChannelRecord; // ×î´ó¼ÏñͨµÀÅäÖøöÊý int nRetChannelRecord; // ʵ¼Ê·µ»ØÍ¨µÀÅäÖøöÊý CFG_RECORDTOSTORAGEPOINT_INFO *pstRecordStorage; // ͨµÀ´æ´¢µãÅäÖÃÐÅÏ¢, ÓÉÓû§ÉêÇëÄÚ´æ, ´óСΪsizeof(CFG_RECORDTOSTORAGEPOINT_INFO)*nMaxChannelRecord }CFG_RECORDTOSTORAGEPOINT_EX_INFO; //iscsiÖ±´æ£¬ÔªÊý¾Ý·þÎñÆ÷ÅäÖÃ½Ó¿Ú typedef struct __tagCFG_METADATA_SERVER { DWORD nStructSize; BOOL bEnable; //ʹÄÜ¿ª¹Ø char szAddress[MAX_ADDRESS_LEN]; //IPµØÖ·»òÍøÂçÃû DWORD dwPort; //¶Ë¿ÚºÅ char szUserName[MAX_USERNAME_LEN]; //ÕÊ»§Ãû char szPassword[MAX_PASSWORD_LEN]; //ÃÜÂë char szDeviceID[MAX_REMOTEDEVICENAME_LEN]; //ΪʹÓÃÔªÊý¾Ý·þÎñÆ÷µÄÉ豸ͳһ·ÖÅäµÄID£¬É豸ÒÔ´ËID±êʶ×Ô¼º }CFG_METADATA_SERVER; // ³µÔØ»õÖØÅäÖà typedef struct __tagCFG_GOOD_WEIGHT_INFO { DWORD dwMaxGoodsWeight; // ×î´ó»õÖØ(kg) DWORD dwMinGoodsWeight; // ×îС»õÖØ(kg) DWORD dwSelfWeight; // ×ÔÖØ(kg) DWORD dwStandardWeight; // ºËÖØ(kg) DWORD dwAlarmWeight; // ±¨¾¯ãÐÖµ(kg) int nCheckTime; // ¾²Ö¹²É¼¯Ê±¼ä(s) } CFG_GOOD_WEIGHT_INFO; //¾µÍ·¾Û½¹×´Ì¬ÐÅÏ¢ typedef struct tagCFG_CAP_FOCUS_STATUS { int nAutofocusPeak; // µ±Ç°AF·åÖµ ¸¨Öú¾Û½¹Ä£Ê½ÏÂÓÐЧ double dFocus; // ¾Û½¹Î»Öà ¹éÒ»»¯µ½0~1 double dZoom; // ·Å´ó±¶Êý ¹éÒ»»¯µ½0~1 int nStatus; // ¾Û½¹×´Ì¬, 0 Õý³£×´Ì¬ 1 ÕýÔÚ×Ô¶¯¾Û½¹ }CFG_CAP_FOCUS_STATUS; //ÔÆÌ¨Ö§³ÖÄÜÁ¦ÐÅÏ¢ typedef struct tagCFG_CAP_PTZ_ENABLEINFO { BOOL bEnable; //¸ÃͨµÀÊÇ·ñÖ§³ÖÔÆÌ¨ }CFG_CAP_PTZ_ENABLEINFO; // ÍøÂçÓ¦ÓÃÄÜÁ¦¼¯ typedef struct tagCFG_CAP_NETAPP { int nNetCardCount; // Íø¿¨ÊýÁ¿ int nNetTypeNumber; // ÍøÂçÀàÐ͸öÊý char szNetType[MAX_NET_TYPE_NUM][MAX_NET_TYPE_LEN]; // ¾ßÌåÍøÂçÀàÐÍ, "PPPoE"£¬"WIFI"£¬"3G"£¬"LAN" }CFG_CAP_NETAPP; ///////////////////////////////////Èý´úЭÒéÐÂÔö/////////////////////////////////////// // ¼Ïñģʽ struct AV_CFG_RecordMode { AV_int32 nStructSize; AV_int32 nMode; // ¼Ïñģʽ, 0-×Ô¶¯Â¼Ïñ£¬1-ÊÖ¶¯Â¼Ïñ£¬2-¹Ø±Õ¼Ïñ AV_int32 nModeExtra1; // ¸¨ÂëÁ÷1¼Ïñģʽ, 0-×Ô¶¯Â¼Ïñ£¬1-ÊÖ¶¯Â¼Ïñ£¬2-¹Ø±Õ¼Ïñ AV_int32 nModeExtra2; // ¸¨ÂëÁ÷2¼Ïñģʽ, 0-×Ô¶¯Â¼Ïñ£¬1-ÊÖ¶¯Â¼Ïñ£¬2-¹Ø±Õ¼Ïñ }; // ͨµÀÃû³Æ struct AV_CFG_ChannelName { AV_int32 nStructSize; AV_int32 nSerial; // ÉãÏñͷΨһ±àºÅ char szName[CFG_MAX_CHANNEL_NAME_LEN];// ͨµÀÃû }; // ÊÓÆµÊä³öÊôÐÔ struct AV_CFG_VideoOutAttr { AV_int32 nStructSize; AV_int32 nMarginLeft; // ×ó±ß¾à, ±ÈÂÊ, 0~100 AV_int32 nMarginTop; // Éϱ߾à, ±ÈÂÊ, 0~100 AV_int32 nMarginRight; // Óұ߾à, ±ÈÂÊ, 0~100 AV_int32 nMarginBottom; // ϱ߾à, ±ÈÂÊ, 0~100 AV_int32 nBrightness; // ÁÁ¶È, 0~100 AV_int32 nContrast; // ¶Ô±È¶È, 0~100 AV_int32 nSaturation; // ±¥ºÍ¶È, 0~100 AV_int32 nHue; // É«µ÷, 0~100 AV_int32 nWidth; // ˮƽ·Ö±æÂÊ AV_int32 nHeight; // ´¹Ö±·Ö±æÂÊ AV_int32 nBPP; // ÑÕÉ«Éî¶È AV_int32 nFormat; // -1-δ֪, 0-Auto, 1-TV, 2-VGA, 3-DVI, 4-HDMI, 5-SPOT AV_int32 nRefreshRate; // Ë¢ÐÂÆµÂÊ AV_BOOL bIQIMode; // Êä³öͼÏñÔöÇ¿ AV_int32 nScanFormat; // ɨÃèģʽ, 0-ÖðÐÐ, 1-¸ôÐÐ }; // ʱ¼ä¶Î struct AV_CFG_TimeSection { AV_int32 nStructSize; AV_int32 nMask; // ÑÚÂë AV_int32 nBeginHour; // ¿ªÊ¼Ê±¼ä AV_int32 nBeginMinute; AV_int32 nBeginSecond; AV_int32 nEndHour; // ½áÊøÊ±¼ä AV_int32 nEndMinute; AV_int32 nEndSecond; }; // Ô¶³ÌͨµÀ struct AV_CFG_RemoteChannel { AV_int32 nStructSize; AV_BOOL bEnable; // ʹÄÜ char szDeviceID[AV_CFG_Device_ID_Len]; // É豸ID AV_int32 nChannel; // ͨµÀºÅ }; // ÏÔʾԴ struct AV_CFG_DisplaySource { AV_int32 nStructSize; AV_int32 nWindowID; // ´°¿ÚID AV_BOOL bEnable; // ʹÄÜ char szDeviceID[AV_CFG_Device_ID_Len];// É豸ID AV_int32 nVideoChannel; // ÊÓÆµÍ¨µÀºÅ AV_int32 nVideoStream; // ÊÓÆµÂëÁ÷ AV_int32 nAudioChannle; // ÒôƵͨµÀºÅ AV_int32 nAudioStream; // ÒôƵÂëÁ÷ AV_BOOL bVideoEnable; // ±íʾ¸Ã´°¿ÚÊÇ·ñÓÐÊÓÆµÔ´ }; // ͨµÀ·Ö¸îÏÔʾԴ struct AV_CFG_ChannelDisplaySource { AV_int32 nStructSize; AV_int32 nWindowNum; // ·Ö¸î´°¿ÚÊýÁ¿ AV_CFG_DisplaySource stuSource[AV_CFG_Max_Split_Window];// ·Ö¸î´°¿ÚÏÔʾԴ }; // »­ÃæÂÖѵÏ·ָîģʽµÄ·Ö×éʹÄÜ״̬ struct AV_CFG_MonitorTourMask { AV_int32 nStructSize; CFG_SPLITMODE emSplitMode; // ·Ö¸îģʽ AV_int32 nGroupNum; // ·Ö×éÊýÁ¿ AV_int32 nGroup[AV_CFG_Max_Split_Group]; // ¸Ã·Ö¸îģʽϼÓÈëÂÖѵµÄ·Ö×é }; // »­ÃæÂÖѵ struct AV_CFG_MonitorTour { AV_int32 nStructSize; AV_BOOL bEnable; // ʹÄÜ AV_int32 nInterval; // ʱ¼ä¼ä¸ô, 5~120s AV_int32 nSplitMaskNum; // ·Ö¸î·Ö×éʹÄÜÊýÁ¿ AV_CFG_MonitorTourMask stuSplitMask[AV_CFG_Max_Split_Mode];// ¸÷·Ö¸îģʽ¶ÔÓ¦µÄ·Ö×éʹÄÜ״̬ AV_int32 nCollectionNum; // ÊÕ²ØÊýÁ¿ char szCollection[AV_CFG_Monitor_Favorite_In_Channel][AV_CFG_Monitor_Favorite_Name_Len];// »­ÃæÊÕ²ØÃû³Æ }; // ¼àÊÓ»­ÃæÊÕ²Ø struct AV_CFG_MonitorFavorite { AV_int32 nStructSize; AV_BOOL bDir; // ÊÇ·ñΪĿ¼ char szName[AV_CFG_Monitor_Favorite_Name_Len]; // Ãû³Æ char szPath[AV_CFG_Max_Path]; // Ŀ¼·¾¶, ¸ñʽÈçÏÂ: .name1.name2.name3 CFG_SPLITMODE emMode; // ·Ö¸îģʽ AV_int32 nWindowNum; // ´°¿ÚÊýÁ¿ AV_CFG_DisplaySource stuWindow[AV_CFG_Max_Monitor_Favorite_Window]; // ´°¿ÚÏÔʾԴÅäÖà }; // ¼àÊÓ»­ÃæÊղؼ¯ºÏ struct AV_CFG_MonitorCollection { AV_int32 nStructSize; AV_CFG_MonitorFavorite* pstuFavorite; // »­ÃæÊÕ²ØÊý×é AV_int32 nMaxCount; // »­ÃæÊÕ²ØÊý×é´óС AV_int32 nRetCount; // ·µ»ØµÄ»­ÃæÊÕ²ØÊýÁ¿ }; // RaidÐÅÏ¢ struct AV_CFG_Raid { AV_int32 nStructSize; char szName[AV_CFG_Raid_Name_Len]; // Ãû³Æ AV_int32 nLevel; // µÈ¼¶ AV_int32 nMemberNum; // ´ÅÅ̳ÉÔ±ÊýÁ¿ char szMembers[AV_CFG_Max_Rail_Member][AV_CFG_Max_Path]; // ´ÅÅ̳ÉÔ± }; // ¼ÏñÔ´ struct AV_CFG_RecordSource { AV_int32 nStructSize; AV_BOOL bEnable; // ʹÄÜ char szDeviceID[AV_CFG_Device_ID_Len];// É豸ID AV_int32 nVideoChannel; // ÊÓÆµÍ¨µÀºÅ AV_int32 nVideoStream; // ÊÓÆµÂëÁ÷ AV_int32 nAudioChannle; // ÒôƵͨµÀºÅ AV_int32 nAudioStream; // ÒôƵÂëÁ÷ }; // ±àÂë¸ñʽ, °üÀ¨ÒôƵºÍÊÓÆµ struct AV_CFG_EncodeFormat { AV_int32 nStructSize; AV_BOOL bAudioEnable; // ÒôƵʹÄÜ AV_int32 nAudioBitRate; // ÒôƵ±ÈÌØÂÊ CFG_AUDIO_FORMAT emAudioCompression; // ÒôƵѹËõģʽ AV_int32 nAudioDepth; // ÒôƵ²ÉÑùÉî¶È AV_int32 nAudioFrequency; // ÒôƵ²ÉÑùƵÂÊ AV_int32 nAudioMode; // ÒôƵ±àÂëģʽ AV_int32 nAudioPack; // ÒôƵ´ò°üģʽ, 0-DHAV, 1-PS AV_BOOL bVideoEnable; // ÊÓÆµÊ¹ÄÜ AV_int32 nVideoBitRate; // ÊÓÆµ±ÈÌØÂÊ CFG_BITRATE_CONTROL emVideoBitRateControl; // ÂëÁ÷¿ØÖÆÄ£Ê½ CFG_VIDEO_COMPRESSION emVideoCompression; // ÊÓÆµÑ¹Ëõģʽ AV_int32 nVideoFPS; // ÊÓÆµÖ¡ÂÊ AV_int32 nVideoGOP; // ÊÓÆµIÖ¡¼ä¸ô AV_int32 nVideoWidth; // ÊÓÆµ¿í¶È AV_int32 nVideoHeight; // ÊÓÆµ¸ß¶È CFG_IMAGE_QUALITY emVideoQuality; // ÊÓÆµÍ¼ÏñÖÊÁ¿ AV_int32 nVideoPack; // ÊÓÆµ´ò°üģʽ, 0-DHAV, 1-PS }; // ±àÂëÅäÖà struct AV_CFG_Encode { AV_int32 nStructSize; AV_CFG_EncodeFormat stuMainFormat[AV_CFG_Max_Encode_Main_Format]; // Ö÷ÂëÁ÷, °üÀ¨ÆÕͨ±àÂë, ¶¯¼ì±àÂë, ±¨¾¯±àÂë AV_CFG_EncodeFormat stuExtraFormat[AV_CFG_Max_Encode_Extra_Format]; // ¸¨ÂëÁ÷, °üÀ¨¸¨ÂëÁ÷1, ¸¨ÂëÁ÷2, ¸¨ÂëÁ÷3 AV_CFG_EncodeFormat stuSnapFormat[AV_CFG_Max_Encode_Snap_Format]; // ץͼ, °üÀ¨ÆÕͨץͼ, ¶¯¼ìץͼ, ±¨¾¯×¥Í¼ }; // videocolor style typedef enum tagCFG_ENUM_VIDEOCOLOR_STYLE { CFG_ENUM_VIDEOCOLOR_STYLE_UNKNOWN, // δ֪ CFG_ENUM_VIDEOCOLOR_STYLE_GENTLE, // ÈáºÍ CFG_ENUM_VIDEOCOLOR_STYLE_STANDARD, // ±ê×¼ CFG_ENUM_VIDEOCOLOR_STYLE_FLAMBOYANT, // ÑÞÀö }CFG_ENUM_VIDEOCOLOR_STYLE; // ¹âÕÕ³¡¾°ÀàÐÍ typedef enum tagEM_LIGHT_SCENE { EM_LIGHT_SCENE_UNKNOWN, // δ֪ EM_LIGHT_SCENE_DAY, // °×Ìì EM_LIGHT_SCENE_NIGHT, // Ò¹Íí EM_LIGHT_SCENE_NORMAL, // ÆÕͨ EM_LIGHT_SCENE_FRONT_LIGHT, // ˳¹â EM_LIGHT_SCENE_BACK_LIGHT, // Ò»°ãÄæ¹â EM_LIGHT_SCENE_STRONG_LIGHT, // Ç¿Äæ¹â EM_LIGHT_SCENE_LOW_LIGHT, // µÍÕÕ¶È EM_LIGHT_SCENE_CUSTOM, // ×Ô¶¨Òå }EM_LIGHT_SCENE; // ÊÓÆµÊäÈëÑÕÉ«ÅäÖÃ, ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦¶à¸öÑÕÉ«ÅäÖà struct AV_CFG_VideoColor { AV_int32 nStructSize; AV_CFG_TimeSection stuTimeSection; // ʱ¼ä¶Î AV_int32 nBrightness; // ÁÁ¶È, 0~100 AV_int32 nContrast; // ¶Ô±È¶È, 0~100 AV_int32 nSaturation; // ±¥ºÍ¶È, 0~100 AV_int32 nHue; // É«µ÷, 0~100 AV_int32 nGamma; // ÔöÒæ, 0~100 AV_int32 nChromaSuppress; // É«²ÊÒÖÖÆµÈ¼¶ 0~100 CFG_ENUM_VIDEOCOLOR_STYLE emColorStyle; // É«²Ê·ç¸ñ }; // ͨµÀÊÓÆµÊäÈëÑÕÉ«ÅäÖà struct AV_CFG_ChannelVideoColor { AV_int32 nStructSize; AV_int32 nColorNum; // ͨµÀÑÕÉ«ÅäÖÃÊý AV_CFG_VideoColor stuColor[AV_CFG_Max_VideoColor];// ͨµÀÑÕÉ«ÅäÖÃ, ÿ¸öͨµÀ¶ÔÓ¦¶à¸öÑÕÉ«ÅäÖà }; // ÑÕÉ« struct AV_CFG_Color { AV_int32 nStructSize; AV_int32 nRed; // ºì AV_int32 nGreen; // ÂÌ AV_int32 nBlue; // À¶ AV_int32 nAlpha; // ͸Ã÷ }; // ÇøÓò struct AV_CFG_Rect { AV_int32 nStructSize; AV_int32 nLeft; AV_int32 nTop; AV_int32 nRight; AV_int32 nBottom; }; // ±àÂëÎï¼þ-ÇøÓò¸²¸ÇÅäÖà struct AV_CFG_VideoWidgetCover { AV_int32 nStructSize; AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ AV_BOOL bEncodeBlendExtra1; // µþ¼Óµ½¸¨ÂëÁ÷1 AV_BOOL bEncodeBlendExtra2; // µþ¼Óµ½¸¨ÂëÁ÷2 AV_BOOL bEncodeBlendExtra3; // µþ¼Óµ½¸¨ÂëÁ÷3 AV_BOOL bEncodeBlendSnapshot; // µþ¼Óµ½×¥Í¼ AV_CFG_Color stuFrontColor; // ǰ¾°É« AV_CFG_Color stuBackColor; // ±³¾°É« AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8191 AV_BOOL bPreviewBlend; // µþ¼Óµ½Ô¤ÀÀÊÓÆµ }; // ͨµÀ±êÌâ¶ÔÆëÐÅÏ¢ typedef enum tagEM_TITLE_TEXT_ALIGN { EM_TEXT_ALIGN_INVALID, // ÎÞЧµÄ¶ÔÆë·½Ê½ EM_TEXT_ALIGN_LEFT, // ×ó¶ÔÆë EM_TEXT_ALIGN_XCENTER, // X×ø±êÖÐ¶ÔÆë EM_TEXT_ALIGN_YCENTER, // Y×ø±êÖÐ¶ÔÆë EM_TEXT_ALIGN_CENTER, // ¾ÓÖÐ EM_TEXT_ALIGN_RIGHT, // ÓÒ¶ÔÆë EM_TEXT_ALIGN_TOP, // °´ÕÕ¶¥²¿¶ÔÆë EM_TEXT_ALIGN_BOTTOM, // °´Õյײ¿¶ÔÆë EM_TEXT_ALIGN_LEFTTOP, // °´ÕÕ×óÉÏ½Ç¶ÔÆë EM_TEXT_ALIGN_CHANGELINE, // »»ÐÐ¶ÔÆë }EM_TITLE_TEXT_ALIGN; // ±àÂëÎï¼þ-ͨµÀ±êÌâ struct AV_CFG_VideoWidgetChannelTitle { AV_int32 nStructSize; AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ AV_BOOL bEncodeBlendExtra1; // µþ¼Óµ½¸¨ÂëÁ÷1 AV_BOOL bEncodeBlendExtra2; // µþ¼Óµ½¸¨ÂëÁ÷2 AV_BOOL bEncodeBlendExtra3; // µþ¼Óµ½¸¨ÂëÁ÷3 AV_BOOL bEncodeBlendSnapshot; // µþ¼Óµ½×¥Í¼ AV_CFG_Color stuFrontColor; // ǰ¾°É« AV_CFG_Color stuBackColor; // ±³¾°É« AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8191, ½öʹÓÃleftºÍtopÖµ, µã(left,top)Ó¦ºÍ(right,bottom)ÉèÖóÉͬÑùµÄµã AV_BOOL bPreviewBlend; // µþ¼Óµ½Ô¤ÀÀÊÓÆµ }; // ±àÂëÎï¼þ-ʱ¼ä±êÌâ struct AV_CFG_VideoWidgetTimeTitle { AV_int32 nStructSize; AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ AV_BOOL bEncodeBlendExtra1; // µþ¼Óµ½¸¨ÂëÁ÷1 AV_BOOL bEncodeBlendExtra2; // µþ¼Óµ½¸¨ÂëÁ÷2 AV_BOOL bEncodeBlendExtra3; // µþ¼Óµ½¸¨ÂëÁ÷3 AV_BOOL bEncodeBlendSnapshot; // µþ¼Óµ½×¥Í¼ AV_CFG_Color stuFrontColor; // ǰ¾°É« AV_CFG_Color stuBackColor; // ±³¾°É« AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8191, ½öʹÓÃleftºÍtopÖµ, µã(left,top)Ó¦ºÍ(right,bottom)ÉèÖóÉͬÑùµÄµã AV_BOOL bShowWeek; // ÊÇ·ñÏÔʾÐÇÆÚ AV_BOOL bPreviewBlend; // µþ¼Óµ½Ô¤ÀÀÊÓÆµ }; // ±àÂëÎï¼þ-×Ô¶¨Òå±êÌâ struct AV_CFG_VideoWidgetCustomTitle { AV_int32 nStructSize; AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ AV_BOOL bEncodeBlendExtra1; // µþ¼Óµ½¸¨ÂëÁ÷1 AV_BOOL bEncodeBlendExtra2; // µþ¼Óµ½¸¨ÂëÁ÷2 AV_BOOL bEncodeBlendExtra3; // µþ¼Óµ½¸¨ÂëÁ÷3 AV_BOOL bEncodeBlendSnapshot; // µþ¼Óµ½×¥Í¼ AV_CFG_Color stuFrontColor; // ǰ¾°É« AV_CFG_Color stuBackColor; // ±³¾°É« AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8191, ½öʹÓÃleftºÍtopÖµ, µã(left,top)Ó¦ºÍ(right,bottom)ÉèÖóÉͬÑùµÄµã char szText[AV_CFG_Custom_Title_Len];// ±êÌâÄÚÈÝ AV_BOOL bPreviewBlend; // µþ¼Óµ½Ô¤ÀÀÊÓÆµ char szType[AV_CFG_Custom_TitleType_Len];// ±êÌâÀàÐÍ "Rtinfo" ʵʱ¿Ì¼ÐÅÏ¢ "Custom" ×Ô¶¨Òåµþ¼Ó¡¢ÎÂʪ¶Èµþ¼Ó "Title" :ƬͷÐÅÏ¢ "Check" УÑéÂë // µØÀíÐÅÏ¢ "Geography" ATM¿¨ºÅÐÅÏ¢ "ATMCardInfo" ÉãÏñ»ú±àºÅ "CameraID" EM_TITLE_TEXT_ALIGN emTextAlign; // ±êÌâ¶ÔÆë·½Ê½ }; // ±àÂëÎï¼þ-µþ¼Ó´«¸ÐÆ÷ÐÅÏ¢-µþ¼ÓÄÚÈÝÃèÊö struct AV_CFG_VideoWidgetSensorInfo_Description { AV_int32 nStructSize; AV_int32 nSensorID; // ÐèÒªÃèÊöµÄ´«¸ÐÆ÷µÄID(¼´Ä£ÄâÁ¿±¨¾¯Í¨µÀºÅ) char szDevID[CFG_COMMON_STRING_32]; // É豸ID char szPointID[CFG_COMMON_STRING_32];// ²âµãID char szText[CFG_COMMON_STRING_256]; // ÐèÒªµþ¼ÓµÄÄÚÈÝ }; // ±àÂëÎï¼þ-µþ¼Ó´«¸ÐÆ÷ÐÅÏ¢ struct AV_CFG_VideoWidgetSensorInfo { AV_int32 nStructSize; AV_BOOL bPreviewBlend; // µþ¼Óµ½Ô¤ÀÀÊÓÆµ AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ÊÓÆµ±àÂë AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8191 AV_int32 nDescriptionNum; // µþ¼ÓÇøÓòÃèÊöÊýÄ¿ AV_CFG_VideoWidgetSensorInfo_Description stuDescription[AV_CFG_Max_Description_Num];// µþ¼ÓÇøÓòÃèÊöÐÅÏ¢ }; // OSDÖеÄ×ÖÌå·½°¸FontSolution typedef enum tagEM_FONT_SOLUTION { EM_FONT_UNKNOWN, // δ֪ EM_FONT_DFAULT, // ĬÈÏ×ÖÌå "default-font" EM_FONT_SIMKAI, // ¿¬Ìå "simkai" EM_FONT_SIMSUN, // ËÎÌå"simsun" }EM_FONT_SOLUTION; // ÊÓÆµ±àÂëÎï¼þÅäÖà struct AV_CFG_VideoWidget { AV_int32 nStructSize; AV_CFG_VideoWidgetChannelTitle stuChannelTitle; // ͨµÀ±êÌâ AV_CFG_VideoWidgetTimeTitle stuTimeTitle; // ʱ¼ä±êÌâ AV_int32 nConverNum; // ÇøÓò¸²¸ÇÊýÁ¿ AV_CFG_VideoWidgetCover stuCovers[AV_CFG_Max_Video_Widget_Cover]; // ¸²¸ÇÇøÓò AV_int32 nCustomTitleNum; // ×Ô¶¨Òå±êÌâÊýÁ¿ AV_CFG_VideoWidgetCustomTitle stuCustomTitle[AV_CFG_Max_Video_Widget_Custom_Title]; // ×Ô¶¨Òå±êÌâ AV_int32 nSensorInfo; // ´«¸ÐÆ÷ÐÅÏ¢µþ¼ÓÇøÓòÊýÄ¿ AV_CFG_VideoWidgetSensorInfo stuSensorInfo[AV_CFG_Max_Video_Widget_Sensor_Info]; // ´«¸ÐÆ÷ÐÅÏ¢µþ¼ÓÇøÓòÐÅÏ¢ double fFontSizeScale; //µþ¼Ó×ÖÌå´óС·Å´ó±ÈÀý //µ±fFontSizeScale¡Ù0ʱ,nFontSize²»Æð×÷Óà //µ±fFontSizeScale=0ʱ,nFontSizeÆð×÷Óà //É豸ĬÈÏfFontSizeScale=1.0 //Èç¹ûÐèÒªÐ޸ı¶Êý£¬Ð޸ĸÃÖµ //Èç¹ûÐèÒª°´ÕÕÏñËØÉèÖã¬ÔòÖøÃֵΪ0£¬nFontSizeµÄÖµÉúЧ AV_int32 nFontSize; //µþ¼Óµ½Ö÷ÂëÁ÷ÉϵÄÈ«¾Ö×ÖÌå´óС,µ¥Î» px. //ºÍfFontSizeScale¹²Í¬×÷Óà AV_int32 nFontSizeExtra1; //µþ¼Óµ½¸¨ÂëÁ÷1ÉϵÄÈ«¾Ö×ÖÌå´óС,µ¥Î» px AV_int32 nFontSizeExtra2; //µþ¼Óµ½¸¨ÂëÁ÷2ÉϵÄÈ«¾Ö×ÖÌå´óС,µ¥Î» px AV_int32 nFontSizeExtra3; //µþ¼Óµ½¸¨ÂëÁ÷3ÉϵÄÈ«¾Ö×ÖÌå´óС,µ¥Î» px AV_int32 nFontSizeSnapshot; //µþ¼Óµ½×¥Í¼Á÷ÉϵÄÈ«¾Ö×ÖÌå´óС, µ¥Î» px AV_int32 nFontSizeMergeSnapshot; //µþ¼Óµ½×¥Í¼Á÷ÉϺϳÉͼƬµÄ×ÖÌå´óС,µ¥Î» px EM_FONT_SOLUTION emFontSolutionSnapshot; //µþ¼Óµ½×¥Í¼Á÷ÉϵÄ×ÖÌå·½°¸ }; // ´æ´¢×éͨµÀÏà¹ØÅäÖà struct AV_CFG_StorageGroupChannel { AV_int32 nStructSize; AV_int32 nMaxPictures; // ÿ¸öͨµÀÎļþ¼ÐͼƬ´æ´¢ÉÏÏÞ, ³¬¹ý¾Í¸²¸Ç char szPath[AV_CFG_Max_ChannelRule]; // ͨµÀÔÚÃüÃû¹æÔòÀïµÄ×Ö·û´®±íʾ, %c¶ÔÓ¦µÄÄÚÈÝ }; // ´æ´¢×éÅäÖà struct AV_CFG_StorageGroup { AV_int32 nStructSize; char szName[AV_CFG_Group_Name_Len]; // ·Ö×éÃû³Æ char szMemo[AV_CFG_Group_Memo_Len]; // ·Ö×é˵Ã÷ AV_int32 nFileHoldTime; // Îļþ±£Áôʱ¼ä AV_BOOL bOverWrite; // ´æ´¢¿Õ¼äÂúÊÇ·ñ¸²¸Ç char szRecordPathRule[AV_CFG_Max_Path]; // ¼ÏñÎļþ·¾¶ÃüÃû¹æÔò char szPicturePathRule[AV_CFG_Max_Path]; // ͼƬÎļþ·¾¶ÃüÃû¹æÔò // %yÄê, %MÔÂ, %dÈÕ, %hʱ, %m·Ö, %sÃë, %cͨµÀ·¾¶ // Èç¹ûÄêÔÂÈÕʱ·ÖÃë³öÏÖÁ½´Î, µÚÒ»´Î±íʾ¿ªÊ¼Ê±¼ä, µÚ¶þ´Î±íʾ½áÊøÊ±¼ä AV_CFG_StorageGroupChannel stuChannels[AV_CFG_Max_Channel_Num];// ͨµÀÏà¹ØÅäÖà AV_int32 nChannelCount; // ͨµÀÅäÖÃÊý char szCustomName[AV_CFG_Group_Name_Len]; // ×Ô¶¨ÒåÃû³Æ£¬ÈôΪ¿ÕʹÓÃszName char szSubDevices[MAX_DEV_NUM][MAX_DEVICE_NAME_LEN]; // ×ÓÉ豸Áбí AV_int32 nSubDevices; // ×ÓÉ豸ÊýÁ¿ }; // DSTʱ¼ä struct AV_CFG_DSTTime { AV_int32 nStructSize; AV_int32 nYear; // Äê, 2000~2038 AV_int32 nMonth; // ÔÂ, 1~12 AV_int32 nWeek; // µÚ¼¸ÖÜ, 1-µÚÒ»ÖÜ,2-µÚ¶þÖÜ,...,-1-×îºóÒ»ÖÜ,0-°´ÈÕÆÚ¼ÆËã AV_int32 nDay; // ÐÇÆÚ¼¸»òÈÕÆÚ // °´ÖܼÆËãʱ, 0-ÖÜÈÕ, 1-ÖÜÒ»,..., 6-ÖÜÁù // °´ÈÕÆÚËãʱ, ±íʾ¼¸ºÅ, 1~31 AV_int32 nHour; // Сʱ AV_int32 nMinute; // ·ÖÖÓ }; // ÇøÓòÅäÖà struct AV_CFG_Locales { AV_int32 nStructSize; char szTimeFormat[AV_CFG_Time_Format_Len]; // ʱ¼ä¸ñʽ AV_BOOL bDSTEnable; // ÏÄÁîʱʱÄÜ AV_CFG_DSTTime stuDstStart; // ÏÄÁîʱÆðʼʱ¼ä AV_CFG_DSTTime stuDstEnd; // ÏÄÁîʱ½áÊøÊ±¼ä AV_BOOL bWeekEnable; // ÐÇÆÚÊÇ·ñʹÄÜ unsigned char ucWorkDay; // °´Î»±íʾһÖܵŤ×÷ÈÕÑÚÂ룬bit0±íʾÖÜÈÕ£¬bit1±íʾÖÜÒ» }; // ÓïÑÔÀàÐÍ enum AV_CFG_LanguageType { AV_CFG_Language_English, // Ó¢ÎÄ AV_CFG_Language_SimpChinese, // ¼òÌåÖÐÎÄ AV_CFg_Language_TradChinese, // ·±ÌåÖÐÎÄ AV_CFG_Language_Italian, // Òâ´óÀûÎÄ AV_CFG_Language_Spanish, // Î÷°àÑÀÎÄ AV_CFG_Language_Janpanese, // ÈÕÎÄ AV_CFG_Language_Russian, // ¶íÎÄ AV_CFG_Language_French, // ·¨ÎÄ AV_CFG_Language_German, // µÂÎÄ AV_CFG_Language_Portugal, // ÆÏÌÑÑÀÎÄ AV_CFG_Language_Turkey, // ÍÁ¶úÆäÎÄ AV_CFG_Language_Poland, // ²¨À¼ÎÄ AV_CFG_Language_Romanian, // ÂÞÂíÄáÑÇ AV_CFG_Language_Hungarian, // ÐÙÑÀÀûÓï AV_CFG_Language_Finnish, // ·ÒÀ¼Óï AV_CFG_Language_Estonian, // °®É³ÄáÑÇÓï AV_CFG_Language_Korean, // º«Óï AV_CFG_Language_Farsi, // ²¨Ë¹Óï AV_CFG_Language_Dansk, // µ¤ÂóÓï AV_CFG_Language_Czechish, // ½Ý¿ËÎÄ AV_CFG_Language_Bulgaria, // ±£¼ÓÀûÑÇÎÄ AV_CFG_Language_Slovakian, // ˹Âå·¥¿ËÓï AV_CFG_Language_Slovenia, // ˹ÂåÎÄÄáÑÇÎÄ AV_CFG_Language_Croatian, // ¿ËÂÞµØÑÇÓï AV_CFG_Language_Dutch, // ºÉÀ¼Óï AV_CFG_Language_Greek, // Ï£À°Óï AV_CFG_Language_Ukrainian, // ÎÚ¿ËÀ¼Óï AV_CFG_Language_Swedish, // ÈðµäÓï AV_CFG_Language_Serbian, // Èû¶ûάÑÇÓï AV_CFG_Language_Vietnamese, // Ô½ÄÏÓï AV_CFG_Language_Lithuanian, // Á¢ÌÕÍðÓï AV_CFG_Language_Filipino, // ·ÆÂɱöÓï AV_CFG_Language_Arabic, // °¢À­²®Óï AV_CFG_Language_Catalan, // ¼ÓÌ©ÂÞÄáÑÇÓï AV_CFG_Language_Latvian, // À­ÍÑάÑÇÓï AV_CFG_Language_Thai, // Ì©Óï AV_CFG_Language_Hebrew, // Ï£²®À´Óï AV_CFG_Language_Bosnian, // ²¨Ë¹ÄáÑÇÎÄ }; // ÓïÑÔÅäÖà struct AV_CFG_Language { AV_int32 nStructSize; AV_CFG_LanguageType emLanguage; // µ±Ç°ÓïÑÔ }; // ·ÃÎʵØÖ·¹ýÂË struct AV_CFG_AccessFilter { AV_int32 nStructSize; AV_BOOL bEnable; // ʹÄÜ AV_int32 nType; // ÀàÐÍ, 0-ºÚÃûµ¥, 1-°×Ãûµ¥ AV_int32 nWhiteListNum; // °×Ãûµ¥IPÊýÁ¿ char szWhiteList[AV_CFG_Max_White_List][AV_CFG_Filter_IP_Len]; // °×Ãûµ¥ AV_int32 nBlackListNum; // ºÚÃûµ¥IP»òIP¶ÎÊýÁ¿ char szBlackList[AV_CFG_Max_Black_List][AV_CFG_Filter_IP_Len]; // ºÚÃûµ¥ AV_BOOL bIndividual[AV_CFG_Max_White_List]; //°×Ãûµ¥:Õë¶Ôµ¥¸öIP¿ØÖÆÊÇ·ñʹÄÜ¡£ //ͨ¹ýCLIENT_GetDevCaps/NET_USER_MNG_CAPS²é¿´ÊÇ·ñÖ§³Ö. // Èç¹ûÖ§³Ö:¿É»ñÈ¡»òÉèÖøÃ×Ö¶Î;Èô²»Ö§³Ö£¬Ôò¸Ã×Ö¶ÎÎÞЧ AV_BOOL bIndividualInBlackList[AV_CFG_Max_Black_List]; //ºÚÃûµ¥:Õë¶Ôµ¥¸öIP¿ØÖÆÊÇ·ñʹÄÜ // ͨ¹ýCLIENT_GetDevCaps/NET_USER_MNG_CAPS²é¿´ÊÇ·ñÖ§³Ö. // Èç¹ûÖ§³Ö£º¿É»ñÈ¡»òÉèÖøÃ×Ö¶Î;Èô²»Ö§³Ö£¬Ôò¸Ã×Ö¶ÎÎÞЧ }; // ×Ô¶¯Î¬»¤ struct AV_CFG_AutoMaintain { AV_int32 nStructSize; AV_int32 nAutoRebootDay; // ×Ô¶¯ÖØÆôÈÕÆÚ, -1ÓÀ²», 0~6ÖÜÈÕ~ÖÜÁù, 7ÿÌì AV_int32 nAutoRebootHour; // ×Ô¶¯ÖØÆôСʱ, 0~23 AV_int32 nAutoRebootMinute; // ×Ô¶¯ÖØÆô·ÖÖÓ, 0~59 AV_int32 nAutoShutdownDay; // ×Ô¶¯¹Ø»úÈÕÆÚ AV_int32 nAutoShutdownHour; // ×Ô¶¯¹Ø»úСʱ AV_int32 nAutoShutdownMinute; // ×Ô¶¯¹Ø»ú·ÖÖÓ AV_int32 nAutoStartupDay; // ×Ô¶¯Æô¶¯ÈÕÆÚ AV_int32 nAutoStartupHour; // ×Ô¶¯Æô¶¯Ð¡Ê± AV_int32 nAutoStartupMinute; // ×Ô¶¯Æô¶¯·ÖÖÓ AV_BOOL bAutoRebootEnable; // true±íʾ¿ªÆô×Ô¶¯ÖØÆô£¬false±íʾ¹Ø±Õ×Ô¶¯ÖØÆô }; #define AV_CFG_Monitor_Name_Len 64 // µçÊÓǽÃû³Æ³¤¶È #define AV_CFG_Max_TV_In_Block 128 // Çø¿éÖÐTVµÄ×î´óÊýÁ¿ #define AV_CFG_Max_Block_In_Wall 128 // µçÊÓǽÖÐÇø¿éµÄ×î´óÊýÁ¿ // µçÊÓǽÊä³öͨµÀÐÅÏ¢ struct AV_CFG_MonitorWallTVOut { AV_int32 nStructSize; char szDeviceID[AV_CFG_Device_ID_Len]; // É豸ID, Ϊ¿Õ»ò"Local"±íʾ±¾µØÉ豸 AV_int32 nChannelID; // ͨµÀID char szName[AV_CFG_Channel_Name_Len]; // ÆÁÄ»Ãû³Æ }; // µçÊÓÇ½Çø¿é struct AV_CFG_MonitorWallBlock { AV_int32 nStructSize; AV_int32 nLine; // µ¥¸öTVÕ¼µÄÍø¸ñÐÐÊý AV_int32 nColumn; // µ¥¸öTVÕ¼µÄÍø¸ñÁÐÊý AV_CFG_Rect stuRect; // Çø¿éµÄÇøÓò×ø±ê AV_int32 nTVCount; // TVÊýÁ¿ AV_CFG_MonitorWallTVOut stuTVs[AV_CFG_Max_TV_In_Block]; // TVÊý×é CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT]; // ¿ª¹Ø»úʱ¼ä char szName[AV_CFG_Channel_Name_Len]; // Çø¿éÃû³Æ char szCompositeID[AV_CFG_Device_ID_Len]; // ÈÚºÏÆÁID char szBlockType[CFG_COMMON_STRING_32]; // ÏÔʾµ¥Ôª×éÀàÐÍ,Ϊ֧³ÖÓɽÓÊÕ¿¨×é³Éµ¥ÔªµÄС¼ä¾àLEDÇø¿é¶øÔö¼Ó¸Ã×Ö¶Î,ÆäËûÀàÐ͵ÄÇø¿éÌîдΪ"LCD",Èç²»´æÔÚ¸Ã×Ö¶Î,ĬÈϲÉÓÃLCD }; // µçÊÓǽ struct AV_CFG_MonitorWall { AV_int32 nStructSize; char szName[AV_CFG_Monitor_Name_Len]; // Ãû³Æ AV_int32 nLine; // ÍøÂçÐÐÊý AV_int32 nColumn; // Íø¸ñÁÐÊý AV_int32 nBlockCount; // Çø¿éÊýÁ¿ AV_CFG_MonitorWallBlock stuBlocks[AV_CFG_Max_Block_In_Wall];// Çø¿éÊý×é BOOL bDisable; // ÊÇ·ñ½ûÓÃ, 0-¸ÃµçÊÓǽÓÐЧ, 1-¸ÃµçÊÓǽÎÞЧ char szDesc[CFG_COMMON_STRING_256]; // µçÊÓǽÃèÊöÐÅÏ¢ }; // Æ´½ÓÆÁ struct AV_CFG_SpliceScreen { AV_int32 nStructSize; char szName[AV_CFG_Channel_Name_Len]; // Æ´½ÓÆÁÃû³Æ char szWallName[AV_CFG_Monitor_Name_Len];// ËùÊôµçÊÓǽÃû³Æ AV_int32 nBlockID; // ËùÊôÇø¿éÐòºÅ AV_CFG_Rect stuRect; // ÇøÓò×ø±ê(0~8191) }; // ÔÆÌ¨Áª¶¯ÀàÐÍ typedef enum tagAV_CFG_PtzLinkType { AV_CFG_PtzLink_None, // ÎÞÁª¶¯ AV_CFG_PtzLink_Preset, // Áª¶¯Ô¤Öõã AV_CFG_PtzLink_Tour, // Áª¶¯Ñ²º½ AV_CFG_PtzLink_Pattern, // Áª¶¯¹ì¼£ } AV_CFG_PtzLinkType; // Áª¶¯ÔÆÌ¨ÐÅÏ¢ typedef struct tagAV_CFG_PtzLink { AV_int32 nStructSize; AV_CFG_PtzLinkType emType; // Áª¶¯ÀàÐÍ AV_int32 nParam1; // Áª¶¯²ÎÊý1 AV_int32 nParam2; // Áª¶¯²ÎÊý2 AV_int32 nParam3; // Áª¶¯²ÎÊý3 AV_int32 nChannelID; // ËùÁª¶¯ÔÆÌ¨Í¨µÀ } AV_CFG_PtzLink; // ×ø±êµã typedef struct tagAV_CFG_Point { AV_int32 nStructSize; AV_int32 nX; AV_int32 nY; } AV_CFG_Point; // ¿í¸ß typedef struct tagAV_CFG_Size { AV_int32 nStructSize; AV_uint32 nWidth; AV_uint32 nHeight; } AV_CFG_Size; // ʼþ±êÌâÄÚÈÝ typedef struct tagAV_CFG_EventTitle { AV_int32 nStructSize; char szText[AV_CFG_Channel_Name_Len]; // ±êÌâÎı¾ AV_CFG_Point stuPoint; // ±êÌâ×óÉϽÇ×ø±ê, ²ÉÓÃ0-8191Ïà¶Ô×ø±êϵ AV_CFG_Size stuSize; // ±êÌâµÄ¿í¶ÈºÍ¸ß¶È,²ÉÓÃ0-8191Ïà¶Ô×ø±êϵ£¬Ä³Ïî»òÕßÁ½ÏîΪ0±íʾ°´ÕÕ×ÖÌå×ÔÊÊÓ¦¿í¸ß AV_CFG_Color stuFrontColor; // ǰ¾°ÑÕÉ« AV_CFG_Color stuBackColor; // ±³¾°ÑÕÉ« } AV_CFG_EventTitle; // ÂÖѲÁª¶¯ÅäÖà typedef struct tagAV_CFG_TourLink { AV_int32 nStructSize; AV_BOOL bEnable; // ÂÖѲʹÄÜ CFG_SPLITMODE emSplitMode; // ÂÖѲʱµÄ·Ö¸îģʽ AV_int32 nChannels[AV_CFG_Max_Channel_Num]; // ÂÖѲͨµÀºÅÁбí AV_int32 nChannelCount; // ÂÖѲͨµÀÊýÁ¿ } AV_CFG_TourLink; // ±¨¾¯Áª¶¯ typedef struct tagAV_CFG_EventHandler { AV_int32 nStructSize; AV_CFG_TimeSection stuTimeSect[AV_CFG_Weekday_Num][AV_CFG_Max_TimeSection]; // ʼþÏìӦʱ¼ä±í AV_BOOL bRecordEnable; // ¼ÏñʹÄÜ AV_uint32 nRecordMask[AV_CFG_Max_Channel_Num]; // ¼ÏñͨµÀºÅÁбí AV_BOOL abRecordLatch; // ÄÜÁ¦¼¯, ±êʶnRecordLatchÊÇ·ñÓÐЧ AV_int32 nRecordLatch; // ¼ÏñÑÓʱʱ¼ä£¨10~300Ã룩 AV_BOOL bAlarmOutEn; // ±¨¾¯Êä³öʹÄÜ AV_uint32 nAlarmOutMask[AV_CFG_Max_Channel_Num]; // ±¨¾¯Êä³öͨµÀºÅÁбí AV_BOOL abAlarmOutLatch; // ÄÜÁ¦¼¯, ±êʶnAlarmOutLatchÊÇ·ñÓÐЧ AV_int32 nAlarmOutLatch; // ±¨¾¯Êä³öÑÓʱʱ¼ä£¨10~300Ã룩 AV_BOOL bExAlarmOutEn; // À©Õ¹±¨¾¯Êä³öʹÄÜ AV_uint32 nExAlarmOutMask[AV_CFG_Max_Channel_Num]; // À©Õ¹±¨¾¯Êä³öͨµÀÁбí AV_BOOL bPtzLinkEn; // ÔÆÌ¨Áª¶¯Ê¹ÄÜ AV_int32 nPtzLinkNum; // ÓÐЧÁª¶¯ÏîÊýÄ¿ AV_CFG_PtzLink stuPtzLink[AV_CFG_Max_Channel_Num]; // ÔÆÌ¨Áª¶¯Ïî AV_BOOL bSnapshotEn; // ¿ìÕÕʹÄÜ AV_uint32 nSnapshotMask[AV_CFG_Max_Channel_Num]; // ¿ìÕÕͨµÀºÅÁбí AV_BOOL abSnapshotPeriod; // ÄÜÁ¦¼¯, ±êʶnSnapshotPeriodÊÇ·ñÓÐЧ AV_int32 nSnapshotPeriod; // Ö¡¼ä¸ô£¬Ã¿¸ô¶àÉÙÖ¡×¥Ò»ÕÅͼƬ£¬Ò»¶¨Ê±¼äÄÚ×¥ÅĵÄÕÅÊý»¹Óëץͼ֡ÂÊÓйء£0±íʾ²»¸ôÖ¡£¬Á¬Ðø×¥ÅÄ¡£ AV_BOOL abSnapshotTimes; // ÄÜÁ¦¼¯, nSnapshotTimesÓÐЧÐÔ AV_int32 nSnapshotTimes; // Á¬ÅÄ´ÎÊý, ÔÚSnapshotEnableΪtrueµÄÇé¿öÏ£¬SnapshotTimesΪ0Ôò±íʾ³ÖÐø×¥ÅÄ£¬Ö±µ½Ê¼þ½áÊø¡£ AV_BOOL bSnapshotTitleEn; // ÊÇ·ñµþ¼ÓͼƬ±êÌâ AV_int32 nSnapTitleNum; // ÓÐЧͼƬ±êÌâÊýÄ¿ AV_CFG_EventTitle stuSnapTitles[AV_CFG_Max_Event_Title_Num]; // ͼƬ±êÌâÄÚÈÝ AV_BOOL bTipEnable; // ±¾µØÏûÏ¢¿òÌáʾ AV_BOOL bMailEnable; // ·¢ËÍÓʼþ£¬Èç¹ûÓÐͼƬ£¬×÷Ϊ¸½¼þ AV_BOOL bMessageEnable; // ÉÏ´«µ½±¨¾¯·þÎñÆ÷ AV_BOOL bBeepEnable; // ·äÃù AV_BOOL bVoiceEnable; // ÓïÒôÌáʾ AV_BOOL abDejitter; // ÄÜÁ¦¼¯, nDejitterÓÐЧÐÔ AV_int32 nDejitter; // ÐźÅÈ¥¶¶¶¯Ê±¼ä£¬µ¥Î»ÎªÃë,0~100 AV_BOOL bLogEnable; // ÊÇ·ñ¼Ç¼ÈÕÖ¾ AV_BOOL abDelay; // nDelayÓÐЧÐÔ AV_int32 nDelay; // ÉèÖÃʱÏÈÑÓʱÔÙÉúЧ, µ¥Î»ÎªÃë AV_BOOL bVideoTitleEn; // ÊÇ·ñµþ¼ÓÊÓÆµ±êÌ⣬Ö÷ÒªÖ¸Ö÷ÂëÁ÷ AV_int32 nVideoTitleNum; // ÓÐЧÊÓÆµ±êÌâÊýÄ¿ AV_CFG_EventTitle stuVideoTitles[AV_CFG_Max_Event_Title_Num]; // ÊÓÆµ±êÌâÄÚÈÝ AV_BOOL bMMSEnable; // ·¢ËͲÊÐÅʹÄÜ AV_int32 nTourNum; // ÂÖѲÁª¶¯ÊýÄ¿£¬ºÍÊÓÆµÊä³öÒ»Ö AV_CFG_TourLink stuTour[AV_CFG_Max_Tour_Link_Num]; // ÂÖѲÁª¶¯ÅäÖÃ, ÿ¸öÊÓÆµÊä³ö¶ÔÓ¦Ò»¸öÅäÖà AV_int32 nDBKeysNum; // ¹Ø¼ü×ÖÊýÁ¿ char szDBKeys[AV_CFG_Max_DBKey_Num][AV_CFG_DBKey_Len]; // ¹Ø¼ü×Ö AV_BOOL abJpegSummary; // ÄÜÁ¦¼¯, ±êʶbyJpegSummaryÊÇ·ñÓÐЧ AV_BYTE byJpegSummary[AV_CFG_Max_Summary_Len]; // µþ¼Óµ½JPEGͼƬµÄÕªÒªÐÅÏ¢ } AV_CFG_EventHandler; #define AV_CFG_Event_Code_Len 64 // ʼþÂ볤¶È // Ô¶³ÌÉ豸ʼþ´¦Àí struct AV_CFG_RemoteEvent { AV_int32 nStructSize; AV_BOOL bEnable; // ʹÄÜ char szDeviceID[AV_CFG_Device_ID_Len];// É豸ID char szCode[AV_CFG_Event_Code_Len]; // ʼþÂë AV_int32 nIndex; // ÐòºÅ AV_BOOL abSensorType; // nSensorTypeÊÇ·ñÓÐЧ AV_uint32 nSensorType; // ´«¸ÐÆ÷ÀàÐÍ ³£¿ª:1 or ³£±Õ:0 AV_CFG_EventHandler stuEventHandler; // ±¨¾¯Áª¶¯ }; // ζȱ¨¾¯ÅäÖà typedef struct tagAV_CFG_TemperatureAlarm { AV_int32 nStructSize; AV_BOOL bEnable; // ±¨¾¯Ê¹ÄÜ char szName[AV_CFG_Device_Name_Len]; // ´«¸ÐÆ÷Ãû³Æ AV_float fNormalTempMin; // Õý³£Î¶È×îСֵ AV_float fNormalTempMax; // Õý³£Î¶È×î´óÖµ AV_CFG_EventHandler stuEventHandler; // ±¨¾¯Áª¶¯ } AV_CFG_TemperatureAlarm; // ·çÉÈתËÙ±¨¾¯ÅäÖà typedef struct tagAV_CFG_FanSpeedAlarm { AV_int32 nStructSize; AV_BOOL bEnable; // ±¨¾¯Ê¹ÄÜ char szName[AV_CFG_Device_Name_Len]; // ´«¸ÐÆ÷Ãû³Æ AV_uint32 nNormalSpeedMin; // Õý³£×ªËÙ×îСֵ AV_uint32 nNormalSpeedMax; // Õý³£×ªËÙ×î´óÖµ AV_CFG_EventHandler stuEventHandler; // ±¨¾¯Áª¶¯ } AV_CFG_FanSpeedAlarm; // Ó²ÅÌÁ÷Á¿±¨¾¯ÅäÖà typedef struct tagCFG_DISK_FLUX_INFO { BOOL bEnable; // ±¨¾¯Ê¹ÄÜ unsigned int nNormalFluxMin; // Õý³£Á÷Á¿×îСֵ, µ¥Î»KB unsigned int nNormalFluxMax; // Õý³£Á÷Á¿×î´óÖµ, µ¥Î»KB CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_DISK_FLUX_INFO; // ÍøÂçÁ÷Á¿±¨¾¯ÅäÖà typedef struct tagCFG_NET_FLUX_INFO { BOOL bEnable; // ±¨¾¯Ê¹ÄÜ unsigned int nNormalFluxMin; // Õý³£Á÷Á¿×îСֵ, µ¥Î»KB unsigned int nNormalFluxMax; // Õý³£Á÷Á¿×î´óÖµ, µ¥Î»KB CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ʼþÏìӦʱ¼ä¶Î } CFG_NET_FLUX_INFO; // ·þÎñÆ÷ typedef struct tagCFG_SERVER_INFO { int nPort; // ·þÎñÆ÷¶Ë¿ÚºÅ char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû }CFG_SERVER_INFO; // Ö÷¶¯×¢²áÅäÖà typedef struct tagCFG_REGISTER_SERVER_INFO { BOOL bEnable; // Ö÷¶¯×¢²áʹÄÜ char szDeviceID[MAX_ADDRESS_LEN]; // É豸ID int nServersNum; // ·þÎñÆ÷¸öÊý CFG_SERVER_INFO stuServers[MAX_SERVER_NUM]; // ·þÎñÆ÷Êý×é }CFG_REGISTER_SERVER_INFO; // ´ø¿í²»×ãʱÂëÁ÷²ßÂÔ typedef enum tagSTREAM_POLICY { STREAM_POLICY_UNKNOWN, STREAM_POLICY_NONE = 1, // ÎÞ²ßÂÔ,²»¿ªÆôʹÄÜ"None" STREAM_POLICY_QUALITY, // »­ÖÊÓÅÏÈ"Quality" STREAM_POLICY_FLUENCY, // Á÷³©¶ÈÓÅÏÈ"Fluency" STREAM_POLICY_AUTOADAPT, // ×Ô¶¯"AutoAdapt" }EM_STREAM_POLICY; // ÉÏ´«²ßÂÔ typedef enum tagEM_CFG_SENDPOLICY { EM_SNEDPOLICY_UNKNOWN = -1, EM_SENDPOLICY_TIMING, // ¶¨Ê±Éϱ¨ EM_SENDPOLICY_EVENT, // ʼþ´¥·¢Éϱ¨ }EM_CFG_SENDPOLICY; // ³µÔØ×¨ÓÃÖ÷¶¯×¢²áÅäÖà typedef struct tagCFG_REGISTERSERVER_VEHICLE { BOOL bEnable; // Ö÷¶¯×¢²áʹÄÜ BOOL bRepeatEnable; // ÊÇ·ñ·¢ËÍÏàÍ¬×ø±êÊý¾Ý char szDeviceID[MAX_ADDRESS_LEN]; // ×ÓÉ豸ID int nSendInterval; // ·¢Ëͼä¸ô, µ¥Î»£ºÃë char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû int nPort; // ¶Ë¿ÚºÅ EM_CFG_SENDPOLICY emSendPolicy; // ÉÏ´«²ßÂÔ char szTestAddress[MAX_ADDRESS_LEN]; // ²âÊÔIPµØÖ·»òÍøÂçÃû int nTestPort; // ²âÊԶ˿ںŠBYTE byReserved[1024]; // ±£Áô×Ö½Ú }CFG_REGISTERSERVER_VEHICLE; // ÍøÂçЭÒéÅäÖà typedef struct tagCFG_DVRIP_INFO { int nTcpPort; // TCP·þÎñ¶Ë¿Ú,1025~65535 int nSSLPort; // SSL·þÎñ¶Ë¿Ú,1025~65535 int nUDPPort; // UDP·þÎñ¶Ë¿Ú,1025~65535 int nMaxConnections; // ×î´óÁ¬½ÓÊý BOOL bMCASTEnable; // ×鲥ʹÄÜ int nMCASTPort; // ×é²¥¶Ë¿ÚºÅ char szMCASTAddress[MAX_ADDRESS_LEN]; // ×é²¥µØÖ· int nRegistersNum; // Ö÷¶¯×¢²áÅäÖøöÊý CFG_REGISTER_SERVER_INFO stuRegisters[MAX_REGISTER_NUM];// Ö÷¶¯×¢²áÅäÖà EM_STREAM_POLICY emStreamPolicy; // ´ø¿í²»×ãʱÂëÁ÷²ßÂÔ CFG_REGISTERSERVER_VEHICLE stuRegisterServerVehicle; // ³µÔØ×¨ÓÃÖ÷¶¯×¢²áÅäÖà }CFG_DVRIP_INFO; // AIO IP ÅäÖà typedef struct tagCFG_AIO_APP_CONFIG_INFO { char szAddress[MAX_IP_ADDR_LEN]; // ·¢²¼Æ½Ì¨µÄµÄipµØÖ· }CFG_AIO_APP_CONFIG_INFO; // ¼ÙÆÚ¼Ïñ¼Æ»® typedef struct tagCFG_HOLIDAY_SCHEDULE { BOOL bEnable; int nChannel; DWORD dwMonthSchedule[MONTH_OF_YEAR]; // ÿ¸öÔÂµÄ¼ÙÆÚ°²ÅÅ, ÿ¸öÔªËØ±íʾһ¸öÔÂ, // ÑÚÂë´ÓµÍµ½¸ßÒÀ´Î±íʾÿÔÂ1-28/29/30/31ºÅÊÇ·ñΪ¼ÙÆÚ // 0:²»ÊÇ¼ÙÆÚ, 1:ÊÇ¼ÙÆÚ CFG_TIME_SECTION stuTimeSection[MAX_REC_TSECT]; // ¼Ïñʱ¼ä±í } CFG_HOLIDAY_SCHEDULE; // ¼ÏñÏÂÔØËÙ¶ÈÅäÖà typedef struct tagCFG_RecordDownloadSpeed { DWORD nStructSize; // ½á¹¹Ìå´óС UINT nMaxDownloadSpeedNum; // ¼ÏñÏÂÔØËÙ¶ÈÖµ´óС£¬Óû§Ìîд UINT *pDownloadSpeedValue; // ¼ÏñÏÂÔØËÙ¶ÈÖµÓÐЧ·¶Î§£¨ÄÚ´æÓÉÓû§·ÖÅ䣩½¨ÒéÖ¸ÏòÄÚ´æÖµ1024*sizeof(UINT) µ¥Î»KB/S UINT nDownloadSpeedNum; // ·µ»ØµÄ¼ÏñÏÂÔØËÙ¶ÈÖµ¸öÊý(Ó¦¸Ã <= nMaxDownloadSpeedNum) } CFG_RecordDownloadSpeed; // ¼Ïñ»Ø´«ÅäÖà typedef struct tagAV_CFG_RecordBackup { AV_int32 nStructSize; AV_uint32 nBitrateLimit; // ×î´óÁ÷Á¿ÅäÖÃ, µ¥Î»Kbps AV_CFG_RemoteDevice *pstuDevices; // ±¸·ÝÉ豸Êý×é, Óû§·ÖÅäÄÚ´æ,´óСΪsizeof(AV_CFG_RemoteDevice)*nMaxDeviceCount int nMaxDeviceCount; // ±¸·ÝÉèÖÃÊý×é´óС, Óû§Ìîд int nRetDeviceCount; // ·µ»ØµÄÉ豸ÊýÁ¿ } AV_CFG_RecordBackup; typedef struct tagALARM_EVENT_INFO { DWORD dwEventType; // ʼþÀàÐÍ£¬Ïê¼ûdhnetsdk.hÖÐ"ÖÇÄÜ·ÖÎöʼþÀàÐÍ" int nEventSize; // ¸ÃʼþÀàÐ͹æÔòÅäÖýṹÌå´óС } ALARM_EVENT__INFO; // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄËùÓÐʼþ£º»º³åÇøpEventBufÌî³ä¶à¸öʼþÐÅÏ¢£¬Ã¿¸öʼþ¹æÔòÐÅÏ¢ÄÚÈÝΪALARM_EVENT_INFO+"ʼþÀàÐͶÔÓ¦µÄ¹æÔòÅäÖýṹÌå"¡£ typedef struct tagALARM_ANALYSEEVENTS_INFO { int nEventCount; // ʼþ¸öÊý char* pEventBuf; // ÿ¸öÊÓÆµÊäÈëͨµÀ¶ÔÓ¦µÄÊÓÆµ·ÖÎöʼþ»º³å int nEventBufLen; // »º³å´óС } ALARM_ANALYSEEVENTS_INFO; // ´®¿ÚÐÅÏ¢ typedef struct tagCFG_COMM_INFO { char szProtocolName[MAX_PROTOCOL_NAME_LEN]; // ´®¿ÚЭÒé CFG_COMM_PROP stuAttribute; // ´®¿ÚÊôÐÔ int nAddress; // É豸µØÖ· } CFG_COMM_INFO; // ´®¿ÚÅäÖà typedef struct tagCFG_COMMGROUP_INFO { int nCommNum; // ´®¿ÚÊýÁ¿ CFG_COMM_INFO stuComms[MAX_COMM_NUM]; // ´®¿ÚÊý×é } CFG_COMMGROUP_INFO; // ÍøÂç´«Êäģʽ typedef enum tagCFG_ENUM_NET_TRANSMISSION_MODE { CFG_ENUM_NET_MODE_ADAPT, // ×ÔÊÊÓ¦ CFG_ENUM_NET_MODE_HALF10M, // 10M°ëË«¹¤ CFG_ENUM_NET_MODE_FULL10M, // 10Mȫ˫¹¤ CFG_ENUM_NET_MODE_HALF100M, // 100M°ëË«¹¤ CFG_ENUM_NET_MODE_FULL100M, // 100Mȫ˫¹¤ }CFG_ENUM_NET_TRANSMISSION_MODE; // Íø¿ÚÀàÐÍ typedef enum tagCFG_ENUM_NET_INTERFACE_TYPE { CFG_ENUM_NET_INTERFACE_TYPE_UNKNOWN, // δ֪ CFG_ENUM_NET_INTERFACE_TYPE_STANDARD, // ±ê×¼Íø¿Ú CFG_ENUM_NET_INTERFACE_TYPE_MANAGER, // ¹ÜÀíÍø¿Ú CFG_ENUM_NET_INTERFACE_TYPE_EXTEND, // À©Õ¹Íø¿Ú }CFG_ENUM_NET_INTERFACE_TYPE; //Èý̬²¼¶ûÀàÐÍ typedef enum tagCFG_THREE_STATUS_BOOL { CFG_BOOL_STATUS_UNKNOWN = -1, //δ֪ CFG_BOOL_STATUS_FALSE = 0 , CFG_BOOL_STATUS_TRUE = 1 , }CFG_THREE_STATUS_BOOL; // ÍøÂç½Ó¿Ú typedef struct tagCFG_NETWORK_INTERFACE { char szName[MAX_NAME_LEN]; // ÍøÂç½Ó¿ÚÃû³Æ char szIP[MAX_ADDRESS_LEN]; // ipµØÖ· char szSubnetMask[MAX_ADDRESS_LEN]; // ×ÓÍøÑÚÂë char szDefGateway[MAX_ADDRESS_LEN]; // ĬÈÏÍø¹Ø BOOL bDhcpEnable; // ÊÇ·ñ¿ªÆôDHCP BOOL bDnsAutoGet; // DNS»ñÈ¡·½Ê½£¬dhcpʹÄÜʱ¿ÉÒÔÉèÖÃΪtrue£¬Ö§³Öͨ¹ýdhcp»ñÈ¡ char szDnsServers[MAX_DNS_SERVER_NUM][MAX_ADDRESS_LEN]; // DNS·þÎñÆ÷µØÖ· int nMTU; // ÍøÂç×î´ó´«Êäµ¥Ôª char szMacAddress[MAX_ADDRESS_LEN]; // macµØÖ· BOOL bInterfaceEnable; // ÍøÂç½Ó¿ÚʹÄÜ¿ª¹Ø£¬±íʾ¸ÃÍø¿ÚÅäÖÃÊÇ·ñÉúЧ¡£²»ÉúЧʱ£¬IPµØÖ·²»ÉèÖõ½Íø¿¨ÉÏ¡£ BOOL bReservedIPEnable; // DHCPʧ°ÜʱÊÇ·ñʹÓñ£ÁôIP£¬Ê¹Óñ£ÁôIPʱ»¹¼ÌÐø·¢DHCPÇëÇó CFG_ENUM_NET_TRANSMISSION_MODE emNetTranmissionMode;// ÍøÂç´«Êäģʽ£¬Ä¬ÈÏadapt×ÔÊÊӦģʽ CFG_ENUM_NET_INTERFACE_TYPE emInterfaceType; // Íø¿ÚÀàÐÍ CFG_THREE_STATUS_BOOL bBond; // ÊÇ·ñ°ó¶¨ÐéÄâÍø¿Ú } CFG_NETWORK_INTERFACE; // ÍøÂç½Ó¿ÚÅäÖà typedef struct tagCFG_NETWORK_INFO { char szHostName[MAX_NAME_LEN]; // Ö÷»úÃû³Æ char szDomain[MAX_NAME_LEN]; // ËùÊôÓò char szDefInterface[MAX_NAME_LEN]; // ĬÈÏʹÓõÄÍø¿¨ int nInterfaceNum; // Íø¿¨ÊýÁ¿ CFG_NETWORK_INTERFACE stuInterfaces[MAX_NETWORK_INTERFACE_NUM]; // Íø¿¨Áбí } CFG_NETWORK_INFO; // ÔÆ´æ´¢Ð­ÒéÀàÐÍ typedef enum tagEM_CFG_NAS_CLOUDPROTOCOL_TYPE { EM_CFG_NAS_CLOUDPROTOCOL_TYPE_UNKNOWN, // δ֪ EM_CFG_NAS_CLOUDPROTOCOL_TYPE_BAIDU_CLOUD, // "BaiduCloud" EM_CFG_NAS_CLOUDPROTOCOL_TYPE_GOOGLE_DRIVE, // "GoogleDrive" EM_CFG_NAS_CLOUDPROTOCOL_TYPE_DROPBOX, // "Dropbox" }EM_CFG_NAS_CLOUDPROTOCOL_TYPE; // ÍøÂç´æ´¢ÅäÖà typedef struct tagCFG_NAS_INFO_NEW { BOOL bEnable; // ʹÄÜ char szName[MAX_NAME_LEN]; // Ãû³Æ int nPortocol; // ЭÒéÀàÐÍ, 0-FTP, 1-SMB, 2-ISCSI, 3-NFS, 4-Cloud ,ЭÒéÀàÐÍÊÇ 4-Cloudʱ£¬¾ßÌåÔÆÐ­Ò鶨Òå¼û emCloudProtocol char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÖ· int nPort; // ¶Ë¿Ú char szUser[MAX_USERNAME_LEN]; // Óû§Ãû char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë char szDirectory[MAX_NAME_LEN]; // ¹²ÏíµÄĿ¼Ãû int nCharEncoding; // ×Ö·û±àÂë¸ñʽ, 0-UTF8, 1-GB2312 int nTimeOut; // ³¬Ê±Ê±¼ä, µ¥Î»ºÁÃë unsigned int nStreamID; // Êý¾ÝÁ÷ID CFG_NET_TIME_EX stuUpdateTime; // ¸üÐÂʱ¼ä, ¸Ã×Ö¶ÎÖµ±ä»¯ºó£¬ÐèÒªÖØÐ³õʼ»¯iSCSI¹¦ÄÜ EM_CFG_NAS_CLOUDPROTOCOL_TYPE emCloudProtocol; // ÔÆ´æ´¢Ð­ÒéÀàÐÍ char szSubDirectory[CFG_COMMON_STRING_256]; // ¿Í»§¶ËÉ豸ÔÚ·þÎñÆ÷ÉϵĴ洢×ÓĿ¼£¬¿ÉÒÔÊÇIPµØÖ·£¬É豸ÐòÁкţ¬É豸»úÆ÷ºÅ£¬Îª¿ÕʹÓÃÉ豸»úÆ÷ºÅ } CFG_NAS_INFO_NEW; // ÍøÂç´æ´¢·þÎñÆ÷ÅäÖÃ, °üº¬¶à¸ö·þÎñÆ÷ typedef struct tagCFG_NAS_GROUP_INFO { int nNasNum; // ´æ´¢·þÎñÆ÷ÊýÁ¿ CFG_NAS_INFO_NEW stuNasInfo[MAX_NAS_NUM]; // ´æ´¢·þÎñÆ÷Êý×é } CFG_NAS_GROUP_INFO; // ÍøÂç´æ´¢·þÎñÆ÷ÅäÖà typedef struct tagCFG_NAS_INFO_EX { int nVersion; // 0, 1, ÓÉÄÜÁ¦¼¯È·¶¨, Ö»¶Á CFG_NAS_INFO stuNasOld; // nVersion == 0ʱÓÐЧ, ½öÖ§³Öµ¥·þÎñÆ÷ CFG_NAS_GROUP_INFO stuNasGroup; // nVersion == 1ʱÓÐЧ, Ö§³Ö¶à¸ö·þÎñÆ÷ } CFG_NAS_INFO_EX; // ÊäÈëÐźÅÀàÐÍ typedef enum _EM_CFG_VIDEO_SIGNAL_TYPE { EM_CFG_VIDEO_SIGNAL_UNKNOWN, EM_CFG_VIDEO_SIGNAL_CVBS, EM_CFG_VIDEO_SIGNAL_SDI, EM_CFG_VIDEO_SIGNAL_VGA, EM_CFG_VIDEO_SIGNAL_DVI, EM_CFG_VIDEO_SIGNAL_HDMI, EM_CFG_VIDEO_SIGNAL_YPBPR, EM_CFG_VIDEO_SIGNAL_SFP, EM_CFG_VIDEO_SIGNAL_HDCVI, EM_CFG_VIDEO_SIGNAL_DUALLINK, EM_CFG_VIDEO_SIGNAL_AHD, EM_CFG_VIDEO_SIGNAL_AUTO, EM_CFG_VIDEO_SIGNAL_TVI, } EM_CFG_VIDEO_SIGNAL_TYPE; enum EM_CFG_VIDEO_LINE_TYPE { EM_CFG_VIDEO_LINE_TYPE_UNKNOWN, EM_CFG_VIDEO_LINE_TYPE_COAXIAL, //ͬÖáÏß EM_CFG_VIDEO_LINE_TYPE_TP10, //10Å·Ä·×迹˫½ÊÏß EM_CFG_VIDEO_LINE_TYPE_TP17, //17Å·Ä·×迹˫½ÊÏß EM_CFG_VIDEO_LINE_TYPE_TP25, //25Å·Ä·×迹˫½ÊÏß EM_CFG_VIDEO_LINE_TYPE_TP35, //35Å·Ä·×迹˫½ÊÏß }; // ÊäÈëͨµÀ»ù±¾ÅäÖà typedef struct tagCFG_VIDEO_IN_INFO { char szDevType[MAX_NAME_LEN]; // ͨµÀÀàÐÍ£¨Ö¸Í¨µÀÁ¬½ÓµÄÉ豸ÀàÐÍ£© char szDevID[MAX_NAME_LEN]; // ÉãÏñͷΨһ±àºÅ char szChnName[MAX_NAME_LEN]; // ͨµÀÃû³Æ char szManufacturer[MAX_NAME_LEN]; // ³§ÉÌ char szModel[MAX_NAME_LEN]; // É豸ÐͺŠchar szAddress[MAX_ADDRESS_LEN]; // °²×°µØÖ· char szCivilCode[MAX_NAME_LEN]; // ÐÐÕþÇøÓò char szOwner[MAX_NAME_LEN]; // É豸¹éÊô BOOL bParental; // ÊÇ·ñÓÐ×ÓÉ豸 BOOL bEnable; // ͨµÀʹÄÜ int nRegisterWay; // ×¢²á·½Ê½ // 0-·ûºÏsip3261±ê×¼µÄÈÏ֤ע²áģʽ // 1-»ùÓÚ¿ÚÁîµÄË«ÏòÈÏ֤ע²áģʽ // 2-»ùÓÚÊý×ÖÖ¤ÊéµÄË«ÏòÈÏ֤ע²áģʽ BOOL bSecrecy; // ±£ÃÜÊôÐÔ, FALSE²»ÉæÃÜ, TRUEÉæÃÜ char szUpperDevID[MAX_NAME_LEN]; // Éϼ¶Á¬½ÓÉ豸É豸ID int nUpperDevOutChn; // Éϼ¶Á¬½ÓÉ豸Êä³öͨµÀºÅ char szRemoteName[MAX_NAME_LEN]; // Ô¶³ÌͨµÀÃû³Æ EM_CFG_VIDEO_SIGNAL_TYPE emSignalType; // ÊäÈëÐźÅÀàÐÍ EM_CFG_VIDEO_LINE_TYPE emLineType; // ͨµÀ½ÓÈëÏßÀµÄÀàÐÍ } CFG_VIDEO_IN_INFO; // ¿Ì¼¹âÅ̱àÂë¼Æ»®(¶ÔÓ¦ÃüÁî CFG_CMD_ENCODEPLAN)£¬Ã¿¸öͨµÀ(°üÀ¨»­Öл­Í¨µÀ)Ò»¸öÅäÖýṹÌå typedef struct tagCFG_ENCODE_PLAN_INFO { BOOL bEnable; // ͨµÀÊÇ·ñÐèÒªÅäÖÃ,FALSE:ûÓдËͨµÀ,TRUE:´ËͨµÀ¿ÉÓà unsigned int nExpectTime; // ÒµÎñÔ¤ÆÚʱ³¤ ÕûÐÍ,µ¥Î»£º·ÖÖÓ CFG_CAPTURE_SIZE emResolution; // ÊÓÆµ·Ö±æÂÊ unsigned int nBitRate; // ÊÓÆµ¹Ì¶¨ÂëÁ÷Öµ(kbps) }CFG_ENCODE_PLAN_INFO; ////////////////////////////////////////////////////////////////////////// // ˾·¨ÉóѶ»­Öл­ÐèÇó // С»­Ãæ´°¿ÚÐÅÏ¢ typedef struct tagCFG_SMALLPIC_INFO { char szDeviceID[AV_CFG_Device_ID_Len];// É豸ID int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) BOOL bAudio; // ´ó»­ÃæÊÇ·ñ»ìºÏС»­ÃæÒôƵ CFG_RECT stuPosition; // ʹÓÃÏà¶Ô×ø±êÌåϵ£¬È¡Öµ¾ùΪ0-8192,ÔÚÕû¸öÆÁÄ»ÉϵÄλÖà }CFG_SMALLPIC_INFO; // ·Ö¸îͨµÀ typedef struct tagCFG_SPLIT_CHANNEL_INFO { BOOL bEnable; // ʹÄÜ char szDeviceID[AV_CFG_Device_ID_Len];// É豸ID int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) unsigned int nMaxSmallChannels; // С»­ÃæÍ¨µÀ¸öÊý£¬Ã¿¸öͨµÀÒ»¸öCFG_SMALLPIC_INFO,ÕâÀï×î´óÓ¦¸ÃÊÇÉ豸ͨµÀÊý¼õÒ» unsigned int nReturnSmallChannels; // ½âÎö·µ»ØµÄ»ò·â×°·¢Ë͵ÄС»­ÃæÍ¨µÀ¸öÊý CFG_SMALLPIC_INFO *pPicInfo; // С»­ÃæÐÅÏ¢ }CFG_SPLIT_CHANNEL_INFO; // ·Ö¸î·½°¸ typedef struct tagCFG_SPLIT_INFO { CFG_SPLITMODE emSplitMode; // ·Ö¸îģʽ£¬Í¨¹ýCLIENT_GetSplitCaps½Ó¿Ú»ñÈ¡£¬¼ûemSplitMode unsigned int nMaxChannels; // ÉêÇëÄÚ´æCFG_SPLIT_CHANNEL_INFO¸öÊý,±ÈÈçÓÐ16¸öͨµÀ£¬nMaxChannels¾ÍÊÇ16£¬SPLITMODE_4ģʽ£¬Ôò°´Ë³ÐòÒÀ´Î·ÖΪ4×é unsigned int nReturnChannels; // ½âÎö·µ»ØÍ¨µÀ¸öÊý,Òª·â×°·¢Ë͵ÄͨµÀ¸öÊý CFG_SPLIT_CHANNEL_INFO* pSplitChannels; // ·Ö¸îͨµÀÐÅÏ¢ }CFG_SPLIT_INFO; // »­Öл­·½°¸ typedef struct tagCFG_PICINPIC_INFO { unsigned int nMaxSplit; // ÄÚ´æÉêÇëµÄCFG_SPLIT_INFO¸öÊý,×î´óֵͨ¹ýCLIENT_GetSplitCaps½Ó¿Ú»ñÈ¡£¬¼ûnModeCount unsigned int nReturnSplit; // ½âÎöµÃµ½Êµ¼ÊʹÓõĻò·â×°·¢Ë͵ÄCFG_SPLIT_INFO¸öÊý CFG_SPLIT_INFO *pSplits; // ·Ö¸î·½°¸ }CFG_PICINPIC_INFO; // Ä£Äâ¾ØÕóÍⲿÊäÈëÔ´ typedef struct tagCFG_ANALOG_MATRIX_INPUT_CHN_SRC { char szName[MAX_NAME_LEN]; // ÊäÈëͨµÀÃû³Æ char szControlID[MAX_NAME_LEN]; // ¿ØÖƱàºÅ BOOL bActive; // ÊÇ·ñ¼¤»îÆô¶¯ int nFormat; // ÀàÐÍ, 0-VGA } CFG_ANALOG_MATRIX_INPUT_CHN_SRC; // ´®¿Ú typedef struct tagCFG_COM_PORT { int nPortIndex; // ´®¿ÚË÷ÒýºÅ int nAddress; // É豸µØÖ· CFG_COMM_PROP stComProp; // ´®¿ÚÊôÐÔ } CFG_COM_PORT; // Ä£Äâ¾ØÕó typedef struct tagCFG_ANALOG_MATRIX_INFO { char szDevID[MAX_NAME_LEN]; // É豸ID char szName[MAX_NAME_LEN]; // É豸Ãû³Æ char szModel[MAX_MODEL_LEN]; // ÐͺŠchar szUserName[MAX_USERNAME_LEN]; // Óû§Ãû char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë int nChnInCount; // ÊäÈëͨµÀÊýÁ¿ int nChnOutCount; // Êä³öͨµÀÊýÁ¿ CFG_ANALOG_MATRIX_INPUT_CHN_SRC* pstuChnInSrc; // ÍⲿÊäÈëÔ´Êý×é, Óû§·ÖÅäÄÚ´æ int nChnInSrcCount; // ÍⲿÊäÈëÔ´Êý×é´óС int nRetChnInSrcCount; // ʵ¼Ê·µ»ØµÄÍⲿÊäÈëÔ´ÊýÁ¿, Ò»°ãͬnChnInCount CFG_COM_PORT stComPort; // ¹ØÁª´®¿Ú char szProtocol[MAX_NAME_LEN]; // ЭÒéÃû³Æ } CFG_ANALOG_MATRIX_INFO; // Ä£Äâ¾ØÕóЭÒéÅäÖà typedef struct tagCFG_ANALOG_MATRIX_PROTOCOL { char szName[MAX_NAME_LEN]; // ЭÒéÃû³Æ char szProtocolRule[MAX_NAME_LEN]; // ЭÒéÄÚÈÝ, ¹æÔò£º%A-µØÖ·Â룬%I-ÊäÈë¶Ë¿ÚºÅ£¬%O-Êä³ö¶Ë¿ÚºÅ } CFG_ANALOG_MATRIX_PROTOCOL; // ÊÓÆµÊä³ö±êÌâ typedef struct tagCFG_VIDEO_OUT_TITLE { char szName[MAX_NAME_LEN]; // ͨµÀÃû³Æ } CFG_VIDEO_OUT_TITLE; // ÏÔʾԴ typedef struct tagCFG_DISPLAY_SOURCE { BOOL bEnable; // ÊÇ·ñʹÄÜ char szDeviceID[MAX_NAME_LEN]; // É豸ID char szControlID[MAX_NAME_LEN]; // ¿ØÖÆID int nVideoChannel; // ÊÓÆµÍ¨µÀºÅ int nVideoStream; // ÊÓÆµÂëÁ÷, -1-×Ô¶¯, 0-Ö÷ÂëÁ÷, 1-¸¨ÂëÁ÷1, 2-¸¨ÂëÁ÷2, 3-¸¨ÂëÁ÷3, 5-Ô¤ÀÀÂëÁ÷ int nAudioChannel; // ÒôƵͨµÀºÅ int nAudioStream; // ÒôƵÂëÁ÷, -1-×Ô¶¯, 0-Ö÷ÂëÁ÷, 1-¸¨ÂëÁ÷1, 2-¸¨ÂëÁ÷2, 3-¸¨ÂëÁ÷3, 5-Ô¤ÀÀÂëÁ÷ BOOL abDeviceInfo; // É豸ÐÅÏ¢ÊÇ·ñÓÐЧ AV_CFG_RemoteDevice stuDeviceInfo; // É豸ÐÅÏ¢ } CFG_DISPLAY_SOURCE; // ´°¿ÚλÖà typedef struct tagCFG_SPLIT_WINDOW_POSITION { CFG_RECT stuRect; // ´°¿ÚÇøÓò BOOL bDirectable; // ÊÇ·ñÂú×ãֱͨÌõ¼þ, ֱͨÊÇָƴ½ÓÆÁ·½Ê½Ï£¬´Ë´°¿ÚÇøÓòÕýºÃΪÎïÀíÆÁÇøÓò int nZorder; // Z´ÎÐò } CFG_SPLIT_WINDOW_POSITION; // Æ´½ÓÆÁ´°¿ÚÐÅÏ¢ typedef struct tagCFG_SPLIT_WINDOW { BOOL bEnable; // ´°¿ÚÊÇ·ñÓÐÊÓÆµÔ´, ΪFALSEʱ±íʾûÓÐÊÓÆµ£¬Ò²²»Óô¦ÀíSourceÄÚÈÝ int nWindowID; // ´°¿ÚID char szControlID[MAX_NAME_LEN]; // ¿ØÖÆID CFG_SPLIT_WINDOW_POSITION stuPosition; // ´°¿ÚλÖà CFG_DISPLAY_SOURCE stuSource; // ÊÓÆµÔ´ } CFG_SPLIT_WINDOW; // Æ´½ÓÆÁ³¡¾° typedef struct tagCFG_BLOCK_COLLECTION { char szBlockID[MAX_NAME_LEN]; // Æ´½ÓÆÁID char szControlID[MAX_NAME_LEN]; // ¿ØÖÆID CFG_SPLITMODE emSplitMode; // ·Ö¸îģʽ CFG_SPLIT_WINDOW* pstuWnds; // ´°¿ÚÐÅÏ¢Êý×é, Óû§·ÖÅäÄÚ´æ,´óСΪsizeof(CFG_SPLIT_WINDOW)*nMaxWndCount int nMaxWndCount; // ´°¿ÚÐÅÏ¢Êý×é´óС, Óû§Ìîд int nRetWndCount; // ·µ»ØµÄ´°¿ÚÊýÁ¿ } CFG_BLOCK_COLLECTION; // Ô¤°¸ÀàÐÍ typedef enum tagEM_COLLECTION_TYPE { EM_COLLECTION_UNKNOWN, // δ֪ EM_COLLECTION_VIDEO, // ÊÓÆµÔ¤°¸ EM_COLLECTION_ADDITION, // ¸½¼ÓÔ¤°¸ }EM_COLLECTION_TYPE; // µçÊÓǽÖеÄij¸öÔ¤°¸ÅäÖà typedef struct tagCFG_MONITORWALL_COLLECTION_SINGLE { char szName[MAX_NAME_LEN]; // Ãû³Æ char szControlID[MAX_NAME_LEN]; // ¿ØÖÆID AV_CFG_MonitorWall stuMonitorWall; // µçÊÓǽÅäÖà CFG_BLOCK_COLLECTION* pstuBlockCollections; // Æ´½ÓÆÁ³¡¾°ÐÅÏ¢Êý×é, Óû§·ÖÅäÄÚ´æ,´óСΪsizeof(CFG_BLOCK_COLLECTION)*nMaxBlockCollectionCount int nMaxBlockCollectionCount; // Æ´½ÓÆÁ³¡¾°Êý×é´óС, Óû§Ìîд int nRetBlockCollectionCount; // ·µ»ØµÄÆ´½ÓÆÁ³¡¾°ÊýÁ¿ EM_COLLECTION_TYPE emType; // Ô¤°¸ÀàÐÍ } CFG_MONITORWALL_COLLECTION_SINGLE; // µçÊÓǽԤ°¸Áбí, ±íʾij¸öµçÊÓǽ¶ÔÓ¦µÄ¶à¸öÔ¤°¸ typedef struct tagCFG_MONITORWALL_COLLECTION_LIST { CFG_MONITORWALL_COLLECTION_SINGLE* pstuCollections; // Ô¤°¸Êý×é, Óû§·ÖÅäÄÚ´æ,´óСΪsizeof(CFG_MONITORWALL_COLLECTION_SINGLE)*nMaxCollectionCount int nMaxCollectionCount; // Ô¤°¸Êý×é´óС, Óû§Ìîд int nRetCollectionCount; // ·µ»ØµÄÔ¤°¸ÊýÁ¿ } CFG_MONITORWALL_COLLECTION; // ÊÓÆµÊäÈë±ß½çÅäÖà typedef struct tagCFG_VIDEO_IN_BOUNDARY { CFG_RECT stuBoundary; // ±ß½ç } CFG_VIDEO_IN_BOUNDARY; // ºÍÏà»ú¶Ô½ÓµÄÇøÓòÆÁÅäÖÃ,ÊÇÊý×é£¬ÔªËØ×î´óÖµÊÇDH_PRODUCTION_DEFNITION.nMaxParkingSpaceScreen) typedef struct tagCFG_PARKINGSPACE_SCREEN_INFO { char szAddress[MAX_PATH]; // ÇøÓòÆÁµØÖ·»òÓòÃû int nPort; // ÇøÓòÆÁ¶Ë¿Ú char szAuthorization[MAX_PATH]; // ȨÏÞ×Ö char szDeviceNo[MAX_PATH]; // É豸ÐòºÅ BOOL bEnable; // ÆÁÅäÖÃÊÇ·ñÆôÓà } CFG_PARKINGSPACE_SCREEN_INFO; // ³µÎ»ÉèÖÃ(רÓгµÎ»ºÍÆÕͨ³µÎ»ÉèÖÃ)£¬ÊÇÊý×é£¬ÔªËØ×î´óÖµÊÇDH_PRODUCTION_DEFNITION.nMaxRoadWays) typedef struct tagCFG_PARKINGSPACE_STATUS_INFO { int nLaneID; // ³µÎ»ºÅ int nLaneType; // 0£ºÆÕͨ³µÎ» 1£º×¨ÓгµÎ» } CFG_PARKINGSPACE_STATUS_INFO; #define CFG_MAX_BINARY_NUM 128 // ×Ô¶¨ÒåÊý¾Ý×î´ó¸öÊý // ƽ̨×Ô¶¨ÒåÐÅÏ¢ typedef struct tagCFG_CLIENT_CUSTOM_INFO { char szDescription[MAX_PATH]; // ÃèÊöÐÅÏ¢,²»Í¬Æ½Ì¨×Ô¶¨ÒåÃèÊöÐÅÏ¢,Ŀǰ֧³Ö"LiFang" char* pData; // ×Ô¶¨ÒåÊý¾Ý»º³å, Êý¾ÝÖм䲻ÄÜ´æÔÚ¶þ½øÖƵÄ0, Ò²¾ÍÊÇ×Ö·û'\0' int nDataLen; // Óû§ÉêÇëµÄ³¤¶È, ²»Í¬Æ½Ì¨×Ô¼ºÈ·¶¨ bool abBinary; // false±íʾpDataºÍnDataLenÓÐЧ, ¶ønBinaryNumºÍdwBinaryÎÞЧ // true±íʾpDataºÍnDataLenÎÞЧ, ¶ønBinaryNumºÍdwBinaryÓÐЧ BYTE byReserved[3]; int nBinaryNum; // dwBinaryÊý×éÓÐЧ³ÉÔ±¸öÊý DWORD dwBinary[CFG_MAX_BINARY_NUM]; // ×Ô¶¨ÒåÊý¾Ý } CFG_CLIENT_CUSTOM_INFO; // ¿Ì¼¸ñʽÅäÖÃ,¼æÈÝÐÔ¿¼ÂÇ£ºÎÞ´ËÅäÖÃʱĬÈÏDHAV¸ñʽ typedef struct tagCFG_BURN_RECORD_FORMAT { char szRecordPack[MAX_PATH]; // ÂëÁ÷´ò°üģʽ:Ŀǰ֧³Ö"DHAV","PS" }CFG_BURN_RECORD_FORMAT; // ¶à¹âÅÌͬ²½¿Ì¼(¶ÔÓ¦ CFG_MULTIBURN_INFO) ÊÇÒ»¸öÊý×飬ÿһ¸öÔªËØ±íʾһ×é¶à¹âÅÌͬ²½¿Ì¼¼°Ð£Ñé typedef struct tagCFG_MULTIBURN_INFO { BOOL bEnable; // ´ËÅäÖÃʹÄÜ¿ª¹Ø BOOL bDataCheck; // ¶à¹âÅÌÒ»ÖÂÐÔУÑéʹÄÜ char szDataCheckSpeed[MAX_PATH]; // УÑéËÙ¶È "High":¸ßËÙ£¨Í·Î²Êý¾ÝУÑ飩,"Normal":Õý³££¨Ëæ»úÊý¾ÝУÑ飩,"Low":µÍËÙ £¨È«ÅÌÊý¾ÝУÑ飩 }CFG_MULTIBURN_INFO; // µ¥¸öÍøÂç´æ´¢·þÎñÆ÷ÏÞÖÆÅäÖà typedef struct tagCFG_REMOTE_STORAGE_LIMIT { char szName[MAX_NAME_LEN]; // Ãû³Æ int nFileLen; // Îļþ³¤¶È µ¥Î»,MB int nInterval; // ÏàÁÚÎļþʱ¼ä¼ä¸ô µ¥Î»,Ãë CFG_CHANNEL_TIME_SECTION *pstuChnTime; // ´æ´¢Ê±¼ä¶ÎÊý×飬Óû§·ÖÅäÄÚ´æ,´óСΪsizeof(CFG_CHANNEL_TIME_SECTION)*nMaxChnCount int nMaxChnCount; // ×î´óͨµÀÊý£¬Óû§Ìîд int nRetChnCount; // ·µ»ØµÄͨµÀÊý,±£´æÉèÖÃʱµÄÓÐЧͨµÀÊý }CFG_REMOTE_STORAGE_LIMIT; // ÍøÂç´æ´¢·þÎñÆ÷ÏÞÖÆÅäÖà typedef struct tagCFG_REMOTE_STORAGELIMIT_GROUP { CFG_REMOTE_STORAGE_LIMIT stuRemoteStorageLimit[MAX_NAS_NUM]; // ÍøÂç´æ´¢·þÎñÆ÷ÅäÖÃÊý×é int nLimitCount; // ÓÐЧµÄÍøÂç·þÎñÆ÷Êý }CFG_REMOTE_STORAGELIMIT_GROUP; // »ñÈ¡¿Ì¼¹ÜÀíÄÜÁ¦¼¯ typedef struct tagCFG_CAP_BURN_MANAGER { BOOL bSupportMultiBurn; // ÊÇ·ñÖ§³Ö¶à¹âÅÌͬ²½¿Ì¼ int nMultiBurnGroups; // Ö§³Ö¼¸×éͬ²½¿Ì¼ }CFG_CAP_BURN_MANAGER; // ¼ÏñÄÜÁ¦ÐÅÏ¢ typedef struct tagCFG_CAP_RECORD_INFO { BOOL bSupportHoliday; //¼Ïñ¼Æ»®ÊÇ·ñÖ§³Ö¼ÙÈÕ¹¦ÄÜ BOOL bSupportExtraRecordMode; //ÊÇ·ñÖ§³ÖÉèÖø¨ÂëÁ÷¼Ïñģʽ DWORD dwMaxPreRecordTime; //×î´óԤ¼ʱ¼ä DWORD dwMaxRemoteBitrate; //×î´ó½ÓÈë×ÜÂëÁ÷,µ¥Î»kbps DWORD dwMaxRemoteRawBitrate; //×î´ó½ÓÈ뵐ÂëÁ÷£¨°üÀ¨Â·Êý¡¢·Ö±æÂÊ¡¢Ö¡ÂÊ£¬É«Éî°´16bpp¼ÆË㣩 DWORD dwMaxStreams; //×î´ó¼ÏñÂëÁ÷¸öÊý } CFG_CAP_RECORD_INFO; //-------------------------------±àÂë¼ÓÃÜ--------------------------------- typedef enum tagCFG_ENCRYPT_ALGO_TYPE { ALGO_TYPE_AES , ALGO_TYPE_UNKNOW , }CFG_ENCRYPT_ALGO_TYPE; // ÂëÁ÷¼ÓÃÜËã·¨¹¤×÷ģʽ typedef enum tagCFG_ENCRYPT_ALGO_WORKMODE { ENCRYPT_ALGO_WORKMODE_ECB, // ECBģʽ ENCRYPT_ALGO_WORKMODE_CBC, // CBCģʽ ENCRYPT_ALGO_WORKMODE_CFB, // CFBģʽ ENCRYPT_ALGO_WORKMODE_OFB, // OFBģʽ ENCRYPT_ALGO_WORKMODE_UNKNOW , }CFG_ENCRYPT_ALGO_WORKMODE; typedef union tagCFG_ENCRYPT_KEY_INFO { BYTE byAesKey[AES_KEY_LEN]; // aesÃÜÔ¿ }CFG_ENCRYPT_KEY_INFO; //ÂëÁ÷¼ÓÃÜÅäÖÃÐÅÏ¢ typedef struct tagCFG_STREAM_ENCRYPT_INFO { BOOL bEncryptEnable; // ÊÇ·ñ¼ÓÃÜ CFG_ENCRYPT_ALGO_TYPE emEncrptAlgoType; // ¼ÓÃÜËã·¨ÀàÐÍ: ²Î¼ûö¾ÙÀàÐÍCFG_ENCRYPT_ALGO_TYPE CFG_ENCRYPT_ALGO_WORKMODE emAlgoWorkMode; // ¹¤×÷ģʽ,²Î¿¼Ã¶¾ÙÀàÐÍ CFG_ENCRYPT_ALGO_WORKMODE WORD wEncryptLenth; // ÃÜÔ¿³¤¶È£¬µ±Ç°ÎªAESËã·¨ÀàÐÍʱ£¬±íʾÃÜԿλÊý(Ŀǰ֧³Ö128£¬192£¬256λÈýÖÖ, Èç: wEncryptLenthΪ128£¬ÔòÃÜÔ¿ÐÅÏ¢ENCRYPT_KEY_INFOÀïµÄbyAesKey[0]~[15]) CFG_ENCRYPT_KEY_INFO stuEncryptKeys; // ͨµÀµÄÃÜÔ¿ÐÅÏ¢ CFG_NET_TIME stuPreTime; // ¼ÓÃܼƻ®µÄ¿ªÊ¼Ê±¼ä }CFG_STREAM_ENCRYPT_INFO; //ÂëÁ÷¼ÓÃÜÅäÖÃͨµÀÐÅÏ¢ typedef struct tagCFG_ENCODE_ENCRYPT_CHN_INFO { int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) CFG_STREAM_ENCRYPT_INFO *pstEncodeEncryptInfo; // ÿ¸öͨµÀµÄÅäÖÃÁбí,Óû§ÐèÅäÖà // ÉêÇëÄÚ´æ´óСΪsizeof(CFG_STREAM_ENCRYPT_INFO)*nMaxEncryptInputs BYTE nMaxEncryptInputs; BYTE nRetEncryptOutputs; // ½âÎö³öCFG_STREAM_ENCRYPTµÄ¸öÊý }CFG_ENCODE_ENCRYPT_CHN_INFO; //±àÂë×ÔÊÊÓ¦²ßÂÔÀàÐÍ typedef enum tagCFG_ENCRYPT_POLICY_TYPE { ENCRYPT_POLICY_UNKNOWN , //δ֪ ENCRYPT_POLICY_NONE , //ÎÞ²ßÂÔ£¬²»¿ªÆô×ÔÊÊÓ¦¹¦ÄÜ ENCRYPT_POLICY_QUALITY , //»­ÖÊÓÅÏÈ£¬ÓÅÏȱ£Ö¤·Ö±æÂÊ£¬½µµÍÖ¡ÂÊ ENCRYPT_POLICY_FLUENCY , //Á÷³©ÓÅÏÈ£¬ÓÅÏȱ£Ö¤Á÷³©ÐÔ£¬½µµÍ·Ö±æÂÊ }CFG_ENCRYPT_POLICY_TYPE; //±àÂëÁ÷³©ÓÅÏȲßÂÔ typedef enum tagCFG_ENCRYPT_FLUENCY_MODE { ENCRYPT_FLUENCY_UNKNOWN , //δ֪ ENCRYPT_FLUENCY_FAST , //¿ì»Ö¸´(ÍøËÙ±äºÃʱ£¬Á¢¼´»Ö¸´) ENCRYPT_FLUENCY_SLOW , //Âý»Ö¸´(ͬһʱ¼äÖ»ÄÜÓÐÒ»¸öͨµÀ»Ö¸´) ENCRYPT_FLUENCY_SYNC , //ͬ²½»Ö¸´(Èç¹ûÓÐͨµÀϽµ£¬ÔòÆäËüͨµÀ²»»Ö¸´) ENCRYPT_FLUENCY_SLOWSYNC , //Âýͬ²½»Ö¸´(½áºÏÂý»Ö¸´ºÍͬ²½»Ö¸´) }CFG_ENCRYPT_FLUENCY_MODE; //±àÂë×ÔÊÊÓ¦ÅäÖà typedef struct tagCFG_ENCODE_ADAPT_INFO { CFG_ENCRYPT_POLICY_TYPE emPolicyType; //×ÔÊÊÓ¦²ßÂÔÀàÐÍ CFG_ENCRYPT_FLUENCY_MODE emFluencyMode; //Á÷³©ÓÅÏȲßÂÔ }CFG_ENCODE_ADAPT_INFO; // ±ä±¶ÉèÖûù±¾ÐÅÏ¢µ¥Ôª typedef struct tagCFG_VIDEO_IN_ZOOM_UNIT { int nSpeed; //±ä±¶ËÙÂÊ(0~7) BOOL bDigitalZoom; //ÊÇ·ñÊý×ֱ䱶 int nZoomLimit; //µ±Ç°ËÙÂÊÏÂ×î´ó±ä±¶ÉÏÏÞ(0~13)¡£ EM_LIGHT_SCENE emLightScene; //¹âÕÕ³¡¾°Ãû³Æ } CFG_VIDEO_IN_ZOOM_UNIT; // µ¥Í¨µÀ±ä±¶ÉèÖûù±¾ÐÅÏ¢ typedef struct tagCFG_VIDEO_IN_ZOOM { int nChannelIndex; //ͨµÀºÅ int nVideoInZoomRealNum; //ÅäÖÃʹÓøöÊý CFG_VIDEO_IN_ZOOM_UNIT stVideoInZoomUnit[MAX_VIDEO_IN_ZOOM]; //ͨµÀ±äËÙÅäÖõ¥ÔªÐÅÏ¢ } CFG_VIDEO_IN_ZOOM; // ץͼÅäÖà typedef struct tagCFG_SNAP_INFO { CFG_TIME_SCHEDULE stuTimeSchedule; // ʱ¼ä±í, ÿ¸öʱ¼ä¶ÎÑÚÂ밴붨ÒåÈçÏÂ: // Bit0-¶¨Ê±×¥Í¼ // Bit1-¶¯Ì¬¼ì²âץͼ // Bit2-±¨¾¯×¥Í¼ // Bit3-¿¨ºÅץͼ // Bit4~Bit31-±£Áô } CFG_SNAP_INFO; //ÔÆÌ¨×ª¶¯½Ç¶È·¶Î§£¬µ¥Î»£º¶È typedef struct tagCFG_PTZ_MOTION_RANGE { int nHorizontalAngleMin; // ˮƽ½Ç¶È·¶Î§×îСֵ,µ¥Î»:¶È int nHorizontalAngleMax; // ˮƽ½Ç¶È·¶Î§×î´óÖµ,µ¥Î»:¶È int nVerticalAngleMin; // ´¹Ö±½Ç¶È·¶Î§×îСֵ,µ¥Î»:¶È int nVerticalAngleMax; // ´¹Ö±½Ç¶È·¶Î§×î´óÖµ,µ¥Î»:¶È }CFG_PTZ_MOTION_RANGE; //Ö§³ÖµÄ½¹¾àģʽ¶ÔӦö¾Ù typedef enum tagSUPPORT_FOCUS_MODE { ENUM_SUPPORT_FOCUS_CAR = 1, // ¿´Ç峵ģʽ ENUM_SUPPORT_FOCUS_PLATE = 2, // ¿´Çå³µÅÆÄ£Ê½ ENUM_SUPPORT_FOCUS_PEOPLE = 3, // ¿´ÇåÈËģʽ ENUM_SUPPORT_FOCUS_FACE = 4, // ¿´ÇåÈËÁ³Ä£Ê½ }EM_SUPPORT_FOCUS_MODE; //ÔÆÌ¨×ª¶¯½Ç¶È·¶Î§£¬µ¥Î»£º¶È typedef struct tagCFG_PTZ_LIGHTING_CONTROL { char szMode[CFG_COMMON_STRING_32]; // ÊÖ¶¯µÆ¹â¿ØÖÆÄ£Ê½ // on-off"£ºÖ±½Ó¿ª¹ØÄ£Ê½, // "adjustLight"£ºÊÖ¶¯µ÷½ÚÁÁ¶Èģʽ DWORD dwNearLightNumber; // ½ü¹âµÆ×éÊýÁ¿ DWORD dwFarLightNumber; // Ô¶¹âµÆ×éÊýÁ¿ }CFG_PTZ_LIGHTING_CONTROL; //ÔÆÌ¨-ÇøÓòɨÃèÄÜÁ¦¼¯ typedef struct tagCFG_PTZ_AREA_SCAN { BOOL bIsSupportAutoAreaScan; // ÊÇ·ñÖ§³ÖÇøÓòɨÃè WORD wScanNum; // ÇøÓòɨÃèµÄ¸öÊý }CFG_PTZ_AREA_SCAN; // ÕÚµ²¿éÐÎ×´ÀàÐÍ typedef enum tagNET_EM_MASK_TYPE { NET_EM_MASK_UNKNOWN, // δ֪ NET_EM_MASK_RECT, // ¾ØÐÎ NET_EM_MASK_POLYGON, // ¶à±ßÐÎ } NET_EM_MASK_TYPE; // ÂíÈü¿ËÀàÐÍ typedef enum tagNET_EM_MOSAIC_TYPE { NET_EM_MOSAIC_UNKNOWN = 0, // δ֪ NET_EM_MOSAIC_8 = 8, // [8x8´óС] ÂíÈü¿Ë NET_EM_MOSAIC_16 = 16, // [16x16´óС] ÂíÈü¿Ë NET_EM_MOSAIC_24 = 24, // [24x24´óС] ÂíÈü¿Ë NET_EM_MOSAIC_32 = 32, // [32x32´óС] ÂíÈü¿Ë } NET_EM_MOSAIC_TYPE; #define MAX_MASKTYPE_COUNT 8 #define MAX_MOSAICTYPE_COUNT 8 // Òþ˽ÕÚµ²ÄÜÁ¦¼¯ typedef struct tagCFG_PTZ_PRIVACY_MASKING { BOOL bPrivacyMasking; // ÊÇ·ñÖ§³ÖÒþ˽ÕÚµ²ÉèÖà BOOL bSetColorSupport; // ÊÇ·ñÖ§³ÖÕÚµ²¿éÑÕÉ«ÉèÖà BOOL abMaskType; // emMaskTypeÊÇ·ñÓÐЧ int nMaskTypeCount; // ʵ¼ÊÖ§³ÖµÄÕÚµ²¿éÐÎ×´¸öÊý NET_EM_MASK_TYPE emMaskType[MAX_MASKTYPE_COUNT]; // Ö§³ÖµÄÕÚµ²¿éÐÎ×´£¬Ã»ÓиÃÏîÅäÖÃʱĬÈÏÖ§³Ö¾ØÐÎ BOOL bSetMosaicSupport; // ÊÇ·ñÖ§³ÖÂíÈü¿ËÕÚµ²¿éÉèÖà BOOL bSetColorIndependent; // ÊÇ·ñÖ§³ÖÕÚµ²¿éÑÕÉ«Ï໥¶ÀÁ¢(bSetColorSupportΪtrueʱ¸ÃÄÜÁ¦ÓÐЧ) BOOL abMosaicType; // emMosaicTypeÊÇ·ñÓÐЧ int nMosaicTypeCount; // ʵ¼ÊÖ§³ÖµÄÂíÈü¿ËÀàÐ͸öÊý NET_EM_MOSAIC_TYPE emMosaicType[MAX_MOSAICTYPE_COUNT]; // Ö§³ÖµÄÂíÈü¿ËÀàÐÍ(SetMosaicSupportΪtrueʱ¸ÃÄÜÁ¦ÓÐЧ£¬Ã»ÓиÃÏîÅäÖÃʱĬÈÏÖ§³Ö24x24´óСÂíÈü¿Ë) } CFG_PTZ_PRIVACY_MASKING; // ͼÏñ²â¾àÄÜÁ¦ typedef struct tagCFG_PTZ_MEASURE_DISTANCE { BOOL bSupport; // ÊÇ·ñÖ§³ÖͼÏñ²â¾à BOOL bOsdEnable; // ÊÇ·ñ½«Í¼Ïñ²â¾à½á¹ûÊý¾Ýµþ¼ÓÖÁÂëÁ÷ int nDisplayMin; // ͼÏñ²â¾àÐÅÏ¢µÄ×îСÏÔʾʱ³¤, µ¥Î»Ãë int nDisplayMax; // ͼÏñ²â¾àÐÅÏ¢µÄ×î´óÏÔʾʱ³¤, µ¥Î»Ãë } CFG_PTZ_MEASURE_DISTANCE; //»ñÈ¡ÔÆÌ¨ÄÜÁ¦¼¯ÐÅÏ¢ typedef struct tagCFG_PTZ_PROTOCOL_CAPS_INFO { int nStructSize; BOOL bPan; // ÊÇ·ñÖ§³ÖÔÆÌ¨Ë®Æ½°Ú¶¯ BOOL bTile; // ÊÇ·ñÖ§³ÖÔÆÌ¨´¹Ö±°Ú¶¯ BOOL bZoom; // ÊÇ·ñÖ§³ÖÔÆÌ¨±ä±¶ BOOL bIris; // ÊÇ·ñÖ§³ÖÔÆÌ¨¹âȦµ÷½Ú BOOL bPreset; // ÊÇ·ñÖ§³ÖÔ¤Öõã BOOL bRemovePreset; // ÊÇ·ñÖ§³ÖÇå³ýÔ¤Öõã BOOL bTour; // ÊÇ·ñÖ§³Ö×Ô¶¯Ñ²º½Ïß· BOOL bRemoveTour; // ÊÇ·ñÖ§³ÖÇå³ýѲº½ BOOL bPattern; // ÊÇ·ñÖ§³Ö¹ì¼£Ïß· BOOL bAutoPan; // ÊÇ·ñÖ§³Ö×Ô¶¯Ë®Æ½°Ú¶¯ BOOL bAutoScan; // ÊÇ·ñÖ§³Ö×Ô¶¯É¨Ãè BOOL bAux; // ÊÇ·ñÖ§³Ö¸¨Öú¹¦ÄÜ BOOL bAlarm; // ÊÇ·ñÖ§³Ö±¨¾¯¹¦ÄÜ BOOL bLight; // ÊÇ·ñÖ§³ÖµÆ¹â, ÄÚÈݼûÏÂÃæ"stuPtzLightingControl"£¬¸Ã×Ö¶ÎÒѷϳýʹÓà BOOL bWiper; // ÊÇ·ñÖ§³ÖÓêË¢ BOOL bFlip; // ÊÇ·ñÖ§³Ö¾µÍ··­×ª BOOL bMenu; // ÊÇ·ñÖ§³ÖÔÆÌ¨ÄÚÖò˵¥ BOOL bMoveRelatively; // ÊÇ·ñÖ§³ÖÔÆÌ¨°´Ïà¶Ô×ø±ê¶¨Î» BOOL bMoveAbsolutely; // ÊÇ·ñÖ§³ÖÔÆÌ¨°´¾ø¶Ô×ø±ê¶¨Î» BOOL bMoveDirectly; // ÊÇ·ñÖ§³ÖÔÆÌ¨°´ÈýÎ¬×ø±ê¶¨Î» BOOL bReset; // ÊÇ·ñÖ§³ÖÔÆÌ¨¸´Î» BOOL bGetStatus; // ÊÇ·ñÖ§³Ö»ñÈ¡ÔÆÌ¨Ô˶¯×´Ì¬¼°·½Î»×ø±ê BOOL bSupportLimit; // ÊÇ·ñÖ§³ÖÏÞλ BOOL bPtzDevice; // ÊÇ·ñÖ§³ÖÔÆÌ¨É豸 BOOL bIsSupportViewRange; // ÊÇ·ñÖ§³ÖÔÆÌ¨¿ÉÊÓÓò WORD wCamAddrMin; // ͨµÀµØÖ·µÄ×îСֵ WORD wCamAddrMax; // ͨµÀµØÖ·µÄ×î´óÖµ WORD wMonAddrMin; // ¼àÊÓµØÖ·µÄ×îСֵ WORD wMonAddrMax; // ¼àÊÓµØÖ·µÄ×î´óÖµ WORD wPresetMin; // Ô¤ÖõãµÄ×îСֵ WORD wPresetMax; // Ô¤ÖõãµÄ×î´óÖµ WORD wTourMin; // ×Ô¶¯Ñ²º½Ïß·µÄ×îСֵ WORD wTourMax; // ×Ô¶¯Ñ²º½Ïß·µÄ×î´óÖµ WORD wPatternMin; // ¹ì¼£Ïß·µÄ×îСֵ WORD wPatternMax; // ¹ì¼£Ïß·µÄ×î´óÖµ WORD wTileSpeedMin; // ´¹Ö±ËٶȵÄ×îСֵ WORD wTileSpeedMax; // ´¹Ö±ËٶȵÄ×î´óÖµ WORD wPanSpeedMin; // ˮƽËٶȵÄ×îСֵ WORD wPanSpeedMax; // ˮƽËٶȵÄ×î´óÖµ WORD wAutoScanMin; // ×Ô¶¯É¨ÃèµÄ×îСֵ WORD wAutoScanMax; // ×Ô¶¯É¨ÃèµÄ×î´óÖµ WORD wAuxMin; // ¸¨Öú¹¦ÄܵÄ×îСֵ WORD wAuxMax; // ¸¨Öú¹¦ÄܵÄ×î´óÖµ DWORD dwInterval; // ·¢ËÍÃüÁîµÄʱ¼ä¼ä¸ô DWORD dwType; // ЭÒéµÄÀàÐÍ£¬0-±¾µØÔÆÌ¨£¬1-Ô¶³ÌÔÆÌ¨ DWORD dwAlarmLen; // ЭÒéµÄ±¨¾¯³¤¶È DWORD dwNearLightNumber; // ½ü¹âµÆ×éÊýÁ¿,0~4,Ϊ0ʱ±íʾ²»Ö§³Ö DWORD dwFarLightNumber; // Ô¶¹âµÆ×éÊýÁ¿,0~4,Ϊ0ʱ±íʾ²»Ö§³Ö DWORD dwSupportViewRangeType; // Ö§³ÖµÄ¿ÉÊÓÓòÊý¾Ý»ñÈ¡·½Ê½ÑÚÂë,´ÓµÍλµ½¸ßλÒÀ´ÎÊý,Ŀǰ֧³Ö // µÚ1λ:Ϊ1±íʾ֧³Ö"ElectronicCompass" µç×ÓÂÞÅÌ·½Ê½ DWORD dwSupportFocusMode; // Ö§³ÖµÄÖ§³ÖµÄ½¹¾àģʽÑÚÂë,´ÓµÍλµ½¸ßλÒÀ´ÎÊý,¼û#EM_SUPPORT_FOCUS_MODE char szName[MAX_PROTOCOL_NAME_LEN]; // ²Ù×÷µÄЭÒéÃû char szAuxs[CFG_COMMON_STRING_32][CFG_COMMON_STRING_32]; //ÔÆÌ¨¸¨Öú¹¦ÄÜÃû³ÆÁбí CFG_PTZ_MOTION_RANGE stuPtzMotionRange; // ÔÆÌ¨×ª¶¯½Ç¶È·¶Î§£¬µ¥Î»£º¶È CFG_PTZ_LIGHTING_CONTROL stuPtzLightingControl; // µÆ¹â¿ØÖÆÄÚÈÝ£¬¸Ã×Ö¶ÎÒѷϳýʹÓà BOOL bSupportPresetTimeSection; // ÊÇ·ñÖ§³ÖÔ¤Öõãʱ¼ä¶ÎÅäÖõŦÄÜ BOOL bFocus; // ÊÇ·ñÖ§³ÖÔÆÌ¨±ä½¹ CFG_PTZ_AREA_SCAN stuPtzAreaScan; // ÇøÓòɨÃèÄÜÁ¦¼¯ CFG_PTZ_PRIVACY_MASKING stuPtzPrivacyMasking; // Òþ˽ÕÚµ²ÄÜÁ¦¼¯ CFG_PTZ_MEASURE_DISTANCE stuPtzMeasureDistance; // ͼÏñ²â¾àÄÜÁ¦¼¯ BOOL bSupportPtzPatternOSD; // ÊÇ·ñÖ§³ÖÔÆÌ¨Ñ²¼£OSDµþ¼Ó BOOL bSupportPtzRS485DetectOSD; // ÊÇ·ñÖ§³ÖÔÆÌ¨RS485¼ì²âOSDµþ¼Ó BOOL bSupportPTZCoordinates; // ÊÇ·ñÖ§³ÖÔÆÌ¨×ø±êµþ¼Ó BOOL bSupportPTZZoom; // ÊÇ·ñÖ§³ÖÔÆÌ¨±ä±¶µþ¼Ó BOOL bDirectionDisplay; // ÊÇ·ñÖ§³ÖÔÆÌ¨·½Ïò״̬ÏÔʾ DWORD dwZoomMax; // ±ä±¶×î´óÖµ DWORD dwZoomMin; // ±ä±¶×îСֵ }CFG_PTZ_PROTOCOL_CAPS_INFO; //´®¿ÚÖ§³ÖµÄÔÆÌ¨Ð­Òé typedef struct tagRS_PROTOCOL_InFO { int nRSProtocolNum; //´®¿ÚÖ§³ÖµÄÔÆÌ¨Ð­Òé¸öÊý char szRSProtocol[CFG_COMMON_STRING_32][CFG_COMMON_STRING_32]; //´®¿ÚÖ§³ÖµÄÔÆÌ¨Ð­ÒéÃû³Æ }RS_PROTOCOL_InFO; //ͬÖáÖ§³ÖµÄÔÆÌ¨Ð­Òé typedef struct tagCOAXOAL_PROTOTOL_INFO { int nCoaxialProtocolNum; //ͬÖáÖ§³ÖµÄÔÆÌ¨Ð­Òé¸öÊý char szCoaxialProtocol[CFG_COMMON_STRING_32][CFG_COMMON_STRING_32]; //ͬÖáÖ§³ÖµÄÔÆÌ¨Ð­ÒéÃû³Æ }COAXOAL_PROTOTOL_INFO; //»ñÈ¡¸ÃÔÆÌ¨Êµ¼ÊÄܹ»Ê¹ÓõÄЭÒ飬°´½éÖÊÇø·Ö typedef struct tagCFG_CAP_PTZ_PROTOCOL { unsigned int nStructSize; RS_PROTOCOL_InFO stuRSProtocolInfo; //´®¿ÚÖ§³ÖµÄÔÆÌ¨Ð­ÒéÐÅÏ¢ COAXOAL_PROTOTOL_INFO stuCoaxialProtocolInfo; //ͬÖáÖ§³ÖµÄÔÆÌ¨Ð­ÒéÐÅÏ¢ }CFG_CAP_PTZ_PROTOCOL; // ÌØÊâÓÃ;Ŀ¼¶¨Òå typedef struct tagCFG_SPECIAL_DIR_INFO { char szBackgroudImageDir[MAX_PATH]; // ÆÁÄ»µ×ͼĿ¼ char szWindowIconDir[MAX_PATH]; // ´°¿Úͼ±êĿ¼ char szEventVoiceDir[MAX_PATH]; // ±¨¾¯ÓïÒôÌáʾÒôƵÎļþ´æ·ÅĿ¼ } CFG_SPECIAL_DIR_INFO; // ¹Ø»úºóÑÓʱ×Ô¶¯¿ª»úÅäÖà typedef struct tagCFG_AUTO_STARTUP_DELAY_INFO { BOOL bEnable; //¹¦ÄÜÊÇ·ñ´ò¿ª int nDelay; //¹Ø»úºóÑÓʱ¿ª»úʱ¼ä,µ¥Î»£º·ÖÖÓ(ȡֵ·¶Î§[30, 255]) }CFG_AUTO_STARTUP_DELAY_INFO; // ͸Îíģʽö¾Ù typedef enum tagCFG_DEFOG_MODE { EM_DEFOG_MODE_UNKNOW, //δ֪·½Ê½ EM_DEFOG_MODE_OFF, //¹Ø±Õ EM_DEFOG_MODE_AUTO, //×Ô¶¯ EM_DEFOG_MODE_MANAL //ÊÖ¶¯ }CFG_DEFOG_MODE; //´óÆø¹âģʽö¾Ù typedef enum tagCFG_LIGHT_INTENSITY_MODE { EM_LIGHT_INTENSITY_MODE_UNKNOW,//δ֪·½Ê½ EM_LIGHT_INTENSITY_MODE_AUTO, //×Ô¶¯ EM_LIGHT_INTENSITY_MODE_MANUL, //ÊÖ¶¯ }CFG_LIGHT_INTENSITY_MODE; //͸ÎíÉèÖÃÅäÖÃÐÅÏ¢,¶ÔÓ¦½á¹¹Ìå CFG_VIDEOINDEFOG typedef struct tagCFG_VIDEOINDEFOG { CFG_DEFOG_MODE emDefogMode;//͸Îíģʽ int nIntensity; //Ç¿¶È(0-100) CFG_LIGHT_INTENSITY_MODE emLightIntensityMode;//´óÆø¹âģʽ int nLightIntensityLevel;//´óÆø¹âÇ¿¶È(0-15) BOOL bCamDefogEnable;//¹âѧȥÎíʹÄÜ (TRUEʹÄÜ£¬FALSEȥʹÄÜ) }CFG_VIDEOINDEFOG; //µ¥¸öͨµÀ¶ÔÓ¦µÄ͸ÎíÅäÖÃÐÅÏ¢ typedef struct tagCFG_VIDEOINDEFOG_LIST { int nVideoInDefogNum; // ÿ¸öͨµÀʵ¼Ê͸ÎíÅäÖøöÊý CFG_VIDEOINDEFOG stVideoInDefog[CFG_MAX_VIDEO_IN_DEFOG]; //ÿ¸öͨµÀ¶ÔÓ¦µÄ͸ÎíÅäÖÃÊý×é }CFG_VIDEOINDEFOG_LIST; // RTMPÅäÖà // ÅäÖÃÖ÷ÒªÓÃÓÚÍÆËÍÂëÁ÷ÖÁFlash Media Server·þÎñÆ÷¡£ // ½á¹¹Ìå²ÎÊý°´Ò»¶¨¹æÔòÉú³Éurl typedef struct tagCFG_RTMP_INFO { BOOL bEnable; // RTMPÅäÖÃÊÇ·ñ¿ªÆô char szAddr[MAX_ADDRESS_LEN]; // RTMP·þÎñÆ÷µØÖ· int nPort; // RTMP·þÎñÆ÷¶Ë¿Ú int nMainChnNum; // Ö÷ÂëÁ÷ͨµÀ¸öÊý int szMainChannel[AV_CFG_Max_Channel_Num]; // ÆôÓÃÖ÷ÂëÁ÷ͨµÀºÅÁбí:ÿ¸ö³ÉÔ±±íʾ¶ÔÓ¦µÄͨµÀÐèÒªÉÏ´«µ½RTMP·þÎñÆ÷,ͨµÀºÅ´Ó0¿ªÊ¼ int nExtraChnNum; // ¸¨ÂëÁ÷ͨµÀ¸öÊý int szExtraChannel[AV_CFG_Max_Channel_Num]; // ÆôÓø¨ÂëÁ÷ͨµÀºÅÁбí:ÿ¸ö³ÉÔ±±íʾ¶ÔÓ¦µÄͨµÀÐèÒªÉÏ´«µ½RTMP·þÎñÆ÷,ͨµÀºÅ´Ó0¿ªÊ¼ char szCustomPath[MAX_ADDRESS_LEN]; // ¶¨ÖÆÂ·¾¶Ãû char szStreamPath[MAX_ADDRESS_LEN]; // ÂëÁ÷·¾¶Ç°×º:²»Í¬Í¨µÀÒÔºó׺Êý×ÖÇø·Ö }CFG_RTMP_INFO; // ÿ¸öƵÂʶÎÉϵľùºâÆ÷ÅäÖÃÐÅÏ¢ typedef struct tagCFG_EQUALIZER_EACH_FREQUENCY { int nMinFrequency; // ¾ùºâÆ÷±¾¶ÎµÄ×îСƵÂÊ£¬µ¥Î»HZ£¬×îС¿ÉÈ¡µ½0 int nMaxFrequency; // ¾ùºâÆ÷±¾¶ÎµÄ×î´óƵÂÊ£¬µ¥Î»HZ£¬×î´ó¿ÉÈ¡µ½20K int nGain; // ¾ùºâÆ÷±¾¶ÎµÄÔöÒæ } CFG_EQUALIZER_EACH_FREQUENCY; // ¶ÔÓ¦ÒôƵÊä³öͨµÀÉÏËùÓÐÆµÂʶÎÉϵÄÅäÖà typedef struct tagCFG_EQUALIZER_INFO { int nAudioOutChn; // ÒôƵÊä³öͨµÀºÅ£¬×î´óͨµÀºÅΪ16 int nFrequencyCount; // ʵ¼ÊƵÂʶθöÊý CFG_EQUALIZER_EACH_FREQUENCY stuFrequency[MAX_FREQUENCY_COUNT]; // ¶ÔÓ¦ÒôƵÊä³öͨµÀÉÏËùÓÐÆµÂʶÎÉϵÄÅäÖà } CFG_EQUALIZER_INFO; // ÒôƵÊä³ö¾ùºâÆ÷ÅäÖÃ(¶ÔÓ¦CFG_CMD_AUDIO_OUTEQUALIZER) typedef struct tagCFG_AUDIO_OUTEQUALIZER_INFO { int nChannelNum; // ÐèÒªÅäÖõÄÒôƵͨµÀÊý CFG_EQUALIZER_INFO stuEqualizerInfo[MAX_OUTAUDIO_CHANNEL_COUNT]; // ÿ¸öÒôƵÊä³öͨµÀÉϵľùºâÆ÷µÄÅäÖÃÐÅÏ¢ } CFG_AUDIO_OUT_EQUALIZER_INFO; // ÿ¸öÒôƵÊä³öͨµÀÉϵÄÒôƵÒÖÖÆÅäÖà typedef struct tagCFG_SUPPRESSION_INFO { int nAudioOutChn; // ÒôƵÊä³öͨµÀ£¬×î´óͨµÀºÅΪ16 BOOL bAutoFrequencyControl; // Ð¥½ÐÒÖÖÆÊ¹ÄÜ BOOL bAutoEchoCancellation; // »ØÉùÏû³ýʹÄÜ } CFG_SUPPRESSION_INFO; // ÒôƵÒÖÖÆÅäÖÃÐÅÏ¢(¶ÔÓ¦CFG_CMD_AUDIO_OUT_SUPPRESSION) typedef struct tagCFG_AUDIO_OUT_SUPPRESSION_INFO { int nChannelNum; // ÐèÒªÅäÖõÄÒôƵͨµÀÊý CFG_SUPPRESSION_INFO stuSuppressionInfo[MAX_OUTAUDIO_CHANNEL_COUNT]; // ÿ¸öÒôƵÊä³öͨµÀÉϵÄÒôƵÒÖÖÆÅäÖà } CFG_AUDIO_OUT_SUPPRESSION_INFO; // ÿ¸öÒôƵÊäÈëͨµÀÉϵÄÒôƵ¿ØÖÆÅäÖà typedef struct tagCFG_IN_CONTROL_EACH_AUDIO { int nAudioInChn; // ÒôƵÊäÈëͨµÀºÅ£¬×î´óͨµÀºÅ Ϊ32 BOOL bPower; // ¹©µçʹÄÜ BOOL bSquishSuppression; // ¾²Ô빦ÄÜʹÄÜ } CFG_IN_CONTROL_EACH_AUDIO; // ÒôƵÊäÈë¿ØÖÆÅäÖÃ(¶ÔÓ¦CFG_CMD_AUDIO_INCONTROL) typedef struct tagCFG_AUDIO_IN_CONTROL_INFO { int nChannelNum; // ÐèÒªÅäÖõÄÒôƵͨµÀÊý CFG_IN_CONTROL_EACH_AUDIO stuInControl[MAX_INAUDIO_CHANNEL_COUNT]; // ÿ¸öÒôƵÊäÈëͨµÀÉϵÄÒôƵ¿ØÖÆÅäÖà } CFG_AUDIO_IN_CONTROL_INFO; // ÊÓÆµÊäÈëÄÜÁ¦¼¯(CFG_CAP_CMD_VIDEOINPUT_EX)À©Õ¹ÅäÖà typedef struct tagCFG_CAP_VIDEOINPUT_INFO_EX { BOOL bSupportDefog; // ÊÇ·ñÖ§³Ö͸Îí¹¦ÄÜ BOOL bSupportABFFunction; // ÊÇ·ñÖ§³Ö×Ô¶¯µ÷ºó½¹¹¦ÄÜ BOOL bSupportImageStabilization; // ÊÇ·ñÖ§³Öµç×Ó·À¶¶¹¦ÄÜ BOOL bSupportKillShutLine; // ÊÇ·ñÖ§³ÖÏû³ý¿ìÃÅÏß¹¦ÄÜ int nMinKillShutLine; // ¿ÉÅäµÄ×îСֵ int nMaxKillShutLine; // ¿ÉÅäµÄ×î´óÖµ BOOL bSupportVideoInColor; //ÊÇ·ñÖ§³ÖͼÏñÉèÖÃÄÜÁ¦ BOOL bSupportBrightness; //ÊÇ·ñÖ§³ÖÁÁ¶È BOOL bSupportContrast; //ÊÇ·ñÖ§³Ö¶Ô±È¶È BOOL bSupportSaturation; //ÊÇ·ñÖ§³Ö±¥ºÍ¶È BOOL bSupportHue; //ÊÇ·ñÖ§³ÖÉ«¶È BOOL bSupportVideoInFocus; //ÊÇ·ñÖ§³Ö¾Û½¹ÉèÖà BOOL bLightingControl; //ÊÇ·ñÖ§³ÖºìÍâµÆ¿ØÖÆ BYTE bReserved[3]; //×Ö½Ú¶ÔÆë }CFG_CAP_VIDEOINPUT_INFO_EX; // CAN¹ýÂËÅäÖà #define MAX_CAN_COUNT 16 // ×î´óCAN¸öÊý // CAN ¹ýÂ˲ßÂÔ typedef enum tagCFG_CAN_POLICY_METHOD { CFG_CAN_POLICY_METHOD_UNKONW, // δ֪²ßÂÔ CFG_CAN_POLICY_METHOD_NONE, // ÎÞ¹ýÂË CFG_CAN_POLICY_METHOD_WHITE, // °×Ãûµ¥ CFG_CAN_POLICY_METHOD_BLACK, // ºÚÃûµ¥ }CFG_CAN_POLICY_METHOD; typedef struct tagCFG_CANFILTER_INFO { int nResponseTimeout; // µÈ´ýÓ¦´ð³¬Ê±(µ¥Î»:ºÁÃë)£¬ ·¢ËÍÊý¾Ýºó£¬µÈ´ý3000ºÁÃëºó£¬½áÊø¸Ã·͸´« int nRequestTimeout; // ½ÓÊÕÇëÇóÓ¦´ð³¬Ê±(µ¥Î»:ºÁÃë)£¬ ³¬¹ýÖ¸¶¨Ê±¼äδÊÕµ½Êý¾Ý£¬ÈÏΪÇëÇó½áÊø int nFilterPIDCount; // Êý¾ÝºÅ¸öÊý int nRetFiterPIDCount; // ·µ»ØÊý¾ÝºÅ¸öÊý int* pnFilterPID; // ¹ýÂËÊý¾ÝºÅ CFG_CAN_POLICY_METHOD emPolicy; // ¹ýÂ˲ßÂÔ // Èç¹ûÊǰ×Ãûµ¥£¬Éϱ¨°üº¬PIDµÄÊý¾Ý // Èç¹ûÊǺÚÃûµ¥£¬Éϱ¨²»º¬PIDµÄÊý¾Ý // ÎÞ¹ýÂËÔòËùÓÐÊý¾Ý¶¼Éϱ¨ }CFG_CANFILTER_INFO; typedef struct tagCFG_CANFILTER_LIST { int nCANCount; // CAN¸öÊý int nRetCANCount; // É豸·µ»ØCAN¸öÊý CFG_CANFILTER_INFO stuCANFilter[MAX_CAN_COUNT]; }CFG_CANFILTER_LIST; // ¾Û½¹¼«ÏÞ¶ÔӦö¾Ù typedef enum tagEM_FOCUS_LIMIT_SELECT_MODE { EM_FOCUS_LIMIT_MODE_MANUAL, // "Manual" ×Ô¶¯ EM_FOCUS_LIMIT_MODE_AUTO, // "Auto"ÊÖ¶¯ EM_FOCUS_LIMIT_MODE_INVALID }EM_FOCUS_LIMIT_SELECT_MODE; // ¾Û½¹ÉèÖûù±¾ÐÅÏ¢µ¥Ôª typedef struct tagCFG_VIDEO_IN_FOCUS_UNIT { int nMode; // ¾Û½¹Ä£Ê½, 0-¹Ø±Õ, 1-¸¨Öú¾Û½¹, 2-×Ô¶¯¾Û½¹, 3-°ë×Ô¶¯¾Û½¹, 4-ÊÖ¶¯¾Û½¹ int nSensitivity; // ¾Û½¹ÁéÃô¶È, 0-¸ß, 1-ĬÈÏ, 2-µÍ int nIRCorrection; // ºìÍâ¹â¾Û½¹ÐÞÕý, 0-²»ÐÞÕý, 1-ÐÞÕý, 2-×Ô¶¯ÐÞÕý EM_FOCUS_LIMIT_SELECT_MODE emFocusMode; // ¾Û½¹¼«ÏÞ int nFocusLimit; // ¾Û½¹¼«ÏÞÖµ, µ¥Î»ºÁÃ× } CFG_VIDEO_IN_FOCUS_UNIT; // µ¥Í¨µÀ¾Û½¹ÉèÖûù±¾ÐÅÏ¢ typedef struct tagCFG_VIDEO_IN_FOCUS { int nChannelIndex; // ͨµÀºÅ int nVideoInFocusRealNum; // ÅäÖÃʹÓøöÊý CFG_VIDEO_IN_FOCUS_UNIT stVideoInFocusUnit[MAX_VIDEO_IN_FOCUS]; //ͨµÀ¾Û½¹ÅäÖõ¥ÔªÐÅÏ¢ } CFG_VIDEO_IN_FOCUS; typedef enum tagEM_ANALYSE_MODE { EM_ANALYSE_MODE_REAL_STREAM, // ʵʱÁ÷ģʽ EM_ANALYSE_MODE_RECORDFILE_STREAM, // ¼ÏñÎļþÁ÷ģʽ EM_ANALYSE_MODE_PICFILE_STREAM, // ͼƬÎļþÁ÷ģʽ }EM_ANALYSE_MODE; // ÖÇÄÜ·ÖÎöģʽ typedef struct tagCFG_ANALYSE_MODE { EM_ANALYSE_MODE emMode; // ·ÖÎöģʽ£¬Ïê¼ûEM_ANALYSE_MODE }CFG_ANALYSE_MODE; // ÔÆÌ¨¿ØÖÆÔ¤Öõã½á¹¹ typedef struct tagPTZ_PRESET { BOOL bEnable; // ¸ÃÔ¤ÖõãÊÇ·ñÉúЧ char szName[MAX_PTZ_PRESET_NAME_LEN]; // Ô¤ÖõãÃû³Æ CFG_PTZ_SPACE_UNIT stPosition; // Ô¤ÖõãµÄ×ø±êºÍ·Å´ó±¶Êý }PTZ_PRESET; // ÔÆÌ¨Ô¤ÖõãÅäÖöÔÓ¦½á¹¹ typedef struct tagPTZ_PRESET_INFO { DWORD dwMaxPtzPresetNum; // ×î´óÔ¤Öõã¸öÊý DWORD dwRetPtzPresetNum; // ʵ¼ÊʹÓÃÔ¤Öõã¸öÊý PTZ_PRESET *pstPtzPreset; // Ô¤ÖõãÐÅÏ¢(¸ù¾Ý×î´ó¸öÊýÉêÇëÄÚ´æ) }PTZ_PRESET_INFO; // ÓïÒô¼¤ÀøÒôƵͨµÀÅäÖà typedef struct tagCFG_AUDIO_SPIRIT_CHANNE { int nChannel; // ÓïÒô¼¤ÀøÁª¶¯ÊÓÆµÍ¨µÀºÅ int nPriority; // ÓïÒô¼¤ÀøÓÅÏȼ¶, 1~10 int nPreset; // ¶ÔÓ¦µÄÊÓÆµÉãÏñ»úµÄÔ¤Öõã, ÓëÔÆÌ¨Ò»ÖÂ0~255 } CFG_AUDIO_SPIRIT_CHANNEL; // ÓïÒô¼¤ÀøÁª¶¯Ïî typedef struct tagCFG_AUDIO_SPIRIT_LINKAGE { int nOutputNum; // ¾ØÕóÊä³ö¿ÚÊýÁ¿ int nOutputChanel[CFG_MAX_LOWER_MATRIX_OUTPUT]; // ͬ²½´ó»­ÃæÊä³öµ½(¶à¸ö)¾ØÕóÊä³ö¿Ú } CFG_AUDIO_SPIRIT_LINKAGE; // ÓïÒô¼¤Àø typedef struct tagCFG_AUDIO_SPIRIT { BOOL bEnable; // ʹÄÜ int nAudioLimit; // ¼¤ÀøÒôÁ¿ãÐÖµ, 0~100 int nDelayTime; // ¼¤ÀøÑÓʱʱ¼ä, µ¥Î»: Ãë CFG_AUDIO_SPIRIT_CHANNEL* pstuChannels; // ÓïÒô¼¤ÀøÒôƵͨµÀÊôÐÔ,ÓÉÓû§ÉêÇëÄÚ´æ,´óСΪsizeof(CFG_AUDIO_SPIRIT_CHANNEL)*nChannelCount int nChannelCount; // ÒôƵͨµÀÊý CFG_AUDIO_SPIRIT_LINKAGE stuLinkage; // ¼¤ÀøÁª¶¯Ïî } CFG_AUDIO_SPIRIT; // ÒôƵÊä³öͨµÀ¶ÔÓ¦µÄÊäÈëͨµÀÐÅÏ¢ typedef struct tagCFG_AUDIO_OUT_CHN { BOOL bEnable; // ±íʾµ±Ç°Êä³öͨµÀÊÇ·ñÓÐЧ int nInputChn; // µ±Ç°Êä³öͨµÀÉϵÄÊäÈëͨµÀ¸öÊý(bEnableΪTRUEʱÓÐЧ) short snInputChannels[CFG_MAX_AUDIO_MATRIX_INPUT];// µ±Ç°Êä³öͨµÀÉϵÄÊäÈëͨµÀÊý×é(bEnableΪTRUEʱÓÐЧ) } CFG_AUDIO_OUT_CHN; // ÒôƵ¾ØÕóϵÄÊä³öͨµÀÐÅÏ¢ typedef struct tagCFG_AUDIO_MATRIX_INFO { BOOL bEnable; // ±íʾµ±Ç°¾ØÕóÊÇ·ñÓÐЧ int nAudioOutChn; // µ±Ç°¾ØÕóϵÄÒôƵÊä³öͨµÀ¸öÊý(bEnableΪTRUEʱÓÐЧ) CFG_AUDIO_OUT_CHN stuAudioOutChn[CFG_MAX_AUDIO_MATRIX_OUTPUT]; // µ±Ç°¾ØÕóϵÄÒôƵÊä³öͨµÀÊý×é(bEnableΪTRUEʱÓÐЧ) } CFG_AUDIO_MATRIX_INFO; // ÒôƵ¾ØÕóÅäÖÃÐÅÏ¢ typedef struct tagCFG_AUDIO_MATRIX { int nAudioMatrix; // »ñÈ¡/ÉèÖõÄÓÐЧÒôƵ¾ØÕóÊýÁ¿£¬×î¶à4¸ö CFG_AUDIO_MATRIX_INFO stuAudioMatrix[CFG_MAX_AUDIO_MATRIX_NUM]; // ÒôƵ¾ØÕóÅäÖÃÊý×é } CFG_AUDIO_MATRIX; //Ò»¸öÒôƵÊä³öͨµÀ¶ÔÓ¦µÄ¾²ÒôÊäÈëͨµÀ typedef struct tagCFG_AUDIO_SILENCE_INPUTCHN { int nMatrix; //´ËÒôƵÊä³öͨµÀËù´¦µÄ¾ØÕóºÅ£¬´Ó0¿ªÊ¼ int nOutChannel; //´ËÒôƵÊä³öͨµÀºÅ£¬´Ó0¿ªÊ¼ int nInputChnConut; //±»¾²ÒôµÄÊäÈëͨµÀµÄ¸öÊý short snInputChannel[CFG_MAX_AUDIO_MATRIX_INPUT]; // ±»¾²ÒôµÄÊäÈëͨµÀ }CFG_AUDIO_SILENCE_INPUT_CHN; //¾²Òô¾ØÕóÅäÖÃÐÅÏ¢ typedef struct tagCFG_AUDIO_MATRIX_SILENCE { int nMaxInputListCount; // ÐèÒª»ñÈ¡/ÉèÖõľ²ÒôµÄÊä³öͨµÀÊýÁ¿£¬¼ÈÓû§·ÖÅä²¢¸³¸øpstSilenceInputChnµÄCFG_AUDIO_SILENCE_INPUTCHN ½á¹¹¸öÊý int nRetInputListCountOut; // ʵ¼Ê»ñÈ¡µ½µÄÊä³öͨµÀÊýÁ¿£¬ÉèÖÃÅäÖÃʱ´Ë³ÉÔ±ÎÞÒâÒå CFG_AUDIO_SILENCE_INPUT_CHN *pstSilenceInputChn; // ¸÷¸öÒôƵÊä³öͨµÀ¶ÔÓ¦µÄ¾²ÒôÊäÈëͨµÀ£¬Óû§·ÖÅä,´óСΪsizeof(CFG_AUDIO_SILENCE_INPUT_CHN)*nMaxInputListCount } CFG_AUDIO_MATRIX_SILENCE; // ºÏ³ÉͨµÀÅäÖÃ(¶ÔÓ¦CFG_CMD_COMPOSE_CHANNEL) typedef struct tagCFG_COMPOSE_CHANNEL { CFG_SPLITMODE emSplitMode; // ·Ö¸îģʽ int nChannelCombination[MAX_VIDEO_CHANNEL_NUM]; // ¸îģʽϵĸ÷×Ó´°¿ÚÏÔʾÄÚÈÝ int nChannelCount; // ·Ö¸î´°¿ÚÊýÁ¿ } CFG_COMPOSE_CHANNEL; // ÏÂλ¾ØÕóÊä³öÅäÖà typedef struct tagCFG_LOWER_MATRIX_OUTPUT { char szName[CFG_COMMON_STRING_128]; // Êä³öͨµÀÃû³Æ CFG_SPLITMODE emSplitMode; // ·Ö¸îģʽ int nInputs[CFG_MAX_LOWER_MATRIX_INPUT]; // ÊäÈëͨµÀ×é int nInputCount; // ÊäÈëͨµÀÊý } CFG_LOWER_MATRIX_OUTPUT; // ÏÂλ¾ØÕóÐÅÏ¢ typedef struct tagCFG_LOWER_MATRIX_INFO { int nOutputCount; // Êä³öͨµÀÊý CFG_LOWER_MATRIX_OUTPUT stuOutputs[CFG_MAX_LOWER_MATRIX_OUTPUT]; // Êä³öͨµÀÅäÖà } CFG_LOWER_MATRIX_INFO; // ÏÂλ¾ØÕóÅäÖà typedef struct tagCFG_LOWER_MATRIX_LIST { int nMatrixCount; // ÏÂλ¾ØÕóÊýÁ¿ CFG_LOWER_MATRIX_INFO stuMatrix[CFG_MAX_LOWER_MATRIX_NUM]; // ÏÂλ¾ØÕóÊý×é } CFG_LOWER_MATRIX_LIST; // ¿ªÊ¼Óë½áÊøÈÕÆÚ typedef struct tagCFG_DAYTIME_INFO { int nBeginMonth; // ¿ªÊ¼Ê±¼ä ÔÂ·Ý int nBeginDay; // ¿ªÊ¼Ê±¼ä ÈÕÆÚ int nEndMonth; // ½áÊøÊ±¼ä ÔÂ·Ý int nEndDay; // ½áÊøÊ±¼ä ÈÕÆÚ }CFG_DAYTIME_INFO; // ʱ¼ä¶ÎÏÞËÙÖµÅäÖà typedef struct tagCFG_TIMESPEEDLIMIT_INFO { BOOL bEnable; // ËÙ¶ÈÏÞÖÆ¿ªÆô CFG_DAYTIME_INFO stuDayTime; // ʱ¼ä¶Î¿ªÊ¼Óë½áÊøÈÕÆÚ int nDaySpeedLimit; // °×ÌìÏÞËÙÖµ£¬µ¥Î»km/h int nNightSpeedLimit; // ÍíÉÏÏÞËÙÖµ£¬µ¥Î»km/h CFG_TIME_SECTION stuTimeSection; // °×Ììʱ¼ä¶Î·¶Î§£¬ÑÚÂëÎÞЧ }CFG_TIMESPEEDLIMIT_INFO; typedef struct tagCFG_TIMESPEEDLIMIT_LIST { int nTimeSpeedLimitCount; // ÏÞËÙʱ¼ä¶Î¸öÊý CFG_TIMESPEEDLIMIT_INFO stuTimeSpeedLimit[MAX_TIMESPEEDLIMIT_NUM]; }CFG_TIMESPEEDLIMIT_LIST; // ÓïÒôÌáʾʱ¼ä typedef struct tagCFG_ALERTTIME_INFO { int nHour; // Сʱ int nMinute; // ·ÖÖÓ }CFG_ALERTTIME_INFO; // ÓïÒôÌáʾÅäÖà typedef struct tagCFG_VOICEALERT_INFO { CFG_ALERTTIME_INFO stuAlertTime; // ÓïÒôÌáÐÑʱ¼äµã£¬¶¨Ê±ÌáÐÑ int nIntervalTime; // ÌáÐѼä¸ôʱ£¬µ¥Î»Ãë char szWarnText[CFG_COMMON_STRING_256]; // ÓïÒôÌáÐÑÄÚÈÝ£¬Óû§×Ô¶¨Òå }CFG_VOICEALERT_INFO; typedef struct tagCFG_VOICEALERT_LIST { int nVoiceAlertCount; // ÓïÒôÌáʾ¸öÊý CFG_VOICEALERT_INFO stuVoiceAlert[MAX_VOICEALERT_NUM]; }CFG_VOICEALERT_LIST; // ºìÍâÃæ°å°´¼ü typedef struct tagCFG_INFRARED_KEY { char szName[CFG_COMMON_STRING_32]; // Ãæ°å°´¼üÃû³Æ char szText[CFG_COMMON_STRING_64]; // Ãæ°å°´¼üÏÔʾÎÄ×Ö£¬°´Å¥label } CFG_INFRARED_KEY; // ºìÍâÃæ°åÄ£°å typedef struct tagCFG_INFRARED_BOARD_TEMPLATE { unsigned int nID; // Ãæ°åÄ£°å±àºÅ char szName[CFG_COMMON_STRING_64]; // Ãæ°åÆ·ÅÆÐͺŶ¨Òå unsigned int nCategory; // Ãæ°åÀàÐÍ, ´óÀà, 0-DVD, 1-TV int nKeyNum; // Ãæ°å°´¼üÊýÁ¿ CFG_INFRARED_KEY stuKeys[CFG_MAX_INFRARED_KEY_NUM]; // Ãæ°å°´¼ü } CFG_INFRARED_BOARD_TEMPLATE; // ºìÍâÃæ°åÄ£°å×é typedef struct tagCFG_INFRARED_BOARD_TEMPLATE_GROUP { int nTemplateNum; // Ä£°åÊýÁ¿ CFG_INFRARED_BOARD_TEMPLATE stuTemplates[CFG_MAX_INFRARED_BOARD_TEMPLATE_NUM]; // ºìÍâÃæ°åÄ£°å } CFG_INFRARED_BOARD_TEMPLATE_GROUP; // ºìÍâÃæ°å typedef struct tagCFG_INFRARED_BOARD { unsigned int nID; // Ãæ°å±àºÅ, Ψһ±êʾ char szName[CFG_COMMON_STRING_64]; // Ãæ°å¿ØÖÆÍâÉèÃû³Æ, Óû§×Ô¶¨Òå unsigned int nCategory; // Ãæ°åÀàÐÍ, 0-DVD, 1-TV int nCommPort; // ºìÍâͨѶ¶Ë¿Ú unsigned int nTemplateID; // ¹ØÁªµÄÄ£°åID } CFG_INFRARED_BOARD; // ºìÍâÃæ°å×é typedef struct tagCFG_INFRARED_BOARD_GROUP { int nBoardNum; // ºìÍâÃæ°åÊýÁ¿ CFG_INFRARED_BOARD stuBoards[CFG_MAX_INFRARED_BOARD_NUM]; // ºìÍâÃæ°åÐÅÏ¢ } CFG_INFRARED_BOARD_GROUP; // É豸±£»îÅäÖà typedef struct tagCFG_DEVICEKEEPALIVE_INFO { BOOL bEnable; // ¿ªÆô±£»îʹÄÜ int nInterval; // ±£»îʱ¼ä¼ä¸ô£¬±ØÐëÊÇ>=10µÄÖµ£¬µ¥Î»£ºÃë int nFailTimes; // ±£»îʧ°Ü´ÎÊý£¬±£»îʧ°Ü´ÎÊýµ½´ï¸ÃÖµÈÏΪÉ豸¶ÏÏß int nWaitBootTime; // µÈ´ýÍâÉè¼ÓµçºóÆô¶¯ºó¼ì²â±£»îÐÄÌø£¬µ¥Î»£ºÃë }CFG_DEVICEKEEPALIVE_INFO; // Éè±¸ÆØ¹âÅäÖûù±¾ÐÅÏ¢ typedef struct tagCFG_VIDEOIN_EXPOSURE_BASE { BOOL bSlowShutter; // Âý¿ìÃÅʹÄÜ BYTE byExposureMode; // ÆØ¹âģʽµ÷½Ú, 0- ĬÈÏ×Ô¶¯,1- µÍÔëÉù,2- ·ÀÍÏÓ°,3- 50Hz·ÀÉÁ˸ // 4- 60Hz·ÀÉÁ˸, 5- ¹âȦÓÅÏÈ, 6- ÊÖ¶¯, 7- ÔöÒæÓÅÏÈ, 8- ¿ìÃÅÓÅÏÈ BYTE byAntiFlicker; // ·ÀÉÁ˸ģʽ 0-Outdoor 1-50Hz·ÀÉÁ˸ 2-60Hz·ÀÉÁ˸ BYTE byCompensation; // ÆØ¹â²¹³¥, [0~14] BYTE byAutoGainMax; // ×Ô¶¯ÔöÒæÉÏÏÞ, [0, 2] BYTE byGain; // ÔöÒæµµÎ», [0, 15] BYTE bySlowAutoExposure; // ÂýÆØ¹â, [0, 15] BYTE bybyReserv[2]; // ×Ö½Ú¶ÔÆë int byExposureSpeed; // ÆØ¹âËٶȵȼ¶£º0-×Ô¶¯ÆØ¹â£¬1-ÆØ¹âµÈ¼¶1£¬2-ÆØ¹âµÈ¼¶2¡­n-1×î´óÆØ¹âµÈ¼¶Êý n´øÊ±¼äÉÏÏÂÏÞµÄ×Ô¶¯ÆØ¹â n+1×Ô¶¨Òåʱ¼äÊÖ¶¯ÆØ¹â (nΪ֧³ÖµÄÆØ¹âµÈ¼¶) BYTE bySlowSpeed; // ÂýÆØ¹âµÈ¼¶ BYTE byIris; // ¹âȦÉèÖÃ, [0~100] BYTE byBacklight; // ±³¹â²¹³¥: ȡֵ·¶Î§È¡¾öÓÚÉ豸ÄÜÁ¦¼¯: 0-¹Ø±Õ 1-ÆôÓà 2-Ö¸¶¨ÇøÓò±³¹â²¹³¥ BYTE byWideDynamicRange; // ¿í¶¯Ì¬Öµ 0-¹Ø±Õ£¬1~100-ÎªÕæÊµ·¶Î§Öµ BYTE byWideDynamicRangeMode; // ¿í¶¯Ì¬Ä£Ê½, 0:¹Ø±Õ; 1:ÊÖ¶¯µ÷½Ú; 2:×Ô¶¯µ÷½Ú BYTE byGlareInhibition; // Ç¿¹âÒÖÖÆ, 0:¹Ø±Õ; 1:Èõ; 2:ÖÐ; 3:Ç¿ BYTE byDoubleExposure; // Ë«¿ìÃÅÖ§³Ö, 0:²»Ö§³Ö; 1:Ö§³ÖË«¿ìÃÅȫ֡ÂÊ; 2:Ö§³ÖË«¿ìÃŰëÖ¡ÂÊ; 3:Ö§³ÖË«¿ìÃÅȫ֡ÂʺͰëÖ¡ÂÊ BYTE byReserved; // ×Ö½Ú¶ÔÆë int nRecoveryTime; // ×Ô¶¯ÆØ¹â»Ö¸´, 0-±íʾ²»»Ö¸´, ÆäËû±íʾ»Ö¸´µÄʱ¼ä, µ¥Î»ÎªÃë float fValue1; // ×Ô¶¯ÆØ¹âʱ¼äÏÂÏÞ»òÕßÊÖ¶¯ÆØ¹â×Ô¶¨Òåʱ¼ä, [0.1~80ms] float fValue2; // ×Ô¶¯ÆØ¹âʱ¼äÉÏÏÞ, Ð費СÓÚÏÂÏÞ, [0.1~80ms] CFG_RECT stuBacklightRegion; // ±³¹â²¹³¥ÇøÓò BYTE byIrisMin; // ¹âÈ¦Çø¼äÏÂÏÞ[0~100] BYTE byIrisMax; // ¹âÈ¦Çø¼äÉÏÏÞ,ȡֵ²»Ð¡ÓÚbyIrisMin[0~100] BYTE byGainMin; // ÊÖ¶¯(Çø¼ä)µÇ½ÏÂÏÞ BYTE byGainMax; // ÊÖ¶¯(Çø¼ä)µÇ½ÏÂÏÞ }CFG_VIDEOIN_EXPOSURE_BASE; // Éè±¸ÆØ¹âÅäÖà typedef struct tagCFG_VIDEOIN_EXPOSURE_INFO { DWORD dwMaxExposureNum; // ÅäÖõÄ×î´ó¸öÊý DWORD dwRetExposureNum; // ʵ¼ÊʹÓõÄ×î´ó¸öÊý(²éѯʱ·µ»ØÊµ¼Ê½âÎö¸öÊý, ·âװʱ°´ÕÕ´ËÖµ¸öÊý·â×°) CFG_VIDEOIN_EXPOSURE_BASE *pstuVideoInExposure; // ÆØ¹âÅäÖÃÐÅÏ¢,ÓÉÓû§ÉêÇëÄÚ´æ,´óСΪsizeof(CFG_VIDEOIN_EXPOSURE_BASE)*dwMaxExposureNum }CFG_VIDEOIN_EXPOSURE_INFO; #define BACKLIGHT_CONFIG_COUNT 3 // ¹âÏß»·¾³ÅäÖøöÊý // ±³¹âģʽ typedef enum tagEM_VIDEOIN_BACKLIGHT_MODE { EM_BACKLIGHT_UNKNOW, // δ֪ģʽ EM_BACKLIGHT_OFF, // ¹Ø±Õ EM_BACKLIGHT_BACKLIGHT, // ±³¹â²¹³¥ EM_BACKLIGHT_GLAREINHIBITION, // Ç¿¹âÒÖÖÆ EM_BACKLIGHT_WIDEDYNAMIC, // ¿í¶¯Ì¬ EM_BACKLIGHT_SSA, // ³¡¾°×ÔÊÊÓ¦ } EM_VIDEOIN_BACKLIGHT_MODE; // ±³¹â²¹³¥Ä£Ê½£¬µ±±³¹âģʽΪBacklightʱÓÐЧ typedef enum tagEM_BACKLIGHT_MODE { EM_BACKLIGHT_UNKONW, // δ֪ģʽ EM_BACKLIGHT_DEFAULT, // ĬÈÏģʽ EM_BACKLIGHT_REGION, // ×Ô¶¨ÒåÇøÓòģʽ } EM_BACKLIGHT_MODE; // SSA¶Ô±È¶Èµ÷½Úģʽ,µ±±³¹âģʽΪSSAʱÓÐЧ typedef enum tagEM_INTENSITY_MODE { EM_INTENSITY_UNKNOW, // δ֪ģʽ EM_INTENSITY_DISABLE, // ¹Ø±Õ EM_INTENSITY_AUTO, // ×Ô¶¯ EM_INTENSITY_MANUAL, // ÊÖ¶¯ } EM_INTENSITY_MODE; // »·¾³¹âÏßÅäÖÃÐÅÏ¢ typedef struct tagCFG_VIDEOIN_BACKLIGHT_BASE { EM_VIDEOIN_BACKLIGHT_MODE emMode; // ±³¹âģʽ EM_BACKLIGHT_MODE emBacklightMode; // ±³¹â²¹³¥Ä£Ê½£¬µ±emMode == EM_BACKLIGHT_BACKLIGHTʱÓÐЧ CFG_RECT stuBacklightRegion; // ±³¹â²¹³¥ÇøÓò£¬µ±emBacklightMode == EM_BACKLIGHT_REGIONʱÓÐЧ int nWideDynamicRange; // ¿í¶¯Ì¬Öµ£¬emMode == EM_BACKLIGHT_WIDEDYNAMICʱÓÐЧ int nGlareInhibition; // Ç¿¹âÒÖÖÆ£¬emMode == EM_BACKLIGHT_GLAREINHIBITIONʱÓÐЧ EM_INTENSITY_MODE emInitensityMode; // SSA¶Ô±È¶Èµ÷½Úģʽ£¬emMode==EM_BACKLIGHT_SSAʱÓÐЧ int nIntensity; // SSAÊÖ¶¯µ÷ÕûÇ¿¶ÈÖµ£¬emInitensityMode==EM_INTENSITY_MANUALʱÓÐЧ } CFG_VIDEOIN_BACKLIGHT_BASE; // »·¾³¹âÏßÅäÖà typedef struct tagCFG_VIDEOIN_BACKLIGHT_INFO { // »·¾³¹âÏßÅäÖÃÐÅÏ¢,0-°×Ìì1-Ò¹Íí 2-ÆÕͨ CFG_VIDEOIN_BACKLIGHT_BASE stuVideoInBackLight[BACKLIGHT_CONFIG_COUNT]; } CFG_VIDEOIN_BACKLIGHT_INFO; ////////////////////////////////////////////////////////////////////////// // ÃŽû»ù±¾ÅäÖà // ×Ô¶¨Ò忪ÃÅ·½Ê½ typedef enum tagCFG_DOOR_OPEN_METHOD { CFG_DOOR_OPEN_METHOD_UNKNOWN = 0, CFG_DOOR_OPEN_METHOD_PWD_ONLY = 1, // Ö»ÔÊÐíÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_CARD = 2, // Ö»ÔÊÐíË¢¿¨¿ªËø CFG_DOOR_OPEN_METHOD_PWD_OR_CARD = 3, // ÃÜÂë»òË¢¿¨¿ªËø CFG_DOOR_OPEN_METHOD_CARD_FIRST = 4, // ÏÈË¢¿¨ºóÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_PWD_FIRST = 5, // ÏÈÃÜÂëºóË¢¿¨¿ªËø CFG_DOOR_OPEN_METHOD_SECTION = 6, // ·Öʱ¶Î¿ªÃÅ CFG_DOOR_OPEN_METHOD_FINGERPRINTONLY = 7, // ½öÖ¸ÎÆ¿ªËø CFG_DOOR_OPEN_METHOD_PWD_OR_CARD_OR_FINGERPRINT = 8, // ÃÜÂë»òË¢¿¨»òÖ¸ÎÆ¿ªËø CFG_DOOR_OPEN_METHOD_PWD_AND_CARD_AND_FINGERPINT = 9, // ÃÜÂë+Ë¢¿¨+Ö¸ÎÆ×éºÏ¿ªËø CFG_DOOR_OPEN_METHOD_PWD_AND_FINGERPRINT = 10, // ÃÜÂë+Ö¸ÎÆ×éºÏ¿ªËø CFG_DOOR_OPEN_METHOD_CARD_AND_FINGERPRINT = 11, // Ë¢¿¨+Ö¸ÎÆ¿ªËø CFG_DOOR_OPEN_METHOD_MULTI_PERSON = 12, // ¶àÈË¿ªËø CFG_DOOR_OPEN_METHOD_FACEIDCARD = 13, // ÈËÖ¤¶Ô±È CFG_DOOR_OPEN_METHOD_FACEIDCARD_AND_IDCARD = 14, // Éí·ÝÖ¤+ ÈËÖ¤±È¶Ô CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_CARD_OR_FINGER = 15, // ÈËÖ¤±È¶Ô»òË¢¿¨»òÖ¸ÎÆ CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_OR_CARD_OR_FINGER = 16, // (Éí·ÝÖ¤+ÈÏÖ¤±È¶Ô)»òË¢¿¨»òÖ¸ÎÆ CFG_DOOR_OPEN_METHOD_USERID_AND_PWD = 17, // UserID+ÃÜÂë CFG_DOOR_OPEN_METHOD_FACE_ONLY = 18, // Ö»ÔÊÐíÈËÁ³¿ªËø CFG_DOOR_OPEN_METHOD_FACE_AND_PWD = 19, // ÈËÁ³+ÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_FINGERPRINT_AND_PWD = 20, // Ö¸ÎÆ+ÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_FINGERPRINT_AND_FACE = 21, // Ö¸ÎÆ+ÈËÁ³¿ªËø CFG_DOOR_OPEN_METHOD_CARD_AND_FACE = 22, // Ë¢¿¨+ÈËÁ³¿ªËø CFG_DOOR_OPEN_METHOD_FACE_OR_PWD = 23, // ÈËÁ³»òÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_FINGERPRINT_OR_PWD = 24, // Ö¸ÎÆ»òÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_FINGERPRINT_OR_FACE = 25, // Ö¸ÎÆ»òÈËÁ³¿ªËø CFG_DOOR_OPEN_METHOD_CARD_OR_FACE = 26, // Ë¢¿¨»òÈËÁ³¿ªËø CFG_DOOR_OPEN_METHOD_CARD_OR_FINGERPRINT = 27, // Ë¢¿¨»òÖ¸ÎÆ¿ªËø CFG_DOOR_OPEN_METHOD_FINGERPRINT_AND_FACE_AND_PWD = 28, // Ö¸ÎÆ+ÈËÁ³+ÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_CARD_AND_FACE_AND_PWD = 29, // Ë¢¿¨+ÈËÁ³+ÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_CARD_AND_FINGERPRINT_AND_PWD = 30, // Ë¢¿¨+Ö¸ÎÆ+ÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_CARD_AND_PWD_AND_FACE = 31, // ¿¨+Ö¸ÎÆ+ÈËÁ³×éºÏ¿ªËø CFG_DOOR_OPEN_METHOD_FINGERPRINT_OR_FACE_OR_PWD = 32, // Ö¸ÎÆ»òÈËÁ³»òÃÜÂë CFG_DOOR_OPEN_METHOD_CARD_OR_FACE_OR_PWD = 33, // ¿¨»òÈËÁ³»òÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_CARD_OR_FINGERPRINT_OR_FACE = 34, // ¿¨»òÖ¸ÎÆ»òÈËÁ³¿ªËø CFG_DOOR_OPEN_METHOD_CARD_AND_FINGERPRINT_AND_FACE_AND_PWD = 35, // ¿¨+Ö¸ÎÆ+ÈËÁ³+ÃÜÂë×éºÏ¿ªËø CFG_DOOR_OPEN_METHOD_CARD_OR_FINGERPRINT_OR_FACE_OR_PWD = 36, // ¿¨»òÖ¸ÎÆ»òÈËÁ³»òÃÜÂë¿ªËø CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_OR_CARD_OR_FACE = 37, //(Éí·ÝÖ¤+ÈËÖ¤±È¶Ô)»ò Ë¢¿¨ »ò ÈËÁ³ CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_CARD_OR_FACE = 38, // ÈËÖ¤±È¶Ô »ò Ë¢¿¨(¶þάÂë) »ò ÈËÁ³ CFG_DOOR_OPEN_METHOD_CARDANDPWD_OR_FINGERPRINTANDPWD = 39, // (¿¨+ÃÜÂ룩»ò£¨Ö¸ÎÆ+ÃÜÂ룩ĬÈÏΪ2 CFG_DOOR_OPEN_METHOD_PHOTO_OR_FACE = 40, //ÈËÖ¤(ÕÕÆ¬)»òÈËÁ³ CFG_DOOR_OPEN_METHOD_FINGERPRINT = 41, //ÈËÖ¤(Ö¸ÎÆ) CFG_DOOR_OPEN_METHOD_PHOTO_AND_FINGERPRINT = 42, //ÈËÖ¤(ÕÕÆ¬+Ö¸ÎÆ) }CFG_DOOR_OPEN_METHOD; // ÃŽûµ¥Ë«ÏòÅäÖÃÀàÐÍ typedef enum tagCFG_ACCESS_PROPERTY_TYPE { CFG_ACCESS_PROPERTY_UNKNOWN = 0, CFG_ACCESS_PROPERTY_BIDIRECT, // Ë«ÏòÃŽû CFG_ACCESS_PROPERTY_UNIDIRECT, // µ¥ÏòÃŽû }CFG_ACCESS_PROPERTY_TYPE; #define CFG_MAX_ABLOCK_DOORS_NUM 4 // ×î´óµÄÃŽûµÄ»¥ËøÃÅͨµÀÊý // ÃŽûµÄAB»¥ËøµÄ×é typedef struct tagCFG_ABLOCK_DOOR_INFO { int nDoor; // ÓÐЧ»¥ËøÃŵĸöÊý int anDoor[CFG_MAX_ABLOCK_DOORS_NUM]; // »¥ËøµÄÃŵÄͨµÀºÅ }CFG_ABLOCK_DOOR_INFO; #define CFG_MAX_ABLOCK_GROUP_NUM 8 // ×î´óµÄ»¥Ëø×éÊý // ÃŽûµÄAB»¥Ëø¹¦ÄÜ, ¶à¸öÃÅͨµÀ£¬Ö»ÓÐÆäËûBͨµÀ¶¼¹Ø±Õ£¬Î¨Ò»µÄAͨµÀ²Å´ò¿ª typedef struct tagCFG_ABLOCK_INFO { BOOL bEnable; // ʹÄÜ int nDoors; // ÓÐЧ»¥Ëø×éÊý CFG_ABLOCK_DOOR_INFO stuDoors[CFG_MAX_ABLOCK_GROUP_NUM]; // »¥Ëø×éÐÅÏ¢ }CFG_ABLOCK_INFO; // ͨÐÐģʽ typedef enum tagEM_PASS_MODE { EM_PASS_MODE_UNKNOWN = -1, // δ֪ EM_PASS_MODE_IN_AUTHORIZATION_OUT_AUTHORIZATION, // ½øÊÚȨ³öÊÚȨ EM_PASS_MODE_IN_AUTHORIZATION_OUT_FREE, // ½øÊÚȨ³ö×ÔÓÉ EM_PASS_MODE_IN_AUTHORIZATION_OUT_FORBID, // ½øÊÚȨ³ö½ûÖ¹ EM_PASS_MODE_IN_FREE_OUT_AUTHORIZATION, // ½ø×ÔÓɳöÊÚȨ EM_PASS_MODE_IN_FREE_OUT_FREE, // ½ø×ÔÓɳö×ÔÓÉ EM_PASS_MODE_IN_FREE_OUT_FORBID, // ½ø×ÔÓɳö½ûÖ¹ EM_PASS_MODE_IN_FORBID_OUT_AUTHORIZATION, // ½ø½ûÖ¹³öÊÚȨ EM_PASS_MODE_IN_FORBID_OUT_FREE, // ½ø½ûÖ¹³ö×ÔÓÉ EM_PASS_MODE_IN_FORBID_OUT_FORBID, // ½ø½ûÖ¹³ö½ûÖ¹ } EM_PASS_MODE; // Õ¢»ú·À³åײģʽ typedef enum tagEM_COLLISION_MODE { EM_COLLISION_MODE_UNKNOWN = -1, EM_COLLISION_MODE_2S, // 2sËÉ¿ªÀëºÏ EM_COLLISION_MODE_5S, // 5sËÉ¿ªÀëºÏ EM_COLLISION_MODE_LEAVING, // ÈËÔ±À뿪ËÉ¿ªÀëºÏ } EM_COLLISION_MODE; // Õ¢»ú¶ÏµçÒÔºóÃŰڶ¯·ÅÏò typedef enum tagEM_DIRECTION_AFTER_POWER_OFF { EM_DIRECTION_AFTER_POWER_OFF_UNKNOWN = -1, // δ֪ EM_DIRECTION_AFTER_POWER_OFF_IN, // ½øÃÅ·½Ïò EM_DIRECTION_AFTER_POWER_OFF_OUT, // ³öÃÅ·½Ïò } EM_DIRECTION_AFTER_POWER_OFF; // ¹¤×÷ģʽ typedef enum tagEM_ASG_WORK_MODE { EM_ASG_WORK_MODE_UNKNOWN = -1, // δ֪ EM_ASG_WORK_MODE_CLOSE, // ³£±Õģʽ EM_ASG_WORK_MODE_OPEN, // ³£¿ªÄ£Ê½ } EM_ASG_WORK_MODE; // Æô¶¯Ä£Ê½ typedef enum tagEM_STARTUP_MODE { EM_STARTUP_MODE_UNKNOWN = -1, // δ֪ EM_STARTUP_MODE_NORMAL, // Õý³£Æô¶¯Ä£Ê½ EM_STARTUP_MODE_ZERO_SETTING, // ÁãλÉèÖÃÆô¶¯Ä£Ê½ EM_STARTUP_MODE_AGING_TEST, // ÀÏ»¯²âÊÔÆô¶¯Ä£Ê½ } EM_STARTUP_MODE; // Õ¢»úÀàÐÍ typedef enum tagEM_GATE_TYPE { EM_GATE_TYPE_UNKNOWN = -1, // δ֪ EM_GATE_TYPE_SWING, // °ÚÕ¢ EM_GATE_TYPE_WING, // ÒíÕ¢ } EM_GATE_TYPE; // ͨµÀ¿í¶È typedef enum tagEM_CHANNEL_WIDTH { EM_CHANNEL_WIDTH_UNKNOWN = -1, // δ֪ EM_CHANNEL_WIDTH_600, // 600mm EM_CHANNEL_WIDTH_700, // 700mm EM_CHANNEL_WIDTH_800, // 800mm EM_CHANNEL_WIDTH_900, // 900mm EM_CHANNEL_WIDTH_1000, // 1000mm EM_CHANNEL_WIDTH_1100, // 1100mm } EM_CHANNEL_WIDTH; // ÃÅͨµÀ¿ØÖÆÕ¢»ú²ÎÊý typedef struct tagCFG_ACCESS_CONTROL_ASG { EM_PASS_MODE emPassMode; // ͨÐÐģʽ UINT nOpenDoorSpeed; // ¿ªÃÅËٶȵµÎ», ·¶Î§:0-7, ¶ÔÓ¦1-8µµ UINT nPassTimeOut; // ͨÐг¬Ê±Ê±¼ä, ·¶Î§:2-60, µ¥Î»£ºÃë UINT nCloseDelayTime; // ÑÓʱ¹ØÃÅʱ¼ä, ·¶Î§:0-60, µ¥Î»£ºÃë UINT nSecurityLevel; // Õ¢»ú°²È«µÈ¼¶, ·¶Î§:0-4, ¶ÔÓ¦1-5¼¶ BOOL bSecondOpenEnable; // ¶þ´Î¿ªÆô¹¦ÄÜ¿ª¹Ø;False£º¹Ø±Õ, True£º¿ªÆô BOOL bMemoryModeEnable; // ¼ÇÒ书ÄÜ¿ª¹Ø;False£º¹Ø±Õ, True£º¿ªÆô EM_COLLISION_MODE emCollisionMode; // Õ¢»ú·À³åײģʽ UINT nVolumeLevel; // É豸ÒôÁ¿µÈ¼¶¹²8µµ, ·¶Î§:0-7, 0¼¶±íʾ¾²Òô EM_DIRECTION_AFTER_POWER_OFF emDirectionAfterPowerOff; // Õ¢»ú¶ÏµçÒÔºóÃŰڶ¯·ÅÏò EM_ASG_WORK_MODE emWorkMode; // ¹¤×÷ģʽ EM_STARTUP_MODE emStartUpMode; // Æô¶¯Ä£Ê½ int nMasterWingAngleAdjust; // Ö÷»ú²àÃÅÒíÁãλ΢µ÷½Ç¶È£¬½øÃÅ·½ÏòÓÒÊÖ±ßΪÖ÷»ú²àÃÅÒí int nSlaveWingAngleAdjust; // ´Ó»ú²àÃÅÒíÁãλ΢µ÷½Ç¶È£¬½øÃÅ·½Ïò×óÊÖ±ßΪ´Ó»ú²àÃÅÒí EM_GATE_TYPE emGateType; // Õ¢»úÀàÐÍ EM_CHANNEL_WIDTH emChannelWidth; // ͨµÀ¿í¶È BYTE byReserved[128]; // ±£Áô×Ö½Ú } CFG_ACCESS_CONTROL_ASG; // ÓïÒôID typedef enum tagCFG_EM_VOICE_ID { CFG_EM_VOICE_ID_UNKNOWN = -1, // δ֪ CFG_EM_VOICE_ID_VERIFY_SUCCESS, // ÑéÖ¤³É¹¦(ĬÈÏ) CFG_EM_VOICE_ID_OPENDOOR_SUCCESS, // ¿ªÃųɹ¦ CFG_EM_VOICE_ID_UNLOCK_SUCCESS, // ¿ªËø³É¹¦ CFG_EM_VOICE_ID_SWIPECARD_SUCCESS, // Ë¢¿¨³É¹¦ CFG_EM_VOICE_ID_WELCOME, // »¶Ó­¹âÁÙ CFG_EM_VOICE_ID_WELCOME_BACK, // »¶Ó­ÔٴιâÁÙ CFG_EM_VOICE_ID_THANKS, // лл CFG_EM_VOICE_ID_CUSTOMIZED_VOICE, // ×Ô¶¨Òå }CFG_EM_VOICE_ID; // ÃŽû¿ªÃÅÓïÒôÐÅÏ¢ typedef struct tagCFG_ACCESS_VOICE_INFO { CFG_EM_VOICE_ID emVoiceID; // ÓïÒôID char szVoiceContent[128]; // ÓïÒôÄÚÈÝ char szFileName[128]; // ÓïÒôÎļþ·¾¶¼°Ãû³Æ BYTE byReserved[1024]; // Ô¤Áô×Ö¶Î }CFG_ACCESS_VOICE_INFO; // ÃŽû¿ªÃÅÌáʾÒô typedef struct tagCFG_ACCESS_VOICE { CFG_EM_VOICE_ID emCurrentVoiceID; // µ±Ç°²¥·ÅÓïÒôID CFG_ACCESS_VOICE_INFO arrayVoiceInfo[16]; // ÓïÒôÁбí UINT nVoiceCount; // arrayVoiceInfo ¸öÊý BYTE byReserved[1024]; // Ô¤Áô×Ö¶Î }CFG_ACCESS_VOICE; // ÃŽû»ù±¾ÅäÖà typedef struct tagCFG_ACCESS_GENERAL_INFO { char szOpenDoorAudioPath[MAX_ADDRESS_LEN]; // ¿ªÃÅÒôƵÎļþ·¾¶ char szCloseDoorAudioPath[MAX_ADDRESS_LEN]; // ¹ØÃÅÒôƵÎļþ·¾¶ char szInUsedAuidoPath[MAX_ADDRESS_LEN]; // ÓÐÈËÒôƵÎļþ·¾¶ char szPauseUsedAudioPath[MAX_ADDRESS_LEN]; // ÔÝͣʹÓÃÒôƵÎļþ·¾¶ char szNotClosedAudioPath[MAX_ADDRESS_LEN]; // ÃÅδ¹ØÒôƵÎļþ·¾¶ char szWaitingAudioPath[MAX_ADDRESS_LEN]; // µÈ´ýÌáʾÒôƵÎļþ·¾¶ int nUnlockReloadTime; // ¿ªËøÃüÁîÏìÓ¦¼ä¸ôʱ¼ä,µ¥Î»Ã룬ȡֵ10¡¢15(ĬÈÏÖµ)¡¢20 int nUnlockHoldTime; // ¿ªËøÊä³ö±£³Öʱ¼ä,µ¥Î»Ã룬ȡֵ1¡¢2(ĬÈÏ)¡¢3¡¢4¡¢5¡¢6¡¢9¡¢15¡£ // ÄÜÁ¦ bool abProjectPassword; bool abAccessProperty; bool abABLockInfo; BYTE byReserved; char szProjectPassword[MAX_PASSWORD_LEN]; // ¹¤³ÌÃÜÂë CFG_ACCESS_PROPERTY_TYPE emAccessProperty; // ÃŽûͨµÀµ¥Ë«ÏòÅäÖà CFG_ABLOCK_INFO stuABLockInfo; // AB»¥ËøÐÅÏ¢ char szDuressPassword[MAX_PASSWORD_LEN]; // вÆÈÃÜÂë BOOL bDuressEnable; // вÆÈʹÄÜ BOOL bCustomPasswordEnable; // ÊÇ·ñÆôÓøöÐÔ»¯ÃÜÂë char szCommonPassword[MAX_PASSWORD_LEN]; // ¹«¹²ÃÜÂë UINT nPeakTimeSection; // Ìݿظ߷åʱ¼ä¶Î, ֵΪCFG_ACCESS_TIMESCHEDULE_INFOÅäÖõÄÊý×éϱê BOOL bPeakState; // ÊÇ·ñΪÌݿظ߷åÆÚ, TRUE:¸ß·åÆÚ, FALSE:ƽ·åÆÚ UINT nRemoteAuthTimeOut; // Ô¶³ÌУÑ鳬ʱʱ¼ä,µ¥Î»:Ãë, ĬÈÏÖµ:5Ã룬·¶Î§[1-15] BYTE arrFloorPermission[64]; // Â¥²ãȨÏÞÐÅÏ¢£¬Ã¿Ò»¸öbit¶ÔÓ¦Ò»¸öÂ¥²ã£¬bitÖµ1±íʾ¹«¹²²ã£¬0±íʾȨÏÞÂ¥²ã BOOL nFloorPermission; // arrFloorPermission Êý×é¸öÊý CFG_ACCESS_CONTROL_ASG stuAccessControlASG; // ÃÅͨµÀ¿ØÖÆÕ¢»ú²ÎÊý CFG_ACCESS_VOICE stuAccessVoice; // ÃŽû¿ªÃÅÌáʾÒô }CFG_ACCESS_GENERAL_INFO; // ÃŽû״̬ typedef enum CFG_ACCESS_STATE { ACCESS_STATE_NORMAL, // ÆÕͨ ACCESS_STATE_CLOSEALWAYS, // ³£¹Ø ACCESS_STATE_OPENALWAYS, // ³£¿ª // ³£¿ª³£±Õ״̬ÏÂ,Opendoor¿ªÃÅÎÞЧ. ACCESS_STATE_NOPERSONNC, // ÎÞÈË״̬³£±Õ ACCESS_STATE_NOPERSONNO // ÎÞÈË״̬³£¿ª }CFG_ACCESS_STATE; // ÃŽûģʽ typedef enum CFG_ACCESS_MODE { ACCESS_MODE_HANDPROTECTED, // ·À¼Ðģʽ ACCESS_MODE_SAFEROOM, // ·À»¤·¿¼äģʽ ACCESS_MODE_OTHER, // ÆäËü }CFG_ACCESS_MODE; // ·Öʱ¶Î¿ªÃÅ typedef struct tagCFG_DOOROPEN_TIMESECTION_INFO { CFG_TIME_PERIOD stuTime; // ʱ¼ä¶Î CFG_DOOR_OPEN_METHOD emDoorOpenMethod; // ¿ªÃÅģʽ }CFG_DOOROPEN_TIMESECTION_INFO; #define MAX_DOOR_TIME_SECTION 4 // ÃŽûÿÌì·Öʱʱ¼ä¶Î×î´ó¸öÊý // Ê׿¨È¨ÏÞÑé֤ͨ¹ýºóµÄÃŽû״̬ typedef enum CFG_ACCESS_FIRSTENTER_STATUS { ACCESS_FIRSTENTER_STATUS_UNKNOWN, // δ֪״̬ ACCESS_FIRSTENTER_STATUS_KEEPOPEN, // KeepOpen-Ê׿¨È¨ÏÞÑé֤ͨ¹ýºó£¬Ãű£³Ö³£¿ª ACCESS_FIRSTENTER_STATUS_NORMAL // Normal-Ê׿¨È¨ÏÞÑé֤ͨ¹ýºó£¬ÆäËûÓû§²ÅÄÜË¢¿¨(Ö¸ÎÆµÈ)Ñé֤ͨ¹ý }CFG_ACCESS_FIRSTENTER_STATUS; // Ê׿¨¿ªÃÅÐÅÏ¢ typedef struct tagCFG_ACCESS_FIRSTENTER_INFO { BOOL bEnable; // ÔÚÖ¸¶¨µÄʱ¼ä,Ö»ÓÐÓµÓÐÊ׿¨È¨ÏÞµÄÓû§Ñé֤ͨ¹ýºó£¬ÆäËûµÄÓû§²ÅÄÜË¢¿¨(Ö¸ÎÆµÈ)½øÈ룬TRUE ʹÄÜ FALSE ¹Ø±Õ CFG_ACCESS_FIRSTENTER_STATUS emStatus; // Ê׿¨È¨ÏÞÑé֤ͨ¹ýºóµÄÃŽû״̬ int nTimeIndex; // ÐèÒªÊ׿¨ÑéÖ¤µÄʱ¼ä¶Î, ֵΪͨµÀºÅ }CFG_ACCESS_FIRSTENTER_INFO; // Ô¶³Ì¿ªÃÅÑéÖ¤ typedef struct tagCFG_REMOTE_DETAIL_INFO { int nTimeOut; // ³¬Ê±Ê±¼ä, 0±íʾÓÀ¾ÃµÈ´ý, ÆäËûÖµ±íʾ³¬Ê±Ê±¼ä(µ¥Î»ÎªÃë) BOOL bTimeOutDoorStatus; // ³¬Ê±ºóµÄÃÅ״̬, TRUE:´ò¿ª, FALSE:¹Ø±Õ }CFG_REMOTE_DETAIL_INFO; // TimeOut info for handicap typedef struct tagCFG_HANDICAP_TIMEOUT_INFO { int nUnlockHoldInterval; // ÃÅËø±£³Öʱ¼ä(×Ô¶¯¹ØÃÅʱ¼ä),µ¥Î»ºÁÃë,[250, 60000] int nCloseTimeout; // ¹ØÃų¬Ê±Ê±¼ä, ³¬¹ýãÐֵδ¹Ø»á´¥·¢±¨¾¯£¬µ¥Î»Ãë,[0,9999];0±íʾ²»¼ì²â³¬Ê± }CFG_HANDICAP_TIMEOUT_INFO; // ¿ªÃÅÔ¶³ÌÑéÖ¤ typedef struct tagCFG_AUTO_REMOTE_CHECK_INFO { BOOL bEnable; // ʹÄÜÏî, TRUE: ¿ªÆô, FALSE: ¹Ø±Õ int nTimeSechdule; // ¶ÔÓ¦CFG_CMD_ACCESSTIMESCHEDULEÅäÖõÄͨµÀºÅ }CFG_AUTO_REMOTE_CHECK_INFO; // ÃŽûЭÒé typedef enum tagCFG_EM_ACCESS_PROTOCOL { CFG_EM_ACCESS_PROTOCOL_UNKNOWN, // δ֪ CFG_EM_ACCESS_PROTOCOL_LOCAL, // ±¾»ú¿ª¹ØÁ¿¿ØÖÆ CFG_EM_ACCESS_PROTOCOL_SERIAL, // ´®¿ÚЭÒé CFG_EM_ACCESS_PROTOCOL_REMOTE, // ÃŽûudp¿ªËø }CFG_EM_ACCESS_PROTOCOL; // ´®¿ÚЭÒéϵľßÌåЭÒ鹦ÄÜ typedef enum tagCFG_EM_SERIAL_PROTOCOL_TYPE { CFG_EM_SERIAL_PROTOCOL_TYPE_UNKNOWN = -1, // δ֪ CFG_EM_SERIAL_PROTOCOL_TYPE_UNUSED, // δʹÓà CFG_EM_SERIAL_PROTOCOL_TYPE_DAHUA_ACCESS_485, // ÃŽû485 CFG_EM_SERIAL_PROTOCOL_TYPE_LADDER_CONTROL, // ÌÝ¿Ø CFG_EM_SERIAL_PROTOCOL_TYPE_REMOTE_READ_HEAD, // Ô¶¾àÀë¶ÁÍ· }CFG_EM_SERIAL_PROTOCOL_TYPE; // ´ó»ªÃŽûudp¿ªËøÐÅÏ¢ typedef struct tagCFG_ACCESS_CONTROL_UDP_INFO { char szAddress[CFG_MAX_ACCESS_CONTROL_ADDRESS_LEN]; // µØÖ· int nPort; // ¶Ë¿Ú }CFG_ACCESS_CONTROL_UDP_INFO; // µ±Ç°ÃŲɼ¯×´Ì¬ typedef enum tagEM_CFG_CARD_STATE { EM_CFG_CARD_STATE_UNKNOWN = -1, // δ֪ EM_CFG_CARD_STATE_SWIPE, // ÃŽûË¢¿¨ EM_CFG_CARD_STATE_COLLECTION, // ÃŽû²É¼¯¿¨ }EM_CFG_CARD_STATE; // ÃŽûʼþÅäÖà typedef struct tagCFG_ACCESS_EVENT_INFO { char szChannelName[MAX_NAME_LEN]; // ÃŽûͨµÀÃû³Æ CFG_ACCESS_STATE emState; // ÃŽû״̬ CFG_ACCESS_MODE emMode; // ÃŽûģʽ int nEnableMode; // ÃŽûʹÄÜµçÆ½Öµ, 0:µÍµçƽÓÐЧ(¶ÏµçÆô¶¯); 1:¸ßµçƽÓÐЧ(ͨµçÆô¶¯); BOOL bSnapshotEnable; // ʼþÁª¶¯×¥Í¼Ê¹ÄÜ // ÄÜÁ¦ bool abDoorOpenMethod; bool abUnlockHoldInterval; bool abCloseTimeout; bool abOpenAlwaysTimeIndex; bool abCloseAlwaysTimeIndex; bool abHolidayTimeIndex; bool abBreakInAlarmEnable; bool abRepeatEnterAlarmEnable; bool abDoorNotClosedAlarmEnable; bool abDuressAlarmEnable; bool abDoorTimeSection; bool abSensorEnable; bool abFirstEnterEnable; bool abRemoteCheck; bool abRemoteDetail; bool abHandicapTimeOut; bool abCheckCloseSensor; bool abAutoRemoteCheck; BYTE reverse[2]; CFG_DOOR_OPEN_METHOD emDoorOpenMethod; // ¿ªÃÅ·½Ê½ int nUnlockHoldInterval; // ÃÅËø±£³Öʱ¼ä(×Ô¶¯¹ØÃÅʱ¼ä),µ¥Î»ºÁÃë,[250, 20000] int nCloseTimeout; // ¹ØÃų¬Ê±Ê±¼ä, ³¬¹ýãÐֵδ¹Ø»á´¥·¢±¨¾¯£¬µ¥Î»Ãë,[0,9999];0±íʾ²»¼ì²â³¬Ê± int nOpenAlwaysTimeIndex; // ³£¿ªÊ±¼ä¶Î, ֵΪCFG_ACCESS_TIMESCHEDULE_INFOÅäÖõÄÊý×éϱê int nCloseAlwaysTimeIndex; // ³£¹ØÊ±¼ä¶Î, ֵΪCFG_ACCESS_TIMESCHEDULE_INFOÅäÖõÄÊý×éϱê int nHolidayTimeRecoNo; // ¼ÙÆÚÄÚʱ¼ä¶Î, ֵΪ¼ÙÈռǼ¼¯µÄ¼Ç¼±àºÅ£¬¶ÔÓ¦NET_RECORDSET_HOLIDAYµÄnRecNo BOOL bBreakInAlarmEnable; // ´³È뱨¾¯Ê¹ÄÜ BOOL bRepeatEnterAlarm; // ·´Ç±±¨¾¯Ê¹ÄÜ BOOL bDoorNotClosedAlarmEnable; // ÃÅδ¹Ø±¨¾¯Ê¹ÄÜ BOOL bDuressAlarmEnable; // вÆÈ±¨¾¯Ê¹ÄÜ CFG_DOOROPEN_TIMESECTION_INFO stuDoorTimeSection[WEEK_DAY_NUM][MAX_DOOR_TIME_SECTION];// ·Öʱ¶Î¿ªÃÅÐÅÏ¢ BOOL bSensorEnable; // ÃÅ´ÅʹÄÜ CFG_ACCESS_FIRSTENTER_INFO stuFirstEnterInfo; // Ê׿¨¿ªÃÅÐÅÏ¢ BOOL bRemoteCheck; // ÊÇ·ñÐèҪƽ̨ÑéÖ¤, TRUE±íʾȨÏÞͨ¹ýºó±ØÐëҪƽ̨ÑéÖ¤ºó²ÅÄÜ¿ªÃÅ, FALSE±íʾȨÏÞÑé֤ͨ¹ýºó¿ÉÁ¢¼´¿ªÃÅ CFG_REMOTE_DETAIL_INFO stuRemoteDetail; // ÓëbRemoteCheckÅäºÏʹÓÃ, Èç¹ûÔ¶¶ËÑé֤δӦ´ð, É趨µÄÉ豸³¬Ê±Ê±¼äµ½ºó, ÊÇÕý³£¿ªÃÅ»¹ÊDz»¿ªÃÅ CFG_HANDICAP_TIMEOUT_INFO stuHandicapTimeOut; // Õë¶Ô²Ð¼²È˵ĿªÃŲÎÊý BOOL bCloseCheckSensor; // ±ÕËøÇ°ÊÇ·ñ¼ì²âÃÅ´Å // true:Ôòµ±¿ªËø±£³Öʱ¼ä¼ÆÊ±½áÊøºó£¬Ö»Óмà²âµ½ÓÐЧÃÅ´ÅÐźÅʱ£¬²Å¿ÉÒÔ»Ö¸´¹Ø±ÕËøµÄ¶¯×÷¡£ // ·´Ö®£¬Èç¹û¿ªËø±£³Öʱ¼äÒѵ½£¬µ«Î´¼ì²âµ½ÓÐЧÃÅ´ÅÐźţ¬ÔòÒ»Ö±±£³Ö¿ªËø×´Ì¬£» // false(ĬÈÏ):ÔòÖ±½Ó°´ÕÕÉ趨µÄ¿ªËø±£³Öʱ¼ä½øÐпªËø±£³ÖºÍ»Ö¸´¹Ø±ÕµÄ¶¯×÷¡£ CFG_AUTO_REMOTE_CHECK_INFO stuAutoRemoteCheck; // ¿ªÃÅÔ¶³ÌÑéÖ¤, Èç¹û¿ªÆô, ÔÚ¸Ãʱ¼ä¶ÎÄÚ, É豸ͨ¹ý¶àÈË×éºÏ¿ªÃÅʼþ֪ͨµ½Æ½Ì¨È·ÈÏÊÇ·ñ¿ÉÒÔ¿ªÃÅ BOOL bLocalControlEnable; // ±¾µØ¿ØÖÆÆôÓÃ, TRUE ÆôÓà FALSE Í£Óà BOOL bRemoteControlEnable; // Ô¶³Ì¿ØÖÆÆôÓÃ, TRUE ÆôÓà FALSE Í£Óà int nSensorDelay; // ´«¸ÐÆ÷Êä³öÑÓʱ£¬³¬¹ý´Ëʱ¼äÅжÏÓÐÈË, µ¥Î»£ºÃë¡£ 0~10 int nHumanStatusSensitivity; // ÈË״̬±ä»¯¼ì²âÁéÃô¶È,ÔÚ´Ëʱ¼äÄÚ£¬ÅжÏÓÐÈË µ¥Î»£º Ãë¡£ 0~300 int nDetectSensitivity; // ´«¸ÐÆ÷±¾ÉíµÄ¼ì²âÁéÃô¶È µ¥Î»£º%£¬ 0~100 BOOL bLockTongueEnable; // ËøÉàʹÄÜ int nABLockRoute; // AB»¥ËøÂ·ÏßÓëAB»¥ËøµÄindex¶ÔÓ¦£»-1´ú±íÎÞЧ int nDoorNotClosedReaderAlarmTime; // ÃÅδ¹Ø³¬Ê±¶Á¿¨Æ÷±¨¾¯, µ¥Î»£ºÃë BOOL bEnable; // ʹÄÜÏî,´ËͨµÀÅäÖÃÊÇ·ñÆôÓÃ,TRUEΪʹÄÜ,FALSEΪ¹Ø±Õ char szSN[CFG_MAX_SN_LEN]; // ÎÞÏßÉ豸ÐòÁкÅ,Ö»»ñÈ¡£¬²»ÄÜÉèÖà int nCloseDuration; // ÃűպÏʱ¼ä,µ¥Î»£ºÃë int nUnlockReloadInterval; // ¿ªËøÃüÁîÏìÓ¦¼ä¸ôʱ¼ä,µ¥Î»:ºÁÃë CFG_EM_ACCESS_PROTOCOL emAccessProtocol; // ÃŽûЭÒé CFG_EM_SERIAL_PROTOCOL_TYPE emProtocolType; // ´®¿ÚЭÒéϵľßÌåЭÒ鹦ÄÜ,µ±emAccessProtocolΪCFG_EM_ACCESS_PROTOCOL_SERIALʱÓÐЧ CFG_ACCESS_CONTROL_UDP_INFO stuAccessControlUdpInfo; // ÃŽûudp¿ªËøÐÅÏ¢,µ±emAccessProtocolΪCFG_EM_ACCESS_PROTOCOL_REMOTEʱÓÐЧ unsigned int nEntranceLockChannel; // ÃŽû¿ØÖÆÆ÷ϵÄ×ÓͨµÀ,µ±emAccessProtocolΪCFG_EM_ACCESS_PROTOCOL_REMOTEʱÓÐЧ BOOL bSnapshotUpload; // ʹÄÜÏî,ץͼÊÇ·ñÉÏ´«,TRUEΪץͼÉÏ´«,FALSEΪץͼ²»ÉÏ´« unsigned int nSnapUploadPos; // ץͼÉÏ´«µØÖ·,¶ÔÓ¦µÄÊÇNASÅäÖÃÏîµÄϱ꣬NASÅäÖÃΪCFG_CMD_NASEX BOOL bCustomPasswordEnable; // ÊÇ·ñÆôÓøöÐÔ»¯ÃÜÂë int nRepeatEnterTime; // ÖØ¸´½øÈëʱ¼ä,0~180Ã룬0±íʾ²»ÆôÓà int nCardNoConvert; // ¿¨ºÅת»»£¬0:²»ÐèҪת»»,1:×Ö½ÚÈ¡·´,2:°´HIDproת»» BOOL bUnAuthorizedMaliciousSwipEnable; // δÊÚȨ¶ñÒâË¢¿¨Ê¼þʹÄÜ BOOL bFakeLockedAlarmEnable; // ¼ÙËø±¨¾¯Ê¹ÄÜ EM_CFG_CARD_STATE emReadCardState; // µ±Ç°ÃŲɼ¯×´Ì¬ BOOL bHelmetEnable; // ÊÇ·ñ¼ì²â°²È«Ã± }CFG_ACCESS_EVENT_INFO; // ÃŽûË¢¿¨Ê±¼ä¶Î£¬¶Ô´ËÅäÖã¬Í¨µÀºÅʵ¼Ê±íʾÅäÖÃË÷Òý typedef struct tagCFG_ACCESS_TIMESCHEDULE_INFO { CFG_TIME_SECTION stuTime[WEEK_DAY_NUM][MAX_DOOR_TIME_SECTION]; // Ë¢¿¨Ê±¼ä¶Î BOOL bEnable; // ʱ¼ä¶ÎʹÄÜ¿ª¹Ø char szName[CFG_COMMON_STRING_128]; // ×Ô¶¨ÒåÃû³Æ }CFG_ACCESS_TIMESCHEDULE_INFO; ////////////////////////////////////////////////////////////////////////// // ÎÞÏßÍøÂçÁ¬½ÓÅäÖà // ÿÈÕÁ÷Á¿¿ØÖƲßÂÔ enum EM_CFG_DAY3GFLUXTACTIC { EM_CFG_DAY3GFLUXTACTIC_BYFLUX = 0, // °´Á÷Á¿ EM_CFG_DAY3GFLUXTACTIC_BYTIME, // °´Ê±¼ä }; // ½ÓÈëµÄÍøÂçÃû³Æ enum EM_CFG_APN { EM_CFG_APN_CTNET = 0, // ÖйúµçÐÅ EM_CFG_APN_CMNET, // ÖйúÒÆ¶¯ EM_CFG_APN_UNINET, // ÖйúÁªÍ¨ }; // Á÷Á¿±¨¾¯²ßÂÔ enum EM_CFG_DAY3GFLUXACTION { EM_CFG_DAY3GFLUXACTION_NOTHING = 0, // ÎÞ¶¯×÷ EM_CFG_DAY3GFLUXACTION_3GNETDOWN, // 3GÏÂÏß }; // Á÷Á¿Ê¹ÓòßÂÔ typedef enum tagEM_CFG_3GFLUXTACTIC { EM_3GFLUXTACTIC_UNKNOWN = -1, // δ֪ÀàÐÍ EM_3GFLUXTACTIC_BYFLUX, // °´Ô°üÁ÷Á¿ EM_3GFLUXTACTIC_BYTIME, // °´Ô°üʱ³¤ }EM_CFG_3GFLUXTACTIC; // ¼øÈ¨Ä£Ê½ typedef enum tagEM_CFG_AUTHMODE { EM_AUTHMODE_NO, // ²»ÐèÒª¼øÈ¨ EM_AUTHMODE_PAP, // PAP¼øÈ¨ EM_AUTHMODE_CHAP, // CHAP¼øÈ¨ }EM_CFG_AUTHMODE; // ¹¤×÷ģʽѡÔñ typedef enum tagEM_CFG_WORKMODE { EM_WORKMODE_UNKNOWN = -1, EM_WORKMODE_CDMA1X, // "CDMA1x" EM_WORKMODE_EVDO, // "EVDO" EM_WORKMODE_TDSCDMA, // "TD-SCDMA" EM_WORKMODE_WCDMA, // "WCDMA" EM_WORKMODE_EDGE, // "EDGE" EM_WORKMODE_TDDLTE, // "TDD-LTE" EM_WORKMODE_FDDLTE, // "FDD-LTE" }EM_CFG_WORKMODE; typedef struct tagCFG_WIRELESS_INFO { BOOL bEnable; // 2GÍøÂçʹÄÜ int nKeepAlive; // ±£»îʱ¼ä, µ¥Î»ÎªÃ룬0±íʾһֱÁ¬½Ó£¬²»×Ô¶¯¶Ï¿ª EM_CFG_APN emAPN; // ½ÓÈëµÄ2GÍøÂçÃû³Æ char szUseName[MAX_USERNAME_LEN]; // Óû§Ãû char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë EM_CFG_DAY3GFLUXTACTIC emDay3GFluxTactic; // ÿÈÕÁ÷Á¿¿ØÖƲßÂÔ DWORD dwDay3GFluxUp; // ÿÈÕÁ÷Á¿Ê¹ÓÃÉÏÏÞ, MB»òÕß·ÖÖÓ DWORD dwDay3GFluxUse; // µ±ÈÕµÄÒÑÓÃÁ÷Á¿, MB»òÕß·ÖÖÓ EM_CFG_DAY3GFLUXACTION emDay3GFluxAction; // Á÷Á¿±¨¾¯²ßÂÔ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ²¦ºÅʱ¼ä¶Î EM_CFG_AUTHMODE emAuthMode; // ¼øÈ¨Ä£Ê½ char szAPNName[MAX_CFG_APN_NAME]; // ½ÓÈëÍøÂçÃû unsigned int n3GFlux; // ʵ¼ÊʹÓÃÁ÷Á¿, [0,65535]MB»òÕß·ÖÖÓ EM_CFG_3GFLUXTACTIC em3GFluxTactic; // Á÷Á¿Ê¹ÓòßÂÔ unsigned int n3GFluxUp; // Á÷Á¿Ê¹ÓÃÉÏÏÞ EM_CFG_WORKMODE emWorkMode; // ¹¤×÷ģʽѡÔñ char szDailNumber[MAX_CFG_DAIL_NUMBER]; // ²¦ºÅºÅÂë BOOL bActivate; // ÊÇ·ñÒѾ­±»ÓïÒô»ò¶ÌÐż¤»î }CFG_WIRELESS_INFO; #define MAX_CONNECTION_TYPE_LEN 32 // Á¬½Ó·½Ê½µÄÃû×Ö³¤¶È // µÇ±¨Ê±¼äÀàÐÍ enum emCFG_REPORTWEEKDAY { emReportWeekDay_DoNotReport = -1, // ²»µÇ±¨ emReportWeekDay_Sunday, // ÿÖÜÈÕ¶¨Ê±µÇ±¨ emReportWeekDay_Monday, // ÿÖÜÒ»¶¨Ê±µÇ±¨ emReportWeekDay_Tuesday, // ÿÖܶþ¶¨Ê±µÇ±¨ emReportWeekDay_Wednesday, // ÿÖÜÈý¶¨Ê±µÇ±¨ emReportWeekDay_Thursday, // ÿÖÜËĶ¨Ê±µÇ±¨ emReportWeekDay_Friday, // ÿÖÜÎ嶨ʱµÇ±¨ emReportWeekDay_Saturday, // ÿÖÜÁù¶¨Ê±µÇ±¨ emReportWeekDay_Everyday, // ÿÌ춨ʱµÇ±¨ }; // ±¨¾¯·þÎñÆ÷µÄÅäÖà typedef struct tagCFG_ALARMSERVER_INFO { BOOL bEnable; // ʹÄÜ char szProtocol[MAX_PROTOCOL_NAME_LEN]; // ЭÒéÀàÐÍ, Ŀǰ֧³Ö"DAHUA" char szConnection[MAX_CONNECTION_TYPE_LEN]; // Á¬½Ó·½Ê½ char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû int nPort; // ¶Ë¿ÚºÅ char szUserName[MAX_USERNAME_LEN]; // Óû§Ãû char szPsw[MAX_PASSWORD_LEN]; // ÃÜÂë emCFG_REPORTWEEKDAY emReportWeekDay; // µÇ±¨ÈÕ int nHour; // µÇ±¨Ê±¼äµãµÄʱ int nMinute; // µÇ±¨Ê±¼äµãµÄ·Ö int nSecond; // µÇ±¨Ê±¼äµãµÄÃë }CFG_ALARMSERVER_INFO; #define MAX_ALARMSERVER_NUM 8 // ±¨¾¯Ö÷»úʹÓõı¨¾¯ÖÐÐļ°±¸ÓÃÖÐÐĵÄÅäÖà typedef struct tagCFG_ALARMCENTER_INFO { CFG_ALARMSERVER_INFO stuMainServer; // ±¨¾¯Ö÷»úʹÓõı¨¾¯ÖÐÐÄ·þÎñÆ÷ int nBackupAlarmServerNum; // ±¸Óñ¨¾¯ÖÐÐÄ·þÎñÆ÷µÄÊýÄ¿ CFG_ALARMSERVER_INFO stuBackupAlarmServer[MAX_ALARMSERVER_NUM]; // ±¸Óñ¨¾¯ÖÐÐÄ·þÎñÆ÷µÄÅäÖà }CFG_ALARMCENTER_INFO; ////////////////////////////////////////////////////////////////////////// // ²¼·À¡¢³··ÀÅäÖà #define MAX_SCENE_COUNT 8 // ×î´óÇ龰ģʽ¸öÊý // Ç龰ģʽ typedef enum tagemCFG_SCENE_MODE { emCFG_SCENE_MODE_UNKNOWN, // δ֪ģʽ emCFG_SCENE_MODE_OUTDOOR, // Íâ³öģʽ emCFG_SCENE_MODE_INDOOR, // ÔÚ¼Òģʽ emCFG_SCENE_MODE_WHOLE , // È«¾Öģʽ emCFG_SCENE_MODE_RIGHTNOW, // Á¢¼´Ä£Ê½ emCFG_SCENE_MODE_AUTO, // ×Ô¶¯Ä£Ê½ emCFG_SCENE_MODE_FORCE, // Ç¿ÖÆÄ£Ê½ emCFG_SCENE_MODE_SLEEPING, // ¾ÍÇÞģʽ emCFG_SCENE_MODE_CUSTOM, // ×Ô¶¨Òåģʽ }emCFG_SCENE_MODE; typedef struct tagCFG_SCENE_INFO { emCFG_SCENE_MODE emName; // ģʽÃû int nAlarmInChannelsCount; // ±¨¾¯Í¨µÀ¸öÊý int nRetAlarmInChannelsCount; // ʵ¼Ê·µ»ØµÄ±¨¾¯Í¨µÀ¸öÊý int* pnAlarmInChannels; // ÆôÓõı¨¾¯ÊäÈëͨµÀºÅÁÐ±í£¬ÐèÓû§·ÖÅäÄÚ´æ,´óСΪsizeof(int)*nAlarmInChannelsCount }CFG_SCENE_INFO; // ²¼·À³··ÀÅäÖÃ, ¶ÔÓ¦ÃüÁî(CFG_CMD_COMMGLOBAL) // ²úÆ·ÐͺŲ»ÎªAS5008ʱ, ÆôÓÃbSceneEnableºÍemCurrentScene, ²»ÆôÓÃnSceneCountºÍstuScense[MAX_SCENE_COUNT] // ²úÆ·ÐͺÅΪAS5008ʱ, ²»ÆôÓÃbSceneEnableºÍemCurrentScene, ÆôÓÃnSceneCountºÍstuScense[MAX_SCENE_COUNT] typedef struct tagCFG_COMMGLOBAL_INFO { BOOL bEnable; // TRUE: ²¼·À; FALSE: ³··À; ×÷ÓÃÓÚÕų̂É豸£¬²»Çø·ÖͨµÀ BOOL bSceneEnable; // ÊÇ·ñÆôÓÃÇ龰ģʽ emCFG_SCENE_MODE emCurrentScene; // µ±Ç°Ñ¡ÔñµÄÇ龰ģʽ int nSceneCount; // Ç龰ģʽÓÐЧ¸öÊý CFG_SCENE_INFO stuScense[MAX_SCENE_COUNT]; // Ç龰ģʽ¶¨Ò壬ÿ¸öģʽ¶ÔÓ¦Ò»¸öÅäÖà }CFG_COMMGLOBAL_INFO; #define MAX_ALARM_LIMITS_NUM 8 // ±¨¾¯ÏÞÖµ×î´ó¸öÊý // Ä£ÄâÁ¿±¨¾¯ÊäÈëͨµÀÅäÖà typedef struct tagCFG_ANALOGALARM_INFO // =>CFG_CMD_ANALOGALARM { BOOL bEnable; // ʹÄÜ¿ª¹Ø(Õų̂É豸´¦ÓÚ²¼·ÀÇÒ¸ÃͨµÀ·ÇʹÄÜʱΪÅÔ·) char szChnName[MAX_CHANNELNAME_LEN]; // ±¨¾¯Í¨µÀÃû³Æ float fUpperLimit; // Á¿³ÌÉÏÏÞ float fLowerLimit; // Á¿³ÌÏÂÏÞ int nSensitivity; // ÁéÃô¶È, µ¥Î»£º°Ù·Ö±È float fCompensation; // ²¹³¥Öµ, ¸ù¾Ý´«¸ÐÆ÷ÀàÐͶø¶¨ float fLimit1; // ±¨¾¯ÏÞ1, ²»½¨ÒéʹÓÃ, ½¨ÒéʹÓÃfAlarmLimits×Ö¶Î float fLimit2; // ±¨¾¯ÏÞ2, ²»½¨ÒéʹÓÃ, ½¨ÒéʹÓÃfAlarmLimits×Ö¶Î float fLimit3; // ±¨¾¯ÏÞ3, ²»½¨ÒéʹÓÃ, ½¨ÒéʹÓÃfAlarmLimits×Ö¶Î float fLimit4; // ±¨¾¯ÏÞ4, ²»½¨ÒéʹÓÃ, ½¨ÒéʹÓÃfAlarmLimits×Ö¶Î BYTE byMode; // ±¨¾¯Ä£Ê½, ÑÚÂë±íʾ, ¿ÉÄÜÈçÏÂÖµ1111¡¢1110¡¢1100¡¢1000¡¢0000 // 1±íʾ³¬¹ý±¨¾¯ãÐÖµ£¬0±íʾµÍÓÚ±¨¾¯ãÐÖµ // ģʽ´Ó×óµ½ÓÒ·Ö±ð¶ÔÓ¦4¸ö±¨¾¯ãÐÖµ, ÒÀ´ÎµÝÔö // Àý£º1110±íʾ³¬¹ýµÚ1¡¢2¡¢3¸ö±¨¾¯ãÐÖµ, ²¢µÍÓÚµÚ4¸ö±¨¾¯ãÐÖµ BYTE byReserve[3]; // ±£Áô×Ö½Ú CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection EM_SENSE_METHOD emSense; // ´«¸ÐÆ÷·½Ê½ char szSensorType[CFG_COMMON_STRING_64]; // ´«¸ÐÆ÷ÀàÐÍ int nSlot; // ¸ùµØÖ·, 0±íʾ±¾µØÍ¨µÀ, 1±íʾÁ¬½ÓÔÚµÚÒ»¸ö´®¿ÚÉϵÄÀ©Õ¹Í¨µÀ, 2¡¢3...ÒÔ´ËÀàÍÆ, -1±íʾÎÞЧ int nLevel1; // µÚÒ»¼¶¼¶ÁªµØÖ·, ±íʾÁ¬½ÓÔÚµÚnSlot´®¿ÚÉϵĵÚnLevel1¸ö̽²âÆ÷»òÒDZí, ´Ó0¿ªÊ¼, -1±íʾÎÞЧ bool abLevel2; // ±íʾnLevel2×Ö¶ÎÊÇ·ñ´æÔÚ int nLevel2; // µÚ¶þ¼¶¼¶ÁªµØÖ·, ±íʾÁ¬½ÓÔÚµÚnLevel1¸öµÄÒDZíÉϵÄ̽²âÆ÷ÐòºÅ, ´Ó0¿ªÊ¼ int nAlamrLimits; // ÓÐЧµÄ±¨¾¯ÏÞÖµ¸öÊý float fAlarmLimits[MAX_ALARM_LIMITS_NUM]; // ±¨¾¯ÏÞÖµ int nNotifyInterval; // Ä£ÄâÁ¿ÉÏ´«ÖÜÆÚ, µ¥Î»: Ãë int nAlarmInterval; // ´¥·¢ÉÏÏÂÏÞºóµÄÉÏ´«ÖÜÆÚ, µ¥Î»: Ãë }CFG_ANALOGALARM_INFO; // ±¨¾¯Êä³öͨµÀµÄ״̬µÄÅäÖà typedef struct tagCFG_ALARMOUT_INFO // =>CFG_CMD_ALARMOUT { int nChannelID; // ±¨¾¯Í¨µÀºÅ(0¿ªÊ¼) char szChnName[MAX_CHANNELNAME_LEN]; // ±¨¾¯Í¨µÀÃû³Æ char szOutputType[MAX_NAME_LEN]; // Êä³öÀàÐÍ, Óû§×Ô¶¨Òå int nOutputMode; // Êä³öģʽ, 0-×Ô¶¯±¨¾¯, 1-Ç¿ÖÆ±¨¾¯, 2-¹Ø±Õ±¨¾¯, 3- ¿ª¹ØÄ£Ê½ int nPulseDelay; // Âö³åģʽÊä³öʱ¼ä, µ¥Î»ÎªÃë(0-255Ãë) int nSlot; // ¸ùµØÖ·, 0±íʾ±¾µØÍ¨µÀ, 1±íʾÁ¬½ÓÔÚµÚÒ»¸ö´®¿ÚÉϵÄÀ©Õ¹Í¨µÀ, 2¡¢3...ÒÔ´ËÀàÍÆ, -1±íʾÎÞЧ int nLevel1; // µÚÒ»¼¶¼¶ÁªµØÖ·, ±íʾÁ¬½ÓÔÚµÚnSlot´®¿ÚÉϵĵÚnLevel1¸ö̽²âÆ÷»òÒDZí, ´Ó0¿ªÊ¼, -1±íʾÎÞЧ bool abLevel2; // ±íʾnLevel2×Ö¶ÎÊÇ·ñ´æÔÚ int nLevel2; // µÚ¶þ¼¶¼¶ÁªµØÖ·, ±íʾÁ¬½ÓÔÚµÚnLevel1¸öµÄÒDZíÉϵÄ̽²âÆ÷ÐòºÅ, ´Ó0¿ªÊ¼ }CFG_ALARMOUT_INFO; // Ê±Çø¶¨Òå(NTP) typedef enum __EM_CFG_TIME_ZONE_TYPE { EM_CFG_TIME_ZONE_0, // {0, 0*3600,"GMT+00:00"} EM_CFG_TIME_ZONE_1, // {1, 1*3600,"GMT+01:00"} EM_CFG_TIME_ZONE_2, // {2, 2*3600,"GMT+02:00"} EM_CFG_TIME_ZONE_3, // {3, 3*3600,"GMT+03:00"} EM_CFG_TIME_ZONE_4, // {4, 3*3600+1800,"GMT+03:30"} EM_CFG_TIME_ZONE_5, // {5, 4*3600,"GMT+04:00"} EM_CFG_TIME_ZONE_6, // {6, 4*3600+1800,"GMT+04:30"} EM_CFG_TIME_ZONE_7, // {7, 5*3600,"GMT+05:00"} EM_CFG_TIME_ZONE_8, // {8, 5*3600+1800,"GMT+05:30"} EM_CFG_TIME_ZONE_9, // {9, 5*3600+1800+900,"GMT+05:45"} EM_CFG_TIME_ZONE_10, // {10, 6*3600,"GMT+06:00"} EM_CFG_TIME_ZONE_11, // {11, 6*3600+1800,"GMT+06:30"} EM_CFG_TIME_ZONE_12, // {12, 7*3600,"GMT+07:00"} EM_CFG_TIME_ZONE_13, // {13, 8*3600,"GMT+08:00"} EM_CFG_TIME_ZONE_14, // {14, 9*3600,"GMT+09:00"} EM_CFG_TIME_ZONE_15, // {15, 9*3600+1800,"GMT+09:30"} EM_CFG_TIME_ZONE_16, // {16, 10*3600,"GMT+10:00"} EM_CFG_TIME_ZONE_17, // {17, 11*3600,"GMT+11:00"} EM_CFG_TIME_ZONE_18, // {18, 12*3600,"GMT+12:00"} EM_CFG_TIME_ZONE_19, // {19, 13*3600,"GMT+13:00"} EM_CFG_TIME_ZONE_20, // {20, -1*3600,"GMT-01:00"} EM_CFG_TIME_ZONE_21, // {21, -2*3600,"GMT-02:00"} EM_CFG_TIME_ZONE_22, // {22, -3*3600,"GMT-03:00"} EM_CFG_TIME_ZONE_23, // {23, -3*3600-1800,"GMT-03:30"} EM_CFG_TIME_ZONE_24, // {24, -4*3600,"GMT-04:00"} EM_CFG_TIME_ZONE_25, // {25, -5*3600,"GMT-05:00"} EM_CFG_TIME_ZONE_26, // {26, -6*3600,"GMT-06:00"} EM_CFG_TIME_ZONE_27, // {27, -7*3600,"GMT-07:00"} EM_CFG_TIME_ZONE_28, // {28, -8*3600,"GMT-08:00"} EM_CFG_TIME_ZONE_29, // {29, -9*3600,"GMT-09:00"} EM_CFG_TIME_ZONE_30, // {30, -10*3600,"GMT-10:00"} EM_CFG_TIME_ZONE_31, // {31, -11*3600,"GMT-11:00"} EM_CFG_TIME_ZONE_32, // {32, -12*3600,"GMT-12:00"} EM_CFG_TIME_ZONE_33, // {33, -4*3600-1800,"GMT-4:30"} EM_CFG_TIME_ZONE_34, // {34, 10.5*3600,"GMT+10:30"} EM_CFG_TIME_ZONE_35, // {35, 14*3600, "GMT+14:00"} EM_CFG_TIME_ZONE_36, // {36, -9*3600-1800,"GMT-09:30"} EM_CFG_TIME_ZONE_37, // {37, 8*3600+1800,"GMT+08:30"} EM_CFG_TIME_ZONE_38, // {38, 8*3600+2700,"GMT+08:45"} EM_CFG_TIME_ZONE_39, // {39, 12*3600+2700,"GMT+12:45"} }EM_CFG_TIME_ZONE_TYPE; // NTP·þÎñÆ÷ typedef struct tagCFG_NTP_SERVER { BOOL bEnable; char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû int nPort; // ¶Ë¿ÚºÅ }CFG_NTP_SERVER; // ʱ¼äͬ²½·þÎñÆ÷ÅäÖà typedef struct tagCFG_NTP_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø char szAddress[MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû int nPort; // ¶Ë¿ÚºÅ int nUpdatePeriod; // ¸üÐÂÖÜÆÚ£¬µ¥Î»Îª·ÖÖÓ EM_CFG_TIME_ZONE_TYPE emTimeZoneType; // Ê±Çø char szTimeZoneDesc[MAX_NAME_LEN]; // Ê±ÇøÃèÊö int nSandbyServerNum; // ʵ¼Ê±¸ÓÃNTP·þÎñÆ÷¸öÊý CFG_NTP_SERVER stuStandbyServer[MAX_NTP_SERVER]; // ±¸Ñ¡NTP·þÎñÆ÷µØÖ· int nTolerance; // (»úÆ÷ÈËʹÓÃ)±íʾÉèÖõÄʱ¼äºÍµ±Ç°Ê±¼äµÄÈݲµ¥Î»ÎªÃ룬Èç¹ûÉèÖõÄʱ¼äºÍµ±Ç°µÄʱ¼äÔÚÈݲΧÄÚ£¬Ôò²»¸üе±Ç°Ê±¼ä¡£0 ±íʾÿ´Î¶¼Ð޸ġ£ }CFG_NTP_INFO; // ¾¯ºÅÅäÖà typedef struct tagCFG_ALARMBELL_INFO { int nPersistentTime; // ¾¯ºÅÊä³ö³ÖÐøÊ±¼ä, µ¥Î»: ·ÖÖÓ(0-99), 0 ±íʾÏìһϾÍÍ£Ö¹ }CFG_ALARMBELL_INFO; #define MAX_MSG_NUMBER_LEN 32 // ¶ÌÐźÅÂëµÄ×î´ó³¤¶È #define MAX_RECEIVER_NUM 100 // ½ÓÊÕ¶ÌÐÅÓû§µÄ×î´óÊýÄ¿ // ¶ÌÐÅÀàÐÍ typedef enum tagEM_MSG_TYPE { EM_MSG_UNKNOWN = 0, // δ֪ÀàÐÍ EM_MSG_SMS, // SMS¶ÌÐÅ EM_MSG_MMS, // MMS²ÊÐÅ }EM_MSG_TYPE; // ϵͳʼþ´¥·¢²ÊÐÅ/¶ÌÐÅ·¢Ë͵ÄÅäÖà typedef struct tagCFG_EVENT_MSG_SENDING_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø EM_MSG_TYPE emMsgType; // ·¢Ë͵ÄÐÅÏ¢µÄÀàÐÍ char szTitle[MAX_NAME_LEN]; // ±êÌâ, Ò²¾ÍÊǶÌÐÅ/²ÊÐŵĵÚÒ»ÐÐÎÄ×Ö DWORD dwReceiverCount; // ÊÕÐÅÈ˺ÅÂëµÄ¸öÊý char szReceiverNumbersList[MAX_RECEIVER_NUM][MAX_MSG_NUMBER_LEN];// ÊÕÐÅÈ˺ÅÂë }CFG_EVENT_MSG_SENDING_INFO; // ÒÆ¶¯Ïà¹ØÒµÎñÅäÖà typedef struct tagCFG_MOBILE_INFO { CFG_EVENT_MSG_SENDING_INFO stuEventMsgSending; // ϵͳʱ¼ä´¥·¢µÄ·¢ËͶÌÐÅ/²ÊÐŵÄÅäÖà }CFG_MOBILE_INFO; #define MAX_CONTACT_NUM 100 // ÁªÏµÈË×î´óÊýÄ¿ // µç»°ÓïÒôÌáÐÑÅäÖà typedef struct tagCFG_PHONEEVENTNOTIFY_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø DWORD dwContactCount; // ºô½ÐºÅÂëµÄ¸öÊý char szContactNumbersList[MAX_CONTACT_NUM][MAX_MSG_NUMBER_LEN];// ºô½ÐºÅÂëÁбí }CFG_PHONEEVENTNOTIFY_INFO; // µç»°±¨¾¯ÖÐÐÄÅäÖà enum CFG_EM_SIGNALTRANSMIT_MODE { CFG_EM_SIGNALTRANSMIT_ERROR = 0, // δ֪ģʽ CFG_EM_SIGNALTRANSMIT_DTMF_5S, // "DTMF 5/S" - DTMFģʽÂý²¦ CFG_EM_SIGNALTRANSMIT_DTMF_10S, // "DTMF 10/S" - DTMFģʽ¿ì²¦ }; enum CFG_EM_PSTN_PROTOCOL_TYPE { CFG_EM_PSTN_PROTOCOL_ERROR = 0, // δ֪ÀàÐÍ CFG_EM_PSTN_PROTOCOL_CID, // "CID" - Contact ID Protocol }; typedef struct tagCFG_PSTN_ALARM_SERVER_INFO { char szName[MAX_NAME_LEN]; // µç»°±¨¾¯ÖÐÐÄÃû³Æ char szNumber[MAX_PHONE_NUMBER_LEN]; // µç»°±¨¾¯ÖÐÐĽÓÊÕ»úºÅÂë // "057188888888PPP888",¸ñʽΪ[ºÅÂë][Í£¶Ùʱ¼ä][·Ö»úºÅÂë]£¬ÆäÖÐP±íʾͣ¶Ù2Ãë¡£ CFG_EM_PSTN_PROTOCOL_TYPE emProtocol; // ЭÒéÀàÐÍ£¬ CFG_EM_SIGNALTRANSMIT_MODE emMode; // ÐźŴ«Êäģʽ int nTryCount; // ²¦ºÅ³¢ÊÔ´ÎÊý int nDelay; // ²¦ºÅÑÓʱ£¬µ¥Î»£ºÃë char szAccount[MAX_PHONE_NUMBER_LEN]; // Óû§ºÅÂë }CFG_PSTN_ALARM_SERVER_INFO; // ʼþÉϱ¨ÓÅÏȼ¶ typedef enum tagCFG_EM_PSTN_ALARM_CENTER_RULE { CFG_EM_PSTN_ALARM_CENTER_UNKNOWN, // δ֪ CFG_EM_PSTN_ALARM_CENTER_NONE, // ²»Éϱ¨ CFG_EM_PSTN_ALARM_CENTER_REGULARTEL, // µç»°ÖÐÐÄ1 CFG_EM_PSTN_ALARM_CENTER_SPLITTEL, // Ïȵ绰ÖÐÐÄ1£¬Ê§°Üµç»°ÖÐÐÄ2 CFG_EM_PSTN_ALARM_CENTER_DOUBLETEL, // µç»°ÖÐÐÄ1¡¢2ͬʱ²¦´ò CFG_EM_PSTN_ALARM_CENTER_REGULARIP, // ÍøÂ·ÖÐÐÄ1 CFG_EM_PSTN_ALARM_CENTER_SPLITIP, // ÏÈÍøÂçÖÐÐÄ1£¬Ê§°ÜÍøÂçÖÐÐÄ2 CFG_EM_PSTN_ALARM_CENTER_DOUBLEIP, // ÍøÂçÖÐÐÄ1¡¢2ͬʱÉϱ¨ CFG_EM_PSTN_ALARM_CENTER_DOUBLEMIX, // ÍøÂçÖÐÐÄ1ºÍµç»°ÖÐÐÄ1 CFG_EM_PSTN_ALARM_CENTER_IPTOTEL, // ÏÈÍøÂçÖÐÐÄ1£¬Ê§°Üµç»°ÖÐÐÄ1 CFG_EM_PSTN_ALARM_CENTER_TELTOIP // Ïȵ绰ÖÐÐÄ£¬Ê§°ÜÍøÂçÖÐÐÄ }CFG_EM_PSTN_ALARM_CENTER_RULE; typedef struct tagCFG_PSTN_ALARM_CENTER_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø int nServerCount; // µç»°±¨¾¯·þÎñÆ÷¸öÊý CFG_PSTN_ALARM_SERVER_INFO stuPSTNAlarmServer[MAX_PSTN_SERVER_NUM]; // µç»°±¨¾¯·þÎñÆ÷ CFG_EM_PSTN_ALARM_CENTER_RULE emRule; // ʼþÉϱ¨ÓÅÏȼ¶ }CFG_PSTN_ALARM_CENTER_INFO; // ÒôÁ¿ÊäÈëÅäÖà typedef struct tagCFG_AUDIO_INPUT_VOLUME { int nAudioInputCount; // ʵ¼ÊÒôƵÊäÈëͨµÀ¸öÊý char szAudioInputVolume[MAX_AUDIO_INPUT_NUM]; // ÿ¸öÔªËØ¶ÔÓ¦Ò»¸öÒôƵÊäÈëͨµÀµÄÒôÁ¿Öµ,·¶Î§[0, 100] }CFG_AUDIO_INPUT_VOLUME; // ÒôÁ¿Êä³öÅäÖà typedef struct tagCFG_AUDIO_OUTPUT_VOLUME { int nAudioOutputCount; // ʵ¼ÊÒôƵÊä³öͨµÀ¸öÊý char szAudioOutputVolume[MAX_AUDIO_OUTPUT_NUM]; // ÿ¸öÔªËØ¶ÔÓ¦Ò»¸öÒôƵÊä³öͨµÀµÄÒôÁ¿Öµ,·¶Î§[0, 100] }CFG_AUDIO_OUTPUT_VOLUME; //ָʾµÆ¿ØÖÆÅäÖà typedef struct tagCFG_LIGHT_GLOBAL { int nLightGlobalCount; // ָʾµÆÊýÁ¿ BOOL bLightEnable[MAX_LIGHT_GLOBAL_NUM]; // ָʾµÆ¿ª¹Ø×´Ì¬Êý×é }CFG_LIGHT_GLOBAL; // »ìºÏÒôƵÒôÁ¿ÅäÖà typedef struct tagCFG_AUDIO_MIX_VOLUME { int nAudioMixCount; // ʵ¼Ê»ìºÏÒôƵͨµÀ¸öÊý char szAudioMixVolume[MAX_AUDIO_MIX_NUM]; // ÿ¸öÔªËØ¶ÔÓ¦Ò»¸öרÓõÄÒôƵ»ìÒôͨµÀµÄÒôÁ¿Öµ,·¶Î§[0, 100] }CFG_AUDIO_MIX_VOLUME; // ±¨¾¯¼üÅÌÅäÖà typedef struct tagCFG_ALARMKEYBOARD_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø char szProtocolName[MAX_PROTOCOL_NAME_LEN]; // ЭÒéÃû³Æ int nPort; // ʹÓõĴ®¿Ú¶Ë¿ÚºÅ int nAddress; // É豸µØÖ·£¬Èç¹û´®¿ÚÉϹÒÁ˶à¸ö´®¿ÚÉ豸£¬Í¨¹ýÕâ¸öµØÖ·Çø·Ö CFG_COMM_PROP stuCommAttr; // ´®¿ÚÊôÐÔ }CFG_ALARMKEYBOARD_INFO; // »ñÈ¡Îļþ¹ÜÀíÄÜÁ¦ typedef struct tagCFG_CAP_FILEMANAGER { int nMaxUploadFileSize; // ×î´óµÄÉÏ´«ÎļþµÄ´óС, µ¥Î»: ×Ö½Ú }CFG_CAP_FILEMANAGER; // ¼ÏñÑÓʱÅäÖÃÐÅÏ¢ typedef struct tagCFG_RECORD_LATCH { BOOL bEnable; // ±íʾÓÐÎÞ´ËÏtrue±íʾÓдËÏfalse±íʾÎÞ´ËÏî int nRecordLatchMin; // ¼ÏñÑÓʱ×îСֵ int nRecordLatchMax; // ¼ÏñÑÓʱ×î´óÖµ } CFG_RECORD_LATCH; // ±¨¾¯Êä³öÑÓʱÅäÖÃÐÅÏ¢ typedef struct tagCFG_ALARMOUT_LATCH { BOOL bEnable; // ±íʾÓÐÎÞ´ËÏtrue±íʾÓдËÏfalse±íʾÎÞ´ËÏî int nAlarmOutLatchMin; // ±¨¾¯Êä³öÑÓʱ×îСֵ int nAlarmOutLatchMax; // ±¨¾¯Êä³öÑÓʱ×î´óÖµ } CFG_ALARMOUT_LATCH; // È¥¶¶¶¯ÅäÖÃÐÅÏ¢ typedef struct tagCFG_DEJITTER_RANGE { BOOL bEnable; // ±íʾÓÐÎÞ´ËÏtrue±íʾÓдËÏfalse±íʾÎÞ´ËÏî int nDejitterMin; // È¥¶¶¶¯×îСÔÊÐíÖµ int nDejitterMax; // È¥¶¶¶¯×î´óÔÊÐíÖµ } CFG_DEJITTER_RANGE; // »ñÈ¡É豸±¨¾¯Áª¶¯ÄÜÁ¦ typedef struct tagCFG_CAP_EVENTMANAGER_INFO { BOOL bTimeSectionEnable; // ÊÇ·ñÖ§³Öʱ¼äʼþÏìÓ¦ BOOL bRecordEnable; // ÊÇ·ñÖ§³Ö¼Ïñ BOOL bAlarmOutEnable; // ÊÇ·ñÖ§³Ö±¨¾¯Êä³ö BOOL bPtzLinkEnable; // ÊÇ·ñÖ§³ÖÔÆÌ¨Áª¶¯ BOOL bSnapshotEnable; // ÊÇ·ñÖ§³Ö¿ìÕÕ BOOL bMailEnable; // ÊÇ·ñÖ§³Ö·¢ËÍÓʼþ BOOL bBeepEnable; // ÊÇ·ñÖ§³Ö·äÃù BOOL bDejitterEnable; // ÊÇ·ñÖ§³ÖÈ¥¶¶¶¯ BOOL bTipEnable; // ÊÇ·ñÖ§³Ö±¾µØÏûÏ¢¿òÌáʾ BOOL bMonitorTourEnable; // ÊÇ·ñÖ§³ÖÂÖѯÁª¶¯ÅäÖà BOOL bMMSEnable; // ÊÇ·ñÖ§³Ö¶ÌÏûÏ¢ BOOL bSupportAlarmBell; // ÊÇ·ñÖ§³Ö¾¯ºÅÊä³ö BOOL bSupportAccessControl; // ÊÇ·ñÖ§³ÖÃŽû¿ØÖÆ BOOL bSupportAlarmServer; // ÊÇ·ñÖ§³ÖÉÏ´«ÖÁ±¨¾¯·þÎñÆ÷ BOOL bSupportPtzLinkDelay; // ÊÇ·ñÖ§³ÖÔÆÌ¨Áª¶¯ÑÓ³Ù BOOL bSupportPSTNAlarmServer; // ÊÇ·ñÖ§³ÖÉÏ´«ÖÁµç»°±¨¾¯ÖÐÐÄ BOOL bVoiceEnable; // ÊÇ·ñÖ§³ÖÓïÒô²¥±¨Ìáʾ BOOL bLogEnable; // ÊÇ·ñÖ§³ÖÁª¶¯ÈÕÖ¾ CFG_RECORD_LATCH stuRecordLatch; // ¼ÏñÑÓʱÐÅÏ¢ CFG_ALARMOUT_LATCH stuAlarmOutLatch; // ±¨¾¯Êä³öÑÓʱÐÅÏ¢ CFG_DEJITTER_RANGE stuDejitterRange; // È¥¶¶¶¯ÐÅÏ¢ DWORD nSupportDisableLinkage; // Ö§³ÖÄÄЩÁª¶¯ÏîÒ»¼ü³··À // bit0±íʾ֧³Ö³··À·äÃù // bit1±íʾ֧³Ö³··À±¾µØÌáʾ // bit2±íʾ֧³Ö³··À±¨¾¯Êä³ö // bit3±íʾ֧³Ö³··ÀÓʼþ // bit4±íʾ֧³Ö³··À±¨¾¯ÉÏ´« }CFG_CAP_EVENTMANAGER_INFO; // µçÔ´¹ÊÕÏÅäÖà typedef struct tagCFG_POWERFAULT_ONE { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ int nDetectionPeriod; // µçÔ´¹ÊÕϼì²âÖÜÆÚ µ¥Î»Ãë BOOL bEncodeBlend; // ÊÇ·ñµþ¼ÓOSD±¨¾¯Í¼±ê CFG_RECT stuPosition; // λÖà }CFG_POWERFAULT_ONE; typedef struct tagCFG_POWERFAULT_INFO { int nPowerCount; // µçÔ´¸öÊý CFG_POWERFAULT_ONE stuPowerFault[MAX_POWER_NUM]; // ±¨¾¯Áª¶¯ }CFG_POWERFAULT_INFO; // »úÏäÈëÇÖ±¨¾¯(·À²ð±¨¾¯)ÅäÖà typedef struct tagCFG_CHASSISINTRUSION_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_CHASSISINTRUSION_INFO; // ½ô¼±Ê¼þÅäÖà typedef struct tagCFG_URGENCY_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_URGENCY_INFO; /************************************************************************ ** À©Õ¹±¨¾¯Ä£¿é ***********************************************************************/ // À©Õ¹Ä£¿é±¨¾¯ÊäÈëÅäÖà typedef struct tagCFG_EXALARMINPUT_INFO { CFG_ALARMIN_INFO stuAlarmIn; // ±¨¾¯ÊäÈë²ÎÊý£¬Ïê¼û CFG_ALARMIN_INFO }CFG_EXALARMINPUT_INFO; // À©Õ¹Ä£¿é±¨¾¯Êä³öÅäÖà typedef struct tagCFG_EXALARMOUTPUT_INFO { char szChnName[MAX_CHANNELNAME_LEN]; // ±¨¾¯Í¨µÀÃû³Æ int nOutputMode; // Êä³öģʽ, 0-×Ô¶¯±¨¾¯, 1-Ç¿ÖÆ±¨¾¯, 2-¹Ø±Õ±¨¾¯ }CFG_EXALARMOUTPUT_INFO; // À©Õ¹Ä£¿é±¨¾¯ºÐÅäÖà typedef struct tagCFG_EXALARMBOX_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø char szProtocolName[MAX_PROTOCOL_NAME_LEN]; // ЭÒéÃû³Æ int nPort; // ʹÓõĴ®¿Ú¶Ë¿ÚºÅ int nAddress; // É豸µØÖ· CFG_COMM_PROP stuCommAttr; // ´®¿ÚÊôÐÔ }CFG_EXALARMBOX_INFO; // À©Õ¹±¨¾¯ºÐЭÒéÀàÐÍ enum CFG_EM_EXALARM_PROTOCOL_TYPE { CFG_EM_EXALARM_PROTOCOL_ERROR, // δ֪ÀàÐÍ CFG_EM_EXALARM_PROTOCOL_DH_ALARMBOX, // DH_AlarmBox ´ó»ª±¨¾¯ºÐЭÒé }; // À©Õ¹Ä£¿é±¨¾¯ÄÜÁ¦¼¯ typedef struct tagCFG_CAP_EXALARM_INFO { int nAlarmInCount; // À©Õ¹±¨¾¯Ä£¿éÊäÈë¸öÊý int nAlarmOutCount; // À©Õ¹±¨¾¯Ä£¿éËÙ³ö¸öÊý int nMaxDelay; // ÑÓʱ·ÀÇøµÄ×î´óÑÓʱʱ¼ä,µ¥Î»ÎªÃ룬ֻÓÐÖ§³ÖÑÓʱ·ÀÇøÊ±´Ë×ֶβÅÓÐЧ¡£ int nDefenceAreaTypeNum; // ·ÀÇøÀàÐÍÖÖÀàÊý,Ϊ0±íʾÎÞ´Ë×Ö¶Îʱ±¨¾¯ÊäÈë²»×÷Ϊ·ÀÇøÊ¹ÓᣠEM_CFG_DEFENCEAREATYPE emDefenceAreaType[MAX_ALARM_DEFENCE_TYPE_NUM]; // Ö§³Ö·ÀÇøÀàÐÍ int nExAlarmChannelNum; // À©Õ¹Ä£¿é±¨¾¯Í¨µÀÊý,ΪÁ˱£³Ö¼æÈÝÐÔ,´ËΪ0ʱ±íʾÿ¸öͨµÀÖ§³ÖËùÓÐÀàÐ͵Ĵ«¸ÐÆ÷ CFG_EXALARM_SENSE_METHOD stuExAlarmChannel[MAX_EXALARM_CHANNEL_NUM]; // ±¨¾¯Í¨µÀ¼¯ºÏ int nProtocolNum; // Ö§³ÖµÄЭÒéÖÖÀà CFG_EM_EXALARM_PROTOCOL_TYPE emProtocolType[MAX_EXALARMBOX_PROTOCOL_NUM]; // À©Õ¹±¨¾¯Ä£¿é±¨¾¯ºÐÖ§³ÖµÄЭÒéÀàÐÍ }CAP_EXALARM_INFO; // À©Õ¹Ä£¿é±¨¾¯ºÐÄÜÁ¦¼¯ typedef struct tagCFG_CAP_EXALARMBOX_INFO { int nAlarmInCount; // À©Õ¹±¨¾¯Ä£¿éÊäÈë¸öÊý int nAlarmOutCount; // À©Õ¹±¨¾¯Ä£¿éÊä³ö¸öÊý }CFG_CAP_EXALARMBOX_INFO; // ²éѯ¼Ç¼ÄÜÁ¦¼¯ÄÜÁ¦¼¯ typedef struct tagCFG_CAP_RECORDFINDER_INFO { int nMaxPageSize; // ×î´ó·ÖÒ³ÌõÊý }CFG_CAP_RECORDFINDER_INFO; // ´«¸ÐÆ÷²ÉÑù ==>CFG_CMD_SENSORSAMPLING typedef struct tagCFG_SENSORSAMPLING_INFO { int nDetectionPeriod; // ¼ì²éÖÜÆÚ, µ¥Î»£ºÃ룬°´¼ì²âÖÜÆÚʵʱÉÏ´«Î¶È״̬ int nStorageItem; // ´æ´¢ÐÅÏ¢Á¿, µ¥Î»£ºÌõÊý£¬É豸±¾µØÒÔдÎļþ·½Ê½£¬¿Éµ¼³ö£¨0~5000£© }CFG_SENSORSAMPLING_INFO; // »·Íø ==>CFG_CMD_STP typedef struct tagCFG_STP_INFO { BOOL bEnable; // ʹÄÜ }CFG_STP_INFO; #define DH_MAX_ZONE_NUM (256) // ×î´ó·ÀÇøÊýÄ¿ #define DH_MAX_PUBLIC_SUBSYSTEM_NUM (256) // ×î´ó¹«¹²×ÓϵͳÊýÄ¿ typedef struct tagCFG_ALARM_SUBSYSTEM_MSG_HANDLE { BOOL bAlarmOutEnable; // ±¨¾¯Êä³öʹÄÜ BOOL bAlarmBellEnable; // ¾¯ºÅÊä³öʹÄÜ int nAlarmOutChannelNum; // ±¨¾¯Êä³öͨµÀºÅ¸öÊý int nAlarmOutChannels[256]; // ±¨¾¯Êä³öͨµÀºÅÁбí }CFG_ALARM_SUBSYSTEM_MSG_HANDLE; // ±¨¾¯×ÓϵͳÅäÖà ==>CFG_CMD_ALARM_SUBSYSTEM typedef struct tagCFG_ALARM_SUBSYSTEM_INFO { char szName[CFG_COMMON_STRING_128]; // Ãû³Æ int nZoneNum; // ±¾µØ·ÀÇøÊýÄ¿ int anZone[DH_MAX_ZONE_NUM]; // ±¾µØ·ÀÇøºÅ int nExZoneNum; // À©Õ¹·ÀÇøÊýÄ¿ int anExZone[DH_MAX_ZONE_NUM]; // À©Õ¹·ÀÇøºÅ int nDisableDelay; // ÑÓʱ³··Àʱ¼ä£¨½øÈëÑÓʱ£©, µ¥Î»ÎªÃë int nEnableDelay; // ÑÓʱ²¼·Àʱ¼ä£¨Í˳öÑÓʱ£©, µ¥Î»ÎªÃë BOOL bIsPublic; // ÊÇ·ñΪ¹«¹²×Óϵͳ int nPublicSubSystem; // ¹«¹²ËùÊôµÄ×ÓϵͳÊýÄ¿ int anPublicSubSystem[DH_MAX_PUBLIC_SUBSYSTEM_NUM];// ¹«¹²ËùÊôµÄ¹ØÁª×Óϵͳ CFG_ALARM_SUBSYSTEM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_ALARM_SUBSYSTEM_INFO; // µç³ØµçѹµÍÅäÖà ==>CFG_CMD_BATTERY_LOW_POWER typedef struct tagCFG_BATTERY_LOW_POWER_INFO { BOOL bEnable; // ʹÄÜ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_BATTERY_LOW_POWER_INFO; // ץͼͨµÀÁª¶¯ÍâÉèÅäÖà ==>CFG_CMD_SNAPLINKAGE typedef struct tagCFG_SNAPLINKAGE_INFO { int nChannelNum; // ÊÓÆµÍ¨µÀ¹ØÁªµÄÄ£ÄâÁ¿Í¨µÀÊýÄ¿ int anAnalogAlarm[DH_MAX_ZONE_NUM]; // ÊÓÆµÍ¨µÀ¹ØÁªµÄÄ£Á¿Í¨µÀºÅ }CFG_SNAPLINKAGE_INFO; // ÊÓÆµÊäÈëÅäÖà typedef struct tagCFG_AUDIO_INPUT { char szAudioSource[CFG_COMMON_STRING_256]; // ÊäÈëÒôƵԴ. Èç¹ûÒôƵͨµÀµÄÊäÈëÊÇÓɶ෺ϳɣ¬ÓÃ|·Ö¸î. // Àý£º"Mic|LineIn|Remote" ±íʾ´ËÒôƵͨµÀÓÉMic¡¢LineInºÍÔ¶³ÌͨµÀµÄÒôƵÊäÈë¹¹³É. // "Coaxial" ͬÖá¿ÚÒôƵ // "BNC" ±¾µØBNC¿ÚÒôƵ // "HDCVI_BNC" Ô¶³ÌHDCVIÉ豸ÒôƵ // "LineIn" ÏßÐÔÊäÈë // "Mic" Âó¿Ë·çÊäÈë // "MicOut" Âó¿ËÊä³ö // "Remote" Ô¶³ÌͨµÀ(½ö¶Ô»­Öл­Í¨µÀÓÐÒâÒ壬±íʾ»­Öл­Ö÷»­ÃæÎªÔ¶³ÌͨµÀʱ£¬½«µ±Ç°Ô¶³ÌͨµÀµÄÒôƵ×÷ΪÒôƵÊäÈë) }CFG_AUDIO_INPUT; // ÓʼþÉϱ¨É豸״¿ö typedef struct tagCFG_HEALTHREPORT_INFO { BOOL bEnable; // ʹÄÜ int nInterval; // Óʼþ·¢Ëͼä¸ô,µ¥Î»ÎªÃë,·¶Î§£º0~3600 }CFG_HEALTHREPORT_INFO; // Óʼþ·¢ËÍÅäÖà ==>CFG_CMD_EMAIL typedef struct tagCFG_EMAIL_INFO { BOOL bEnable; // ʹÄÜ BOOL bSslEnable; // ÊÇ·ñÐèÒªSSL¼ÓÃÜ BOOL bTlsEnable; // ÊÇ·ñÐèÒªTLS¼ÓÃÜ char szAddress[MAX_ADDRESS_LEN]; // SMTP·þÎñÆ÷IPµØÖ·»òÍøÂçÃû int nPort; // ¶Ë¿ÚºÅ char szUserName[MAX_USERNAME_LEN]; // ÕÊ»§Ãû char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë BOOL bAnonymous; // ÄäÃûÓʼþ£¬trueÄäÃû£¬false·ÇÄäÃû char szSendAddress[MAX_ADDRESS_LEN]; // ·¢¼þÈ˵ØÖ· int nRetReciversNum; // ÓÐЧÊÕ¼þÈËÊý char szReceivers[MAX_RECEIVER_NUM][MAX_ADDRESS_LEN]; // ÊÕ¼þÈËÁбí char szTitle[MAX_MAILTITLE_LEN]; // Óʼþ±êÌâ¹Ø¼ü×Ö BOOL bOnlyAttachment; // ʼþÁª¶¯Óʼþ£¬Ö»·¢ËÍ´ø¸½¼þµÄÓʼþ BOOL bAttachEnable; // Óʼþ¸½¼þʹÄÜ int nSendInterv; // ͬһʼþµÄ×îСÓʼþ·¢Ëͼä¸ô£¬µ¥Î»ÎªÃë bool abHealthReport; // ÄÜÁ¦,Ϊtrueʱ,stuHealthReportÓÐЧ BYTE byReserved[3]; CFG_HEALTHREPORT_INFO stuHealthReport; // ÓʼþÉϱ¨É豸״¿ö BOOL bAuthentication; // ÊÇ·ñ¿ªÆôÓʼþ¼øÈ¨,TRUE±íʾÐèÒªÓÐÓû§ÃûºÍÃÜÂëÏȵÇÈëµ½SMTP·þÎñÆ÷;FALSE±íʾ²»ÐèÒªÓû§ÃûºÍÃÜÂ룬ֱ½Óͨ¹ýSMTP·þÎñÆ÷ת·¢·¢ËÍÓʼþ }CFG_EMAIL_INFO; #define MAX_TRANSFER_SERVER_NUM 10 // ×î´ó´«Êä·þÎñÆ÷¸öÊý // ´«ÊäÀëÏßÎļþÅäÖà typedef struct tagTRAFFIC_TRANSFER_OFFLINE_INFO { BOOL bEnable; // ʹÄÜ int nType; // 0: ʹÓÃIPµØÖ·; 1:ʹÓÃMACµØÖ· int nIpAddrNum; // ·µ»ØµÄIPµØÖ·¸öÊý char szIpAddr[MAX_TRANSFER_SERVER_NUM][MAX_ADDRESS_LEN]; // IPµØÖ·»òÍøÂçÃû int nMacAddrNum; // ·µ»ØµÄmacµØÖ·¸öÊý char szClientID[MAX_TRANSFER_SERVER_NUM][MAX_ADDRESS_LEN]; // macµØÖ· }TRAFFIC_TRANSFER_OFFLINE_INFO; #define MAX_DEVCOMM_NUM 16 // ×î´ó´®¿Ú¸öÊý // ¶©ÔÄ´®¿ÚÊý¾ÝÅäÖÃ-µ¥¸ö´®¿ÚÅäÖà typedef struct tagCFG_DEVCOMM_SUBSCRIBE_INFO { int nReadCycle; // ´®¿Ú¶ÁÈ¡¼ä¸ô,µ¥Î»: Ãë }CFG_DEVCOMM_SUBSCRIBE_INFO; // ¶©ÔÄ´®¿ÚÊý¾ÝÅäÖà typedef struct tagCFG_DEVCOMM_SUBSCRIBE { int nSubscribeInfoNum; // ´®¿ÚÊý¾ÝÅäÖøöÊý CFG_DEVCOMM_SUBSCRIBE_INFO stuSubscribeInfo[MAX_DEVCOMM_NUM]; // ¶©ÔÄ´®¿ÚÊý¾ÝÅäÖã¬ÊÇÒ»¸öÊý×飬ÿ¸öÔªËØ¶ÔÓ¦Ò»¸ö´®¿Ú }CFG_DEVCOMM_SUBSCRIBE; // ³µÎ»×´Ì¬¶ÔÓ¦µÄ³µÎ»Ö¸Ê¾µÆ typedef enum tagEM_CFG_PARKINGSPACE_LIGHT_COLOR { EM_CFG_PARKINGSPACE_LIGHT_RED, // ºìÉ« EM_CFG_PARKINGSPACE_LIGHT_YELLOW, // »ÆÉ« EM_CFG_PARKINGSPACE_LIGHT_BLUE, // À¶É« EM_CFG_PARKINGSPACE_LIGHT_GREEN, // ÂÌÉ« EM_CFG_PARKINGSPACE_LIGHT_PURPLE, // ×ÏÉ« EM_CFG_PARKINGSPACE_LIGHT_WHITE, // °×É« EM_CFG_PARKINGSPACE_LIGHT_PINK, // ·ÛÉ« }EM_CFG_PARKINGSPACE_LIGHT_COLOR; // ָʾµÆ×´Ì¬ typedef enum tagEM_CFG_PARKINGSPACE_LIGHT_STATE { EM_CFG_PARKINGSPACE_LIGHT_OFF, // Ãð EM_CFG_PARKINGSPACE_LIGHT_ON, // ÁÁ EM_CFG_PARKINGSPACE_LIGHT_GLINT, // ÉÁ˸ }EM_CFG_PARKINGSPACE_LIGHT_STATE; #define CFG_MAX_PARKINGSPACE_LIGHT_NUM 8 #define CFG_MAX_NET_PORT_NUM 4 typedef struct tagCFG_PARKINGSPACE_LIGHT_STATE { BYTE bySpaceFreeLinght[CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ³µÎ»¿ÕÏÐ״̬µÆÉ«,ÑÕɫö¾ÙÖµ×÷ΪÊý×éϱ꣬Êý×éÔªËØÖµ±íʾָʾµÆ×´Ì¬£¬ÈçbySpaceFreeLinght[0]=1,±íʾºìɫָʾµÆÁÁ BYTE bySpaceFullLinght[CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ³µÎ»Âú״̬µÆÉ«£¬ÑÕɫö¾ÙÖµ×÷ΪÊý×éϱ꣬Êý×éÔªËØÖµ±íʾָʾµÆ×´Ì¬£¬ÈçbySpaceFullLinght[1]=1,±íʾ»ÆÉ«Ö¸Ê¾µÆÁÁ BYTE bySpaceOverLineLight[CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ³µÎ»Ñ¹Ïß״̬µÆÉ«,ÑÕɫö¾ÙÖµ×÷ΪÊý×éϱ꣬Êý×éÔªËØÖµ±íʾָʾµÆ×´Ì¬ BYTE bySpaceOrderLight[CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ³µÎ»Ô¤¶¨×´Ì¬µÆÉ«,ÑÕɫö¾ÙÖµ×÷ΪÊý×éϱ꣬Êý×éÔªËØÖµ±íʾָʾµÆ×´Ì¬ int nNetPortNum; // Íø¿ÚÊý BYTE byNetPortAbortLight[CFG_MAX_NET_PORT_NUM][CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // Íø¿Ú¶Ï¿ª×´Ì¬µÆÉ« BYTE bySpaceSpecialLight[CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ³µÎ»×¨ÓÃ״̬µÆÉ«,ÑÕɫö¾ÙÖµ×÷ΪÊý×éÏÂ±í£¬Êý×éÔªËØÖµ±íʾָʾµÆ×´Ì¬ }CFG_PARKINGSPACE_LIGHT_STATE; // ¿Õµ÷¹¤×÷ģʽ typedef enum tagEM_CFG_AIRCONDITION_MODE { EM_CFG_AIRCONDITION_MODE_UNKNOWN = 0, EM_CFG_AIRCONDITION_MODE_AUTO, // ×Ô¶¯ EM_CFG_AIRCONDITION_MODE_HOT, // ÖÆÈÈ EM_CFG_AIRCONDITION_MODE_COLD, // ÖÆÀä EM_CFG_AIRCONDITION_MODE_WET, // ³ýʪ EM_CFG_AIRCONDITION_MODE_WIND, // ͨ·ç } EM_CFG_AIRCONDITION_MODE; // ¿Õµ÷ËÍ·çģʽ typedef enum tagEM_CFG_AIRCONDITION_WINDMODE { EM_CFG_AIRCONDITION_WINDMODE_UNKNOWN = 0, EM_CFG_AIRCONDITION_WINDMODE_STOP, // Í£Ö¹ EM_CFG_AIRCONDITION_WINDMODE_AUTO, // ×Ô¶¯ EM_CFG_AIRCONDITION_WINDMODE_HIGH, // ¸ßËÙ EM_CFG_AIRCONDITION_WINDMODE_MIDDLE, // ÖÐËÙ EM_CFG_AIRCONDITION_WINDMODE_LOW, // µÍËÙ } EM_CFG_AIRCONDITION_WINDMODE; // ´®¿ÚµØÖ· typedef struct tagCFG_COMMADDR_INFO { int nAddressNum; // ´®¿ÚµØÖ·¸öÊý int nAddress[MAX_ADDRESS_NUM]; // µØÖ·ÃèÊö,²»Í¬³§É̵ØÖ·Î»²»Í¬£¬ÓÃÊý×é±íʾ }CFG_COMMADDR_INFO; // ¿Õµ÷É豸ÅäÖÃÏêÇé typedef struct tagCFG_AIRCONDITION_DETAIL { char szDeviceID[MAX_DEVICE_ID_LEN]; // É豸±àÂë,Ωһ±êʶ·û char szName[MAX_DEVICE_MARK_LEN]; // É豸ÃèÊö char szBrand[MAX_BRAND_NAME_LEN]; // Éè±¸Æ·ÅÆ CFG_COMMADDR_INFO stuCommAddr; // ´®¿ÚµØÖ· int nState; // É豸״̬: 1-´ò¿ª,0-¹Ø±Õ int nRange; // ·ù¶ÈÖµ(ζÈ)µ¥Î»£ºÉãÊÏ¶È EM_CFG_AIRCONDITION_MODE emAirconditionMode; // ¿Õµ÷¹¤×÷ģʽ EM_CFG_AIRCONDITION_WINDMODE emAirconditionWindMode; // ¿Õµ÷ËÍ·çģʽ }CFG_AIRCONDITION_DETAIL; // ¿Õµ÷É豸ÅäÖÃ(¶ÔÓ¦CFG_CMD_AIRCONDITIONÃüÁî) typedef struct tagCFG_AIRCONDITION_INFO { int nAirConditionNum; // ¿Õµ÷É豸¸öÊý CFG_AIRCONDITION_DETAIL stuAirConditions[MAX_AIRCONDITION_NUM]; // ¿Õµ÷É豸ÅäÖÃÏêÇé, Êý×é±íʾ }CFG_AIRCONDITION_INFO; // µÆ¹âÉ豸ÀàÐÍ typedef enum tagEM_LIGHT_TYPE { EM_LIGHT_TYPE_UNKNOWN, // δ֪ÀàÐÍ EM_LIGHT_TYPE_COMMLIGHT, // ÆÕͨµÆ¹â EM_LIGHT_TYPE_LEVELLIGHT, // ¿Éµ÷¹â }EM_LIGHT_TYPE; // µÆ¹âÉ豸ÅäÖÃÐÅÏ¢ (¶ÔÓ¦ CFG_CMD_LIGHT ) typedef struct tagCFG_LIGHT_INFO { char szDeviceID[MAX_DEVICE_ID_LEN]; // É豸±àÂë,Ωһ±êʶ·û char szName[MAX_DEVICE_MARK_LEN]; // É豸ÃèÊö char szBrand[MAX_BRAND_NAME_LEN]; // Éè±¸Æ·ÅÆ CFG_COMMADDR_INFO stuCommAddr; // ´®¿ÚµØÖ· int nPositionID; // É豸ÔÚÇøÓòÖбàºÅ CFG_POLYGON stuPosition; // ×ø±ê int nState; // É豸״̬: 1-´ò¿ª,0-¹Ø±Õ int nRange; // µÆÁÁ¶È·ù¶ÈÖµ 0-7 , emType Ϊ EM_LIGHT_TYPE_ADJUSTABLE ÓÐÒâÒå EM_LIGHT_TYPE emType; // µÆ¹âÉ豸ÀàÐÍ }CFG_LIGHT_INFO; // ´°Á±É豸ÅäÖÃÐÅÏ¢ (¶ÔÓ¦ CFG_CMD_CURTAIN ) typedef struct tagCFG_CURTAIN_INFO { char szDeviceID[MAX_DEVICE_ID_LEN]; // É豸±àÂë,Ωһ±êʶ·û char szName[MAX_DEVICE_MARK_LEN]; // É豸ÃèÊö char szBrand[MAX_BRAND_NAME_LEN]; // Éè±¸Æ·ÅÆ CFG_COMMADDR_INFO stuCommAddr; // ´®¿ÚµØÖ· int nPositionID; // É豸ÔÚÇøÓòÖбàºÅ CFG_POLYGON stuPosition; // ×ø±ê int nState; // É豸״̬: 1-´ò¿ª,0-¹Ø±Õ }CFG_CURTAIN_INFO; // зçÅäÖÃÐÅÏ¢ (¶ÔÓ¦ CFG_CMD_FRESH_AIR ) typedef struct tagCFG_FRESH_AIR_INFO { char szDeviceID[MAX_DEVICE_ID_LEN]; // É豸±àÂë,Ωһ±êʶ·û char szName[MAX_DEVICE_MARK_LEN]; // É豸ÃèÊö char szBrand[MAX_BRAND_NAME_LEN]; // Éè±¸Æ·ÅÆ CFG_COMMADDR_INFO stuCommAddr; // ´®¿ÚµØÖ· }CFG_FRESH_AIR_INFO; // µØÅ¯ÅäÖÃÐÅÏ¢ (¶ÔÓ¦ CFG_CMD_GROUND_HEAT) typedef struct tagCFG_GROUND_HEAT_INFO { char szDeviceID[MAX_DEVICE_ID_LEN]; // É豸±àÂë,Ωһ±êʶ·û char szName[MAX_DEVICE_MARK_LEN]; // É豸ÃèÊö char szBrand[MAX_BRAND_NAME_LEN]; // Éè±¸Æ·ÅÆ CFG_COMMADDR_INFO stuCommAddr; // ´®¿ÚµØÖ· int nState; // É豸״̬: 1-´ò¿ª,0-¹Ø±Õ int nRange; // ·ù¶ÈÖµ(ζÈ)µ¥Î»£ºÉãÊÏ¶È }CFG_GROUND_HEAT_INFO; // ÖÇÄܼҾÓÇ龰ģʽ typedef enum tagEM_SMARTHOME_SCENE_MODE { EM_SMARTHOME_SCENE_MODE_UNKNOWN, // δ֪ EM_SMARTHOME_SCENE_MODE_AT_HOME, // ÔÚ¼Ò EM_SMARTHOME_SCENE_MODE_LEAVE_HOME, // À뿪 EM_SMARTHOME_SCENE_MODE_IN_SLEEPING, // ˯Ãß }EM_SMARTHOME_SCENE_MODE; // Çé¾°ÏêϸÐÅÏ¢ typedef struct tagCFG_PROFILE_INFO { int nSceneID; // Çé¾°ID char szBrand[MAX_BRAND_NAME_LEN]; // ³§¼ÒÃû³Æ EM_SMARTHOME_SCENE_MODE emScene; // Ç龰ģʽ CFG_COMMADDR_INFO stuCommAddr; // ´®¿ÚµØÖ· }CFG_PROFILE_INFO; #define MAX_SMARTHOME_PROFILE_COUNT 54 // ÖÇÄܼҾÓ×î´óÇ龰ģʽ¸öÊý // Ç龰ģʽÅäÖà (¶ÔÓ¦ CFG_CMD_SCENE_MODE) typedef struct tagCFG_SCENE_MODE_INFO { int nCurrentID; // µ±Ç°Ç龰ģʽIDºÅ int nProfileCount; // Ç龰ģʽ¸öÊý CFG_PROFILE_INFO stuProfiles[MAX_SMARTHOME_PROFILE_COUNT];// Ç龰ģʽÐÅÏ¢ }CFG_SCENE_MODE_INFO; //ѹËõ»Ø·ÅÅäÖÃÐÅÏ¢ typedef struct tagCFG_COMPRESS_PLAY_INFO { BOOL bEnable; // ʹÄÜ CFG_CAPTURE_SIZE emResolution; // ÊÓÆµ·Ö±æÂÊ unsigned int nBitRate; // ÊÓÆµ¹Ì¶¨ÂëÁ÷Öµ(kbps), ·¶Î§£º192~1024 }CFG_COMPRESS_PLAY_INFO; // ϵͳÀàÐÍ typedef enum tagEM_CFG_BUILDING_SYSTEM_TYPE { EM_CFG_BUILDING_SYSTEM_TYPE_UNKNOWN = 0, // δ֪ EM_CFG_BUILDING_SYSTEM_TYPE_DIGITAL, // Êý×Öϵͳ EM_CFG_BUILDING_SYSTEM_TYPE_ANALOG, // Ä£Äâϵͳ }EM_CFG_BUILDING_SYSTEM_TYPE; // VTO Â¥²ãÅäÖÃ(¶ÔÓ¦ CFG_CMD_BUILDING ÃüÁî) typedef struct tagCFG_BUILDING_INFO { char szIssueNumber[CFG_COMMON_STRING_16]; // ÆÚºÅ£¬·¶Î§£º0 ~ 99 char szSectionNumber[CFG_COMMON_STRING_16]; // ÇøºÅ£¬·¶Î§£º0 ~ 99 char szBuildingNumber[CFG_COMMON_STRING_16]; // Â¥ºÅ£¬·¶Î§£º0 ~ 999 char szBuildingUnitNumber[CFG_COMMON_STRING_16]; // Â¥ÄÚµ¥ÔªºÅ£¬·¶Î§£º0 ~ 9 char szSectionUnitNumber[CFG_COMMON_STRING_16]; // Ð¡Çøµ¥Ôª±àºÅ£¬·¶Î§£º0 ~ 999 int nUnitFloorNumber; // µ¥ÔªÂ¥²ãÊý£¬·¶Î§£º0 ~ 99 int nFloorPerRoomNumber; // Ò»²ã·¿¼äÊý£¬·¶Î§£º0 ~ 99 BOOL bCreateRoomEnable; // ´´½¨·¿¼äºÅʹÄÜ EM_CFG_BUILDING_SYSTEM_TYPE emSystemType; // ϵͳÀàÐÍ BOOL bEnableSection; // ÇøºÅʹÄÜ int nBuildingNumBit; // Â¥ºÅ³¤¶È int nTotalRoomNumber; // ·¿¼ä×ÜÊý£¬×î´óֵΪ9999 char szBuildingName[CFG_COMMON_STRING_64]; // Ãſڻú±ðÃû }CFG_BUILDING_INFO; //VTO Â¥²ãÀ©Õ¹ÅäÖÃ(¶ÔÓ¦ CFG_CMD_BUILDING_EXTERNAL ÃüÁî) typedef struct tagCFG_BUILDING_EXTERNAL_INFO { int nFloorCount; // µ¥Ôª×ܲãÊý int nRoomCount; // ÿ²ã·¿¼äÊý int nBeginNumberCount; // »ñÈ¡/ÉèÖÃʱ£¬¶ÔÓ¦µÄ¿ªÊ¼·¿¼äºÅµÄÓÐЧ¸öÊý // »ñȡʱ£¬µ±»ñÈ¡µÄ¿ªÊ¼·¿¼äºÅ¸öÊý³¬¹ýMAX_FLOOR_NUM£¬Ç°MAX_FLOOR_NUM¸öÓÐЧ // ÉèÖÃʱ£¬µ±ÉèÖõĿªÊ¼·¿¼äºÅ¸öÊý³¬¹ýMAX_FLOOR_NUM£¬Ç°MAX_FLOOR_NUM¸öÓÐЧ char szBeginNumber[MAX_FLOOR_NUM][CFG_COMMON_STRING_16]; // ¿ªÊ¼µÄ·¿¼äºÅ£¬nBeginNumber[0] ΪµÚÒ»²ã¿ªÊ¼·¿¼äºÅ£¬nBeginNumber[1] ΪµÚ¶þ²ã¿ªÊ¼·¿¼äºÅ£¬ int nTotalBuildingNumber; // Ð¡Çø×Ü´±Êý£¬·¶Î§£º0 ~ 99 int nBuildingPerUintNumber; // ÿ´±µ¥ÔªÊý£¬·¶Î§£º0 ~ 9 }CFG_BUILDING_EXTERNAL_INFO; //²¦ºÅ¹æÔò(¶ÔÓ¦ CFG_CMD_DIALRULE ÃüÁî) typedef struct tagCFG_DIALRULE_INFO { BOOL bBuildingModeEnable; //´±Ä£Ê½Ê¹ÄÜ BOOL bUnitModeEnable; //µ¥ÔªÄ£Ê½Ê¹ÄÜ BOOL bExtentionModeEnable; //·Ö»úģʽʹÄÜ char cSeperator; //²¦ºÅ·Ö¸ô·û, Èç "#", "-" BYTE byReserved[3]; //×Ö½Ú¶ÔÆë }CFG_DIALRULE_INFO; // ³µÁ¾ÓÍÏäÅäÖà typedef struct tagCFG_OIL_MASS_INFO { int nTankVolume; // ÓÍÏäÈÝ»ý£¬µ¥Î»£ºÉý int nNotifyIntervalTime; // Éϱ¨ÓÍÏäÐÅÏ¢¼ä¸ôʱ¼ä,µ¥Î»£ºÃë int nLowOil; // ÓÍÁ¿ÒºÎ»µÍ±¨¾¯°Ù·Ö±È(Àý£ºµÍÓÚ20%Ôò±¨¾¯),µ¥Î»£º°Ù·Ö±È£¬0£­100 int nAlarmIntervalTime; // Éϱ¨ÓÍÁ¿ÒºÎ»µÍµÄ±¨¾¯Ê±¼ä¼ä¸ô(¼´±¨¾¯ºó£¬Ã¿¸ôÒ»¶Îʱ¼ä¾ÍÖØ¸´±¨¾¯),µ¥Î»£ºÃë }CFG_OIL_MASS_INFO; // MAC³åͻʼþ±¨¾¯ÅäÖà typedef struct tagCFG_MACCONFLICT_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MACCONFLICT_INFO; // µÇÂ½Ëø¶¨ÅäÖÃ(¶ÔÓ¦ CFG_CMD_USERLOCKALARM) typedef struct tagCFG_USERLOCKALARM_INFO { CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_USERLOCKALARM_INFO; // µÇ½ʧ°Ü±¨¾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_LOGIN_FAILURE_ALARM) typedef struct tagCFG_LOGIN_FAILURE_ALARM { BOOL bEnable; // µÇ½ʧ°Ü±¨¾¯Ê¹ÄÜ¿ª¹Ø£¬TRUEΪ´ò¿ª£¬FALSEΪ¹Ø±Õ int nTryLoginTimes; // ³¢ÊԵǽ´ÎÊý£¬ÈôµÇ½ÃÜÂë´íÎó´ÎÊý´ïµ½³¢ÊÔ´ÎÊýºó£¬Æô¶¯±¨¾¯Áª¶¯ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_LOGIN_FAILURE_ALARM; // ¿ÕÏж¯×÷¹¦ÄÜö¾Ù typedef enum tagEM_CFG_IDLEMOTION_FUNCTION { EM_CFG_IDLEMOTION_FUNCTION_NONE = 0, // ÎÞ EM_CFG_IDLEMOTION_FUNCTION_PRESET, // Ô¤Öõã EM_CFG_IDLEMOTION_FUNCTION_SCAN, // ×Ô¶¯Ïßɨ EM_CFG_IDLEMOTION_FUNCTION_TOUR, // Ѳº½ EM_CFG_IDLEMOTION_FUNCTION_PATTERN, // ×Ô¶¯Ñ²¼£ } EM_CFG_IDLEMOTION_FUNCTION; // ¿ÕÏж¯×÷ÅäÖÃÐÅÏ¢ typedef struct tagCFG_IDLE_MOTION_INFO { BOOL bEnable; // ʹÄÜ int nTime; // Æô¶¯¿ÕÏж¯×÷µÄʱ¼ä1~60·ÖÖÓ EM_CFG_IDLEMOTION_FUNCTION emFunction; // ¿ÕÏж¯×÷¹¦ÄÜ,¼ûö¾Ù EM_CFG_IDLEMOTION_FUNCTION int nPresetId; // Ô¤Öõã±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwPresetMinºÍwPresetMax int nScanId; // ×Ô¶¯Ïßɨ±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwAutoScanMinºÍwAutoScanMax int nTourId; // Ѳº½±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwTourMinºÍwTourMax int nPatternId; // ×Ô¶¯Ñ²¼£±àºÅ, ·¶Î§²ÎÕÕCFG_PTZ_PROTOCOL_CAPS_INFOµÄwPatternMinºÍwPatternMax }CFG_IDLE_MOTION_INFO; // µçÊÓǽԤ°¸ÂÖѲÅäÖà typedef struct tagCFG_MONITORWALL_COLLECTION_TOUR_INFO { int nInterval; // ÂÖѲ¼ä¸ôʱ¼ä, µ¥Î»Ãë int nCollectionNum; // Ô¤°¸ÂÖѲ×éÖаüº¬µÄÔ¤°¸ÊýÁ¿ char szCollectionGroup[CFG_MAX_COLLECTION_NUM][CFG_COMMON_STRING_128]; // Ô¤°¸ÂÖѲ×éÄÚÈÝ, ÿһÏîÊÇÔ¤°¸µÄÃû³Æ }CFG_MONITORWALL_COLLECTION_TOUR_INFO; // PSTNµôÏßʼþÅäÖà typedef struct tagCFG_PSTN_BREAK_LINE_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_PSTN_BREAK_LINE_INFO; // ÍøÂç²É¼¯É豸ÅäÖÃ, ¶ÔÓ¦CFG_CMD_NET_COLLECTIONÃüÁî typedef struct tagCFG_NET_COLLECTION_INFO { char szIp[MAX_ADDRESS_LEN]; // IP int nPort; // ¶Ë¿Ú }CFG_NET_COLLECTION_INFO; // ÎïÀí½Ó¿ÚÀàÐÍ typedef enum tagEM_CFG_INTERFACE_TYPE { EM_CFG_INTERFACE_TYPE_UNKNOWN = 0, EM_CFG_INTERFACE_TYPE_COMM, // CommÀàÐÍ, ¼´´®¿Ú, ¶ÔÓ¦CFG_COMMGROUP_INFOÅäÖà EM_CFG_INTERFACE_TYPE_NETCOLLECTION, // NetCollectionÀàÐÍ, ¼´ÍøÂç²É¼¯µã, ¶ÔÓ¦CFG_NET_COLLECTION_INFOÅäÖà }EM_CFG_INTERFACE_TYPE; // ÐéÄâSlot½ÚµãÓë¾ßÌåÎïÀíÉ豸µÄ¶ÔÓ¦¹ØÏµ, ¶ÔÓ¦CFG_CMD_ALARM_SLOT_BONDÃüÁî // ÓÉÓÚµÚÒ»¸öͨµÀ(¼´Í¨µÀ0)ÒѾ­ÓÚ±¾µØÍ¨µÀ°ó¶¨£¬¹ÊÎÞ·¨ÉèÖÃ; // ÆäËûͨµÀ¶ÔÓ¦Slot½ÚµãÐòºÅ, ÔªËØÄÚÈÝΪÏàÓ¦ÎïÀí½Ó¿Ú typedef struct tagCFG_ALARM_SLOT_BOND_INFO { EM_CFG_INTERFACE_TYPE emType; // ÎïÀí½Ó¿ÚÀàÐÍ int nIndex; // ͨµÀºÅ, ´Ó0¿ªÊ¼ // ÀàÐÍΪEM_CFG_INTERFACE_TYPE_COMMʱ, ±íʾCFG_COMMGROUP_INFOÅäÖõÄÊý×éϱê; // ÀàÐÍΪEM_CFG_INTERFACE_TYPE_NETCOLLECTIONʱ, ±íʾCFG_NET_COLLECTION_INFOÅäÖõÄÊý×éϱê; }CFG_ALARM_SLOT_BOND_INFO; #define CFG_MAX_CTRLTYPE_NUM 16 // ×î´óµÀÕ¢¿ØÖÆ·½Ê½ // µÀÕ¢¿ØÖÆ·½Ê½Ã¶¾Ù typedef enum tagEM_CFG_TRAFFICSTROBE_CTRTYPE { EM_CFG_CTRTYPE_UNKNOWN = 0, // 䶨Òå EM_CFG_CTRTYPE_TRAFFICTRUSTLIST, // ͨ¹ý°×Ãûµ¥¿ØÖÆÊÇ·ñ¿ªÕ¢£»Ö»Óа×Ãûµ¥ÄÚ³µÁ¾²Å¿ªÕ¢ EM_CFG_CTRTYPE_ALLSNAPCAR, // Õë¶ÔËùÓÐ×¥ÅijµÁ¾¶¼¿ªÕ¢ EM_CFG_CTRTYPE_ORDER, // ͨ¹ýÉϲãÏ·¢µÄÃüÁբ } EM_CFG_TRAFFICSTROBE_CTRTYPE; // ËùÓгµ¿ªÕ¢ÖÖÀà typedef enum tagEM_CFG_ALL_SNAP_CAR { EM_CFG_ALL_SNAP_CAR_UNKNOWN, // δ֪¿ªÕ¢ÖÖÀà EM_CFG_ALL_SNAP_CAR_PLATE, // ËùÓÐÓÐÅÆ³µ³µÁ¾ EM_CFG_ALL_SNAP_CAR_NOPLATE, // ËùÓÐÎÞÅÆ³µ³µÁ¾ }EM_CFG_ALL_SNAP_CAR; // µÀÕ¢ÅäÖÃÐÅÏ¢(¶ÔÓ¦ CFG_CMD_TRAFFICSTROBE ÃüÁî) typedef struct tagCFG_TRAFFICSTROBE_INFO { BOOL bEnable; // ʹÄÜ int nCtrlTypeCount; // µÀÕ¢¿ØÖÆ·½Ê½¸öÊý EM_CFG_TRAFFICSTROBE_CTRTYPE emCtrType[CFG_MAX_CTRLTYPE_NUM]; // µÀÕ¢¿ØÖÆ·½Ê½,¼ûö¾Ù EM_CFG_TRAFFICSTROBE_CTRTYPE CFG_ALARM_MSG_HANDLE stuEventHandler; // ¿ªÆôµÀÕ¢Áª¶¯²ÎÊý CFG_ALARM_MSG_HANDLE stuEventHandlerClose; // ¹Ø±ÕµÀÕ¢Áª¶¯²ÎÊý int nAllSnapCarCount; // ËùÓгµ¿ªÕ¢ÖÖÀà¸öÊý EM_CFG_ALL_SNAP_CAR emAllSnapCar[MAX_ALL_SNAP_CAR_COUNT]; // ËùÓгµ¿ªÕ¢ÖÖÀà }CFG_TRAFFICSTROBE_INFO; #define CFG_MAX_PLATEENABLE_NUM 16 // ×î´óʹÄܹý³µ³µÅƲ¥±¨¸öÊý #define CFG_MAX_TRAFFICVOICE_NUM 8 // ×î´óÓïÒô²¥±¨ÅäÖøöÊý // ʹÄܹý³µ³µÅƲ¥±¨¹¦ÄÜö¾Ù typedef enum tagEM_CFG_PLATEENABLE_TYPE { EM_CFG_PLATEENABLE_UNKNOWN = 0, // 䶨Òå EM_CFG_PLATEENABLE_TIPS, // ²¥·Å»¶Ó­´Ê EM_CFG_PLATEENABLE_PLATE, // ²¥·Å³µÅÆ } EM_CFG_PLATEENABLE_TYPE; // ÖÇÄܽ»Í¨ÓïÒô²¥±¨ÐÅÏ¢ typedef struct tagCFG_TRAFFICVOICE_BROADCAST_INFO { int nEnableCount; // ʹÄܲ¥±¨¸öÊý EM_CFG_PLATEENABLE_TYPE emEnable[CFG_MAX_PLATEENABLE_NUM]; // ʹÄܹý³µ³µÅƲ¥±¨,¼ûö¾Ù EM_CFG_PLATEENABLE_TYPE char szNormalCar[MAX_PATH]; // ÆÕͨ³µÁ¾¹ý³µ²¥±¨ÄÚÈÝ,ÀýÈç:²¥±¨ÓïÒôÎļþ"»¶Ó­¹âÁÙ.wav" char szTrustCar[MAX_PATH]; // ÐÅÈγµÁ¾¹ý³µ²¥±¨ÄÚÈÝ,ÀýÈç:²¥±¨ÓïÒôÎļþ"»¶Ó­¹âÁÙ.wav" char szSuspiciousCar[MAX_PATH]; // ÏÓÒɳµÁ¾¹ý³µ²¥±¨ÄÚÈÝ,ÀýÈç:²¥±¨ÓïÒôÎļþ"·Ç×¢²á³µÁ¾.wav" }CFG_TRAFFICVOICE_BROADCAST_INFO; // ÖÇÄܽ»Í¨ÓïÒô²¥±¨ÅäÖÃ(¶ÔÓ¦ CFG_CMD_TRAFFICVOICE ÃüÁî) typedef struct tagCFG_TRAFFICVOICE_BROADCAST { int nTrafficVoiceNum; // ÓïÒô²¥±¨ÅäÖøöÊý CFG_TRAFFICVOICE_BROADCAST_INFO stuTrafficVoices[CFG_MAX_TRAFFICVOICE_NUM]; // ÓïÒô²¥±¨ÅäÖÃÏêÇé, Êý×é±íʾ }CFG_TRAFFICVOICE_BROADCAST; // Í£³µÊ±¼äÅäÖà typedef struct tagCFG_STANDING_TIME_INFO { BOOL bEnable; // ÊÇ·ñÆôÓÃÍ£³µ³¬Ê±±¨¾¯¹¦ÄÜ int nUpperlimit; // Í£Áôʱ¼äÉÏÏÞ, µ¥Î»£º·ÖÖÓ int nInterval; // DH_ALARM_VEHICLE_STANDING_OVER_TIMEʼþÉϱ¨¼ä¸ô, µ¥Î»£ºÃë, -1±íʾ²»ÐèÒªÖØ¸´Éϱ¨ } CFG_STANDING_TIME_INFO; // µç×ÓΧÀ¸±¨¾¯Ê±¼ä¶ÎÐÅÏ¢ typedef struct tagENCLOSURE_TIME_SCHEDULE_INFO { int nEnclosureID; // ΧÀ¸µÄIDºÅ CFG_TIME_SECTION stuTimeSection[MAX_TIME_SCHEDULE_NUM][MAX_REC_TSECT]; // ʼþÏìӦʱ¼ä¶Î } ENCLOSURE_TIME_SCHEDULE_INFO; // µç×ÓΧÀ¸×î´óÊýÁ¿ #define MAX_ENCLOSURE_NUM 128 // µç×ÓΧÀ¸±¨¾¯Ê±¼ä¶ÎÅäÖà typedef struct tagCFG_ENCLOSURE_TIME_SCHEDULE_INFO { int nEnclosureInfoCount; // ΧÀ¸ÊýÁ¿ ENCLOSURE_TIME_SCHEDULE_INFO stuEnclosureInfo[MAX_ENCLOSURE_NUM]; // ΧÀ¸ÐÅÏ¢ char szVersion[CFG_COMMON_STRING_64]; // ΧÀ¸Ê±¼ä¶ÎÅäÖð汾ºÅ } CFG_ENCLOSURE_TIME_SCHEDULE_INFO; // Í£³µ³¡³öÈë¿Ú¿ØÖÆÆ÷¹¤×÷ģʽ typedef enum tagEM_ECK_WORK_MODE_TYPE { EM_ECK_WORK_MODE_UNKNOWN = 0, EM_ECK_WORK_MODE_IMPORT, // Èë¿Ú¿ØÖÆ»ú EM_ECK_WORK_MODE_EXPORT, // ³ö¿Ú¿ØÖÆ»ú }EM_ECK_WORK_MODE_TYPE; // Í£³µ³¡³öÈë¿Ú¿ØÖÆÆ÷¿ªÕ¢Ä£Ê½ typedef enum tagEM_ECK_STROBE_MODE_TYPE { EM_ECK_STROBE_MODE_UNKNOWN = 0, EM_ECK_STROBE_MODE_ON, // ʼÖÕ¿ªÕ¢ EM_ECK_STROBE_MODE_OFF, // ʼÖÕ¹ØÕ¢ EM_ECK_STROBE_MODE_AUTO, // ×Ô¶¯¿ª¹ØÕ¢ }EM_ECK_STROBE_MODE_TYPE; // Í£³µ³¡³öÈë¿Ú¿ØÖÆÆ÷¹ö¶¯ÆÁ³õʼ¹ö¶¯ËÙ¶È typedef enum tagEM_ECK_LED_SPEED_TYPE { EM_ECK_LED_SPEED_UNKNOWN = 0, EM_ECK_LED_SPEED_LOW, // Âý EM_ECK_LED_SPEED_NORMAL, // Õý³£ EM_ECK_LED_SPEED_HIGH, // ¿ì }EM_ECK_LED_SPEED_TYPE; // Í£³µ³¡³öÈë¿Ú¿ØÖÆÆ÷LED¹ö¶¯ÆÁÅäÖà typedef struct tagCFG_ECK_LED_INFO { EM_ECK_LED_SPEED_TYPE emLEDSpeed; // LED¹ö¶¯ÆÁ³õʼ¹ö¶¯ËÙ¶È char szCustomData[CFG_COMMON_STRING_512];// LED¹ö¶¯ÆÁ³õʼ×Ô¶¨Òå×Ö·û, ÓÐЧ³¤¶È0-256×Ö½Ú }CFG_ECK_LED_INFO; // Í£³µ³¡³öÈë¿Ú¿ØÖÆÆ÷ÅäÖà typedef struct tagCFG_ECKCONFIG_INFO { EM_ECK_WORK_MODE_TYPE emWorkMode; // ¹¤×÷ģʽ EM_ECK_STROBE_MODE_TYPE emStrobeMode; // ¿ªÕ¢Ä£Ê½ BOOL bForceOffline; // Ç¿ÖÆÍÑ»ú¿ª¹Ø, TRUE:Ç¿ÖÆÍÑ»ú¹¤×÷, FALSE:½ÓÊÜÆ½Ì¨¿ØÖƹ¤×÷ BOOL bLoopSence; // µØ¸Ð¹¦ÄÜ¿ª¹Ø, TRUE:¿ªÆôµØ¸Ð¹¦ÄÜ, FALSE:¹Ø±ÕµØ¸Ð¹¦ÄÜ CFG_ECK_LED_INFO stuLED; // ¹ö¶¯ÆÁÄ»ÅäÖà }CFG_ECKCONFIG_INFO; // ¼ýÍ·Ö¸Ïò typedef enum tagEM_DIRECTION { EM_DIRECTION_UNKNOWN, EM_DIRECTION_LEFT, // ×ó EM_DIRECTION_UPLEFT, // ×óÉÏ EM_DIRECTION_UP, // ÉÏ EM_DIRECTION_UPRIGHT, // ÓÒÉÏ EM_DIRECTION_RIGHT, // ÓÒ EM_DIRECTION_DOWNRIGHT, // ÓÒÏ EM_DIRECTION_DOWN, // Ï EM_DIRECTION_DOWNLEFT, // ×óÏ }EM_DIRECTION; // ¼ýÍ·Ïà¶ÔÓÚÊý×ÖµÄλÖà typedef enum tagEM_GUIDESCREEN_POS { EM_GUIDESCREEN_POS_UNKNOWN, EM_GUIDESCREEN_POS_LEFT, // ×ó²à EM_GUIDESCREEN_POS_RIGHT, // ÓÒ²à }EM_GUIDESCREEN_POS; // ÓÕµ¼ÆÁÄÚÈÝÊÇ·ñ¹ö¶¯ typedef enum tagEM_GUIDESCREEN_ROLL { EM_GUIDESCREEN_ROLL_UNKNOWN, EM_GUIDESCREEN_ROLL_DISABLE, // ²»¹ö¶¯ EM_GUIDESCREEN_ROLL_ENABLE, // ¹ö¶¯ }EM_GUIDESCREEN_ROLL; // ÓÕµ¼ÆÁ¼ýÍ·ÉèÖà typedef struct tagCFG_GUISCREEN_ARROW { EM_DIRECTION emDirect; // ¼ýÍ·Ö¸Ïò EM_GUIDESCREEN_POS emPos; // ¼ýÍ·Ïà¶ÔÓÚÊý×ÖµÄλÖà EM_GUIDESCREEN_ROLL emRoll; // ÊÇ·ñ¹ö¶¯ }CFG_GUISCREEN_ARROW; #define CFG_GUIDE_SCREEN_NUM_MAX (8) // ÓÕµ¼ÆÁ×î´óÊýÁ¿ // ÓÕµ¼ÆÁϵͳÅäÖÃ(¶ÔÓ¦ CFG_CMD_GUIDESCREEN ÃüÁî) typedef struct tagCFG_GUIDESCREEN_INFO { char szText[CFG_COMMON_STRING_128]; // ÉÏÏÂÆÁʱ,ÉÏÆÁÏÔʾÄÚÈÝ // Ó¢ÎÄ»ò³£ÓÃÖÐÎĺº×Ö£¬ÖÐÎÄÐèÒªGB2312±àÂ룬³¤¶È²»³¬¹ý64×Ö½Ú int nArrowNum; // ¼ýÍ·±êÖ¾ÊýÁ¿ CFG_GUISCREEN_ARROW stuArrow[CFG_GUIDE_SCREEN_NUM_MAX]; // ¼ýÍ·±êÖ¾ÉèÖÃ, ¶ÔÓ¦µÄÆÁ´Ó×óÖÁÓÒÒÀ´ÎÅÅÁÐ }CFG_GUIDESCREEN_INFO; // Í£³µ³¡³öÈë¿ÚË¢¿¨±¨¾¯Ê¼þÅäÖÃ(¶ÔÓ¦CFG_CMD_PARKING_CARDÃüÁî) typedef struct tagCFG_PARKING_CARD_INFO { BOOL bEnable; // ÊÇ·ñÆôÓà CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_PARKING_CARD_INFO; // ±¨¾¯·½Ê½, ¼´Í¨¹ýʲô·½Ê½·¢³öµÄ±¨¾¯ typedef enum tagEM_CFG_RCEMERGENCY_MODE_TYPE { EM_CFG_RCEMERGENCY_MODE_UNKNOWN = 0, EM_CFG_RCEMERGENCY_MODE_KEYBOARD, // ¼üÅÌ EM_CFG_RCEMERGENCY_MODE_WIRELESS_CONTROL, // Ò£¿ØÆ÷ }EM_CFG_RCEMERGENCY_MODE_TYPE; // ½ô¼±¾ÈÖú±¨¾¯ÀàÐÍ typedef enum tagEM_CFG_RCEMERGENCY_CALL_TYPE { EM_CFG_RCEMERGENCY_CALL_UNKNOWN = 0, EM_CFG_RCEMERGENCY_CALL_FIRE, // »ð¾¯ EM_CFG_RCEMERGENCY_CALL_DURESS, // вÆÈ EM_CFG_RCEMERGENCY_CALL_ROBBER, // ·Ë¾¯ EM_CFG_RCEMERGENCY_CALL_MEDICAL, // Ò½ÁÆ }EM_CFG_RCEMERGENCY_CALL_TYPE; // ½ô¼±ºô½Ð±¨¾¯Ê¼þÅäÖÃ(¶ÔÓ¦ CFG_CMD_RCEMERGENCYCALL ÃüÁî) typedef struct tagCFG_RCEMERGENCY_CALL_INFO { BOOL bEnable; // ÊÇ·ñÆôÓà EM_CFG_RCEMERGENCY_MODE_TYPE emMode; // ±¨¾¯·½Ê½ EM_CFG_RCEMERGENCY_CALL_TYPE emAlarmType; // ±¨¾¯ÀàÐÍ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_RCEMERGENCY_CALL_INFO; // ³µµÀÐÅÏ¢Éϱ¨ÅäÖÃ(¶ÔÓ¦ CFG_CMD_LANES_STATE_REPORT ÃüÁî) typedef struct tagCFG_LANES_STATE_REPORT { BOOL bEnable; //Éϱ¨Ê¹ÄÜ true:Éϱ¨Ê¹ÄÜ ,false:Éϱ¨²»Ê¹ÄÜ int nPeriod; //Éϱ¨ÖÜÆÚ µ¥Î»£ºÃë }CFG_LANES_STATE_REPORT; #define CFG_MAX_USER_ID_LEN 32 // ÃŽû¿¨Óû§ID×î´ó³¤¶È #define CFG_MAX_METHODEX_NUM 4 // ¿ªÃÅ·½Ê½À©Õ¹×î´ó¸öÊý // ¶àÈË×éºÏ¿ªÃŵĿªÃÅ·½Ê½ typedef enum tagEM_CFG_OPEN_DOOR_GROUP_METHOD { EM_CFG_OPEN_DOOR_GROUP_METHOD_UNKNOWN = 0, EM_CFG_OPEN_DOOR_GROUP_METHOD_CARD, // Ë¢¿¨ EM_CFG_OPEN_DOOR_GROUP_METHOD_PWD, // ÃÜÂë EM_CFG_OPEN_DOOR_GROUP_METHOD_FINGERPRINT, // Ö¸ÎÆ EM_CFG_OPEN_DOOR_GROUP_METHOD_ANY, // ÈÎÒâ×éºÏ·½Ê½¿ªÃÅ EM_CFG_OPEN_DOOR_GROUP_METHOD_FACE, // ÈËÁ³ }EM_CFG_OPEN_DOOR_GROUP_METHOD; // ¶àÈË×éºÏ¿ªÃÅ×éÏêϸÐÅÏ¢ typedef struct tagCFG_OPEN_DOOR_GROUP_DETAIL { char szUserID[CFG_MAX_USER_ID_LEN]; // Óû§ID EM_CFG_OPEN_DOOR_GROUP_METHOD emMethod; // ¿ªÃÅ·½Ê½ int nMethodExNum; // ¿ªÃÅ·½Ê½À©Õ¹¸öÊý EM_CFG_OPEN_DOOR_GROUP_METHOD emMethodEx[CFG_MAX_METHODEX_NUM]; // ¿ªÃÅ·½Ê½À©Õ¹ }CFG_OPEN_DOOR_GROUP_DETAIL; #define CFG_MAX_OPEN_DOOR_GROUP_DETAIL_NUM 64 // ÿһ×é¶àÈË¿ªÃÅ×éºÏµÄ×î´óÈËÊý // ¶àÈË×éºÏ¿ªÃÅ×éÐÅÏ¢ typedef struct tagCFG_OPEN_DOOR_GROUP { int nUserCount; // Óû§ÊýÄ¿£¬±íʾÐèÒª×éºÏ²ÅÄÜ¿ªÃŵÄÈËÊý int nGroupNum; // ÓÐЧ×éÊýÄ¿ CFG_OPEN_DOOR_GROUP_DETAIL stuGroupDetail[CFG_MAX_OPEN_DOOR_GROUP_DETAIL_NUM];// ¶àÈË×éºÏ¿ªÃÅ×éµÄÏêϸÐÅÏ¢ BOOL bGroupDetailEx; // TRUE: stuGroupDetail ×Ö¶ÎÎÞЧ¡¢pstuGroupDetailEx×Ö¶ÎÓÐЧ, FALSE: stuGroupDetail ×Ö¶ÎÓÐЧ¡¢pstuGroupDetailEx×Ö¶ÎÎÞЧ int nMaxGroupDetailNum; // ¶àÈË×éºÏ¿ªÃÅ×éµÄÏêϸÐÅÏ¢×î´ó¸öÊý CFG_OPEN_DOOR_GROUP_DETAIL *pstuGroupDetailEx; /* ¶àÈË×éºÏ¿ªÃÅ×éµÄÏêϸÐÅÏ¢À©Õ¹, ÓÉÓû§ÉêÇëÄÚ´æ, ´óСΪsizeof(CFG_OPEN_DOOR_GROUP_DETAIL)*nMaxUserCount, µ±¶àÈË×éºÏ¿ªÃÅ×éµÄÏêϸÐÅÏ¢¸öÊý´óÓÚ CFG_MAX_OPEN_DOOR_GROUP_DETAIL_NUM ʱʹÓôË×Ö¶Î */ }CFG_OPEN_DOOR_GROUP; #define CFG_MAX_OPEN_DOOR_GROUP_NUM 4 // ¶àÈË¿ªÃÅ×éºÏµÄ×î´ó×éºÏÊý // ¶àÈ˶࿪ÃÅ·½Ê½×éºÏ(¶ÔÓ¦ CFG_CMD_OPEN_DOOR_GROUP ÃüÁî),±íʾÿ¸öͨµÀµÄ×éºÏÐÅÏ¢£¬ // µÚÒ»¸öͨµÀµÄ×éºÏµÄ¿ªÃÅÓÅÏȼ¶×î¸ß£¬ºóÃæÒÀ´ÎµÝ¼õ typedef struct tagCFG_OPEN_DOOR_GROUP_INFO { int nGroup; // ÓÐЧ×éºÏÊý CFG_OPEN_DOOR_GROUP stuGroupInfo[CFG_MAX_OPEN_DOOR_GROUP_NUM];// ¶àÈË¿ªÃÅ×éºÏÐÅÏ¢ }CFG_OPEN_DOOR_GROUP_INFO; #define MAX_READER_ID_LEN 32 // ¶Á¿¨Æ÷ID×î´ó³¤¶È // ¿ªÃÅ·ÏßµÄÿ¸ö½ÚµãµÄÐÅÏ¢ typedef struct tagCFG_DOOR_ROUTE_NODE_INFO { char szReaderID[MAX_READER_ID_LEN]; // ¶Á¿¨Æ÷ID£¬¼´ÃŽû¿ØÖÆÆ÷ÏàÁ¬µÄ¶Á¿¨Æ÷µÄID }CFG_DOOR_ROUTE_NODE_INFO; // ÿÌõ¿ªÃÅ·Ïß×î´ó½Úµã(¶Á¿¨Æ÷ÊýÄ¿) #define MAX_DOOR_ROUTE_NODE_NUM 8 // ÃÅÊý×鼯ºÏÐÅÏ¢£¬°´ÕÕÊý×éϱê´ÓСµ½´ó˳Ðò£¬±íʾ¿ªÃÅ·Ïß typedef struct tagCFG_DOOR_ROUTE_INFO { int nDoors; // ¿ªÃÅ·ÏßÓÐЧ½ÚµãÊý CFG_DOOR_ROUTE_NODE_INFO stuDoors[MAX_DOOR_ROUTE_NODE_NUM]; // ¿ªÃÅ·Ïß½ÚµãÐÅÏ¢ UINT nResetTime; // ·´Ç±ÖØÖÃʱ¼ä£¬µ¥Î»£º·ÖÖÓ£¬0±íʾ²»ÖØÖà }CFG_DOOR_ROUTE_INFO; #define MAX_OPEN_DOOR_ROUTE_NUM 16 // ×î´ó¿ªÃÅ·ÏßÊýÄ¿ // ¿ªÃÅ·Ïß¼¯ºÏ£¬»ò³Æ·À·´Ç±Â·ÏßÅäÖÃ(¶ÔÓ¦ CFG_CMD_OPEN_DOOR_ROUTE ÃüÁî) typedef struct tagCFG_OPEN_DOOR_ROUTE_INFO { int nDoorList; CFG_DOOR_ROUTE_INFO stuDoorList[MAX_OPEN_DOOR_ROUTE_NUM]; int nTimeSection; // ·´Ç±Â·¾¶¶ÔӦʱ¼ä¶Î, ¼´CFG_ACCESS_TIMESCHEDULE_INFOµÄÊý×éϱê UINT nResetTime; // ·´Ç±ÖØÖÃʱ¼ä£¬µ¥Î»£º·ÖÖÓ£¬0±íʾ²»ÖØÖá£ÎÞЧ×ֶΣ¬·Ï³ý }CFG_OPEN_DOOR_ROUTE_INFO; #define MAX_BURNPLAN_DEVICES_NUM 32 #define MAX_BURNPLAN_CHANNELS_NUM 32 // ¿Ì¼Á÷¸ñʽ typedef enum tagEM_CFG_BURNPLAN_RECORDPACK_TYPE { EM_CFG_BURNPLAN_RECORDPACK_TYPE_UNKNOWN, // δ֪ EM_CFG_BURNPLAN_RECORDPACK_TYPE_DHAV, // "DHAV" EM_CFG_BURNPLAN_RECORDPACK_TYPE_PS, // "PS" EM_CFG_BURNPLAN_RECORDPACK_TYPE_ASF, // "ASF" EM_CFG_BURNPLAN_RECORDPACK_TYPE_MP4, // "MP4" EM_CFG_BURNPLAN_RECORDPACK_TYPE_TS, // "TS" }EM_CFG_BURNPLAN_RECORDPACK_TYPE; // ¿Ì¼ģʽ typedef enum tagEM_CFG_BURNPLAN_MODE { EM_CFG_BURNPLAN_MODE_UNKNOWN, // δ֪ EM_CFG_BURNPLAN_MODE_SYNC, // ͬ²½£º "Sync" EM_CFG_BURNPLAN_MODE_TURN, // ÂÖÁ÷: "Turn" EM_CFG_BURNPLAN_MODE_CYCLE, // Ñ­»·: "Cycle" }EM_CFG_BURNPLAN_MODE; // ¿Ì¼¼Æ»®ÐÅÏ¢ typedef struct tagCFG_BURNPLAN_DETAIL { int nSessionId; // ÉóѶÊÒ int nDevicesNum; // ²ÎÓë¸Ã»á»°µÄÉ豸ÁбíÓÐЧ¸öÊý int nDevices[MAX_BURNPLAN_DEVICES_NUM]; // ²ÎÓë¸Ã»á»°µÄÉ豸Áбí int nChannelsNum; // ¿Ì¼µÄÊÓÆµÍ¨µÀÓÐЧ¸öÊý int nChannels[MAX_BURNPLAN_CHANNELS_NUM]; // ¿Ì¼µÄÊÓÆµÍ¨µÀ EM_CFG_BURNPLAN_RECORDPACK_TYPE emRecordpack; // ¿Ì¼Á÷¸ñʽ EM_CFG_BURNPLAN_MODE emMode; // ¿Ì¼ģʽ CFG_NET_TIME stuStarttime; // ¿Ì¼¿ªÊ¼Ê±¼ä }CFG_BURNPLAN_DETAIL; #define MAX_BURNPLAN_DETAIL_NUM 32 // ¿Ì¼¼Æ»®ÅäÖÃ(¶ÔÓ¦CFG_BURNPLAN_INFO) typedef struct tagCFG_BURNPLAN_INFO { int nBurnPlanDetailNum; // ¿Ì¼¼Æ»®ÐÅÏ¢ÁбíÓÐЧ¸öÊý CFG_BURNPLAN_DETAIL stuBurnPlanDetail[MAX_BURNPLAN_DETAIL_NUM]; // ¿Ì¼¼Æ»®ÐÅÏ¢Áбí }CFG_BURNPLAN_INFO; typedef struct tagCFG_SCADA_DEV_INFO { BOOL bEnable; // ÊÇ·ñÆôÓà char szDevType[CFG_COMMON_STRING_64];// É豸ÀàÐÍ char szDevName[CFG_COMMON_STRING_64];// É豸Ãû³Æ, Ψһ±êʾÉ豸Óà int nSlot; // ÐéÄâ²ÛλºÅ, Ïê¼ûAlarmSlotBondÅäÖà int nLevel; // Èç¹ûSlot°ó¶¨µÄÊÇNetCollectionÀàÐ͵ϰ£¬¸Ã×Ö¶ÎΪ-1 CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_SCADA_DEV_INFO; // ͨµÀÏà¹ØÐÅÏ¢ typedef struct tagCFG_VSP_GAYS_CHANNEL_INFO { char szId[CFG_COMMON_STRING_64]; // ͨµÀ±àºÅ ×Ö·û´®£¨24룩 int nAlarmLevel; // ±¨¾¯¼¶±ð[1,6] ÕûÐÍ }CFG_VSP_GAYS_CHANNEL_INFO; // ±¨¾¯Ïà¹ØÐÅÏ¢ typedef struct tagCFG_VSP_GAYS_ALARM_INFO { char szId[CFG_COMMON_STRING_64]; // ͨµÀ±àºÅ ×Ö·û´®£¨24룩 int nAlarmLevel; // ±¨¾¯¼¶±ð[1,6] ÕûÐÍ }CFG_VSP_GAYS_ALARM_INFO; // ¹«°²Ò»Ëùƽ̨½ÓÈëÅäÖÃ(CFG_CMD_VSP_GAYS) typedef struct tagCFG_VSP_GAYS_INFO { BOOL bEnable; // ÊÇ·ñʹÄÜ£¬TRUEʹÄÜ£¬FALSE²»Ê¹ÄÜ char szSipSvrId[CFG_COMMON_STRING_64]; // SIP·þÎñÆ÷±àºÅ ×Ö·û´®£¨24룩 char szDomain[CFG_COMMON_STRING_256]; // SIPÓò ×Ö·û´®£¨128룩 char szSipSvrIp[CFG_COMMON_STRING_32]; // SIP·þÎñÆ÷IP ×Ö·û´®£¨16룩 char szDeviceId[CFG_COMMON_STRING_64]; // É豸±àºÅ£¬Ò²ÊÇ×¢²áÓû§Ãû ×Ö·û´®£¨24룩 char szPassword[CFG_COMMON_STRING_64]; // ×¢²áÃÜÂë,ÃÜÎÄ ×Ö·û´®£¨24룩 unsigned short nLocalSipPort; // ±¾µØSIP·þÎñ¶Ë¿Ú ÎÞ·ûºÅ¶ÌÕûÐÍ unsigned short nSipSvrPort; // SIP·þÎñÆ÷¶Ë¿Ú ÎÞ·ûºÅ¶ÌÕûÐÍ int nSipRegExpires; // ×¢²áÓÐЧÆÚ ÕûÐÍ int nKeepAliveCircle; // ÐÄÌøÖÜÆÚ ÕûÐÍ int nMaxTimeoutTimes; // ×î´óÐÄÌø³¬Ê±´ÎÊý ÕûÐÍ char szCivilCode[CFG_COMMON_STRING_64]; // ÐÐÕþÇø»®´úÂë ×Ö·û´®£¨24룩 char szIntervideoID[CFG_COMMON_STRING_64]; // ½ÓÈëÄ£¿éʶ±ðÂë ×Ö·û´®£¨24룩 unsigned short nChannelSum; // ͨµÀÊý ÎÞ·ûºÅ¶ÌÕûÐÍ unsigned short nAlarmInSum; // Íⲿ±¨¾¯ÊäÈëÊý ÎÞ·ûºÅ¶ÌÕûÐÍ CFG_VSP_GAYS_CHANNEL_INFO stuChannelInfo[MAX_VIDEO_CHANNEL_NUM]; // ͨµÀÏà¹ØÐÅÏ¢ Êý×飬ÓÐЧ¸öÊýͬchannelSum CFG_VSP_GAYS_ALARM_INFO stuAlarmInfo[MAX_ALARM_CHANNEL_NUM]; // ±¨¾¯Ïà¹ØÐÅÏ¢ Êý×飬ÓÐЧ¸öÊýͬalarmInSum }CFG_VSP_GAYS_INFO; // ÒôƵ¼ì²â±¨¾¯ÅäÖÃ(CFG_CMD_AUDIODETECT) typedef struct tagCFG_AUDIO_DETECT_INFO { BOOL bEnable; // ÊÇ·ñʹÄÜ£¬TRUEʹÄÜ£¬FALSE²»Ê¹ÄÜ int nMinVolume; // ÒôÁ¿ÏÂÏÞ int nMaxVolume; // ÒôÁ¿ÉÏÏÞ BOOL bAnomalyDetect; // ÉùÒôÒì³£¼ì²âʹÄÜ int nAnomalySensitive; // ÉùÒôÒì³£¼ì²âÁéÃô¶ÈÖµ ȡֵ·¶Î§1~100 BOOL bMutationDetect; // Éùǿͻ±ä¼ì²âʹÄÜ int nMutationThreold; // Éùǿͻ±ä¼ì²âãÐÖµ ȡֵ·¶Î§1~100 CFG_ALARM_MSG_HANDLE stuEventHandler; // Áª¶¯ÅäÖà BOOL bIntensityDetect; // ÒôƵǿ¶È¼ì²âʹÄÜ unsigned int nIntensityDecibelGate; // ÒôƵǿ¶È¼ì²â·Ö±´ãÐÖµ, µ¥Î»·Ö±´, ȡֵ·¶Î§0~90 }CFG_AUDIO_DETECT_INFO; // VTSºô½ÐÅäÖÃ(¶ÔÓ¦ÃüÁî CFG_CMD_VTS_CALL_INFO) typedef struct tagCFG_VTS_CALL_INFO { CFG_TIME_SECTION stuCallEnableTime; // ÔÊÐíºô½ÐVTSµÄʱ¼ä¶Î }CFG_VTS_CALL_INFO; // É豸ÁбíÅäÖÃÖÐÿ¸öÉ豸µÄÐÅÏ¢ typedef struct tagCFG_DEV_LIST { char szDevType[CFG_COMMON_STRING_128]; // É豸ÀàÐÍ, Ö§³Ö: "VTT", "VTS" char szDevName[CFG_COMMON_STRING_128]; // É豸Ãû³Æ char szIP[MAX_ADDRESS_LEN]; // ipµØÖ· int nPort; // ¶Ë¿ÚºÅ char szUser[CFG_COMMON_STRING_64]; // Óû§Ãû char szPassword[CFG_COMMON_STRING_64]; // ÃÜÂë char szDevID[CFG_COMMON_STRING_128]; // É豸IDºÅ, ±ØÐëΨһ char szParentID[CFG_COMMON_STRING_128]; // ¸¸½ÚµãID, ±ØÐëΨһ }CFG_DEV_LIST; // É豸ÁбíÅäÖÃ(¶ÔÓ¦ÃüÁî CFG_CMD_DEV_LIST_INFO) typedef struct tagCFG_DEV_LIST_INFO { CFG_DEV_LIST* pstuDevList; // ÅäÖÃÐÅÏ¢, Óû§·ÖÅäÄÚ´æ,´óСΪsizeof(CFG_DEV_LIST)*dwDevListMaxCount DWORD dwDevListMaxCount; // pstuDevList·ÖÅäÄÚ´æµÄÓÐЧ½á¹¹Ìå¸öÊý DWORD dwDevListRetCount; // ʵ¼Ê·µ»ØµÄ½á¹¹Ìå¸öÊý, ½âÎö³É½á¹¹ÌåʱÓÐЧ }CFG_DEV_LIST_INFO; #define MAX_CALIBRATE_MATRIX_LEN 8 // ±ê¶¨¾ØÕó×î´ó³¤¶È #define MAX_CALIBRATE_MATRIX_EX_LEN 32 // ±ê¶¨¾ØÕó×î´ó³¤¶È(À©Õ¹) #define MAX_POINT_PAIR_LEN 10 // Ö÷´Ó¸ú×ٱ궨µã¶ÔÊý×é×î´ó³¤¶È // Ö÷´Óʽ¸ú×ÙÆ÷±ê¶¨¾ØÕóÅäÖÃ(¶ÔÓ¦ CFG_CMD_CALIBRATE_MATRIX ÃüÁî) typedef struct tagCFG_CALIBRATE_MATRIX_INFO { char szSlaveSN[CFG_COMMON_STRING_128]; // ´ÓÉ豸ÐòÁкŠDWORD dwMatrixLen; // ±ê¶¨¾ØÕóÖÐÓÐЧdword¸öÊý DWORD dwMatrix[MAX_CALIBRATE_MATRIX_LEN]; // ±ê¶¨¾ØÕó, ÊÇÒ»¸ö128×ֽڵĶþ½øÖÆ´®, ΪÌá¸ß½âÎöЧÂÊ, ±£´æÎª32¸öuint32_tÖµ }CFG_CALIBRATE_MATRIX_INFO; // Ö÷Ïà»ú±ê¶¨µã×ø±ê(8192×ø±êϵ) typedef struct tagCFG_MASTER_POINT { int nX; int nY; } CFG_MASTER_POINT; // ´ÓÏà»ú(Çò»ú)±ê¶¨µã×ø±ê(ptz¹éÒ»»¯×ø±ê) typedef struct tagCFG_SLAVE_POINT { float fPositionX; //ÔÆÌ¨Ë®Æ½Ô˶¯Î»Öà float fPositionY; //ÔÆÌ¨´¹Ö±Ô˶¯Î»Öà float fZoom; } CFG_SLAVE_POINT; //Ö÷´Ó¸ú×ٱ궨µã¶ÔÅäÖà typedef struct tagCFG_POINT_PAIR { CFG_MASTER_POINT stuMasterPoint; // Ö÷Ïà»ú±ê¶¨µã,8192×ø±êϵ CFG_SLAVE_POINT stuSlavePoint; // ´ÓÏà»ú(Çò»ú)±ê¶¨µã,PTZ¹éÒ»»¯×ø±ê } CFG_POINT_PAIR; // Ö÷´Ó¸ú×ÙÆ÷±ê¶¨ÅäÖþßÌåÖµ typedef struct tagCFG_CALIBRATE_MATRIX_ELEMENT { char szMasterSN[CFG_COMMON_STRING_128]; // Ö÷É豸ÐòÁкÅ(¿ÉÑ¡) char szSlaveSN[CFG_COMMON_STRING_128]; // ´ÓÉ豸ÐòÁкŠDWORD dwMatrixLen; // ±ê¶¨¾ØÕóÖÐÓÐЧdword¸öÊý DWORD dwMatrix[MAX_CALIBRATE_MATRIX_EX_LEN]; // ±ê¶¨¾ØÕó, ÊÇÒ»¸ö128×ֽڵĶþ½øÖÆ´®, ΪÌá¸ß½âÎöЧÂÊ, ±£´æÎª32¸öuint32_tÖµ DWORD dwPointPairNum; // Ö÷´Ó¸ú×ٱ궨µã¶ÔµÄÊýÁ¿ CFG_POINT_PAIR stuPointPair[MAX_POINT_PAIR_LEN]; // Ö÷´Ó¸ú×ٱ궨µã¶Ô(¿ÉÑ¡),ÊÇÒ»¸öÊý×飬×î¶à±£´æ10×é±ê¶¨µã¶Ô BOOL bExpectRatio; // ±íʾÊÇ·ñÐèÒªÆÚÍû±¶ÂÊÅäÖà float szExpectRatio[2]; // ÆÚÍû±¶ÂÊ(¿ÉÑ¡£¬µ±bExpectRatioΪTRUEʱÓÐЧ), µÚÒ»¸öÖµÎªÔÆÌ¨T×ø±ê£¬¹éÒ»»¯[-1.0, 1.0]£¬µÚ¶þ¸öֵΪ±ÈÀý } CFG_CALIBRATE_MATRIX_ELEMENT; // Ö÷´Óʽ¸ú×ÙÆ÷±ê¶¨¾ØÕóÀ©Õ¹ÅäÖÃ(¶ÔÓ¦ CFG_CMD_CALIBRATE_MATRIXÃüÁî) typedef struct tagCFG_CALIBRATE_MATRIX_EX_INFO { DWORD nMaxCalibElement; // Ö÷´Ó¸ú×ÙÆ÷±ê¶¨¾ØÕóÅäÖÃÔªËØ×î´ó¸öÊý DWORD nRetCalibElement; // Ö÷´Ó¸ú×ÙÆ÷±ê¶¨¾ØÕóÅäÖÃÔªËØÊµ¼Ê¸öÊý CFG_CALIBRATE_MATRIX_ELEMENT *pstCaliMatrixElement; // Ö÷´Ó¸ú×ÙÆ÷±ê¶¨¾ØÕóÅäÖÃÿ¸öÔªËØÖµ£¬ÓÉÓû§ÉêÇëÄÚ´æ,´óСΪsizeof(CFG_CALIBRATE_MATRIX_ELEMENT)*nMaxCalibElement } CFG_CALIBRATE_MATRIX_EX_INFO; // ·ÀÇøÑÓʱÅäÖÃ(¶ÔÓ¦ CFG_CMD_DEFENCE_AREA_DELAY ÃüÁî) typedef struct tagCFG_DEFENCE_AREA_DELAY_INFO { int nEnterDelay1; // ÓнøÈëÑÓʱµÄ·ÀÇøÀàÐÍ£¬³ý·ÀÇøÀàÐÍEM_CFG_DefenceAreaType_Entrance2Íâ, ¶¼Ê¹Óô˽øÈëÑÓʱ int nEnterDelay2; // Ö»ÓзÀÇøÀàÐÍΪEM_CFG_DefenceAreaType_Entrance2, ²Å»áʹÓô˽øÈëÑÓʱ int nExitDelay; // ËùÓÐÓÐÍ˳öÑÓʱµÄ·ÀÇø, ¶¼Ê¹ÓôËÍ˳öÑÓʱ }CFG_DEFENCE_AREA_DELAY_INFO; // ÈȳÉÏñÔöÒæÄ£Ê½ typedef enum tagCFG_THERMO_GAIN_MODE { CFG_THERMO_GAIN_MODE_UNKNOWN, CFG_THERMO_GAIN_MODE_HIGHTEMP, // ¸ßΠCFG_THERMO_GAIN_MODE_LOWTEMP, // µÍΠCFG_THERMO_GAIN_MODE_AUTO, // ×Ô¶¯ } CFG_THERMO_GAIN_MODE; // ÈȳÉÏñ×Ô¶¯ÔöÒæÉèÖà typedef struct tagCFG_THERMO_AUTO_GAIN { int nLowToHigh; // ζȳ¬¹ý´ËÉ趨ֵʱ£¬×Ô¶¯Çл»µ½¸ßÎÂģʽ int nLHROI; // ÓɵÍÎÂÇл»µ½¸ßÎÂʱµÄROI °Ù·Ö±È0~100 int nHighToLow; // ζÈϽµµ½´ËÉ趨ֵʱ£¬×Ô¶¯Çл»µ½µÍÎÂģʽ int nHLROI; // ÓɸßÎÂÇл»µ½µÍÎÂʱµÄROI °Ù·Ö±È0~100 } CFG_THERMO_AUTO_GAIN; //ÔöÒæÉèÖà typedef struct tagCFG_THERMO_GAIN { int nAgc; // ×Ô¶¯ÔöÒæ¿ØÖÆ [0-255]¾ßÌåȡֵ·¶Î§ÓÉÄÜÁ¦¾ö¶¨ int nAgcMaxGain; // ×î´ó×Ô¶¯ÔöÒæ [0-255]¾ßÌåȡֵ·¶Î§ÓÉÄÜÁ¦¾ö¶¨ int nAgcPlateau; // ÔöÒæ¾ùºâ ¾ßÌåȡֵ·¶Î§ÓÉÄÜÁ¦¾ö¶¨ }CFG_THERMO_GAIN; // ÈȳÉÏñÅäÖ㬵¥¸öģʽµÄÅäÖà typedef struct tagCFG_THERMOGRAPHY_OPTION { int nEZoom; // ±¶Êý int nThermographyGamma; // Ù¤ÂíÖµ int nColorization; // α²ÊÉ«£¬¼û NET_THERMO_COLORIZATION int nSmartOptimizer; // ÖÇÄܳ¡¾°ÓÅ»¯Ö¸Êý 0 ~100£¬ ¾ßÌåȡֵ·¶Î§ÓÉÄÜÁ¦¾ö¶¨ BOOL bOptimizedRegion; // ÊÇ·ñ¿ªÆô¸ÐÐËÈ¤ÇøÓò£¬Ö»ÓиÐÐËÈ¤ÇøÓòÄÚµÄÐÅÏ¢»á±»ÄÉÈëͳ¼ÆÓÃÀ´×ö×Ô¶¯ÁÁ¶Èµ÷Õû£¨AGC£© int nOptimizedROIType; // ¸ÐÐËÈ¤ÇøÓòÀàÐÍ£¬¼û NET_THERMO_ROI int nCustomRegion; // ×Ô¶¨ÒåÇøÓò¸öÊý CFG_RECT stCustomRegions[64]; // ×Ô¶¨ÒåÇøÓò£¬½öÔÚ nOptimizedROIType Ϊ NET_THERMO_ROI_CUSTOM ʱÓÐЧ char Reserved[256]; // ´Ë±£Áô×Ö¶ÎÈ·±£´Ë½á¹¹²¼¾ÖÓë NET_THERMO_GRAPHY_INFO Ïàͬ CFG_THERMO_GAIN stuLowTempGain; // µÍÎÂϵÄÔöÒæÉèÖà int nGainMode; // ÔöÒæÄ£Ê½£¬²Î¼û CFG_THERMO_GAIN_MODE CFG_THERMO_AUTO_GAIN stAutoGain; // ×Ô¶¯ÔöÒæÉèÖã¬Ö»ÔÚÔöÒæÄ£Ê½Îª CFG_THERMO_GAIN_MODE_AUTO ÓÐЧ CFG_THERMO_GAIN stuHighTempGain; // ¸ßÎÂϵÄÔöÒæÉèÖà int nBaseBrightness; // »ù×¼ÁÁ¶È int nStretchIntensity; // À­ÉìÇ¿¶È CFG_RECT stuContrastRect; // ÇøÓòÔöǿλÖÃ,Ôö¼Ó±¾ÇøÓòÓëÖܱߵĶԱȶÈ,8192×ø±êϵ } CFG_THERMOGRAPHY_OPTION; // ÈȳÉÏñÅäÖà typedef struct tagCFG_THERMOGRAPHY_INFO { int nModeCount; // ģʽ¸öÊý£¬Ä¿Ç°Ö»ÓÐÒ»¸ö CFG_THERMOGRAPHY_OPTION stOptions[16]; // ¶ÔÓ¦²»Í¬Ä£Ê½µÄÅäÖà } CFG_THERMOGRAPHY_INFO; // ƽ³¡¾Û½¹Ð£×¼Ä£Ê½ typedef enum tagEM_FLAT_FIELD_CORRECTION_MODE { EM_FLAT_FIELD_CORRECTION_UNKNOWN, // δ֪ģʽ,ÓÃÓÚ±íʾGetNewDevConfig»ñÈ¡µ½µÄδ֪ģʽ,SetNewDevConfig²»¿ÉʹÓøÃģʽ EM_FLAT_FIELD_CORRECTION_AUTO, // "Auto":×Ô¶¯Æ½³¡¾Û½¹Ð£×¼ EM_FLAT_FIELD_CORRECTION_MANUAL, // "Manual":ÊÖ¶¯Æ½³¡¾Û½¹Ð£×¼ }EM_FLAT_FIELD_CORRECTION_MODE; // ƽ³¡¾Û½¹Ð£×¼ typedef struct tagCFG_FLAT_FIELD_CORRECTION_INFO { EM_FLAT_FIELD_CORRECTION_MODE emMode; // ƽ³¡¾Û½¹Ð£×¼Ä£Ê½,Ïê¼ûEM_FLAT_FIELD_CORRECTION_MODE int nPeriod; // ×Ô¶¯Çл»ÖÜÆÚ£¬µ¥Î»ÎªÃ룬ÊýÖµ·¶Î§²Î¿¼NET_OUT_THERMO_GETCAPSÖеÄstFFCPeriod } CFG_FLAT_FIELD_CORRECTION_INFO; // ÈȳÉÏñÊÓÆµÈÚºÏÅäÖà typedef struct tagCFG_THERMO_FUSION_INFO { unsigned int unMode; // ÈȳÉÏñͼÏñÈÚºÏģʽ,0ԭʼÈȳÉÏñͼÏñ,1 Óë¿É¼û¹âÈÚºÏģʽ unsigned int unRate; // ÈȳÉÏñͼÏñÈÚºÏÂÊ£¬µ±Mode=1ʱÓÐЧ,0~100ÊýÖµÔ½´ó¿É¼û¹âµÄÕ¼±ÈÔ½´ó } CFG_THERMO_FUSION_INFO; // ÈȳÉÏñÉãÏñÍ·ÊôÐԵľֲ¿¶Ô±È¶ÈÔöÇ¿ÅäÖà typedef struct tagCFG_LCE_STATE_INFO { unsigned int unLCEValue; // ¾Ö²¿¶Ô±È¶ÈÔöǿ״ֵ̬ ·¶Î§[0,128] unsigned int unHistGramValue; // Ö±·½Í¼YÖáÊý¾ÝÏßÐÔ¶È,ÖµÔ½´óͼÏñ»Ò¶È·Ö²¼Ô½¿í£¬ÖµÔ½Ð¡»Ò¶È·Ö²¼Ô½¼¯ÖÐ,·¶Î§[0,32] } CFG_LCE_STATE_INFO; // ͳ¼ÆÁ¿ÀàÐÍ typedef enum tagCFG_STATISTIC_TYPE { CFG_STATISTIC_TYPE_UNKNOWN, CFG_STATISTIC_TYPE_VAL, // ¾ßÌåÖµ CFG_STATISTIC_TYPE_MAX, // ×î´ó CFG_STATISTIC_TYPE_MIN, // ×îС CFG_STATISTIC_TYPE_AVR, // ƽ¾ù CFG_STATISTIC_TYPE_STD, // ±ê×¼ CFG_STATISTIC_TYPE_MID, // Öмä CFG_STATISTIC_TYPE_ISO, // ISO } CFG_STATISTIC_TYPE; // ±È½ÏÔËËã½á¹û typedef enum tagCFG_COMPARE_RESULT { CFG_COMPARE_RESULT_UNKNOWN, CFG_COMPARE_RESULT_BELOW, // µÍÓÚ CFG_COMPARE_RESULT_MATCH, // Æ¥Åä CFG_COMPARE_RESULT_ABOVE, // ¸ßÓÚ } CFG_COMPARE_RESULT; // ²âε㱨¾¯ÉèÖà typedef struct tagRADIOMETRY_ALARMSETTING { int nId; // ±¨¾¯Î¨Ò»±àºÅ ±¨¾¯±àºÅͳһ±àÂë BOOL bEnable; // ÊÇ·ñ¿ªÆô¸Ãµã±¨¾¯ int nResultType; // ²âα¨¾¯½á¹ûÀàÐÍ£¬¼û CFG_STATISTIC_TYPE£¬¿Éȡֵ£º // µã²âΣº¾ßÌåÖµ£¬ // Ïß²âΣº×î´ó, ×îС, ƽ¾ù // ÇøÓò²âΣº×î´ó, ×îС, ƽ¾ù, ±ê×¼, Öмä, ISO int nAlarmCondition; // ±¨¾¯Ìõ¼þ£¬¼û CFG_COMPARE_RESULT float fThreshold; // ±¨¾¯ãÐÖµÎÂ¶È ¸¡µãÊý float fHysteresis; // ζÈÎó²î£¬¸¡µãÊý£¬±ÈÈç0.1 ±íʾÕý¸ºÎó²îÔÚ0.1·¶Î§ÄÚ int nDuration; // ãÐֵζȳÖÐøÊ±¼ä µ¥Î»£ºÃë } CFG_RADIOMETRY_ALARMSETTING; // ²âιæÔò±¾µØ²ÎÊýÅäÖà typedef struct tagRADIOMETRY_LOCALPARAM { BOOL bEnable; // ÊÇ·ñÆôÓñ¾µØÅäÖà float fObjectEmissivity; // Ä¿±ê·øÉäϵÊý ¸¡µãÊý 0~1 int nObjectDistance; // Ä¿±ê¾àÀë int nRefalectedTemp; // Ä¿±ê·´ÉäÎÂ¶È } CFG_RADIOMETRY_LOCALPARAM; // ÇøÓò²âεÄ×ÓÀàÐÍ typedef enum tagEM_CFG_AREA_SUBTYPE { EM_CFG_AREA_SUBTYPE_UNKNOWN, EM_CFG_AREA_SUBTYPE_RECT, // ¾ØÐÎ EM_CFG_AREA_SUBTYPE_ELLIPSE, // ÍÖÔ² EM_CFG_AREA_SUBTYPE_POLYGON, // ¶à±ßÐÎ } EM_CFG_AREA_SUBTYPE; // ²âιæÔò typedef struct tagCFG_RADIOMETRY_RULE { BOOL bEnable; // ²âÎÂʹÄÜ int nPresetId; // Ô¤Öõã±àºÅ int nRuleId; // ¹æÔò±àºÅ char szName[128]; // ×Ô¶¨ÒåÃû³Æ int nMeterType; // ²âÎÂģʽµÄÀàÐÍ£¬¼û NET_RADIOMETRY_METERTYPE CFG_POLYGON stCoordinates[64]; // ²âεã×ø±ê ʹÓÃÏà¶Ô×ø±êÌåϵ£¬È¡Öµ¾ùΪ0~8191 int nCoordinateCnt; // ²âεã×ø±êʵ¼Ê¸öÊý int nSamplePeriod; // ζȲÉÑùÖÜÆÚ µ¥Î» : Ãë CFG_RADIOMETRY_ALARMSETTING stAlarmSetting[64]; // ²âε㱨¾¯ÉèÖà int nAlarmSettingCnt; // ²âε㱨¾¯ÉèÖÃʵ¼Ê¸öÊý CFG_RADIOMETRY_LOCALPARAM stLocalParameters; // ±¾µØ²ÎÊýÅäÖà EM_CFG_AREA_SUBTYPE emAreaSubType; // ÇøÓò²âεÄ×ÓÀàÐÍ } CFG_RADIOMETRY_RULE; // ²âιæÔòÅäÖýṹ typedef struct tagCFG_RADIOMETRY_RULE_INFO { int nCount; // ¹æÔò¸öÊý CFG_RADIOMETRY_RULE stRule[512]; // ²âιæÔò } CFG_RADIOMETRY_RULE_INFO; // ζÈͳ¼Æ typedef struct tagCFG_TEMP_STATISTICS { BOOL bEnable; // ÊÇ·ñ¿ªÆôζÈͳ¼Æ char szName[128]; // ²âÎÂÏîµÄÃû×Ö int nMeterType; // ²âÎÂģʽµÄÀàÐÍ£¬¼û NET_RADIOMETRY_METERTYPE int nPeriod; // ±£´æÎ¶ÈÊý¾ÝÖÜÆÚ } CFG_TEMP_STATISTICS; // ζÈͳ¼ÆÅäÖýṹ typedef struct tagCFG_TEMP_STATISTICS_INFO { int nCount; // ¸öÊý CFG_TEMP_STATISTICS stStatistics[64]; // ζÈͳ¼Æ } CFG_TEMP_STATISTICS_INFO; // ζȵ¥Î» typedef enum tagCFG_TEMPERATURE_UNIT { TEMPERATURE_UNIT_UNKNOWN, TEMPERATURE_UNIT_CENTIGRADE, // ÉãÊÏ¶È TEMPERATURE_UNIT_FAHRENHEIT, // »ªÊÏ¶È } CFG_TEMPERATURE_UNIT; // ÈȳÉÏñ²âÎÂÈ«¾ÖÅäÖà typedef struct tagCFG_THERMOMETRY_INFO { int nRelativeHumidity; // Ïà¶Ôʪ¶È float fAtmosphericTemperature; // ´óÆøÎÂ¶È float fObjectEmissivity; // ÎïÌå·øÉäϵÊý int nObjectDistance; // ÎïÌå¾àÀë float fReflectedTemperature; // ÎïÌå·´ÉäÎÂ¶È int nTemperatureUnit; // ζȵ¥Î»£¬¼û TEMPERATURE_UNIT BOOL bIsothermEnable; // É«±ê¹¦ÄÜʹÄÜ int nMinLimitTemp; // µÈÎÂÏßÏÂÏÞζÈÖµ int nMediumTemp; // µÈÎÂÏßÖÐλζÈÖµ int nMaxLimitTemp; // µÈÎÂÏßÉÏÏÞζÈÖµ int nSaturationTemp; // µÈÎÂÏß±¥ºÍζÈÖµ CFG_RECT stIsothermRect; // É«ÎÂÌõ¾ØÐÎÇøÓò£¨OSD λÖã©£¬Ê¹ÓÃÏà¶Ô×ø±êÌåϵ£¬È¡Öµ¾ùΪ0-8191 BOOL bColorBarDisplay; // ÊÇ·ñÏÔʾɫ±êÌõ£¨OSD µþ¼Ó£© BOOL bHotSpotFollow; // ÊÇ·ñ¿ªÆôÈȵã̽²â×·×ÙʹÄÜ BOOL bTemperEnable; // ²âοª¹Ø CFG_RGBA stHighCTMakerColor; // ¸ßɫαê×¢ÑÕÉ« CFG_RGBA stLowCTMakerColor; // µÍɫαê×¢ÑÕÉ« } CFG_THERMOMETRY_INFO; // ½ü¹âµÆÐÅÏ¢ typedef struct tagCFG_NEARLIGHT_INFO { BOOL bEnable; // ÊÇ·ñʹÄÜ£¬TRUEʹÄÜ£¬FALSE²»Ê¹ÄÜ DWORD dwLightPercent; // µÆ¹âÁÁ¶È°Ù·Ö±ÈÖµ(0~100) DWORD dwAnglePercent; // µÆ¹â½Ç¶È°Ù·Ö±ÈÖµ(0~100) }CFG_NEARLIGHT_INFO; // Ô¶¹âµÆÐÅÏ¢ typedef struct tagCFG_FARLIGHT_INFO { BOOL bEnable; // ÊÇ·ñʹÄÜ£¬TRUEʹÄÜ£¬FALSE²»Ê¹ÄÜ DWORD dwLightPercent; // µÆ¹âÁÁ¶È°Ù·Ö±ÈÖµ(0~100) DWORD dwAnglePercent; // µÆ¹â½Ç¶È°Ù·Ö±ÈÖµ(0~100) }CFG_FARLIGHT_INFO; // µÆ¹âģʽ typedef enum tagEM_CFG_LIGHTING_MODE { EM_CFG_LIGHTING_MODE_UNKNOWN, // δ֪ EM_CFG_LIGHTING_MODE_MANUAL, // ÊÖ¶¯ EM_CFG_LIGHTING_MODE_ZOOMPRIO, // ±¶ÂÊÓÅÏÈ EM_CFG_LIGHTING_MODE_TIMING, // ¶¨Ê±Ä£Ê½ EM_CFG_LIGHTING_MODE_AUTO, // ×Ô¶¯ EM_CFG_LIGHTING_MODE_OFF, // ¹Ø±Õģʽ }EM_CFG_LIGHTING_MODE; #define MAX_LIGHTING_NUM 16 // µÆ¹âÉèÖÃÏêÇé typedef struct tagCFG_LIGHTING_DETAIL { int nCorrection; // µÆ¹â²¹³¥ (0~4) ±¶ÂÊÓÅÏÈʱÓÐЧ int nSensitive; // µÆ¹âÁéÃô¶È(0~5)±¶ÂÊÓÅÏÈʱÓÐЧ£¬Ä¬ÈÏΪ3 EM_CFG_LIGHTING_MODE emMode; // µÆ¹âģʽ int nNearLight; // ½ü¹âµÆÓÐЧ¸öÊý CFG_NEARLIGHT_INFO stuNearLights[MAX_LIGHTING_NUM]; // ½ü¹âµÆÁбí int nFarLight; // Ô¶¹âµÆÓÐЧ¸öÊý CFG_FARLIGHT_INFO stuFarLights[MAX_LIGHTING_NUM]; // Ô¶¹âµÆÁбí }CFG_LIGHTING_DETAIL; #define MAX_LIGHTING_DETAIL_NUM 16 // µÆ¹âÉèÖÃ(¶ÔÓ¦ CFG_CMD_LIGHTING ÃüÁî) typedef struct tagCFG_LIGHTING_INFO { int nLightingDetailNum; // µÆ¹âÉèÖÃÓÐЧ¸öÊý CFG_LIGHTING_DETAIL stuLightingDetail[MAX_LIGHTING_DETAIL_NUM]; // µÆ¹âÉèÖÃÐÅÏ¢Áбí }CFG_LIGHTING_INFO; // µÆ¹â¼Æ»®ÉèÖÃ(¶ÔÓ¦ CFG_CMD_LIGHTINGSCHEDULE ÃüÁî)£¬µ± CFG_CMD_LIGHTING ÅäÖÃÖÐModeΪTimingʱÓÐЧ typedef struct tagCFG_LIGHTINGSCHEDULE_INFO { CFG_TIME_SCHEDULE stuTimeSchedule; // ±¨¾¯¼Æ»® }CFG_LIGHTINGSCHEDULE_INFO; // ÓêË¢¹¤×÷ģʽ typedef enum tagEM_CFG_RAINBRUSHMODE_MODE { EM_CFG_RAINBRUSHMODE_MODE_UNKNOWN, // δ֪ EM_CFG_RAINBRUSHMODE_MODE_MANUAL, // ÊÖ¶¯Ä£Ê½ EM_CFG_RAINBRUSHMODE_MODE_TIMING, // ¶¨Ê±Ä£Ê½ EM_CFG_RAINBRUSHMODE_MODE_AUTO, // ×Ô¶¯¸ÐӦģʽ }EM_CFG_RAINBRUSHMODE_MODE; // ÓêˢʹÄÜµçÆ½Ä£Ê½ typedef enum tagEM_CFG_RAINBRUSHMODE_ENABLEMODE { EM_CFG_RAINBRUSHMODE_ENABLEMODE_UNKNOWN, // δ֪ EM_CFG_RAINBRUSHMODE_ENABLEMODE_LOW, // µÍµçƽÓÐЧ£¨³£±Õ£© EM_CFG_RAINBRUSHMODE_ENABLEMODE_HIGH, // ¸ßµçƽÓÐЧ£¨³£¿ª£© }EM_CFG_RAINBRUSHMODE_ENABLEMODE; // ÓêˢģʽÏà¹ØÅäÖÃ(¶ÔÓ¦ CFG_RAINBRUSHMODE_INFO ÃüÁî) typedef struct tagCFG_RAINBRUSHMODE_INFO { EM_CFG_RAINBRUSHMODE_MODE emMode; // ÓêË¢¹¤×÷ģʽ EM_CFG_RAINBRUSHMODE_ENABLEMODE emEnableMode; // ÓêˢʹÄÜµçÆ½Ä£Ê½ int nPort; // ÓêˢʹÓõÄIO¶Ë¿Ú,-1±íʾδ½ÓÈëÉ豸,-2±íʾ¸Ã×Ö¶ÎÎÞЧ£¨É豸δ´«Ë͸Ã×ֶΣ© int nSensitivity; // ÓêË¢ÁéÃô¶È, Ö»Óе±modeΪAutoʱÓÐЧ, ·¶Î§[0, 10] }CFG_RAINBRUSHMODE_INFO; #define MAX_EMERGENCY_REOCRD_CLIENT_NUM 8 // ¿ÉÒÔ½ô¼±Â¼Ïñ´æ´¢µÄ×î´ó¿Í»§¶ËÊý // ¿Í»§¶ËµÄ½ô¼±Â¼ÏñÅäÖÃÐÅÏ¢ typedef struct tagCFG_EMERGENCY_RECORD_CLIENT { char szDevID[CFG_COMMON_STRING_128]; // ¿Í»§¶Ë×Ö·û´®±êʶ×÷Ϊ¶ÔÏóÃû³Æ£¬¿ÉÒÔÊǿͻ§¶ËmacµØÖ·£¬Èô¿Í»§¶ËÊÇÉ豸£¬ÔòʹÓÃÉ豸ÐòÁкŠBOOL bEnable; // ʹÄÜ int nMaxTime; // À­Á÷Òì³£¶Ï¿ªÖ®ºó½øÐнô¼±´æ´¢µÄ×î´óʱ¼ä, }CFG_EMERGENCY_RECORD_CLIENT; // ½ô¼±Â¼Ïñ´æ´¢ÅäÖÃ(¶ÔÓ¦ CFG_CMD_EMERGENCY_RECORD_FOR_PULL) typedef struct tagCFG_EMERGENCY_RECORD_FOR_PULL_INFO { int nClientNum; // ÓÐЧ¿Í»§¶Ë½ô¼±Â¼ÏñÅäÖøöÊý CFG_EMERGENCY_RECORD_CLIENT stuEmRecordInfo[MAX_EMERGENCY_REOCRD_CLIENT_NUM];// ¿Í»§¶Ë½ô¼±Â¼ÏñÅäÖÃÐÅÏ¢ }CFG_EMERGENCY_RECORD_FOR_PULL_INFO; // ¸ßƵ´Î±¨¾¯ typedef struct tagCFG_HIGH_FREQUENCY { int nPeriod; // ͳ¼ÆÖÜÆÚ, ÒÔÃëΪµ¥Î», ĬÈÏ30·ÖÖÓ(1800s) int nMaxCount; // ÔÚ¶ÔӦͳ¼ÆÖÜÆÚÄÚ×î´óÔÊÐíÉϱ¨±¨¾¯Êý }CFG_HIGH_FREQUENCY; // ¸æ¾¯ÆÁ±Î¹æÔòÅäÖÃ(¶ÔÓ¦ CFG_CMD_ALARM_SHIELD_RULE) typedef struct tagCFG_ALARM_SHIELD_RULE_INFO { CFG_HIGH_FREQUENCY stuHighFreq; // ¸ßƵ´Î±¨¾¯, ÔÚÒ»¶¨ÖÜÆÚÄÚÔÊÐíÉϱ¨µÄ±¨¾¯´ÎÊý£¬ÒԴ˹ýÂ˶ÔÓÚ±¨¾¯µÄƵ·±Éϱ¨µ¼ÖÂÐÅÏ¢¸ÉÈÅ }CFG_ALARM_SHIELD_RULE_INFO; #define CFG_MAX_VIDEOIN_ANALYSER_NUM 3 // ÿ¸öÊÓÆµÍ¨µÀÄÚµÄ×î´óÊÓÆµ·ÖÎöÆ÷ÊýÁ¿ #define CFG_MAX_ANALYSE_RULE_GROUP_NUM 8 // ÊÓÆµ·ÖÎö¹æÔò×é×î´óÊýÁ¿ // ÖÇÄÜ·ÖÎö¹æÔò×é, Ò»¸ö×éÖаüº¬Í¬ÀàÐ͵ĶàÌõ¹æÔò typedef struct tagCFG_ANALYSERULE_GROUP { DWORD dwRuleType; // ¹æÔòÀàÐÍ£¬Ïê¼ûdhnetsdk.hÖÐ"ÖÇÄÜ·ÖÎöʼþÀàÐÍ" int nRuleStructSize; // ¹æÔòÀàÐͶÔÓ¦µÄ¹æÔò½á¹¹µÄ´óС, parseʱµÄÊä³ö²ÎÊý, packetʱÊÇÊäÈë²ÎÊý BOOL bEnable; // ʹÄÜ BOOL bEventHandlerEnable; // ±¨¾¯Áª¶¯Ê¹ÄÜ, TRUE¹æÔò×鱨¾¯Áª¶¯Ê¹ÄÜ, ×éÄÚËùÓйæÔòʹÓù²Í¬µÄÁª¶¯Ïî; FALSEʹÓùæÔòÖи÷×ÔµÄÁª¶¯Ïî CFG_ALARM_MSG_HANDLE stuEventHandler; // ¹æÔò×鱨¾¯Áª¶¯ CFG_TIME_SCHEDULE stuEventTimeSection; // ¹æÔò×鱨¾¯Áª¶¯Ê±¼ä±í int nRuleNum; // ¹æÔòÊýÁ¿, parseʱµÄÊä³ö²ÎÊý, packetʱÊÇÊäÈë²ÎÊý char* pRuleBuf; // ¹æÔò»º³å, ÐèÒªÓû§·ÖÅäÄÚ´æ, ÓÃÓÚ´æ·Å¹æÔòÐÅÏ¢ // Èç¹æÔòÀàÐÍΪ¾¯½äÏß, pRuleBufµÄÄÚÈݾÍÊǶà¸öCFG_CROSSLINE_INFO int nRuleBufSize; // ¹æÔò»º³å´óС, Óû§Ìîд }CFG_ANALYSERULE_GROUP; // ÊÓÆµ·ÖÎöÆ÷ÐÅÏ¢ typedef struct tagCFG_VIDEO_IN_ANALYSER_INFO { CFG_ANALYSEGLOBAL_INFO stuGlobal; // È«¾ÖÅäÖà CFG_ANALYSEMODULES_INFO stuModules; // Ä£¿éÅäÖà CFG_ANALYSERULE_GROUP stuRuleGroup[CFG_MAX_ANALYSE_RULE_GROUP_NUM]; // ¹æÔòÅäÖÃ, Êý×éÄÚÔªËØµÄ¹æÔò»º³åÐèÒªÓû§·ÖÅäÄÚ´æ int nRuleGroupNum; // ¹æÔò×éÊýÁ¿ }CFG_VIDEOIN_ANALYSER_INFO; // ÊÓÆµÍ¨µÀÄÚµÄÖÇÄܹæÔò, ¸Ã½á¹¹ÌåºÜ´ó, ʹÓÃʱÔÚ¶ÑÖзÖÅäÄÚ´æ typedef struct tagCFG_VIDEO_IN_ANALYSE_RULE_INFO { int nAnalyserNum; // ·ÖÎöÆ÷ÊýÁ¿ CFG_VIDEOIN_ANALYSER_INFO stuAnalysers[CFG_MAX_VIDEOIN_ANALYSER_NUM]; // ·ÖÎöÆ÷ÐÅÏ¢ }CFG_VIDEOIN_ANALYSE_RULE_INFO; typedef enum tagEM_CFG_ACCESS_WORD_MODE { EM_CFG_ACCESS_WORD_MODE_UNKNOWN, // δ֪ EM_CFG_ACCESS_WORD_MODE_NORMAL, // "Normal" Õý³£Ä£Ê½ EM_CFG_ACCESS_WORD_MODE_CLEAN, // "Clean" ´òɨģʽ EM_CFG_ACCESS_WORD_MODE_DECORATION, // "Decoration" ×°ÐÞģʽ EM_CFG_ACCESS_WORD_MODE_UNUSED, // "Unused" Í£ÓÃģʽ EM_CFG_ACCESS_WORD_MODE_OUTSTANDING, // "Outstanding" Ç··Ñģʽ }EM_CFG_ACCESS_WORD_MODE; // ÃÅËø¹¤×÷ģʽ(¶ÔÓ¦ CFG_CMD_ACCESS_WORK_MODE) typedef struct tagCFG_ACCESS_WORK_MODE_INFO { EM_CFG_ACCESS_WORD_MODE emMode; // ¹¤×÷ģʽ }CFG_ACCESS_WORK_MODE_INFO; // ¶Ô½²Ô¶³Ì·½Ê±¼äÏÞÖÆ typedef struct tagCFG_VIDEO_TALK_TIME_LIMIT { int nMaxRingingTime; // À´µçÕñÁå×î´óʱ³¤£¬³¬Ê±×Ô¶¯¹Ò¶Ï, 1-600Ãë int nMaxConnectingTime; // ×î´óͨ»°Ê±³¤£¬³¬Ê±×Ô¶¯¹Ò¶Ï, 1-600·ÖÖÓ UINT nMaxLeaveWordTime; // ×î´ó×Ô¶¯ÁôÑÔʱ³¤,³¬Ê±×Ô¶¯½áÊø£¬1-600Ãë } CFG_VIDEO_TALK_TIME_LIMIT; // Ô¶³ÌÉ豸ÀàÐÍ typedef enum tagEM_CFG_VT_TYPE { EM_CFG_VT_TYPE_VTH = 0, // VTH EM_CFG_VT_TYPE_VTO, // VTO EM_CFG_VT_TYPE_VTS, // VTS EM_CFG_VT_TYPE_MAX, } EM_CFG_VT_TYPE; // ÊÓÆµ¶Ô½²µç»°Í¨ÓÃÅäÖÃ(CFG_CMD_VIDEO_TALK_PHONE_GENERAL) typedef struct tagCFG_VIDEO_TALK_PHONE_GENERAL { char szRingFile[MAX_PATH]; // ÁåÉùÎļþ·¾¶ int nRingVolume; // ÁåÒôÒôÁ¿, 0-100 int nTalkVolume; // ͨ»°ÒôÁ¿, 0-100 CFG_NET_TIME stuDisableRingStartTime; // ÃâÈÅ¿ªÊ¼Ê±¼ä CFG_NET_TIME stuDisableRingEndTime; // ÃâÈŽáÊøÊ±¼ä CFG_VIDEO_TALK_TIME_LIMIT stuTimeLimit[EM_CFG_VT_TYPE_MAX]; // ÿ¸öÔªËØ¶ÔÓ¦Ò»ÖÖÔ¶³ÌÉ豸ÀàÐÍ£¬µ±Ç°Ö»ÓÐVTSÓÐЧ // 0-VTH,1-VTO,2-VTS int nMaxMonitorTime; // ¼àÊÓ×î´óʱ³¤£¬³¬Ê±×Ô¶¯½áÊø, 1-600·ÖÖÓ int nMaxRecordTime; // ¼Ïñ×î´óʱ³¤£¬³¬Ê±×Ô¶¯½áÊø, 15-300Ãë BOOL bSnapEnable; // ºô½ÐÁª¶¯×¥Í¼Ê¹ÄÜ // ץͼºóÉÏ´«Â·¾¶¼ûÅäÖÃÏîRecordStoragePointµÄEventSnapShot BOOL bRingSoundEnable; // ºô½ÐÁåÉùʹÄÜ char szVthRingFile[CFG_COMMON_STRING_128]; // ÊÒÄÚ»ú±»ÊÒÄÚ»úºô½ÐµÄÁåÉùÎļþ UINT nVthRingVolume; // ÊÒÄÚ»ú±»ÊÒÄÚ»úºô½ÐÁåÉùÒôÁ¿ BOOL bLeaveMsgSoundEnable; // ÁôÓ°ÁôÑÔÌáʾÉùʹÄÜ BOOL bSilenceEnable; // ÊÇ·ñ¾²Òô UINT nMaxMonitorIPCTime; // IPC¼àÊÓ×î´óʱ³¤£¬³¬Ê±×Ô¶¯½áÊø£¬0-10Сʱ,µ¥Î»ÎªÃë UINT nReviseTime; // ÃâÈÅʱ¼äʹÓ㬵±ÏµÍ³Ê±¼ä¸Ä±äµÄʱºò,Ôö¼ÓÕâ¸öʱ¼äÀ´²úÉúеÄÃâÈŽáÊøÊ±¼ä,µ¥Î»Ãë BOOL bTalkRecordUpload; // ºô½Ð¼Ç¼ÊÇ·ñÉÏ´« UINT nSnapShotCount; // ºô½Ð×¥ÅÄͼƬÕÅÊý£¬1-5ÕÅ BOOL bRemoteControl; // ÊÇ·ñ½ÓÊÜÔ¶³Ì¿ØÖƲÙ×÷ // trueʱ,ÔÚ¿Í»§¶Ë¿ÉÔ¶³Ì²Ù×÷É豸ÉÏÖÇÄܼҾÓÉ豸¡¢É豸µÄ²¼³··À¶¯×÷¡£ BOOL bLeaveMessageEnable; // ÁôÑԼǼÊÇ·ñ¿ªÆô BOOL bLeaveMessageUpload; // ÁôÑԼǼÊÇ·ñÉÏ´« BOOL bLocalVideoEnable; // ±¾µØÊÓÆµÊÇ·ñ¿ªÆô BOOL bPublishInfoOverlayingEnable; // ¹«¸æÐÅÏ¢µþ¼ÓʹÄÜ¿ØÖÆ } CFG_VIDEO_TALK_PHONE_GENERAL; // ץͼºÏ³ÉÅäÖà typedef struct tagCFG_TRAFFIC_SNAP_MOSAIC_INFO { BOOL bEnable; // ÊÇ·ñ×öͼƬºÏ³É int nPicCompressRate; // ͼƬѹËõ±È£¬10-100 BOOL bUploadNormalSnap; // ÊÇ·ñÉÏ´«Ô­Ê¼Í¼Æ¬ } CFG_TRAFFIC_SNAP_MOSAIC_INFO; // ½»Í¨×¥ÅÄ´ÎÊý #define TRAFFIC_SNAP_COUNT 4 // ×¥ÅÄÉèÖ㬶ÔÓ¦Ò»¸ö¹æÔò typedef struct tagCFG_SNAPSHOT_RULE { int nType; // ¼û dhnetsdk.h ÖС°ÖÇÄÜ·ÖÎöʼþÀàÐÍ¡±ºê¶¨Òå int nRepeatInterval; // 1~1440£¬µ¥Î»£º·ÖÖÓ£¬Ä¬ÈÏ1440 int nSnapShotType[TRAFFIC_SNAP_COUNT]; // ×¥ÅÄÀàÐÍÊý×飬0£ºÎ´¶¨Ò壬1£º½ü¾°£¬2£ºÔ¶¾° int nSingleInterval[TRAFFIC_SNAP_COUNT];// ץͼʱ¼ä¼ä¸ôÊý×飬 // µÚÒ»¸öʱ¼ä£º5~180 ĬÈÏ10 £¨Î¥ÕÂÍ£³µ¹æÔòÓÐЧ£©µ¥Î»Ãë // µÚ¶þ¡¢Èý¡¢Ëĸöʱ¼ä£º1Ãë~60·ÖĬÈÏ20Ãë } CFG_SNAPSHOT_RULE; // ×¥ÅÄÉèÖ㬶ÔÓ¦Ò»¸ö³¡¾° typedef struct tagCFG_SCENE_SNAPSHOT_RULE { int nPresetID; // ³¡¾°Ô¤ÖõãºÅ int nCount; // ¹æÔò¸öÊý CFG_SNAPSHOT_RULE stRule[32]; // µ¥¹æÔòÉèÖà } CFG_SCENE_SNAPSHOT_RULE; // ³¡¾°×¥ÅÄÉèÖà typedef struct tagCFG_SCENE_SNAPSHOT_RULE_INFO { int nCount; // ³¡¾°¸öÊý CFG_SCENE_SNAPSHOT_RULE stScene[32]; // µ¥³¡¾°ÅäÖà } CFG_SCENE_SNAPSHOT_RULE_INFO; #define CFG_MAX_PTZTOUR_NUM 64 // Ѳº½Â·¾¶ÊýÁ¿ #define CFG_MAX_PTZTOUR_PRESET_NUM 64 // Ѳº½Â·¾¶°üº¬µÄÔ¤ÖõãÊýÁ¿ // Ѳº½Â·¾¶ÖеÄÔ¤Öõã typedef struct tagCFG_PTZTOUR_PRESET { int nPresetID; // Ô¤Öõã±àºÅ int nDuration; // ÔÚ¸ÄÔ¤ÖõãµÄÍ£Áôʱ¼ä, µ¥Î»Ãë int nSpeed; // µ½´ï¸ÃÔ¤ÖõãµÄת¶¯ËÙ¶È, 1~10 } CFG_PTZTOUR_PRESET; // Ѳº½Â·¾¶ typedef struct tagCFG_PTZTOUR_SINGLE { BOOL bEnable; // ʹÄÜ char szName[CFG_COMMON_STRING_64]; // Ãû³Æ int nPresetsNum; // Ô¤ÖõãÊýÁ¿ CFG_PTZTOUR_PRESET stPresets[CFG_MAX_PTZTOUR_PRESET_NUM]; // ¸Ã·¾¶°üº¬µÄÔ¤Öõã²ÎÊý } CFG_PTZTOUR_SINGLE; // ÔÆÌ¨Ñ²º½Â·¾¶ÅäÖà typedef struct tagCFG_PTZTOUR_INFO { int nCount; // Ѳº½Â·¾¶ÊýÁ¿ CFG_PTZTOUR_SINGLE stTours[CFG_MAX_PTZTOUR_NUM]; // Ѳº½Â·¾¶, ÿ¸öͨµÀ°üº¬¶àÌõѲº½Â·¾¶ } CFG_PTZTOUR_INFO; // ÃſڻúÀàÐÍ typedef enum tagEM_CFG_VTO_TYPE { EM_CFG_VTO_TYPE_UNKNOW =0 , //δ֪ EM_CFG_VTO_TYPE_VTO , //µ¥ÔªÃſڻú EM_CFG_VTO_TYPE_WALL , //Χǽ»ú EM_CFG_VTO_TYPE_MAX , }EM_CFG_VTO_TYPE; // ÃſڻúÐÅÏ¢ typedef struct tagCFG_VTO_INFO { BOOL bEnable; // ʹÄÜ char szID[CFG_COMMON_STRING_64]; // Ãſڻú±êʶ char szIP[CFG_COMMON_STRING_64]; // IPµØÖ· unsigned int nPort; // ¶Ë¿Ú EM_CFG_VTO_TYPE emType; // ÃſڻúÀàÐÍ char szMidNum[CFG_COMMON_STRING_32]; // ÃſڻúÖкŠchar szMachineAddress[CFG_COMMON_STRING_128]; // ÃſڻúËù´¦Î»Öà char szLoginUsername[CFG_COMMON_STRING_32]; // Èý´úµÇ¼Óû§Ãû char szLoginPassWord[CFG_COMMON_STRING_32]; // Èý´úµÇ¼ÃÜÂë char szRingFile[CFG_COMMON_STRING_256]; //Ãſڻúºô½ÐÊÒÄÚ»ú£¬ÊÒÄÚ»úµÄÁåÉùÎļþ int nRingVolume; // ÊÒÄÚ»úµÄÁåÉù´óС }CFG_VTO_INFO; // ÃſڻúÐÅÏ¢Áбí typedef struct tagCFG_VTO_LIST { int nVTONum; // ÃſڻúÊýÁ¿ CFG_VTO_INFO stuVTOInfos[CFG_MAX_VTO_NUM]; // ÃſڻúÐÅÏ¢ }CFG_VTO_LIST; //´¥ÃþÆÁ×ø±êµã typedef struct tagCFG_TS_POINT { unsigned int nX; //×ø±ê·¶Î§[0 - 65535] unsigned int nY; //×ø±ê·¶Î§[0 - 65535] }CFG_TS_POINT; //´¥ÃþÆÁУ׼ÅäÖà typedef struct tagCFG_TSPOINT_INFO { CFG_TS_POINT stDisplay[TS_POINT_NUM]; //ÏÔÊ¾×ø±ê,ÏÖÔÚÖ»Ö§³Ö3¸öµã CFG_TS_POINT stScreen[TS_POINT_NUM]; //ÆÁÄ»×ø±ê,ÏÖÔÚÖ»Ö§³Ö3¸öµã }CFG_TSPOINT_INFO; //ÊÒÄÚ»úÀàÐÍ typedef enum tagEM_CFG_VTH_TYPE { EM_CFG_VTH_TYPE_UNKNOW=0 , // δ֪ EM_CFG_VTH_TYPE_MAIN , // Ö÷ÊÒÄÚ»ú EM_CFG_VTH_TYPE_SUB , // ×ÓÊÒÄÚ»ú }EM_CFG_VTH_TYPE; //É豸ʹÓó¡¾° typedef enum tagEM_CFG_VTH_APPTYPE { EM_CFG_VTH_APPTYPE_UNKNOW=0 , //δ֪ EM_CFG_VTH_APPTYPE_COMMON , //Õý³£ÊÒÄÚ»ú EM_CFG_VTH_APPTYPE_MANAGER , //¹ÜÀíÖÐÐÄ }EM_CFG_VTH_APPTYPE; //ÊÒÄÚ»úºÅÂëÐÅÏ¢ typedef struct tagCFG_VTH_NUMBER_INFO { char szShortNumber[CFG_COMMON_STRING_32]; // ¶ÌºÅ ·¶Î§[1,9999],±êʾ²»Í¬ÊÒÄÚ»ú;Èç¹ûÊÇÊÒÄÚ·Ö»ú,¶ÌºÅÔòΪ"9901-N" NΪ1,2,3. char szMiddleNumber[CFG_COMMON_STRING_32]; // ÖкŠ¸ñʽ:Ð¡ÇøºÅ(1λ)£«´±ºÅ(2λ)£«µ¥ÔªºÅ(1λ)£«¶ÌºÅ(4λ) char szVirtualNumber[CFG_COMMON_STRING_32]; // ÊÒÄÚ»úÐéºÅ ÍøÂçºô½Ðʱ,´ËÉ豸¶ÔÍâµÄºÅÂ룬ÈçͬÊÖ»úºÅÂë EM_CFG_VTH_TYPE emVthType; // ÊÒÄÚ»úÀàÐÍ char szMainNumber[CFG_COMMON_STRING_32]; // Ö÷·¿¼äºÅ ·¶Î§[1,9999] emVthTypeΪEM_CFG_VTH_TYPE_SUBʱÓÐЧ char szSubNumber[CFG_COMMON_STRING_32]; // ·Ö»úºÅ ·¶Î§[1,5] emVthTypeΪÊÇEM_CFG_VTH_TYPE_SUBʱÓÐЧ char szMainDeviceIP[CFG_COMMON_STRING_64]; // Ö÷ÊÒÄÚ»úIP ÓÃÓÚ×ÓÊÒÄÚµÄÅäÖÃͬ²½¸øÖ÷ÊÒÄÚ»ú emVthType ÊÇEM_CFG_VTH_TYPE_SUBʱÓÐЧ£¬ EM_CFG_VTH_APPTYPE emVthAppType; // É豸ʹÓó¡¾° int nLockState; // Ëø¶¨×´Ì¬£¬0±íʾ²»Ëø¶¨,ĬÈÏÖµ; 1±íÊ¾Ëø¶¨ char szUsername[MAX_USERNAME_LEN]; // Èý´úÓû§Ãû char szPassword[MAX_PASSWORD_LEN]; // Èý´úÃÜÂë }CFG_VTH_NUMBER_INFO; // GPS¹¤×÷ģʽ typedef enum tagEM_CFG_GPS_MODE { EM_CFG_GPS_MODE_UNKNOWN, EM_CFG_GPS_MODE_GPS, // GPS EM_CFG_GPS_MODE_BEIDOU, // BEIDOU EM_CFG_GPS_MODE_GLONASS, // GLONASS EM_CFG_GPS_MODE_MIX, // MIX EM_CFG_GPS_MODE_END, // ½öÓÃÓÚ±êʶ×ÜÊý } EM_CFG_GPS_MODE; // ƽ̨ÀàÐÍ typedef enum tagEM_CFG_TRANSFER_PLATFORM { EM_CFG_TRANSFER_PLATFORM_UNKNOWN, EM_CFG_TRANSFER_PLATFORM_DSS, // DSS EM_CFG_TRANSFER_PLATFORM_JTBB, // JTBB EM_CFG_TRANSFER_PLATFORM_END, // ½öÓÃÓÚ±êʶ×ÜÊý } EM_CFG_TRANSFER_PLATFORM; // µ¥¸öGPSÅäÖà typedef struct tagCFG_GPS_INFO { BOOL bEnable; // ÊÇ·ñʹÄÜ int nSampleInterval; // Ó²¼þ²É¼¯ÖÜÆÚ, µ¥Î»ºÁÃë int nNotifyInterval; // Ó¦ÓóÌÐò֪ͨÖÜÆÚ, µ¥Î»ºÁÃë BOOL bSyncTime; // ÊÇ·ñ½«GPSʱ¼äͬ²½µ½É豸 EM_CFG_GPS_MODE emCurMode; // Ä£¿éµ±Ç°¹¤×÷ģʽ int nSupportModes; // Ö§³ÖµÄ¶¨Î»Ä£Ê½ÊýÁ¿ EM_CFG_GPS_MODE emSupportModes[EM_CFG_GPS_MODE_END]; // Ä£¿éÖ§³ÖµÄ¶¨Î»Ä£Ê½ char szCurModule[CFG_COMMON_STRING_64]; // µ±Ç°Ä£¿é³§¼ÒÀàÐͱêÖ¾ BOOL bShowLocation; // ÊÇ·ñÖ§³ÖµØÀíλÖÃÏÔʾ int nSaveDays; // GPS±£´æÌìÊý£¬ÓÃÓÚ²¹´«, µ¥Î»£ºÌ죬·¶Î§£º0-365 int nTransferPlatform; // Ö§³Ö²¹´«µÄƽ̨ÊýÁ¿ EM_CFG_TRANSFER_PLATFORM emTransferPlatform[EM_CFG_TRANSFER_PLATFORM_END]; // Ö§³Ö²¹´«µÄƽ̨£¬Êý¾Ý½ÓÊÕ·½ } CFG_GPS_INFO; #define CFG_GPS_INFO_MAX 16 // GPSÅäÖà typedef struct tagCFG_GPS_INFO_ALL { int nGps; // GPS¸öÊý CFG_GPS_INFO stGps[CFG_GPS_INFO_MAX]; // GPSÅäÖÃ, ÿ¸öGPSÉ豸¶ÔÓ¦Ò»¸öÅäÖà } CFG_GPS_INFO_ALL; // VTOÉ豸ÀàÐÍ typedef enum tagNET_CFG_VTO_TYPE { NET_CFG_VTO_TYPE_UNKNOWN = 0, // δ֪ NET_CFG_VTO_TYPE_VILLA, // 1 ±ðÊû»ú NET_CFG_VTO_TYPE_DOOR, // 2 Ãſڻú NET_CFG_VTO_TYPE_LADDER, // 3 Ìݿػú NET_CFG_VTO_TYPE_APART, // 4 Ä£¿é»¯Ãſڻú NET_CFG_VTO_TYPE_SECOND, // 5 ¶þ´ÎÈ·ÈÏ»ú NET_CFG_VTO_TYPE_FACE, // 6 ÈËÁ³Â¼Èë»ú NET_CFG_VTO_TYPE_CONTROLLER, // 7 ¿ØÖÆÆ÷ NET_CFG_VTO_TYPE_MAX, } NET_CFG_VTO_TYPE; // ÃſڻúÀàÐÍ //VTO»ù±¾ÐÅÏ¢ typedef struct tagCFG_VTO_BASIC_INFO { char szNumber[AV_CFG_DeviceNo_Len]; // Ãſڻú±àºÅ NET_CFG_VTO_TYPE emCfgVtoType; // É豸ÀàÐÍ EM_CFG_VTO_TYPE emType; // ÃſڻúÀàÐÍ 1µ¥ÔªÃſڻú 2Χǽ»ú char szAnalogVersion[CFG_COMMON_STRING_64]; // Ä£Äâϵͳ°æ±¾ BOOL bFaceDetect; // ÈËÁ³Ê¶±ðʹ 1¿ªÆô 0¹Ø±Õ int nPositon; // VTOËùÔÚÂ¥²ãλÖà Int32, 0 ±íʾÎÞЧ // 1,2,¡­±íʾµØÉÏÒ»²ã£¬¶þ²ã -1,-2,¡­±íʾµØÏÂÒ»²ã£¬¶þ²ã }CFG_VTO_BASIC_INFO; typedef enum tagEM_CFG_SHORTCUT_CALL_POSITION_TYPE { EM_CFG_SHORTCUT_CALL_POSITION_TYPE_UNKNOWN, // δ֪ EM_CFG_SHORTCUT_CALL_POSITION_TYPE_SUPERMARKET, // ³¬ÊÐ EM_CFG_SHORTCUT_CALL_POSITION_TYPE_RESTAURANT, // ²ÍÌü EM_CFG_SHORTCUT_CALL_POSITION_TYPE_HOSPITAL, // Ò½Ôº EM_CFG_SHORTCUT_CALL_POSITION_TYPE_MANAGER, // ¹ÜÀíÖÐÐÄ EM_CFG_SHORTCUT_CALL_POSITION_TYPE_CUSTOM, // ×Ô¶¨Òå EM_CFG_SHORTCUT_CALL_POSITION_TYPE_FRUITSTORE, // Ë®¹ûµê }EM_CFG_SHORTCUT_CALL_POSITION_TYPE; //¿ì½ÝºÅÐÅÏ¢ typedef struct tagCFG_SHORTCUT_CALL { char szCallNumber[CFG_COMMON_STRING_64]; // ¿ì½ÝºÅ EM_CFG_SHORTCUT_CALL_POSITION_TYPE emPositionType; // µØµãÀàÐÍ }CFG_SHORTCUT_CALL; //¿ì½ÝºÅÅäÖà typedef struct tagCFG_SHORTCUT_CALL_INFO { int nMaxNum; // ×î´ó½á¹¹Ìå¸öÊý£¬Óë pShortcutCallInfo Ö¸Ïò½á¹¹Ìå¸öÊý±£³ÖÒ»Ö CFG_SHORTCUT_CALL* pShortcutCallInfo; // ÓÃÓÚ´æ´¢¿ì½ÝºÅÐÅÏ¢µÄ½á¹¹ÌåÖ¸Õ룬ÓÉÓû§ÉêÇë int nValidNum; // ÓÐЧ½á¹¹Ìå¸öÊý£¬»ñȡʱÓÉsdkÌîд£¬ÉèÖÃʱÓÉÓû§Ìîд }CFG_SHORTCUT_CALL_INFO; // ¼Ç¼¼¯GPSLocationµÄ°æ±¾ºÅ typedef struct tagCFG_LOCATION_VER_INFO { unsigned int nVer; // °æ±¾ºÅ } CFG_LOCATION_VER_INFO; // É豸¿É·ÃÎʵØÖ·¹ýÂËÅäÖà CFG_CMD_PARKING_SPACE_ACCESS_FILTER typedef struct tagCFG_PARKING_SPACE_ACCESS_FILTER_INFO { BOOL bEnable; // ¹ýÂËʹÄÜ int nTrustListNum; // °×Ãûµ¥IPÊýÁ¿ char szTrustList[CFG_MAX_TRUST_LIST][CFG_FILTER_IP_LEN]; // °×Ãûµ¥ ÊÇÒ»¸öÊý×飬ÿһ¸öÊÇIP } CFG_PARKING_SPACE_ACCESS_FILTER_INFO; // ¹¤×÷ʱ¼äÅäÖà CFG_CMD_WORK_TIME typedef struct tagCFG_WORK_TIME_INFO { BOOL bEnable; // ΪTRUEʱ¸ÃÅäÖÃÉúЧ£¬·Ç¹¤×÷ʱ¼äÉϱ¨DH_ALARM_BUS_DRIVE_AFTER_WORKʼþ£¬ÎªFALSEʱ¸ÃÅäÖÃÎÞЧ CFG_TIME stWorkTimeBegin; // ¿ªÊ¼¹¤×÷ʱ¼ä CFG_TIME stWorkTimeEnd; // ½áÊø¹¤×÷ʱ¼ä DWORD dwOutTimeBegin; // ¿ªÊ¼Íâ³ö¼°Î¬ÐÞʱ¼ä, utcÃë DWORD dwOutTimeEnd; // ½áÊøÍâ³ö¼°Î¬ÐÞʱ¼ä, utcÃë } CFG_WORK_TIME_INFO; // ³µÎ»¼à¹Ü״̬ typedef enum tagEM_CFG_LANE_STATUS { EM_CFG_LANE_STATUS_UNKOWN = -1, // ״̬δ֪ EM_CFG_LANE_STATUS_UNSUPERVISE = 0, // ²»¼à¹Ü EM_CFG_LANE_STATUS_SUPERVISE = 1, // ¼à¹Ü }EM_CFG_LANE_STATUS; #define MAX_LANES_NUM 64 // µÆ×é¼à¹Ü³µÎ»µÄ×î¶à¸öÊý // µ¥¸ö³µÎ»Ö¸Ê¾µÆ±¾»úÅäÖà typedef struct tagCFG_PARKING_SPACE_LIGHT_GROUP_INFO { BOOL bEnable; // ΪTRUEʱ¸ÃÅäÖÃÉúЧ£¬ÎªFALSEʱ¸ÃÅäÖÃÎÞЧ EM_CFG_LANE_STATUS emLaneStatus[MAX_LANES_NUM]; // µÆ×é¼à¹ÜµÄ³µÎ»£¬Ï±ê±íʾ³µÎ»ºÅ int nLanesNum; // ÓÐЧµÄ³µÎ»ÊýÁ¿£¨¿ÉÒÔÉèΪ¼à¹Ü»ò²»¼à¹ÜµÄ³µÎ»ÊýÁ¿£© BOOL bAcceptNetCtrl; // ÊÇ·ñ½ÓÊÜÔ¶³Ì¿ØÖÆ }CFG_PARKING_SPACE_LIGHT_GROUP_INFO; #define MAX_LIGHT_GROUP_INFO_NUM 8 // ³µÎ»Ö¸Ê¾µÆ±¾»úÅäÖõÄ×î¶à¸öÊý // ³µÎ»Ö¸Ê¾µÆ±¾»úÅäÖà CFG_CMD_PARKING_SPACE_LIGHT_GROUP typedef struct tagCFG_PARKING_SPACE_LIGHT_GROUP_INFO_ALL { int nCfgNum; // »ñÈ¡µ½µÄÅäÖøöÊý CFG_PARKING_SPACE_LIGHT_GROUP_INFO stuLightGroupInfo[MAX_LIGHT_GROUP_INFO_NUM]; // ³µÎ»Ö¸Ê¾µÆ±¾»úÅäÖà }CFG_PARKING_SPACE_LIGHT_GROUP_INFO_ALL; // ×Ô¶¨ÒåÒôƵÅäÖÃ(CFG_CMD_CUSTOM_AUDIO) typedef struct tagCFG_CUSTOM_AUDIO { char szPlateNotInDB[MAX_PATH]; // ³µÅÆÎ´ÔÚÊý¾Ý¿âµÄ¸æ¾¯ÒôƵ·¾¶ }CFG_CUSTOM_AUDIO; // À×´ïÅäÖ᪡ª³µËÙ typedef struct tagCFG_RADAR_CARSPEED { int nTriggerLower; // ´¥·¢ÖµÏÂÏÞ int nTriggerUpper; // ´¥·¢ÖµÉÏÏÞ int nLimitLower; // ÏÞËÙÖµÏÂÏÞ int nLimitUpper; // ÏÞËÙÖµÉÏÏÞ } CFG_RADAR_CARSPEED; // ´ó»ªÀ×´ïÅäÖà CFG_CMD_DHRADER_PP typedef struct tagCFG_DAHUA_RADAR { int nAngle; // ½Ç¶È£¬ÓÃÓÚÐÞÕýÀ×´ï̽ͷ°²×°µÄ½Ç¶ÈÔì³ÉµÄËÙ¶ÈÎó²î µ¥Î»¶È£¬·¶Î§0~45 BOOL bLowSpeed; // ÊÇ·ñÆôÓõÍÏÞËÙ£¬Îª TRUE ʱ£¬CFG_RADAR_CARSPEED ½á¹¹Öи÷ÏÂÏÞÖµÓÐЧ BOOL bSpeedForSize; // ÊÇ·ñÆôÓôóС³µÏÞËÙ£¬Îª FALSE ʱ½öС³µËÙ¶ÈÅäÖã¨stuSmallCarSpeed£©ÓÐЧ CFG_RADAR_CARSPEED stuSmallCarSpeed; // С³µËÙ¶ÈÅäÖã¬bSpeedForSize Ϊ TRUE ʱ nTriggerLower ³ÉԱͬʱҲ´ú±íÖгµºÍ´ó³µµÄ´¥·¢ÖµÏÂÏÞ CFG_RADAR_CARSPEED stuMediumCarSpeed; // ÖгµËÙ¶ÈÅäÖã¬bSpeedForSize Ϊ TRUE ʱÓÐЧ£¬µ« nTriggerLower ³ÉԱʼÖÕÎÞЧ CFG_RADAR_CARSPEED stuBigCarSpeed; // ´ó³µËÙ¶ÈÅäÖã¬bSpeedForSize Ϊ TRUE ʱÓÐЧ£¬µ« nTriggerLower ³ÉԱʼÖÕÎÞЧ char szName[256]; // É豸°²×°µØÖ· int nSensitivity; // ÁéÃô¶È ·¶Î§0~5£¬0×î¸ß int nDetectMode; // ¼ì²âģʽ£¬È¡Öµ£º-1 ÎÞÒâÒå 0 ǰÏòÀ´³µ 1 ǰÏòÈ¥³µ 2 ºóÏòÀ´³µ 3 ºóÏòÈ¥³µ 4 ǰÏòË«Ïò 5 ºóÏòË«Ïò } CFG_DAHUA_RADAR; // É豸ͨ¹ýwifiÄ£¿éɨÃèÖÜΧÎÞÏßÉ豸ÅäÖà CFG_CMD_WIFI_SEARCH typedef struct tagCFG_WIFI_SEARCH_INFO { BOOL bEnable; // ÊÇ·ñÉúЧ int nPeriod; // ʼþÉϱ¨ÖÜÆÚ, µ¥Î»Ãë BOOL bOptimizNotification; // ĬÈÏÖµÊÇfalse£¬ÖÃfalseʱ£¬ËÑË÷µ½µÄÉ豸״̬ÿ´Î¾ùÈ«²¿Éϱ¨,ÖÃtrueʱ£¬ËÑË÷µ½µÄÉ豸״̬ÔÚ䳬¹ýPDÖÐOptimizationPeriodȡֵÖÜÆÚʱ£¬Ö»Éϱ¨ÐÂÔö/À뿪µÄÉ豸״̬£»³¬¹ýPDÖÐOptimizationPeriodȡֵÖÜÆÚʱ£¬µ±´ÎÐèÉϱ¨ËÑË÷µ½µÄÈ«²¿É豸״̬ } CFG_WIFI_SEARCH_INFO; // ³µÔØÉ豸ͨÐÅÄ£¿é34GÇл»Ê¹ÄÜÅäÖÃ(CFG_CMD_G3G4AUTOCHANGE) typedef struct tagCFG_G3G4AUTOCHANGE { BOOL bEnable; // ÊÇ·ñ¿ªÆô3Gµ½4G×Ô¶¯Çл»¹¦ÄÜ ÎªTRUEʱ¸ÃÅäÖÃÉúЧ£¬ÎªFALSEʱ¸ÃÅäÖÃÎÞЧ }CFG_G3G4AUTOCHANGE; #define MAX_POS_CODE_LENGTH 32 // Ë¢¿¨Æ÷УÑéÂë×î´ó³¤¶È #define MAX_ARRAY_POS_CODE 10 // Ë¢¿¨Æ÷УÑéÂëÊý×é×î´ó¸öÊý // Ë¢¿¨Æ÷УÑéÂëУÑéÅäÖÃ(¶ÔÓ¦ CFG_CMD_CHECKCODE) typedef struct tagCFG_CHECKCODE_INFO { BOOL bEnable; // ʹÄÜ int nCodeCount; // Êý×éÖÐÓÐ ÓÐЧֵ µÄ¸öÊý char szCode[MAX_ARRAY_POS_CODE][MAX_POS_CODE_LENGTH]; // Ë¢¿¨Æ÷УÑéÂëÊý×é }CFG_CHECKCODE_INFO; // ËÄ´¨Òƶ¯¿´µêÆôµÏƽ̨ÅäÖÃ(¶ÔÓ¦ CFG_CMD_VSP_SCYDKD) typedef struct tagCFG_VSP_SCYDKD_INFO { BOOL bEnable; // ʹÄÜ char szServerIP[128]; // ×¢²áÇëÇóµÄ·þÎñÆ÷IPµØÖ· int nServerPort; // ×¢²áÇëÇóµÄ·þÎñÆ÷¶Ë¿ÚºÅ char szDeviceID[32]; // ÊÓÆµÊäÈëÉ豸ID char szUserName[32]; // ÆôµÏƽ̨Óû§Ãû }CFG_VSP_SCYDKD_INFO; // ÔÆÌ¨¿ª»ú¶¯×÷ÅäÖà typedef struct tagCFG_PTZ_POWERUP_INFO { BOOL bEnable; // ¿ª»ú¶¯×÷¿ª¹Ø±êÖ¾ int nFunction; // ¿ª»ú¹¦ÄÜ£¬-1 ±íʾ¼ÌÐø¶ÏµçǰµÄ¶¯×÷£¬ÆäËû¿Éȡֵ¼û EM_PTZ_ACTION int nScanId; // ×Ô¶¯Ïßɨ±àºÅ int nPresetId; // Ô¤Öõã±àºÅ int nPatternId; // ×Ô¶¯Ñ²¼£±àºÅ int nTourId; // Ѳº½±àºÅ } CFG_PTZ_POWERUP_INFO; // VTHÖÐÔ¶³ÌIPCÅäÖà #define MAX_REMOTE_IPC_NUM 64 // ×î´ó¿ÉÅäÖõÄÔ¶³ÌIPC¸öÊý // Ô¶¶ËIPCЭÒéÀàÐÍ typedef enum tagEM_CFG_REMOTE_IPC_DEVICE_PROTOCOL { EM_CFG_REMOTE_IPC_DEVICE_PROTOCOL_UNKNOWN = 0, // δ֪ EM_CFG_REMOTE_IPC_DEVICE_PROTOCOL_HIKVISION, // º£¿µ EM_CFG_REMOTE_IPC_DEVICE_PROTOCOL_PRIVATE3, // ˽ÓÐÈý´úЭÒé }EM_CFG_REMOTE_IPC_DEVICE_PROTOCOL; // Ô¶¶ËIPCÂëÁ÷ÀàÐÍ typedef enum tagEM_CFG_REMOTE_IPC_DEVICE_STREAMTYPE { EM_CFG_REMOTE_IPC_DEVICE_STREAM_TYPE_UNKNOWN = 0, // δ֪ EM_CFG_REMOTE_IPC_DEVICE_STREAM_TYPE_MAIN, // Ö÷ÂëÁ÷ EM_CFG_REMOTE_IPC_DEVICE_STREAM_TYPE_EXTRA1, // ¸¨ÂëÁ÷ }EM_CFG_REMOTE_IPC_DEVICE_STREAMTYPE; #define MAX_REMOTEIPCINFO_IPADDR_LEN 128 // Ô¶³ÌIPC IPµØÖ·×î´ó³¤¶È #define MAX_REMOTEIPCINFO_MACADDR_LEN 64 // Ô¶³ÌIPC MACµØÖ·×î´ó³¤¶È #define MAX_REMOTEIPCINFO_USERNAME_LEN 128 // Ô¶³ÌIPCÓû§Ãû×î´ó³¤¶È #define MAX_REMOTEIPCINFO_USERPSW_LENGTH 128 // Ô¶³ÌIPCÃÜÂë×î´ó³¤¶È // Ô¶¶ËIPCÒÀÀµÉ豸ÀàÐÍ typedef enum tagEM_CFG_REMOTE_IPC_RELY_TYPE { EM_CFG_REMOTE_IPC_RELY_TYPE_UNKNOWN = 0, // δ֪ EM_CFG_REMOTE_IPC_RELY_TYPE_IPC, // IPC EM_CFG_REMOTE_IPC_RELY_TYPE_NVR, // NVR }EM_CFG_REMOTE_IPC_RELY_TYPE; // Ô¶¶ËIPCÐÅÏ¢ typedef struct tagCFG_REMOTE_IPC_INFO { char szIP[MAX_REMOTEIPCINFO_IPADDR_LEN]; // É豸IP char szMac[MAX_REMOTEIPCINFO_MACADDR_LEN]; // MACµØÖ· char szUser[MAX_REMOTEIPCINFO_USERNAME_LEN]; // Óû§Ãû char szPassword[MAX_REMOTEIPCINFO_USERPSW_LENGTH]; // ÃÜÂë int nPort; // ¶Ë¿Ú EM_CFG_REMOTE_IPC_DEVICE_PROTOCOL emProtocol; // ЭÒéÀàÐÍ EM_CFG_REMOTE_IPC_DEVICE_STREAMTYPE emStreamType; // ýÌåÁ÷ÀàÐÍ int nChannel; // ͨµÀºÅ EM_CFG_REMOTE_IPC_RELY_TYPE emIPCRely; // ÒÀÀµÉ豸ÀàÐÍ }CFG_REMOTE_IPC_INFO; // VTHÖÐÔ¶³ÌIPCÅäÖýṹÌå, ¶ÔÓ¦ CFG_CMD_VTH_REMOTE_IPC_INFO // ¸ÃÅäÖÃÊÇÈ«¾ÖµÄ£¬²»Çø·ÖͨµÀ typedef struct tagCFG_VTH_REMOTE_IPC_INFO { int nRemoteIPCNum; // Ô¶¶ËIPC¸öÊý CFG_REMOTE_IPC_INFO stuCfgRemoteIpcInfo[MAX_REMOTE_IPC_NUM]; // Ô¶¶ËIPCÐÅÏ¢ }CFG_VTH_REMOTE_IPC_INFO; // Çò»ú»úоÈÕÒ¹µ¥Ê±¼ä¶ÎÅäÖà typedef struct tagDAYNIGHT_INFO { int nType; // Çл»ÀàÐÍ£¬1 - µç×Ó£¬2 - »úе£¬Í¨³£²ÉÓÃÂË¹âÆ¬£¨ICR£© int nMode; // ²ÊתºÚģʽ£¬1-×ÜÊDzÊÉ«£¬2-×Ô¶¯£¬¸ù¾ÝÁÁ¶ÈÇл»£¬3-×ÜÊǺڰף¬4-¹âÃôµç×裬5-¸ù¾ÝÔöÒæÇл»£¬6-Íⲿ±¨¾¯ÊäÈ룬7¨CÍⲿIOÊäÈë int nSensitivity; // ²ÊתºÚÁéÃô¶È£¬¿Éȡֵ 0~7 int nDelay; // ÈÕҹģʽÇл»ÑÓʱʱ¼ä£¬¿Éȡֵ3~30£¬µ¥Î»Ãë } DAYNIGHT_INFO; // Çò»ú»úоÈÕÒ¹ÅäÖà typedef struct tagCFG_VIDEOIN_DAYNIGHT_INFO { DAYNIGHT_INFO stuSection[VIDEOIN_TSEC_NUM]; // ²»Í¬Ê±¼ä¶ÎÅäÖ㬰´Ë³Ðò·Ö±ð¶ÔÓ¦£ºÆÕͨ¡¢°×Ìì¡¢ºÚÒ¹ } CFG_VIDEOIN_DAYNIGHT_INFO; // µ¥¸ö´¿ÒôƵͨµÀµÄ×é³É typedef struct tagCFG_AUDIO_MIX_CHANNEL_INFO { int nChannelNum; // ÒôƵÊäÈëͨµÀ¸öÊý int nCombination[32]; // ÒôƵÊäÈëͨµÀÁбí }CFG_AUDIO_MIX_CHANNEL_INFO; // ÅäÖö¨Òåÿ¸ö´¿ÒôƵͨµÀµÄ×é³É(¶ÔÓ¦ CFG_CMD_AUDIO_MIX_CHANNEL) typedef struct tagCFG_AUDIO_MIX_CHANNEL_INFO_ALL { int nMixChnInfoNum; // ´¿ÒôƵͨµÀÅäÖøöÊý CFG_AUDIO_MIX_CHANNEL_INFO stuMixChnInfo[16]; // ´¿ÒôƵͨµÀÅäÖà }CFG_AUDIO_MIX_CHANNEL_INFO_ALL; #define CFG_AUDIOTOUCH_PITCH_INVALID_VALUE -999 //±äÒôÅäÖÃÖеÄnPitchµÄÎÞЧֵ #define CFG_AUDIOTOUCH_PITCH_MIN_VALUE -50 //±äÒôÅäÖÃÖеÄnPitchµÄ×îСֵ #define CFG_AUDIOTOUCH_PITCH_MAX_VALUE 50 //±äÒôÅäÖÃÖеÄnPitchµÄ×î´óÖµ // µ¥¸öÒôƵͨµÀ±äÒôÅäÖà typedef struct tagCFG_AUDIO_TOUCH_INFO { int nPitch; // ±äÒôµÄÖµ -50~50,0±íʾ²»±äÒô µ±¸ÃͨµÀÖÐûÓбäÒôÅäÖÃʱ£¬ÔònPitchΪÎÞЧֵ CFG_AUDIOTOUCH_INVALID_VALUE }CFG_AUDIO_TOUCH_INFO; // ÒôƵͨµÀ±äÒôÅäÖà (¶ÔÓ¦ CFG_CMD_AUDIO_TOUCH) typedef struct tagCFG_AUDIO_TOUCH_INFO_ALL { BOOL bEnable; // ʹÄÜ int nAudioTouchNum; // ÒôƵͨµÀ±äÒôÅäÖøöÊý CFG_AUDIO_TOUCH_INFO stuTouchInfo[64]; // ÒôƵͨµÀ±äÒôÅäÖà }CFG_AUDIO_TOUCH_INFO_ALL; //Ðé½¹¼ì²âÅäÖà typedef struct tagCFG_UNFOCUSDETECT_INFO { BOOL bEnable; //Ðé½¹¼ì²âʹÄÜ£ºTRUE ¿ªÆô£¬FALSE ¹Ø±Õ int nSensitivity; //ÁéÃô¶È 1~100 CFG_ALARM_MSG_HANDLE stuEventHandler; //±¨¾¯Áª¶¯ CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT]; // ʼþÏìӦʱ¼ä¶Î£¬Ê±¼ä¶Î»ñÈ¡ºÍÉèÖÃÒԴ˳ÉԱΪ׼£¬ºöÂÔ stuEventHandler ÖÐµÄ stuTimeSection }CFG_UNFOCUSDETECT_INFO; // ÂíÈü¿Ëµþ¼ÓÅäÖÃ(¶ÔÓ¦CFG_CMD_VIDEO_MOSAIC) /*ÊÓÆµµþ¼ÓÂíÈü¿Ë£¬ºÍPrivacyMasking(ÔÆÌ¨Òþ˽ÕÚµ²)µÄ²î±ðÔÚÓÚ£¬ VideoMosaicµþ¼ÓµÄÂíÈü¿ËλÖÃÊǹ̶¨µÄ£¬¶øÔÆÌ¨µþ¼ÓµÄÂíÈü¿Ë ÔÚÔÆÌ¨Ðýתºó£¬ÂíÈü¿ËÇøÓò»á·´ÏòÆ«ÒÆ£¬¼´Ê¼ÖÕÕÚµ²×¡Í¬Ò»ÎïÌå¡£*/ typedef struct tagCFG_VIDEO_MOSAIC_INFO { BOOL bEnable; // ÂíÈü¿Ëµþ¼ÓʹÄÜ int nMosaic; // ÂíÈü¿Ë¿ÅÁ£´óС£¬´ÓÄÜÁ¦Ïîȡֵ£¬¿ÅÁ£Ô½´óÓëԭʼͼÏñ²îÒìÔ½´ó£¬·´Ö®Ô½½Ó½ü int nRectCount; // ʵ¼ÊÅäÖõÄÂíÈü¿ËÇøÓò¸öÊý CFG_RECT stuRect[MAX_RECT_COUNT]; // ÂíÈü¿ËÇøÓò,ʹÓÃÏà¶Ô×ø±êÌåϵ£¬È¡Öµ¾ùΪ0~8192 } CFG_VIDEO_MOSAIC_INFO; // ³¡¾°±ä¸ü¼ì²âÅäÖà typedef struct tagCFG_MOVE_DETECT_INFO { BOOL bEnable; // ³¡¾°±ä¸ü¼ì²âʹÄÜ int nSensitivity; // ¼ì²âÁéÃô¶È, 0~100 CFG_ALARM_MSG_HANDLE stuEventHandler; // Õì²âÁª¶¯ÐÅÏ¢ } CFG_MOVE_DETECT_INFO; typedef enum tagEM_CFG_ATMCONTROLLER_MODE { EM_CFG_ATMCONTROLLER_MODE_UNKNOWN = 0, //δ֪ EM_CFG_ATMCONTROLLER_MODE_CLOSE, //¹Ø±Õ EM_CFG_ATMCONTROLLER_MODE_OPEN, //¿ªÆô EM_CFG_ATMCONTROLLER_MODE_LINKAGE, //ÈËÌå̽²âÁª¶¯Ä£Ê½ }EM_CFG_ATMCONTROLLER_MODE; // ·À»¤²ÕÕÕÃ÷µÆ¿ØÖÆÅäÖà typedef struct tagCFG_FLOODLIGHT_CONTROLMODE_INFO { EM_CFG_ATMCONTROLLER_MODE emControlMode; //¿ØÖÆÄ£Ê½ }CFG_FLOODLIGHT_CONTROLMODE_INFO; //·À»¤²Õ·çÉÈ¿ØÖÆÅäÖà typedef struct tagCFG_AIRFAN_CONTROLMODE_INFO { EM_CFG_ATMCONTROLLER_MODE emControlMode; //¿ØÖÆÄ£Ê½ }CFG_AIRFAN_CONTROLMODE_INFO; // EAP·½·¨ typedef enum tagEM_CFG_EAP_METHOD { EM_CFG_EAP_METHOD_UNKNOWN, // UnKnown EM_CFG_EAP_METHOD_PEAP, // PEAP EM_CFG_EAP_METHOD_TLS, // TLS EM_CFG_EAP_METHOD_TTLS, // TTLS } EM_CFG_EAP_METHOD; // EAPÉí·ÝÑéÖ¤·½·¨ typedef enum tagEM_CFG_EAP_AUTH_TYPE { EM_CFG_EAP_AUTH_TYPE_UNKNOWN, // UnKnown EM_CFG_EAP_AUTH_TYPE_NONE, // NONE EM_CFG_EAP_AUTH_TYPE_PAP, // PAP EM_CFG_EAP_AUTH_TYPE_MSCHAP, // MSCHAP EM_CFG_EAP_AUTH_TYPE_MSCHAPV2, // MSCHAPV2 EM_CFG_EAP_AUTH_TYPE_GTC, // GTC } EM_CFG_EAP_AUTH_TYPE; // ÎÞÏßÉ豸ÈÏÖ¤·½Ê½ typedef enum tagEM_CFG_WIRELESS_AUTHENTICATION { EM_CFG_WIRELESS_AUTHENTICATION_UNKNOWN, // UnKnown EM_CFG_WIRELESS_AUTHENTICATION_OPEN, // OPEN EM_CFG_WIRELESS_AUTHENTICATION_SHARED, // SHARED EM_CFG_WIRELESS_AUTHENTICATION_WPA, // WPA EM_CFG_WIRELESS_AUTHENTICATION_WPAPSK, // WPA-PSK EM_CFG_WIRELESS_AUTHENTICATION_WPA2, // WPA2 EM_CFG_WIRELESS_AUTHENTICATION_WPA2PSK, // WPA2-PSK EM_CFG_WIRELESS_AUTHENTICATION_WPANONE, // WPA-NONE EM_CFG_WIRELESS_AUTHENTICATION_WPAPSK_WPA2PSK, // WPA-PSK|WPA2-PSK EM_CFG_WIRELESS_AUTHENTICATION_WPA_WPA2, // WPA|WPA2 EM_CFG_WIRELESS_AUTHENTICATION_WPA_WPAPSK, // WPA | WPA-PSK EM_CFG_WIRELESS_AUTHENTICATION_WPA2_WPA2PSK, // WPA2|WPA2-PSK EM_CFG_WIRELESS_AUTHENTICATION_WPA_WPAPSK_WPA2_WPA2PSK, // WPA|WPA-PSK|WPA2|WPA2-PSK } EM_CFG_WIRELESS_AUTHENTICATION; // ÎÞÏßÊý¾Ý¼ÓÃÜ·½Ê½ typedef enum tagEM_CFG_WIRELESS_DATA_ENCRYPT { EM_CFG_WIRELESS_DATA_ENCRYPT_UNKNOWN, // UnKnown EM_CFG_WIRELESS_DATA_ENCRYPT_NONE, // NONE EM_CFG_WIRELESS_DATA_ENCRYPT_WEP, // WEP EM_CFG_WIRELESS_DATA_ENCRYPT_TKIP, // TKIP EM_CFG_WIRELESS_DATA_ENCRYPT_AES, // AES(CCMP) EM_CFG_WIRELESS_DATA_ENCRYPT_TKIP_AES, // TKIP+AES } EM_CFG_WIRELESS_DATA_ENCRYPT; // µ¥¸öWLANÅäÖÃEAP typedef struct tagCFG_WLAN_EAP { EM_CFG_EAP_METHOD emMethod; // EAP·½·¨ EM_CFG_EAP_AUTH_TYPE emAuthType; // EAPÉí·ÝÑéÖ¤·½·¨ char szIdentity[MAX_USERNAME_LEN]; // Éí·Ý char szAnonymousID[MAX_USERNAME_LEN]; // ÄäÃûÉí·Ý char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë char szCaCert[512]; // CAÖ¤Êé char szUserCert[512]; // Óû§Ö¤Êé } CFG_WLAN_EAP; // µ¥¸öWLANÅäÖÃNetwork typedef struct tagCFG_WLAN_NETWORK { char szIPAddress[AV_CFG_IP_Address_Len_EX]; // IP char szSubnetMask[AV_CFG_IP_Address_Len_EX]; // ×ÓÍøÑÚÂë char szDefaultGateway[AV_CFG_IP_Address_Len_EX]; // Íø¹Ø BOOL bDhcpEnable; // ÊÇ·ñ¿ªÆôDHCP char szDnsServers[2][AV_CFG_IP_Address_Len_EX]; // DNS·þÎñÆ÷ } CFG_WLAN_NETWORK; // µ¥¸öWLANÅäÖà typedef struct tagCFG_WLAN_INFO { char szWlanName[CFG_COMMON_STRING_32]; // WlanÃû³Æ, Ö»ÄÜ»ñÈ¡²»ÄÜÐÞ¸Ä BOOL bEnable; // WIFIÍø¿¨Ê¹ÄÜ¿ª¹Ø, TRUE´ò¿ª, FALSE¹Ø±Õ char szSSID[CFG_MAX_SSID_LEN]; // ÍøÂçÃû³Æ(SSID) BOOL bConnectEnable; // ÊÖ¶¯Á¬½Ó¿ª¹Ø, TRUEÊÖ¶¯Á¬½Ó, FALSEÊÖ¶¯¶Ï¿ª BOOL bLinkEnable; // ×Ô¶¯Á¬½Ó¿ª¹Ø, TRUE²»×Ô¶¯Á¬½Ó, FALSE×Ô¶¯Á¬½Ó, IPCÎÞÒâÒå int nLinkMode; // Á¬½Óģʽ, 0: auto, 1: adhoc, 2: Infrastructure int nEncryption; // ¼ÓÃÜģʽ, 0: off, 1: on, 2: WEP-OPEN, 3: WEP-SHARED, 4: WPA-TKIP, 5: WPA-PSK-TKIP, 6: WPA2-TKIP, 7: WPA2-PSK-TKIP, 8: WPA-AES, 9: WPA-PSK-AES, 10: WPA2-AES, 11: WPA2-PSK-AES, 12: Auto /* ¶þ´úbyAuthMode , byEncrAlgr ÓëÈý´úÓ³Éä¹ØÏµ AuthenticationÈÏÖ¤·½Ê½ DataEncryptionÊý¾Ý¼ÓÃÜ·½Ê½ Encryption¼ÓÃÜģʽ OPEN NONE "On" OPEN WEP "WEP-OPEN" SHARD WEP "WEP-SHARED" WPA TKIP "WPA-TKIP" WPA-PSK TKIP "WPA-PSK-TKIP" WPA2 TKIP "WPA2-TKIP" WPA2-PSK TKIP "WPA2-PSK-TKIP" WPA AES(CCMP) "WPA-AES" WPA-PSK AES(CCMP) "WPA-PSK-AES" WPA2 AES(CCMP) "WPA2-AES" WPA2-PSK AES(CCMP) "WPA2-PSK-AES" WPA TKIP+AES( mix Mode) "WPA-TKIP"»òÕß"WPA-AES" WPA-PSK TKIP+AES( mix Mode) "WPA-PSK-TKIP"»òÕß"WPA-PSK-AES" WPA2 TKIP+AES( mix Mode) "WPA2-TKIP"»òÕß"WPA2-AES" WPA2-PSK TKIP+AES( mix Mode) "WPA2-PSK-TKIP"»òÕß"WPA2-PSK-AES" */ EM_CFG_WIRELESS_AUTHENTICATION emAuthentication; // ÈÏÖ¤·½Ê½, ÔÝʱûÓà EM_CFG_WIRELESS_DATA_ENCRYPT emDataEncryption; // Êý¾Ý¼ÓÃÜ·½Ê½, ÔÝʱûÓà int nKeyType; // ÃÜÂëÀàÐÍ, 0: Hex, 1: ASCII int nKeyID; // ÃØÔ¿Ë÷Òý, ȡֵ0~3 char szKeys[4][32]; // ËÄ×éÃÜÂë BOOL bKeyFlag; // ÃÜÂëÊÇ·ñÒѾ­ÉèÖà CFG_WLAN_EAP stuEap; // EAP CFG_WLAN_NETWORK stuNetwork; // Network } CFG_WLAN_INFO; // WLANÅäÖÃ(¶ÔÓ¦ CFG_CMD_WLAN) typedef struct tagCFG_NETAPP_WLAN { int nNum; // stuWlanInfoÓÐЧµÄWLANÅäÖøöÊý CFG_WLAN_INFO stuWlanInfo[8]; // WLANÅäÖÃÐÅÏ¢ } CFG_NETAPP_WLAN; // ÐÂÔöSmart264 ±àÂ뷽ʽ typedef struct tagCFG_SMART_ENCODE_INFO { BOOL bSmartH264; //±êʶÊÇ·ñ¿ªÆôSmartH264 BYTE byReserved[256]; //Ô¤Áô×Ö¶Î } CFG_SMART_ENCODE_INFO; // ³µÔظßËÙ±¨¾¯ÅäÖà typedef struct tagCFG_VEHICLE_HIGHSPEED_INFO { BOOL bEnable; // ¸ßËÙ±¨¾¯Ê¹ÄÜ int nSpeedHighLine; // ¸ßËÙÉÏÏÞ±¨¾¯Öµ µ¥Î»£ºKm/h int nTime; // ³¬ËÙºó³ÖÐø¶à³¤Ê±¼ä±¨¾¯ µ¥Î»£ºÃë int nAlertSpeed; // Ô¤¾¯ËÙ¶È µ¥Î»£ºKm/h int nInstantSpeed; // ˲ʱ³¬ËÙËÙ¶È µ¥Î»£ºKm/h CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_VEHICLE_HIGHSPEED_INFO; // ³µÔصÍËÙ±¨¾¯ÅäÖà typedef struct tagCFG_VEHICLE_LOWSPEED_INFO { BOOL bEnable; // µÍËÙ±¨¾¯Ê¹ÄÜ int nSpeedLowLine; // µÍËÙÉÏÏÞ±¨¾¯Öµ µ¥Î»£ºKm/h int nTime; // µÍËÙºó³ÖÐø¶à³¤Ê±¼ä±¨¾¯ µ¥Î»£ºÃë int nSpeedMotion; // µÍËÙ¶¯¼ìËÙ¶ÈÖµ£¬µÍÓÚ´ËÖµ¿ªÆô¶¯¼ì µ¥Î»£ºKm/h CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_VEHICLE_LOWSPEED_INFO; // µ¥¸ö¸öÈ˵绰½Ó»úÅäÖÃÐÅÏ¢ typedef struct tagCFG_PSTN_PERSON_SERVER_INFO { char szName[MAX_NAME_LEN]; // ¸öÈ˵绰Ãû³Æ char szNumber[MAX_PHONE_NUMBER_LEN]; // ¸öÈ˵绰½ÓÊÕ»úºÅÂë }CFG_PSTN_PERSON_SERVER_INFO; // ¸öÈ˵绰½Ó»úÅäÖÃÐÅÏ¢ typedef struct tagCFG_PSTN_PERSON_SERVER_INFO_ALL { BOOL bEnable; // ¸öÈ˵绰½Ó»úÅäÖÃʹÄÜ int nServerCount; // ÓÐЧµÄ¸öÈ˵绰½Ó»úÅäÖÃÐÅÏ¢¸öÊý,Ŀǰ×î¶àÖ§³Ö3¸ö CFG_PSTN_PERSON_SERVER_INFO stuPSTNPersonServer[MAX_PSTN_SERVER_NUM]; // ¸öÈ˵绰½Ó»úÅäÖÃÐÅÏ¢Êý×é,ÿ¸öÔªËØ¶ÔÓ¦Ò»¸ö¸öÈ˵绰ÅäÖà // ×î¶àÖ§³Ö¶àÉÙ¸öÈ˵绰,ͨ¹ý»ñÈ¡±¨¾¯ÄÜÁ¦¼¯(CLIENT_QueryNewSystemInfo¶ÔÓ¦ºêCFG_CAP_ALARM) »ñÈ¡ÓÐЧµç»°¸öÊý }CFG_PSTN_PERSON_SERVER_INFO_ALL; // ²¼³··ÀÁª¶¯ÅäÖÃÐÅÏ¢ typedef struct tagCFG_ARMLINK_INFO { BOOL bMMSEnable; // ÊÇ·ñ·¢ËͶÌÏûÏ¢(ĬÈÏ·¢ËÍ) CFG_PSTN_ALARM_SERVER stuPSTNAlarmServer; // µç»°±¨¾¯ÖÐÐÄÁª¶¯ÐÅÏ¢ BOOL bPersonAlarmEnable; // ÊÇ·ñÏò˽ÈËÁªÏµÈË´òµç»°(ÏòPSTNPersonServerÅäÖÃÖеÄÁªÏµÈË·¢±¨¾¯ÓïÒô) int nAlarmOutChannels[256]; // ±¨¾¯Êä³öͨµÀºÅÁбí int nAlarmOutChannelNum; // ±¨¾¯Êä³öͨµÀºÅ¸öÊý }CFG_ARMLINK_INFO; // PSTN ²âÊԼƻ®ÅäÖà typedef struct tagCFG_PSTN_TESTPLAN_INFO { BOOL bAlarmEnable; // ±¨¾¯Ê¹ÄÜ int nPeriod; // ±¨¾¯ÖÜÆÚ µ¥Î»£ºÐ¡Ê± int nAlarmServerCount; // ÐèÒª²âÊԵı¨¾¯µç»°ÖÐÐĸöÊý int nAlarmServer[MAX_PSTN_SERVER_NUM]; // ÐèÒª²âÊԵı¨¾¯µç»°ÖÐÐÄÐòºÅ£¬´Ó0¿ªÊ¼ }CFG_PSTN_TESTPLAN_INFO; //µ¥·ÀÇø²¼³··ÀʹÄÜÅäÖà typedef struct tagCFG_DEFENCE_ARMMODE_INFO { BOOL bEnableDefenceArm; // µ¥·ÀÇø²¼³··ÀʹÄÜ }CFG_DEFENCE_ARMMODE_INFO; //̽²âÆ÷°²×°¹¤×÷ģʽ typedef enum tagEM_CFG_SENSORMODE_TYPE { EM_CFG_SENSORMODE_TYPE_UNKNOWN, EM_CFG_SENSORMODE_TYPE_TWOSTATE, // ¶þ̬ EM_CFG_SENSORMODE_TYPE_FOURSTATE, // ËÄ̬ }EM_CFG_SENSORMODE_TYPE; //̽²âÆ÷°²×°¹¤×÷ģʽÅäÖà typedef struct tagCFG_SENSORMODE_INFO { EM_CFG_SENSORMODE_TYPE emState; //̽²âÆ÷°²×°¹¤×÷ģʽ }CFG_SENSORMODE_INFO; // ·À»¤²ÕLedÏÔʾ¼Æ»®ÅäÖà typedef struct tagCFG_CABINLED_TIME_SCHEDULE { BOOL bEnable; // ·À»¤²ÕLedÏÔʾ¼Æ»®ÅäÖÃʹÄÜÏî }CFG_CABINLED_TIME_SCHEDULE; // ¾¯µÆ×´Ì¬ typedef enum tagEM_ALARMLAMP_MODE { EM_ALARMLAMP_MODE_UNKNOWN = -1, // δ֪ EM_ALARMLAMP_MODE_OFF, // Ãð EM_ALARMLAMP_MODE_ON, // ÁÁ EM_ALARMLAMP_MODE_BLINK, // ÉÁ˸ }EM_ALARMLAMP_MODE; // ¾¯µÆÅäÖÃ(¶ÔÓ¦ CFG_CMD_ALARMLAMP) typedef struct tagCFG_ALARMLAMP_INFO { EM_ALARMLAMP_MODE emAlarmLamp; // ¾¯µÆ×´Ì¬ }CFG_ALARMLAMP_INFO; // À×´ï²âËÙÅäÖà ÖÇÄÜÂ¥ÓîרÓÃ(¶ÔÓ¦ CFG_CMD_RADAR_SPEED_MEASURE) typedef struct tagCFG_RADAR_SPEED_MEASURE_INFO { float fSpeedMeasureLimit; // ²âËÙÏÂÏÞÖµ,Ö»Óдﵽ´ËËÙ¶ÈÖµ,À×´ï²ÅÄܼì²â(µ¥Î»:km/h) float fSpeedUpperLimit; // ³¬ËÙ±¨¾¯Öµ,³¬¹ý´ËÖµÉϱ¨±¨¾¯(µ¥Î»:km/h) }CFG_RADAR_SPEED_MEASURE_INFO; // ¼¤¹â²â¾àÅäÖà typedef struct tagCFG_LASER_DIST_MEASURE_INFO { BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ÊÓÆµ±àÂë BOOL bEnable; // ʹÄÜ,ÊÇ·ñ´ò¿ª¼¤¹â²â¾à¹¦ÄÜ }CFG_LASER_DIST_MEASURE_INFO; // ÆøÏóÐÅÏ¢µþ¼ÓÅäÖà typedef struct tagCFG_CFG_CMD_ATMOSPHERE_OSD_INFO { BOOL bEncodeBlendEnable; // ÊÇ·ñµþ¼Óµ½ÊÓÆµÂëÁ÷£¬true¿ªÆô£¬false¹Ø±Õ UINT nMask; // 1ÏÔʾ 0²»ÏÔʾ // bit0: ·çËÙ // bit1: ·çÏò // bit2: ʪ¶È // bit3£ºÎÂ¶È // bit4£º´óÆøÑ¹Ç¿ // bit5£ºÈÕÕÕÇ¿¶È }CFG_CMD_ATMOSPHERE_OSD_INFO; // ¸£É½ÓÍÌï4GÁ÷Á¿ãÐÖµ¼°Ä£Ê½ÅäÖÃ(¶ÔÓ¦ CFG_CMD_OIL_4G_OVERFLOW) typedef struct tagCFG_OIL_4G_OVERFLOW_INFO { int nFlowRateMode; // 4GÁ÷Á¿µÄģʽ£¬1ÊÖ¶¯£¬0-×Ô¶¯£¬Ä¬ÈÏ×Ô¶¯ int nFlowRateMax; // 4GÁ÷Á¿µÄãÐÖµ£¬µ¥Î»Îª(MB), ĬÈÏֵΪ60*1024(MB) }CFG_OIL_4G_OVERFLOW_INFO; // ¸£É½ÓÍÌï4GÁ÷Á¿OSDµþ¼ÓÅäÖÃ(¶ÔÓ¦ CFG_CMD_OIL_VIDEOWIDGET_4G_FLOW) typedef struct tagCFG_OIL_VIDEOWIDGET_4G_FLOW_INFO { BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ÊÓÆµ±àÂëʹÄÜ CFG_RECT stuRect; // µþ¼ÓµÄÇøÓò×ø±ê }CFG_OIL_VIDEOWIDGET_4G_FLOW_INFO; #define CFG_PARK_SPACE_STATE_TYPE_NUM 3 // ³µÎ»×´Ì¬ÀàÐ͸öÊý ¾ßÌåÀàÐÍΪ ³µÎ»ÎÞ³µ ³µÎ»Óгµ ³µÎ»Ô¤¶¨ // ³µÎ»¼ì²âÆ÷Íâ½ÓָʾµÆÅäÖÃÐÅÏ¢ typedef struct tagCFG_PARK_SPACE_OUT_LIGHT_INFO { EM_CFG_PARKINGSPACE_LIGHT_STATE stNormalSpace[CFG_PARK_SPACE_STATE_TYPE_NUM][CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ÆÕͨ³µÎ»µÆ×´Ì¬ÐÅÏ¢ // Êý×éµÚһά¶È±íʾ³µÎ»×´Ì¬ 0-³µÎ»ÎÞ³µ 1-³µÎ»Óгµ 2-³µÎ»Ô¤¶¨ // Êý×éµÚ¶þά¶È±íʾָʾµÆÑÕÉ« ´Ó0µ½5·Ö±ð±íʾ ºì »Æ À¶ ÂÌ ×Ï °× EM_CFG_PARKINGSPACE_LIGHT_STATE stSpecialSpace[CFG_PARK_SPACE_STATE_TYPE_NUM][CFG_MAX_PARKINGSPACE_LIGHT_NUM]; // ÌØÊ⳵λµÆ×´Ì¬ÐÅÏ¢ ¹æÔòͬÉÏ }CFG_PARK_SPACE_OUT_LIGHT_INFO; //ÃŽûÎÄ×ÖÌáʾÏÔʾÅäÖÃ(¶ÔÓ¦CFG_CMD_ACCESS_TEXTDISPLAY) typedef struct tagCFG_ACCESS_TEXTDISPLAY_INFO { char szOpenSucceedText[MAX_ACCESS_TEXTDISPLAY_LEN]; //¿ªÃųɹ¦ÏÔʾµÄÎÄ×ÖÐÅÏ¢ char szOpenFailedText[MAX_ACCESS_TEXTDISPLAY_LEN]; //¿ªÃÅʧ°ÜÏÔʾµÄÎÄ×ÖÐÅÏ¢ }CFG_ACCESS_TEXTDISPLAY_INFO; // Ãſڻúºô½Ð¹æÔò typedef enum tagEM_CFG_ROOM_RULE { EM_CFG_ROOM_RULE_UNKNOW, // δ֪ EM_CFG_ROOM_RULE_SERIAL, // Serial Á¬Ðø·¿¼äºÅ£¬ÓÐЩ¹úÍâʹÓÃ1~100µÄ·¿ºÅ EM_CFG_ROOM_RULE_NOSERIAL, // NoSerial ·ÇÁ¬Ðø·¿¼äºÅ£¬±ÈÈç¹úÄÚµÄ301,502 }EM_CFG_ROOM_RULE; // VTOºô½ÐÅäÖÃÀ©Õ¹ÐÅÏ¢ typedef struct tagCFG_VTO_CALL_INFO_EXTEND { char szMainVTOIP[MAX_ADDRESS_LEN]; //Ö÷ÃſڻúIP BOOL bGroupCallEnable; //Ⱥºô¿ª¹Ø char szManagerNumber[MAX_PHONE_NUMBER_LEN]; //¹ÜÀí»úºÅÂë char szUrgentNumber[MAX_PHONE_NUMBER_LEN]; //½ô¼±ºô½ÐºÅÂë CFG_TIME_SECTION stuTimeSection; //ºô½ÐVTSʱ¼ä¶Î unsigned int nMaxExtensionIndex; //ÃſڻúÉÏ¿ÉÒÔÉèÖõÄ×î´óÊÒÄÚ»ú·Ö»úÐòºÅ ÐòºÅ´Ó1¿ªÊ¼ EM_CFG_ROOM_RULE emRoomRule; //ÃſڻúÖ§³ÖÁ¬Ðø·¿¼äºÅºô½ÐºÍ·ÇÁ¬Ðø·¿¼äºÅºô½Ð2Ì×¹æÔò }CFG_VTO_CALL_INFO_EXTEND; //º¼Ê¦´óÊÓÆµ¼ÓÃÜÏîÄ¿£¬Éæ¼°IPCºÍNVR ¼ÓÃÜÅäÖÃÐÅÏ¢, typedef struct tagCFG_NETNVR_ENCRYPT_CHANNEL_INFO { BOOL bEncryptEnable; // ÒôÊÓÆµÊÇ·ñ¼ÓÃÜ BOOL bMatchNvrEnable; // NVRÅä¶ÔʹÄÜ char szNvrAddress[16]; // NVR µÄIPµØÖ· DWORD nMatchPort; // Åä¶Ô¶Ë¿Ú DWORD nTalkPort; // ЭÉÌ¶Ë¿Ú char szDevID[32]; // IPCÉ豸ÐòÁкŠ}CFG_NETNVR_ENCRYPT_CHANNEL_INFO; //º¼Ê¦´óÊÓÆµ¼ÓÃÜÏîÄ¿£¬Éæ¼°IPCºÍNVR ¼ÓÃÜÅäÖÃÐÅÏ¢,,¶ÔÓ¦ CFG_CMD_NETNVR_ENCRYPT typedef struct tagCFG_NETNVR_ENCRYPT_INFO { int nChannelID; // ͨµÀºÅ(0¿ªÊ¼) int nNvrEncryptNum; // ÿ¸öͨµÀʵ¼Ê¼ÓÃÜÐÅÏ¢ÅäÖøöÊý CFG_NETNVR_ENCRYPT_CHANNEL_INFO stuNvrEncryptInfo[CFG_MAX_NVR_ENCRYPT_COUNT];// ÿ¸öͨµÀ¶ÔÓ¦µÄ¼ÓÃÜÐÅÏ¢ÅäÖÃÊý×é,Ö÷¡¢¸¨1¡¢2¡¢3ÂëÁ÷ }CFG_NETNVR_ENCRYPT_INFO; // ƵÉÁµÆ¶Ë¿ÚÐÅÏ¢ typedef struct tagCFG_LAMP_PORT_INFO { int nValidPortNum; // ƵÉÁµÆÅäÖøöÊý char szPort[8]; // ƵÉÁµÆµÄ¶Ë¿ÚºÅ,µÆ×éÄÚ¿ÉÄܰüº¬¶à¸öµÆ }CFG_LAMP_PORT_INFO; // µ¥¸öƵÉÁµÆÅäÖÃÐÅÏ¢ typedef struct tagCFG_SINGLE_STROBOSCOPIC_LAMP_INFO { CFG_FLASH_CONTROL stuLampInfo; // ƵÉÁµÆµÄÅäÖÃÐÅÏ¢ int nStroboscopicMode; // ƵÉÁģʽ,µÍÓÚ×î´óÉÁ¹âƵÂÊ£¬0±íʾ¸ù¾ÝÐèÒªÉÁ¹â int nPreTime; // ƵÉÁµÆÌáǰʱ¼ä,µ¥Î»us int nPulseWidth; // ƵÉÁµÆÂö¿í,µ¥Î»us int nDelayTime; // ÑÓʱÉÁʱ¼ä,µ¥Î»us£¬¸ºÊý±íʾÌáǰÉÁ¹â int nFrequency; // ƵÉÁµÆµÄ¹¤×÷ƵÂÊ£¬µ¥Î»HZ,Æ©Èç50HZ, 100HZ CFG_LAMP_PORT_INFO stuPortInfo; // ƵÉÁµÆ¶Ë¿ÚÅäÖÃÐÅÏ¢ }CFG_SINGLE_STROBOSCOPIC_LAMP_INFO; // ƵÉÁµÆÅäÖÃ(¶ÔÓ¦ CFG_CMD_STROBOSCOPIC_LAMP) typedef struct tagCFG_STROBOSCOPIC_LAMP_INFO { int nValidConfigNum; // ƵÉÁµÆÅäÖøöÊý CFG_SINGLE_STROBOSCOPIC_LAMP_INFO stuStroboInfo[8]; // ƵÉÁµÆÅäÖÃÐÅÏ¢ }CFG_STROBOSCOPIC_LAMP_INFO; // Https·þÎñÅäÖà typedef struct tagCFG_HTTPS_INFO { BOOL bEnable; // ·þÎñʹÄÜ int nPort; // ¶Ë¿ÚºÅ char szRootCertificatePath[CFG_COMMON_STRING_128]; // ¸ùÖ¤Êé¾ø¶Ô·¾¶ char szCountry[CFG_COMMON_STRING_8]; // ¹ú¼Ò char szState[CFG_COMMON_STRING_64]; // ÖÞÃû»òÊ¡Ãû char szLocatity[CFG_COMMON_STRING_64]; // λÖà char szOrganization[CFG_COMMON_STRING_64]; // ×éÖ¯Ãû³Æ char szOrganizationUnit[CFG_COMMON_STRING_64]; // ×éÖ¯µ¥ÔªÃû³Æ char szCommonName[CFG_COMMON_STRING_128]; // CN×ֶΣ¬ÊÇÓòÃû»òÕßIP char szEmail[CFG_COMMON_STRING_128]; // ÓÊÏä char szName[CFG_COMMON_STRING_128]; // ¹«Ë¾Ãû³Æ char szPath[CFG_COMMON_STRING_128]; // ·þÎñÆ÷Ö¤Ê鵨ַ int nUsefulLife; // Ö¤ÊéÓÐЧÆÚ }CFG_HTTPS_INFO; // ±àÂëÅäÖà typedef struct tagCFG_ADAPT_ENCODE_INFO { int nIPSmoothness; // ±àÂëI/PÖ¡µÄƽ»¬¶È£¬·¶Î§1~100,1±íʾƽ»¬£¬100±íʾ»­ÖÊÓÅÏÈ int nAdjustEnable; // ×ÔÊÊÓ¦µ÷ÕûʹÄÜ,1¿ªÆô 0¹Ø±Õ¡£Ö÷ÂëÁ÷Ôݲ»Ö§³Ö´Ë×Ö¶Î }CFG_ADAPT_ENCODE_INFO; // ÍøÂç×ÔÊÊÓ¦±àÂëÅäÖà typedef struct tagCFG_NET_AUTO_ADAPT_ENCODE { CFG_ADAPT_ENCODE_INFO stuMainStream[MAX_VIDEOSTREAM_NUM]; // Ö÷ÂëÁ÷£¬0£­ÆÕͨ¼Ïñ£¬1-¶¯¼ì¼Ïñ£¬2£­±¨¾¯Â¼Ïñ,ÔÝÖ»Ö§³ÖÆÕͨ¼Ïñ CFG_ADAPT_ENCODE_INFO stuExtraStream[MAX_VIDEOSTREAM_NUM]; // ¸¨ÂëÁ÷£¬0£­¸¨ÂëÁ÷1£¬1£­¸¨ÂëÁ÷2£¬2£­¸¨ÂëÁ÷3 }CFG_NET_AUTO_ADAPT_ENCODE; // ×éºÏͨµÀ typedef struct tagCFG_COMBINATION_CHANNEL { int nMaxChannel; // ×î´óͨµÀÊý int nReturnChannel; // ʵ¼Ê·µ»ØÍ¨µÀÊý int *pnChannel; // ͨµÀÐÅÏ¢ }CFG_COMBINATION_CHANNEL; // ·Ö¸îģʽ typedef struct tagCFG_FREESPLIT_INFO { CFG_SPLITMODE emSplitMode; // ·Ö¸îģʽ int nMaxCombination; // ×î´ó×éºÏ¸öÊý int nReturnCombination; // ʵ¼Ê×éºÏ¸öÊý CFG_COMBINATION_CHANNEL *pstuCombination; // ×éºÏÐÅÏ¢ }CFG_FREESPLIT_INFO; // ×ÔÓÉ·Ö¸îģʽµÄ´°¿ÚÅäÖà typedef struct tagCFG_FREECOMBINATION_INFO { int nMaxSplit; // ×î´ó·Ö¸îģʽÊý int nReturnSplit; // ʵ¼Ê·Ö¸îģʽÊý CFG_FREESPLIT_INFO *pstuSplit; // ×ÔÓÉ·Ö¸îģʽÐÅÏ¢ }CFG_FREECOMBINATION_INFO; // É豸ЭÒéÀàÐÍ typedef enum tagCFG_EM_DEVICE_PROTOCOL { CFG_EM_PROTOCOL_PRIVATE3, // ˽ÓÐ3´úЭÒé,Dahua3 CFG_EM_PROTOCOL_ONVIF, // Onvif }CFG_EM_DEVICE_PROTOCOL; // ƽ̨²à¼àÊÓIPCÅäÖà CFG_CMD_PLATFORM_MONITOR_IPC typedef struct tagCFG_PLATFORMMONITORIPC_INFO { BOOL bEnable; // ʹÄÜ char szDevIpAddress[MAX_NAME_LEN]; // É豸ipµØÖ· int nPort; // ¶Ë¿Ú char szUserName[MAX_USERNAME_LEN]; // Óû§Ãû char szPassword[MAX_PASSWORD_LEN]; // ÃÜÂë CFG_EM_STREAM_TYPE emStreamType; // ÂëÁ÷ÀàÐÍ CFG_EM_DEVICE_PROTOCOL emProtocol; // ЭÒéÀàÐÍ int nChannelID; // ͨµÀºÅ }CFG_PLATFORMMONITORIPC_INFO; #define MAX_AREA_COUNT 8 // ×î´óÇøÓò¸öÊý // ÎïÁªÍøºìÍâ¼ì²âÅäÖÃ(¶ÔÓ¦CFG_CMD_IOT_INFRARED_DETECT) typedef struct tagCFG_IOT_INFRARED_DETECT_INFO { BOOL bEnable[MAX_AREA_COUNT]; // ÇøÓòʹÄÜ£¬±íʾÊÇ·ñ¿ªÆô¼ì²â,¹²8¸öÇøÓò int nDetectRadius; // ¼ì²â°ë¾¶£¬µ¥Î»ÀåÃ× } CFG_IOT_INFRARED_DETECT_INFO; // ÎïÁªÍøÂ¼ÏñÁª¶¯ÅäÖÃ(¶ÔÓ¦CFG_CMD_IOT_RECORD_HANDLE) typedef struct tagCFG_IOT_RECORD_HANDLE_INFO { BOOL bEnable; // ʹÄÜ£¬±íʾÊÇ·ñ¿ªÆô¼ÏñÁª¶¯ int nRecordTime; // Áª¶¯Â¼Ïñʱ¼ä£¬µ¥Î»Ãë } CFG_IOT_RECORD_HANDLE_INFO; // ÎïÁªÍø×¥Í¼Áª¶¯ÅäÖÃ(¶ÔÓ¦CFG_CMD_IOT_SNAP_HANDLE) typedef struct tagCFG_IOT_SNAP_HANDLE_INFO { BOOL bEnable; // ʹÄÜ£¬±íʾÊÇ·ñ¿ªÆôץͼÁª¶¯ int nSnapNum; // Áª¶¯×¥Í¼ÕÅÊý } CFG_IOT_SNAP_HANDLE_INFO; // ºô½Ð×ªÒÆÅäÖà typedef struct tagCFG_CALLFORWARD_INFO { BOOL bAlwaysForwardEnable; // Ç¿ÖÆ×ªÒÆÊ¹ÄÜ char szAlwaysForwardNumber[MAX_PHONE_NUMBER_LEN]; // Ç¿ÖÆ×ªÒÆºÅÂë BOOL bBusyForwardEnable; // ºô½ÐÓöÃ¦×ªÒÆÊ¹ÄÜ char szBusyForwardNumber[MAX_PHONE_NUMBER_LEN]; // ºô½ÐÓöÃ¦×ªÒÆºÅÂë BOOL bNoAnswerForwardEnable; // ºô½ÐÎÞÓ¦´ð×ªÒÆÊ¹ÄÜ char szNoAnswerForwardNumber[MAX_PHONE_NUMBER_LEN]; // ºô½ÐÎÞÓ¦´ð×ªÒÆºÅÂë }CFG_CALLFORWARD_INFO; // ÃÅÁåÅäÖöÔÓ¦CFD_CMD_DOORBELLSOUND typedef struct tagCFG_DOOR_BELLSOUND_INFO { BOOL bSilenceEnable; // ÊÇ·ñ¾²Òôtrue ¾²Òôfalse ²»¾²Òô UINT nRingVolume; // ÁåÉùÒôÁ¿È¡Öµ·¶Î§0~100 char szRingFile[CFG_COMMON_STRING_64]; // ÁåÉùÎļþÏÖÔÚÖ»Ö§³Ö"A","B","C"Èý¸öÎļþÖ»ÄÜÑ¡ÔñÒ»¸öÎļþ }CFG_DOOR_BELLSOUND_INFO; //telnet ÅäÖöÔÓ¦CFG_CMD_TELNET typedef struct tagCFG_TELNET_INFO { BOOL bEnable; // telnetʹÄÜ¿ª¹ØtrueʹÄÜfalseȥʹÄÜ }CFG_TELNET_INFO; //ÏÔʾÒì³£ÐÅÏ¢µÄµþ¼ÓÅäÖà ¶ÔÓ¦½á¹¹Ìå CFG_OSD_SYSABNORMAL_INFO typedef struct tagCFG_OSD_SYSABNORMAL_INFO { AV_CFG_Color stuBackColor; // ±³¾°É« AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷ AV_CFG_Color stuFrontColor; // ǰ¾°É« AV_BOOL bPreviewBlend; // µþ¼Óµ½Ô¤ÀÀÊÓÆµ AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8191 int nDisplayTime; // ÏÔʾʱ¼ä£¬µ¥Î»Îªs£¬Èç¹ûΪ0±íʾһֱÏÔʾ AV_BOOL bNetAbort; // ÊÇ·ñÏÔÊ¾ÍøÂç¶Ï¿ª£¬trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bIPConflict; // ÊÇ·ñÏÔʾIP³åÍ»£¬trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bVoltageStatus; // ÊÇ·ñÏÔʾµçѹÒì³££¬trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bOutputCurrentStatus; // ÊÇ·ñÏÔʾ¶ÔÍ⹩µçµçÁ÷Òì³££¬trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bSDHotPlug; // ÊÇ·ñÏÔʾSD¿¨²åÈë¡¢°Î³ö¡¢Òì³££¬trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bSDLowSpace; // ÊÇ·ñÏÔʾSD¿¨¿Õ¼ä²»×ã,trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bSDFailure; // ÊÇ·ñÏÔʾSD¿¨³ö´í,trueΪÏÔʾ£¬falseΪ²»ÏÔʾ AV_BOOL bDestroy; // ÊÇ·ñÏÔÊ¾ÆÆ»µ¼ì²â,trueΪÏÔʾ£¬falseΪ²»ÏÔʾ }CFG_OSD_SYSABNORMAL_INFO; // ÊÓÆµ±àÂëÎï¼þÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VIDEO_WIDGET2_INFO) typedef struct tagCFG_VIDEO_WIDGET2_INFO { int nOSDLineSpacing; //Ðмä¾à±¶Êý£¬±¶ÊýµÄ»ù׼ĬÈÏÊǵ±Ç°×ÖÌå¸ß¶ÈµÄÊ®·ÖÖ®Ò»£¬È¡Öµ·¶Î§Îª0~5£¬Ä¬ÈÏֵΪ0 }CFG_VIDEO_WIDGET2_INFO; // ÈËÊýͳ¼Æµþ¼ÓOSDÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_VIDEOWIDGET_NUMBERSTAT_INFO) typedef struct tagCFG_VIDEOWIDGET_NUMBERSTAT_INFO { AV_BOOL bEncodeBlend; // µþ¼Óµ½Ö÷ÂëÁ÷,ֵΪfalseµÄ±êÌâ²»ÄÜÉèÖõ½µ×²ãAPI AV_CFG_Color stuFrontColor; // ǰ¾°É« AV_CFG_Color stuBackColor; // ±³¾°É« EM_TITLE_TEXT_ALIGN emTextAlign; // ±êÌâ¶ÔÆë·½Ê½ AV_CFG_Rect stuRect; // ÇøÓò, ×ø±êȡֵ0~8192 AV_BOOL bShowEnterNum; // ÊÇ·ñÏÔʾ½øÈëÈËÊý AV_BOOL bShowExitNum; // ÊÇ·ñÏÔʾÀ뿪ÈËÊý }CFG_VIDEOWIDGET_NUMBERSTAT_INFO; // ÂíÈü¿ËÀàÐÍ typedef enum tagEM_MOSAIC_TYPE { EM_MOSAIC_TYPE_INVALID, // ÎÞЧµÄÂíÈü¿ËÀàÐÍ EM_MOSAIC_TYPE_NO, // ²»´òÂíÈü¿Ë EM_MOSAIC_TYPE_8, // [8x8´óС] ÂíÈü¿Ë EM_MOSAIC_TYPE_16, // [16x16´óС] ÂíÈü¿Ë EM_MOSAIC_TYPE_24, // [24x24´óС] ÂíÈü¿Ë EM_MOSAIC_TYPE_32, // [32x32´óС] ÂíÈü¿Ë }EM_MOSAIC_TYPE; // ÐÎ×´ÀàÐÍ typedef enum tagEM_SHAPE_TYPE { EM_SHAPE_TYPE_INVALID, // ÎÞЧµÄÀàÐÍ EM_SHAPE_TYPE_RECT, // ¾ØÐÎ EM_SHAPE_TYPE_POLYGON, // ¶à±ßÐÎ }EM_SHAPE_TYPE; //ÔÆÌ¨¿ØÖÆ×ø±êµ¥Ôª typedef struct tagPTZ_SPEED { float fPositionX; //ÔÆÌ¨Ë®Æ½·½ÏòËÙÂÊ,¹éÒ»»¯µ½-1~1 float fPositionY; //ÔÆÌ¨´¹Ö±·½ÏòËÙÂÊ,¹éÒ»»¯µ½-1~1 float fZoom; //ÔÆÌ¨¹âȦ·Å´ó±¶ÂÊ,¹éÒ»»¯µ½ 0~1 char szReserve[32]; //Ô¤Áô32×Ö½Ú }PTZ_SPEED; // ÇøÓò£»¸÷±ß¾à°´Õû³¤8192µÄ±ÈÀý typedef struct { long left; long top; long right; long bottom; } DH_RECT_REGION, *LPDH_RECT_REGION; // Òþ˽ÕÚµ²ÅäÖÃÐÅÏ¢ typedef struct tagCGF_MASKING_INFO { BOOL bEnable; // Òþ˽ÕÚµ²¿ª¹Ø±êÖ¾ true¿ª£¬false¹Ø PTZ_SPEED stuPosition; // ÔÆÌ¨·½ÏòÓë·Å´ó±¶Êý EM_SHAPE_TYPE stuShapeType; // ÐÎ×´ÀàÐÍ DH_RECT_REGION stuRect; // ¾ØÐÎÇøÓò, ×ø±êȡֵ0~8192 int nPolygonPoint; // ¶à±ßÐζ¥µãÊý CFG_POLYGON stuPolygon[MAX_POLYGON_NUM]; // ¶à±ßÐζ¥µã×ø±ê,×ø±êȡֵ0~8192 AV_CFG_Color stuColor; // ÕÚµ²¿éÉ« EM_MOSAIC_TYPE stuMosaicType; // ÕÚµ²¿éÂíÈü¿ËÀàÐÍ£¬ÂíÈü¿ËʱÕÚµ²¿éÉ«×Ö¶ÎÎÞЧ double dViewAngle; // Çò»úˮƽÊÓ³¡½Ç, ·¶Î§[0.0, 360.0]£¬µ¥Î»£º¶È }CGF_MASKING_INFO; // µ¥Í¨µÀÒþ˽ÕÚµ²ÉèÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_PRIVACY_MASKING_INFO) typedef struct tagCFG_PRIVACY_MASKING_INFO { int nMaskingInfoCount; // Òþ˽ÕÚµ²ÅäÖøöÊý CGF_MASKING_INFO stuMaskingInfo[MAX_PRIVACY_MASKING_COUNT]; // Òþ˽ÕÚµ²ÅäÖÃÐÅÏ¢ }CFG_PRIVACY_MASKING_INFO; // É豸ÐÅÏ¢ÅäÖÃ(¶ÔÓ¦½á¹¹Ìå CFG_DEVICE_INFO) typedef struct tagCFG_DEVICE_INFO { char szSerial[CFG_COMMON_STRING_64]; // ²úƷϵÁÐÃû³Æ£¬IPCÐͺÅIPC¿ªÍ·£¬Çò»úÐͺÅSD¿ªÍ·£¬ÆäËüÀàͬ char szMode[CFG_COMMON_STRING_64]; // É豸ÐͺŠchar szResolution[CFG_COMMON_STRING_16]; // »úо·Ö±æÂÊ char szCameraID[CFG_COMMON_STRING_16]; // »úоID }CFG_DEVICE_INFO; #define CFG_MAX_POLICE_ID_MAP_NUM 64 // ×î´ó¾¯Ô±IDºÍÉ豸ͨµÀÓ³Éä¹ØÏµÊýÁ¿ // ¾¯Ô±IDºÍÉ豸ͨµÀÓ³Éä¹ØÏµÐÅÏ¢(¶ÔÓ¦ CFG_CMD_POLICEID_MAP_INFO) typedef struct tagCFG_POLICEID_MAP_INFO { char szPoliceID[CFG_MAX_POLICE_ID_MAP_NUM][CFG_COMMON_STRING_32]; // ¾¯Ô±ID int nIDCount; // IDÊýÄ¿ }CFG_POLICEID_MAP_INFO; //GPSδ¶¨Î»ÅäÖÃ(¶ÔÓ¦ CFG_CMD_GPS_NOT_ALIGNED) typedef struct tagCFG_GPS_NOT_ALIGNED_INFO { BOOL bEnable; // ʹÄÜ DWORD dwNotifyTimes; // GPSδ¶¨Î»³ÖÐøÊ±¼ä£¬³¬¹ý¸Ãʱ¼äÔò´¥·¢±¨¾¯£¬µ¥Î»Ãë CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_GPS_NOT_ALIGNED_INFO; //ÍøÂçδÁ¬½Ó£¨°üÀ¨wifi£¬3G/4G£©ÅäÖÃ(¶ÔÓ¦ CFG_CMD_WIRELESS_NOT_CONNECTED) typedef struct tagCFG_WIRELESS_NOT_CONNECTED_INFO { BOOL bEnable; // ʹÄÜ DWORD dwNotifyTimes; // ÍøÂçδÁ¬½Ó£¨°üÀ¨wifi£¬3G/4G£©³ÖÐøÊ±¼ä£¬³¬¹ý¸Ãʱ¼äÔò´¥·¢±¨¾¯£¬µ¥Î»Ãë CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_WIRELESS_NOT_CONNECTED_INFO; // Î¢ÔÆ³£¹æÈÝÁ¿¸æ¾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_GENERAL_CAPACITY_LOW) typedef struct tagCFG_MCS_GENERAL_CAPACITY_LOW { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_GENERAL_CAPACITY_LOW; // Î¢ÔÆ´æ´¢½ÚµãÏÂÏßÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DATA_NODE_OFFLINE) typedef struct tagCFG_MCS_DATA_NODE_OFFLINE { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DATA_NODE_OFFLINE; // Î¢ÔÆ´ÅÅÌÏÂÏ߸澯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DISK_OFFLINE) typedef struct tagCFG_MCS_DISK_OFFLINE { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DISK_OFFLINE; // Î¢ÔÆ´ÅÅ̱äÂý¸æ¾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DISK_SLOW) typedef struct tagCFG_MCS_DISK_SLOW { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DISK_SLOW; //Î¢ÔÆ´ÅÅÌË𻵸澯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DISK_BROKEN) typedef struct tagCFG_MCS_DISK_BROKEN { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DISK_BROKEN; // Î¢ÔÆ´ÅÅÌδ֪´íÎ󏿾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DISK_UNKNOW_ERROR) typedef struct tagCFG_MCS_DISK_UNKNOW_ERROR { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DISK_UNKNOW_ERROR; // Î¢ÔÆÔªÊý¾Ý·þÎñÆ÷Òì³£¸æ¾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_METADATA_SERVER_ABNORMAL) typedef struct tagCFG_MCS_METADATA_SERVER_ABNORMAL { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_METADATA_SERVER_ABNORMAL; // Î¢ÔÆÄ¿Â¼·þÎñÆ÷Òì³£¸æ¾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_CATALOG_SERVER_ABNORMAL) typedef struct tagCFG_MCS_CATALOG_SERVER_ABNORMAL { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_CATALOG_SERVER_ABNORMAL; // Î¢ÔÆ³£¹æÈÝÁ¿¸æ¾¯»Ö¸´¸æ¾¯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_GENERAL_CAPACITY_RESUME) typedef struct tagCFG_MCS_GENERAL_CAPACITY_RESUME { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_GENERAL_CAPACITY_RESUME; // Î¢ÔÆ´æ´¢½ÚµãÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DATA_NODE_ONLINE) typedef struct tagCFG_MCS_DATA_NODE_ONLINE { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DATA_NODE_ONLINE; // Î¢ÔÆ´ÅÅÌÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_DISK_ONLINE) typedef struct tagCFG_MCS_DISK_ONLINE { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_DISK_ONLINE; // Î¢ÔÆÔªÊý¾Ý±¸»úÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_METADATA_SLAVE_ONLINE) typedef struct tagCFG_MCS_METADATA_SLAVE_ONLINE { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_METADATA_SLAVE_ONLINE; // Î¢ÔÆÄ¿Â¼·þÎñÆ÷ÉÏÏ߸澯ÅäÖÃ(¶ÔÓ¦ CFG_CMD_MCS_CATALOG_SERVER_ONLINE) typedef struct tagCFG_MCS_CATALOG_SERVER_ONLINE { BOOL bEnable; // ʹÄÜ¿ª¹Ø£¬trueΪ´ò¿ª;falseΪ¹Ø±Õ£¬Ä¬ÈÏÖµ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_MCS_CATALOG_SERVER_ONLINE; // SecurityAlarms¿Í»§¶¨Öƹ¦ÄÜ£¬Òþ˽±£»¤ typedef struct tagCFG_SECURITY_ALARMS_PRIVACY { char szCode[CFG_COMMON_STRING_64]; // Òþ˽±£»¤ÃÜÂë BOOL bEnable; // ÊÇ·ñ¿ªÆôÒþ˽±£»¤ }CFG_SECURITY_ALARMS_PRIVACY; // ÃŽû¿¨Ô¤Ç··ÑÅäÖà typedef struct tagCFG_ACCESSCONTROL_DELAYSTRATEGY { BOOL bEnable; // ÊÇ·ñÆôÓà int nPreArrearsTerm; // ԤǷ·ÑÆÚÏÞ£¬µ¥Î»£ºÌì int nArrearsTerm; // Ç··ÑÆÚÏÞ£¬µ¥Î»£ºÌì }CFG_ACCESSCONTROL_DELAYSTRATEGY; // ÎÞÈË»ú½û·Éʱ¶Î ÅäÖà ( ¶ÔÓ¦ CFG_CMD_NO_FLY_TIME ) typedef struct tagCFG_NO_FLY_TIME_INFO { BOOL bEnable; // ½û·Éʱ¶ÎʹÄÜ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_NO_FLY_TIME_INFO; // ÃÜÂëÖØÖù¦ÄÜ ÅäÖà ( ¶ÔÓ¦ CFG_CMD_PWD_RESET ) typedef struct tagCFG_PWD_RESET_INFO { BOOL bEnable; // ÃÜÂëÖØÖù¦ÄÜʹÄÜ }CFG_PWD_RESET_INFO; // ÍøÂç¼àÊÓÖжÏʼþÅäÖÃ( ¶ÔÓ¦½á¹¹Ìå CFG_NET_MONITOR_ABORT_INFO ) typedef struct tagCFG_NET_MONITOR_ABORT_INFO { BOOL bEnable; // ʹÄÜ¿ª¹Ø CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ } CFG_NET_MONITOR_ABORT_INFO; // ±¾µØÀ©Õ¹±¨¾¯ ÅäÖà ( ¶ÔÓ¦ CFG_CMD_LOCAL_EXT_ALARM ) typedef struct tagCFG_LOCAL_EXT_ALARME_INFO { BOOL bEnable; // ʹÄÜ int nSensorType; // ´«¸ÐÆ÷ÀàÐÍ 0,³£±Õ 1,³£¿ª char szAlarmChannelName[CFG_COMMON_STRING_64]; // ±¨¾¯Í¨µÀÃû³Æ CFG_ALARM_MSG_HANDLE stuEventHandler; // ±¨¾¯Áª¶¯ }CFG_LOCAL_EXT_ALARME_INFO; #define MAX_INVITE_NUMBER_LIST 16 // ÊÓÆµ¶Ô½²µç»°»ù´¡ÅäÖÃ( ¶ÔÓ¦ CFG_CMD_VIDEO_TALK_PHONE_BASIC ) typedef struct tagCFG_VIDEO_TALK_PHONE_BASIC_INFO { BOOL bAlarmOutputEnable; // ºô½ÐÁª¶¯±¨¾¯Êä³öʹÄÜ BOOL bNoAnswerTransferPlatformEnable; // ºô½ÐÎÞÓ¦´ð×ªÒÆÆ½Ì¨Ê¹ÄÜ BOOL bEachCallEnable; // »§»§Í¨»°Ê¹ÄÜ BOOL bAutoAnswerEnable; // ×Ô¶¯½ÓÌýʹÄÜ int nInviteNumberList; // Ö÷½Ð·¿¼äÁбí¸öÊý char szInviteNumberList[MAX_INVITE_NUMBER_LIST][CFG_COMMON_STRING_16]; // Ö÷½Ð·¿¼äÁбí BOOL bVTOCallSoundEnable; // ÊÇ·ñ¿ªÆôÃſڻú»ØÁåʹÄÜ char szVTOCallSound[CFG_COMMON_STRING_128]; // Ãſڻú»ØÁåÁåÉù·¾¶ BOOL bEnableCall; // ºô½ÐʹÄÜ } CFG_VIDEO_TALK_PHONE_BASIC_INFO; // ÓïÑÔÖÖÀà typedef enum tagEM_LANGUAGE_TYPE { EM_LANGUAGE_ENGLISH, // Ó¢ÎÄ EM_LANGUAGE_CHINESE_SIMPLIFIED, // ¼òÌåÖÐÎÄ EM_LANGUAGE_CHINESE_TRADITIONAL, // ·±ÌåÖÐÎÄ EM_LANGUAGE_ITALIAN, // Òâ´óÀûÎÄ EM_LANGUAGE_SPANISH, // Î÷°àÑÀÎÄ EM_LANGUAGE_JAPANESE, // ÈÕÎİæ EM_LANGUAGE_RUSSIAN, // ¶íÎİæ EM_LANGUAGE_FRENCH, // ·¨Îİæ EM_LANGUAGE_GERMAN, // µÂÎİæ EM_LANGUAGE_PORTUGUESE, // ÆÏÌÑÑÀÓï EM_LANGUAGE_TURKEY, // ÍÁ¶ûÆäÓï EM_LANGUAGE_POLISH, // ²¨À¼Óï EM_LANGUAGE_ROMANIAN, // ÂÞÂíÄáÑÇ EM_LANGUAGE_HUNGARIAN, // ÐÙÑÀÀûÓï EM_LANGUAGE_FINNISH, // ·ÒÀ¼Óï EM_LANGUAGE_ESTONIAN, // °®É³ÄáÑÇÓï EM_LANGUAGE_KOREAN, // º«Óï EM_LANGUAGE_FARSI, // ²¨Ë¹Óï EM_LANGUAGE_DANSK, // µ¤ÂóÓï EM_LANGUAGE_CZECHISH, // ½Ý¿ËÎÄ EM_LANGUAGE_BULGARIA, // ±£¼ÓÀûÑÇÎÄ EM_LANGUAGE_SLOVAKIAN, // ˹Âå·¥¿ËÓï EM_LANGUAGE_SLOVENIA, // ˹ÂåÎÄÄáÑÇÎÄ EM_LANGUAGE_CROATIAN, // ¿ËÂÞµØÑÇÓï EM_LANGUAGE_DUTCH, // ºÉÀ¼Óï EM_LANGUAGE_GREEK, // Ï£À°Óï EM_LANGUAGE_UKRAINIAN, // ÎÚ¿ËÀ¼Óï EM_LANGUAGE_SWEDISH, // ÈðµäÓï EM_LANGUAGE_SERBIAN, // Èû¶ûάÑÇÓï EM_LANGUAGE_VIETNAMESE, // Ô½ÄÏÓï EM_LANGUAGE_LITHUANIAN, // Á¢ÌÕÍðÓï EM_LANGUAGE_FILIPINO, // ·ÆÂɱöÓï EM_LANGUAGE_ARABIC, // °¢À­²®Óï EM_LANGUAGE_CATALAN, // ¼ÓÌ©ÂÞÄáÑÇÓï EM_LANGUAGE_LATVIAN, // À­ÍÑάÑÇÓï EM_LANGUAGE_THAI, // Ì©Óï EM_LANGUAGE_HEBREW, // Ï£²®À´Óï EM_LANGUAGE_Bosnian, // ²¨Ë¹ÄáÑÇÎÄ } EM_LANGUAGE_TYPE; // Ö§³ÖµÄ×î´óÓïÑÔ¸öÊý #define MAX_SUPPORTED_LANGUAGE 32 // ÊÖ»úÍÆËÍÏûÏ¢µÄ·­ÒëÄ¿±êÓïÑÔÅäÖà (¶ÔÓ¦ CFG_APP_EVENT_LANGUAGE_INFO ) typedef struct tagCFG_APP_EVENT_LANGUAGE_INFO { EM_LANGUAGE_TYPE emCurrLanguage; // ÍÆËÍÏûÏ¢ÐèÒª·­Òë³ÉµÄÄ¿±êÓïÑÔ int nSupportLanguageCount; // É豸֧³ÖµÄÓïÑÔ¸öÊý EM_LANGUAGE_TYPE emLanguage[MAX_SUPPORTED_LANGUAGE]; // É豸֧³Ö·­ÒëµÄÓïÑÔÁбí } CFG_APP_EVENT_LANGUAGE_INFO; // dropbox tokenÅäÖÃ( ¶ÔÓ¦CFG_CMD_DROPBOXTOKEN) typedef struct tagCFG_DROPBOXTOKEN_INFO { char szDropBoxToken[CFG_COMMON_STRING_128]; // dropbox token BOOL bKeyValid; // token valid }CFG_DROPBOXTOKEN_INFO; // PtzDevice ÅäÖÃ( ¶ÔÓ¦ CFG_CMD_PTZDEVICE) typedef struct tagCFG_PTZDEVICE_INFO { CFG_COMM_PROP stuAttribute; // ´®¿ÚÊôÐÔ int nAddress; // É豸µØÖ· int nPort; // ´®¿Ú¶Ë¿ÚºÅ int nCurrentMode; // ¿ØÖÆÄ£Ê½£¬0£ºÈí¼þģʽ 1£ºÓ²¼þģʽ char szProtocolName[MAX_NAME_LEN]; // ЭÒéÃû }CFG_PTZDEVICE_INFO; // DevLocation ÅäÖÃ( ¶ÔÓ¦CFG_CMD_DEVLOCATION) typedef struct tagCFG_DEVLOCATION_INFO { UINT unLongitude; // ¾­¶È µ¥Î»°ÙÍò·ÖÖ®Ò»¶È£¬·¶Î§0-360¶È UINT unLatitude; // γ¶È µ¥Î»°ÙÍò·ÖÖ®Ò»¶È£¬·¶Î§0-360¶È double dbAltitude; // º£°Î µ¥Î»Ã× BOOL bConfigEnable; // true£ºGPSÐÅÏ¢°´ÕÕÅäÖÃÉϱ¨ float fHeight; // É豸¸ß¶È µ¥Î»Ã× }CFG_DEVLOCATION_INFO; // FireWarningExt ÅäÖÃ( ¶ÔÓ¦CFG_CMD_FIRE_WARNING_EXT) typedef struct tagCFG_FIREWARNING_EXT_INFO { BOOL bVisualOverviewEnable; // ¿É¼û¹âͨµÀÊÇ·ñÐèҪȫ¾°Í¼ BOOL bVisualDetailEnable; // ¿É¼û¹âͨµÀÊÇ·ñÐèҪϸ½Úͼ UINT nThermoSnapTimes; // ÈȳÉÏñͨµÀץͼÕÅÊý }CFG_FIREWARNING_EXT_INFO; // ±ê¶¨ÐÅÏ¢µ¥Ôª typedef struct tagCFG_CALIBRATE_UNIT_INFO { UINT nHeight; // ·Ö±æÂÊ¸ß UINT nWidth; // ·Ö±æÂÊ¿í float nPosition[3]; // ÔÆÌ¨Î»ÖÃ(P/T/Z ¹éÒ»»¯) UINT nLocation[2]; // ±ê¶¨µã×ø±ê UINT nHFOV; // ºáÏòÊÓ³¡½Ç(µ¥Î»£º0.01¶È) UINT nVFOV; // ×ÝÏòÊÓ³¡½Ç(µ¥Î»£º0.01¶È) }CFG_CALIBRATE_UNIT_INFO; // ±ê¶¨»ù±¾ÐÅÏ¢ typedef struct tagCFG_CALIBRATE_INFO { CFG_CALIBRATE_UNIT_INFO stuCalibrateUnitInfo[5][2]; //±ê¶¨ÐÅÏ¢µ¥Ôª int nInfoNum; //±ê¶¨ÊýÁ¿ }CFG_CALIBRATE_INFO; // ±ê¶¨µãÐÅÏ¢ typedef struct tagCFG_LOCATION_CALIBRATE_POINT_INFO { UINT nID; // ±ê¶¨µãID char szName[CFG_COMMON_STRING_128]; // ±ê¶¨µãÃû³Æ BOOL bEnable; // ʹÄÜ UINT nLongitude; // ¾­¶È UINT nLatitude; // γ¶È double fAltitude; // º£°Î CFG_CALIBRATE_INFO stuCalibrateInfo; // ±ê¶¨µã»ù±¾ÐÅÏ¢ BYTE byReserved1[4]; // ×Ö½Ú¶ÔÆë }CFG_LOCATION_CALIBRATE_POINT_INFO; //LocationCalibrate ÅäÖÃ( ¶ÔÓ¦CFG_CMD_LOCATION_CALIBRATE) #define MAX_CALIBRATE_POINT_NUM 64 // ×î´ó±ê¶¨µã¸öÊý typedef struct tagCFG_LOCATION_CALIBRATE_INFO { UINT nVisualMaxHFOV; // ¿É¼û¹âºáÏòÊÓ½Ç UINT nVisualMaxVFOV; // ¿É¼û¹â×ÝÏòÊÓ½Ç UINT nThermoMaxHFOV; // ÈȳÉÏñºáÏòÊÓ½Ç UINT nThermoMaxVFOV; // ÈȳÉÏñ×ÝÏòÊÓ½Ç CFG_LOCATION_CALIBRATE_POINT_INFO stuPointInfo[MAX_CALIBRATE_POINT_NUM]; // ±ê¶¨µãÐÅÏ¢ int nPointNum; // ±ê¶¨µã¸öÊý BYTE byReserved1[4]; // ×Ö½Ú¶ÔÆë }CFG_LOCATION_CALIBRATE_INFO; // µ¡ËÙÅäÖÃ(¶ÔÓ¦ CFG_CMD_IDLINGTIME) typedef struct tagCFG_IDLINGTIME_INFO { int nIdlingTimeThreshold; // µ¡ËÙÍ£ÁôãÐÖµ,µ¥Î»:Ãë int nSpeedThreshold; // µ¡ËÙÅжÏ×î´óËÙ¶È,µ¥Î»:km/h }CFG_IDLINGTIME_INFO; // Æû³µÐÐʻ״̬ÅäÖÃ(¶ÔÓ¦ CFG_CMD_CARDIVERSTATE) typedef struct tagCFG_CARDIVERSTATE_INFO { int nAccelerationThreshold; // ¼±¼ÓËÙ·§Öµ,µ¥Î»:0.1m/s^2 int nDecelerationThreshold; // ¼±¼õËÙ·§Öµ,µ¥Î»:0.1m/s^2 }CFG_CARDIVERSTATE_INFO; // ³µÔØÅäÖÃ(¶ÔÓ¦ CFG_CMD_VEHICLE) typedef struct tagCFG_VEHICLE_INFO { char szPlateNumber[CFG_MAX_PLATE_NUMBER_LEN]; // ³µÅÆÄÚÈÝ }CFG_VEHICLE_INFO; //ÖÇÄܼҾӳ¡¾°ÁбíÅäÖÃ(¶ÔÓ¦CFG_CMD_SMARTHOME_SCENELIST) typedef struct tagCFG_SMARTHOME_SCENELIST_INFO { DWORD dwSize; //½á¹¹Ìå´óС char szSceneID[32]; //³¡¾°ID char szName[128]; //³¡¾°Ãû³Æ }CFG_SMARTHOME_SCENELIST_INFO; typedef enum tagEM_CFG_LC_LIGHT_TYPE { EM_CFG_LC_LIGHT_TYPEUNKNOWN, //δ֪ EM_CFG_LC_LIGHT_TYPE_INFRAREDLIGHT, //ºìÍâµÆ EM_CFG_LC_LIGHT_TYPE_WIHTELIGHT, //°×¹âµÆ EM_CFG_LC_LIGHT_TYPE_LASERLIGHT, //¼¤¹âµÆ }EM_CFG_LC_LIGHT_TYPE; typedef enum tagEM_CFG_LC_MODE { EM_CFG_LC_MODE_UNKNOWN, //δ֪ EM_CFG_LC_MODE_MANUAL, //ÊÖ¶¯ EM_CFG_LC_MODE_ZOOMPRIO, //±¶ÂÊÓÅÏÈ EM_CFG_LC_MODE_TIMING, //¶¨Ê± EM_CFG_LC_MODE_AUTO, //×Ô¶¯ EM_CFG_LC_MODE_OFF, //¹Ø±ÕµÆ¹â EM_CFG_LC_MODE_EXCLUSIVEMANUAL, //Ö§³Ö¶àÖֵƹâ EM_CFG_LC_MODE_SMARTLIGHT, //ÖÇÄܵƹâ EM_CFG_LC_MODE_LINKING, //ʼþÁª¶¯ EM_CFG_LC_MODE_DUSKTODAWN //¹âÃô }EM_CFG_LC_MODE; #define CFG_LC_LIGHT_COUNT 4 //µÆ¹â×鵯¹âÊýÁ¿ //µÆ¹âÐÅÏ¢ typedef struct tagNET_LIGHT_INFO { int nLight; //ÁÁ¶È°Ù·Ö±È int nAngle; //¼¤¹âµÆ½Ç¶È¹éÒ»»¯Öµ }NET_LIGHT_INFO; //²¹¹âµÆÁéÃô¶ÈÅäÖÃÐÅÏ¢µ¥Ôª typedef struct tagCFG_LIGHTING_V2_UNIT { EM_CFG_LC_LIGHT_TYPE emLightType; //µÆ¹âÀàÐÍ EM_CFG_LC_MODE emMode; //µÆ¹âģʽ int nCorrection; //µÆ¹â²¹³¥ int nSensitive; //µÆ¹âÁéÃô¶È int nLightSwitchDelay; //²¹¹âµÆ¿ª¹ØÑÓʱ NET_LIGHT_INFO anNearLight[CFG_LC_LIGHT_COUNT]; //½ü¹âµÆ×éÐÅÏ¢ int nNearLightLen; //½ü¹âµÆ×éÊýÁ¿ NET_LIGHT_INFO anMiddleLight[CFG_LC_LIGHT_COUNT]; //ÖÐ¹âµÆ×éÐÅÏ¢ int nMiddleLightLen; //ÖÐ¹âµÆ×éÊýÁ¿ NET_LIGHT_INFO anFarLight[CFG_LC_LIGHT_COUNT]; //Ô¶¹âµÆ×éÐÅÏ¢ int nFarLightLen; //Ô¶¹âµÆ×éÊýÁ¿ BYTE byReserved[128]; //Ô¤Áô×Ö½Ú }CFG_LIGHTING_V2_UNIT; #define LC_LIGHT_TYPE_NUM 3 //°×ÌìºÚÒ¹²¹¹âµÆÁéÃô¶ÈÅäÖà typedef struct tagCFG_LIGHTING_V2_DAYNIGHT { CFG_LIGHTING_V2_UNIT anLightInfo[LC_LIGHT_TYPE_NUM]; //¸÷ÀàÐ͵ƹâÐÅÏ¢ int nLightInfoLen; //µÆ¹âÀàÐÍÊýÁ¿ }CFG_LIGHTING_V2_DAYNIGHT; #define CFG_LC_LIGHT_CONFIG 8 // °×ÌìºÚÒ¹¶ÔÓ¦µÆ¹âÅäÖÃ×î´ó¸öÊý //²¹¹âµÆÁéÃô¶ÈÅäÖà typedef struct tagCFG_LIGHTING_V2_INFO { int nChannel; // ͨµÀ int nDNLightInfoNum; // °×ÌìºÚÒ¹¶ÔÓ¦µÆ¹âÅäÖÃÊýÁ¿ CFG_LIGHTING_V2_DAYNIGHT anDNLightInfo[CFG_LC_LIGHT_CONFIG]; // °×ÌìºÚÒ¹¶ÔÓ¦µÆ¹âÅäÖà // ´ÓÔªËØ0¿ªÊ¼·Ö±ð±íʾ °×Ìì¡¢Ò¹Íí¡¢ÆÕͨ¡¢Ë³¹â¡¢Ò»°ãÄæ¹â¡¢Ç¿Äæ¹â¡¢µÍÕÕ¶È¡¢×Ô¶¨Òå }CFG_LIGHTING_V2_INFO; #define MAX_KBUSER_NUM 100 // ²Ù×÷Ô±Óû§×î´ó¸öÊý //²Ù×÷Ô±Óû§ÐÅÏ¢ typedef struct tagCFG_KBUSER_PASSWORD_INFO { UINT nUserCode; // ¼üÅÌÓû§±àºÅ char szPassword[7]; // ¼üÅÌÓû§ÃÜÂë BYTE bReserved[257]; // ±£Áô×Ö½Ú }CFG_KBUSER_PASSWORD_INFO; //¼üÅ̲Ù×÷Ô±Óû§ÅäÖÃ(¶ÔÓ¦CFG_CMD_KBUSER_PASSWORD) typedef struct tagCFG_KBUSER_USERS_INFO { DWORD dwSize; // ½á¹¹Ìå´óС int nKbuserNum; // ²Ù×÷Ô±Óû§¸öÊý£¬Ò»°ãĬÈÏÖ§³ÖµÄ×î´ó¸öÊýΪ32 CFG_KBUSER_PASSWORD_INFO stuKbuserPassword[MAX_KBUSER_NUM]; // ²Ù×÷Ô±Óû§ÐÅÏ¢ }CFG_KBUSER_USERS_INFO; //½ð¿â·þÎñ״̬ typedef enum tagEM_GOLD_SERVICE { EM_GOLD_SERVICE_UNKNOWN = -1, //δ֪ EM_GOLD_SERVICE_CLOSE, //¹Ø±Õ EM_GOLD_SERVICE_OPEN, //¿ªÆô EM_GOLD_SERVICE_OTHER, //ÆäËû }EM_GOLD_SERVICE; //ÃŽûÇøÓò typedef enum tagEM_GUARD_AREA { EM_GUARD_AREA_UNKNOWN, //δ֪ EM_GUARD_AREA_HANDOVER, //½»½ÓÇø EM_GUARD_AREA_CASH, //ÏÖ½ðÇø EM_GUARD_AREA_NOBLEMETAL, //¹ó½ðÊôÇø EM_GUARD_AREA_DEPOSIT, //¼Ä´æ¿â EM_GUARD_AREA_CUSTODY, //´ú±£¹Ü¿â EM_GUARD_AREA_CHECK, //Çå·ÖÕûµãÇø EM_GUARD_AREA_GOLDSPLIT, //»Æ½ð·Ö¸îÇø EM_GUARD_AREA_GODLSALE, //»Æ½ð¼ÄÊÛÇø EM_GUARD_AREA_LOAD, //×°Ð¶Çø EM_GUARD_AREA_BUSINESS, //ÓªÒµÇø EM_GUARD_AREA_OFFICE, //°ì¹«Çø EM_GUARD_AREA_DUTYROOM, //¼à¿ØÖµ°àÊÒ EM_GUARD_AREA_OTHER, //ÆäËû EM_GUARD_AREA_VOUCHER, //ƾ֤¿â EM_GUARD_AREA_ISSUE, //·¢Ðпâ EM_GUARD_AREA_ACCOUNT, //ÕËÎñ´¦ÀíÇø }EM_GUARD_AREA; //ÃŽûÀàÐÍ typedef enum tagEM_GUARD_TYPE { EM_GUARD_TYPE_UNKNOWN, //δ֪ EM_GUARD_TYPE_VAULT, //½ð¿âÇø EM_GUARD_TYPE_WORK, //¹¤×÷Çø }EM_GUARD_TYPE; //OEMÊý¾Ý typedef struct tagCFG_ACCESS_OEM_DATA { char szZoneNo[6]; //µØÇøºÅ BYTE byReserved1[2]; //¶ÔÆë×Ö½Ú char szBrNo[6]; //ÍøµãºÅ BYTE byReserved2[2]; //¶ÔÆë×Ö½Ú EM_GUARD_AREA emGuardArea; //ÃŽûÇøÓò BYTE byReserved3[1]; //¶ÔÆë×Ö½Ú EM_GUARD_TYPE emGuardType; //ÃŽûÀàÐÍ BYTE byReserved4[1]; //¶ÔÆë×Ö½Ú char szCorpId[11]; //³§É̱êʶ BYTE byReserved5[1]; //¶ÔÆë×Ö½Ú char szDeviceType[6]; //É豸ÀàÐÍ BYTE byReserved6[2]; //¶ÔÆë×Ö½Ú char szLastModTime[20]; //×îºóÐÞ¸Äʱ¼ä char szLastModUser[11]; //×îºóÐÞ¸ÄÈË BYTE byReserved7[1]; //¶ÔÆë×Ö½Ú EM_GOLD_SERVICE emService; //½ð¿â·þÎñ״̬ BYTE byReserved[128]; //±£Áô×Ö½Ú }CFG_ACCESS_OEM_DATA; //¹¤Ðнð¿âÃŽûÅäÖà typedef struct tagCFG_ACCESS_OEM_INFO { char szCorporation[CFG_COMMON_STRING_32]; //OEM¶ÔÏó unsigned int nSuiteNumber; //OEMÌ×¼þºÅ CFG_ACCESS_OEM_DATA stuData; //OEMÐÅÏ¢ BYTE byReserved[1024]; //±£Áô×Ö½Ú }CFG_ACCESS_OEM_INFO; //ÈȳÉÏñÌØÓеĻúо½µÔëÅäÖà typedef struct tagCFG_THERM_DENOISE_INFO { BOOL bEnable; // »úо½µÔëʹÄÜ UINT nDenoiseValue; // ½µÔëµÈ¼¶0-100, bEnableΪTRUEʱÓÐЧ BYTE byReserved[128]; // ±£Áô×Ö½Ú }CFG_THERM_DENOISE_INFO; typedef struct tagCFG_THERM_DENOISE { CFG_THERM_DENOISE_INFO stuThermDenoiseInfo[3]; // [0]:°×Ì죬[1]:ºÚÒ¹£¬[2]:ÆÕͨ BYTE byReserved[1024]; // ±£Áô×Ö½Ú }CFG_THERM_DENOISE; // µÆ¹â¹¤×÷ģʽ typedef enum tagEM_LAMP_WORK_MODE { EM_LAMP_UNKNOWN = -1, // δ֪ EM_LAMP_NO_FLASH, // ¾²Ö¹ÉÁ¹â EM_LAMP_ALWAYS_FLASH, // ʼÖÕÉÁ¹â EM_LAMP_AUTO_FLASH, // ×Ô¶¯ÉÁ¹â }EM_LAMP_WORK_MODE; // µÆ¹â×Ô¶¯Ä£Ê½ typedef enum tagEM_LAMP_AUTO_TYPE { EM_LAMP_AUTO_UNKNOWN, // δ֪ EM_LAMP_AUTO_TIMEING, // °´Ê±¼ä¿ØÖÆ¿ª¹Ø EM_LAMP_ALWAYS_BRIGHTNESS, // °´ÁÁ¶È EM_LAMP_AUTO_SPACE_STATE, // ³µÁ¾¸ÕÊ»ÈëʱÉ豸ÁÁµÆ£¬Ò»¶¨Ê±¼äºó¹Ø±Õ¡£Ê±¼äÖµÓɳÌÐòµ÷ÊÔÈ¡×îÓÅÖµ£¬Ôݲ»¿ª·Å¡£ EM_LAMP_AUTO_ICRCUT, // ÁÁµÆ°ó¶¨ÔÚICRÇл»ÉÏ£¬¸ù¾ÝICR״̬¿ª¹Ø }EM_LAMP_AUTO_TYPE; // ½»Í¨µÆ¹âÅäÖÃÖеÄʱ¼ä¶Î typedef struct tagTRAFFIC_LAMP_TIME { CFG_TIME stuTimeBegin; // ¿ªÊ¼Ê±¼ä CFG_TIME stuTimeEnd; // ½áÊøÊ±¼ä }TRAFFIC_LAMP_TIME; // ½»Í¨µÆ¹âÅäÖà typedef struct tagTRAFFIC_CONSTATE_LAMP_CONFIG { UINT nLightMask; // µÆ¿ØÑÚÂë,ijЩµÆÉÏÓÐ6¸öµÆÅÝ,¿ÉÉèÖò¿·ÖµÆÁÁ£¬°´Î»±íʾ¡£1±íʾÁÁ£¬0±íʾÃð UINT nBrightness; // ³£ÁÁµÆÁÁ¶È[0,100] UINT nPreValue; // ÁÁ¶ÈÔ¤ÉèÖµ, »·¾³ÁÁ¶ÈµÍÓÚ´ËÖµ£¬³£ÁÁµÆ¿ªÊ¼¹¤×÷ EM_LAMP_WORK_MODE emLampMode; // µÆ¹â¹¤×÷ģʽ EM_LAMP_AUTO_TYPE emAutoMode; // ×Ô¶¯Ä£Ê½ÏµĹ¤×÷ÀàÐÍ int nNumOfTime; // ʱ¼ä¶ÎµÄ¸öÊý TRAFFIC_LAMP_TIME stuTimeSection[7]; // ʱ¼ä¶ÎÅäÖà BYTE byReserved[1024]; // ±£Áô×Ö½Ú }TRAFFIC_CONSTATE_LAMP_CONFIG; // ÖÇÄܽ»Í¨µÆ¹âÅäÖà typedef struct tagCFG_CONSTANT_LAMP_INFO { UINT nTrafficLampNum; // ÖÇÄܽ»Í¨µÆ¹âÅäÖøöÊý TRAFFIC_CONSTATE_LAMP_CONFIG stuTrafficLamp[16]; // µÆ¹âµÄÅäÖÃÊý×é }CFG_CONSTANT_LAMP_INFO; // ÏßȦ¹¤×÷ģʽ typedef enum tagEM_TRAFFOCIO_WORKMODE { EM_TRAFFOCIO_UNKNOWN = -1, // δ֪ EM_TRAFFOCIO_SINGLE_COIL, // µ¥ÏßȦ¹¤×÷ģʽ EM_TRAFFOCIO_DOUBLE_COIL_SPEED, // Ë«ÏßȦ²âÊÔģʽ EM_TRAFFOCIO_DOUBLE_COIL_TRAFFIC, // Ë«ÏßȦ½»Í¨Ä£Ê½ }EM_TRAFFOCIO_WORKMODE; // ÏßȦ´¥·¢·½Ê½ typedef enum tagEM_COIL_TRIGGER_MODE { EM_TRIGGER_UNKNOWN = -1, // δ֪ EM_TRIGGER_NO_TRIGGER, // ²»´¥·¢ EM_TRIGGER_RISING_EDGE, // ÉÏÉýÑØ EM_TRIGGER_FALLING_EDGE, // ϽµÑØ EM_TRIGGER_RISING_FALLING, // ÉÏÉýϽµÑØ }EM_COIL_TRIGGER_MODE; // ÏßȦÅäÖÃÀàÐÍ typedef enum tagEM_COIL_CONFIG_TYEP { EM_COIL_CONFIG_UNKNOWN = -1, // δ֪ EM_COIL_CONFIG_GATE, // ¿¨¿ÚÅäÖÃÀàÐÍ EM_COIL_CONFIG_ELE_POLICE, // µç¾¯ÅäÖÃÀàÐÍ }EM_COIL_CONFIG_TYEP; // ×¥ÅÄʱ»ú typedef enum tagEM_SNAP_TRIGGER_MODE { EM_SNAP_TRIGGER_UNKNOWN = -1, // δ֪ EM_SNAP_TRIGGER_NO_TRIGGER, // ²»´¥·¢ EM_SNAP_TRIGGER_IN_TRIGGER, // ÈëÏßȦ´¥·¢ EM_SNAP_TRIGGER_OUT_TRIGGER, // ³öÏßȦ´¥·¢ EM_SNAP_TRIGGER_INOUT_TRIGGER, // ³öÈëÏßȦ¶¼´¥·¢ }EM_SNAP_TRIGGER_MODE; // ºìµÆ·½Ïò typedef enum tagEM_RED_DIRECTION { EM_RED_DIRECTION_UNKNOWN = -1, // δ֪ EM_RED_DIRECTION_NO_RELATED, // ²»¹ØÁª EM_RED_DIRECTION_LEFT, // ×óתºìµÆ EM_RED_DIRECTION_STRAIGT, // Ö±ÐÐºìµÆ EM_RED_DIRECTION_RIGHT, // ÓÒתºìµÆ EM_RED_DIRECTION_WAIT_LEFT, // ´ý×ó EM_RED_DIRECTION_WAIT_RIGHT, // ´ýÓÒ EM_RED_DIRECTION_STRAIGT_LEFT, // Ö±ÐÐ×óת EM_RED_DIRECTION_STRAIGT_RIGHT, // Ö±ÐÐÓÒת£¬µç¾¯ÓÐЧ }EM_RED_DIRECTION; // ³µµÀµÄÏßȦÊôÐÔ typedef struct tagCFG_TRAFFICIO_LANES_COILS { UINT nCoilID; // ÏßȦID EM_COIL_TRIGGER_MODE emTriggerMode; // ´¥·¢·½Ê½ EM_COIL_CONFIG_TYEP emType; // ÅäÖÃÀàÐÍ UINT nDelayFlashID; // ÑÓʱÉÁ¹âµÆÐòºÅ,·¶Î§0~5£¬0±íʾ²»ÑÓʱÈκÎÉÁ¹âµÆ UINT nFlashSerialID; // ÉÁ¹âµÆÐòºÅ,·¶Î§0~5£¬0±íʾ²»´ò¿ªÉÁ¹âµÆ EM_RED_DIRECTION emRedDirection; // ºìµÆ·½Ïò UINT nNextTriggerTime; // Ï´δ¥·¢Ê±¼ä UINT nDelayTriggerTime; // ÑÓʱ´¥·¢Ê±¼ä,msΪµ¥Î»£¬0±íʾÁ¢¼´´¥·¢ EM_SNAP_TRIGGER_MODE emSnapTriggerMode; // ×¥ÅÄʱ»ú }CFG_TRAFFICIO_LANES_COILS; // ½»Í¨ÏßȦµÄ³µµÀÊôÐÔ typedef struct tagCFG_TRAFFICIO_LANES { UINT nLaneNumber; // ³µµÀºÅ,³µµÀºÅ·¶Î§ÊÇ0-7 UINT nCarScheme; // ¿¨¿ÚÅäÖ÷½°¸,¾ßÌåµÄ·½°¸Ë÷Òý£¬¾ßÌå·½°¸º¬Òå²Î¿¼´ò°ü»·¾³local.png EM_TRAFFOCIO_WORKMODE emWorkMode; // ¹¤×÷·½Ê½ int nLanesCoils; // ÏßȦÅäÖõĸöÊý CFG_TRAFFICIO_LANES_COILS stuLanesCoils[32]; // ÏßȦÅäÖà BYTE byReserved[2048]; // ±£Áô×Ö½Ú }CFG_TRAFFICIO_LANES; // ÏßȦIOÅäÖà typedef struct tagCFG_TRAFFIC_IO { BOOL bEnable; // ʹÄÜ UINT nLanes; // ³µµÀÊýÁ¿ CFG_TRAFFICIO_LANES stuTrafficIoLanes[16]; // ³µµÀÅäÖà }CFG_TRAFFIC_IO; // Ô¤°¸¹ØÁªµÄÒ»ÏîÅäÖà typedef struct tagNET_COLLECTION_NAME_INFOS { char szName[32]; // ÅäÖÃÃû³Æ char szVideoName[32]; // ÊÓÆµÔ¤°¸µÄÃû³Æ char szAdditionalName[32]; // ¸½¼ÓÔ¤°¸µÄÃû³Æ char szControlID[32]; // ¿ØÖƱàºÅ BYTE byReserved[64]; // ±£Áô×Ö½Ú }NET_COLLECTION_NAME_INFOS; // Ô¤°¸¹ØÁªµÄÒ»ÏîÅäÖà typedef struct tagNET_MONITOR_WALL_COLLECTION_MAP_INFO { NET_COLLECTION_NAME_INFOS stuCollection[32]; // Ô¤°¸ÅäÖÃ,Ò»¸öµçÊÓǽ¿ÉÒÔÅäÖÃ32¸öÔ¤°¸ int nCollectionCount; // Ô¤°¸ÅäÖõĸöÊý BYTE byReserved[132]; // ±£Áô×Ö½Ú }NET_MONITOR_WALL_COLLECTION_MAP_INFO; // µçÊÓǽԤ¹ØÁªÅäÖÃ,һάÊý×飬ÿһ¸öÔªËØ¶ÔÓ¦Ò»¸öµçÊÓǽ¶ÔÓ¦½á¹¹Ìå typedef struct tagCFG_MONITOR_WALL_COLLECTION_MAP_INFO { DWORD dwSize; // ½á¹¹Ìå´óС int nWallCount; // µçÊÓǽµÄ¸öÊý NET_MONITOR_WALL_COLLECTION_MAP_INFO stuMonitorWallCollectioInfo[16]; // µçÊÓǽԤ°¸ÐÅÏ¢£¬16±íʾ×î¶àÖ§³Ö16¸öµçÊÓǽǽµÄÔ¤°¸ÅäÖà }CFG_MONITOR_WALL_COLLECTION_MAP_INFO; // ÊÓÆµÂëÁ÷ÀàÐÍ typedef enum tagEM_INPUT_STREAM_TYPE { EM_INPUT_STREAM_UNKNOWN, // δ֪ EM_INPUT_STREAM_MAIN, // ¡°Main¡±-Ö÷ÂëÁ÷ EM_INPUT_STREAM_EXTRA1, // ¡°Extra1¡±-¸¨ÂëÁ÷1 EM_INPUT_STREAM_EXTRA2, // ¡°Extra2¡±-¸¨ÂëÁ÷2 EM_INPUT_STREAM_EXTRA3, // ¡°Extra3¡±-¸¨ÂëÁ÷3 }EM_INPUT_STREAM_TYPE; // É豸Á¬½Ó·½Ê½ typedef enum tagEM_CONNECTING_METHOD { EM_CONNECTING_UNKNOWN, // δ֪ EM_CONNECTING_DIRECT, // ¡°Direct¡±, Ö±Á¬É豸 EM_CONNECTING_VIADSS, // ¡°ViaDSS¡±, ¾­¹ý´ó»ªÆ½Ì¨Á¬½ÓÉè }EM_CONNECTING_METHOD; // ¼¶ÁªÈ¨ÏÞÑéÖ¤ÐÅÏ¢£¬¼¶ÁªÔ¤ÀÀÓà typedef struct tagNET_CASCADE_AUTHENTICATOR { char szUserName[128]; // Óû§Ãû char szPassWord[128]; // ÃÜÂë char szSerialNo[64]; // ÑéÖ¤É豸ÐòÁкŠBYTE bReserver[128]; // ±£Áô×Ö½Ú }NET_CASCADE_AUTHENTICATOR; // ÊäÈëÊÓÆµÐÅÏ¢ typedef struct tagNET_VIDEO_INPUT_INFO { char szDevice[32]; // É豸Ψһ±êÖ¾ UINT nChannel; // ÊÓÆµÊäÈëͨµÀºÅ UINT nInterval; // ÂÖѲʱ¼ä¼ä¸ô,µ¥Î»Ãë,·¶Î§[5,120] EM_INPUT_STREAM_TYPE emStream; // ÊÓÆµÂëÁ÷ÀàÐÍ EM_CONNECTING_METHOD emConnectingMethod; // É豸Á¬½Ó·½Ê½ NET_CASCADE_AUTHENTICATOR stuCascadeAuthenticator; //¼¶ÁªÈ¨ÏÞÑéÖ¤ÐÅÏ¢£¬¼¶ÁªÔ¤ÀÀÓà AV_CFG_RemoteDevice stuDevice; // É豸ÏêϸÐÅÏ¢,Ö»¿É»ñÈ¡²»¿É¸ü¸Ä BYTE byReserved[256]; // ±£Áô×Ö½Ú }NET_VIDEO_INPUT_INFO; // Ô¤°¸¹ØÁªµÄÒ»ÏîÅäÖà typedef struct tagNET_VIDEO_INPUT_GROUP_INFO { char szName[32]; // ÊäÈë×éÃû³Æ char szControlID[32]; // ¿ØÖƱàºÅ BYTE byReserved1[4]; // ±£Áô×Ö½Ú,ÓÃÓÚ×Ö½Ú¶ÔÆë int nListCount; // ÊÓÆµÊäÈëÁбíµÄÊýÁ¿ NET_VIDEO_INPUT_INFO stuVideoInput[64]; // ÊÓÆµÊäÈëÐÅÏ¢Êý×飬×î¶àÖ§³Ö64¸ö BYTE byReserved[256]; // ±£Áô×Ö½Ú }NET_VIDEO_INPUT_GROUP_INFO; // ÊÓÆµÊäÈë×éÅäÖà typedef struct tagCFG_VIDEO_INPUT_GROUP_INFO { DWORD dwSize; // ½á¹¹Ìå´óС BYTE byReserved1[4]; // ±£Áô×Ö½Ú,ÓÃÓÚ×Ö½Ú¶ÔÆë int nMaxGroupCount; // ×éÐÅÏ¢ÉèÖÃÊý×é´óС, Óû§Ìîд int nRetGroupCount; // ·µ»ØµÄ×éÐÅÏ¢ÊýÁ¿ NET_VIDEO_INPUT_GROUP_INFO* pGroupInfo; // ÊäÈë×é¶ÔÏó,Óû§×Ô¼ºÉêÇëÄÚ´æ }CFG_VIDEO_INPUT_GROUP_INFO; /************************************************************************ ** ½Ó¿Ú¶¨Òå ***********************************************************************/ // ±¨¾¯Ê¼þÀàÐ͸ù¾Ýdhnetsdk.h½âÎö³öÀ´µÄ±¨¾¯ÀàÐÍ(pAlarmInfo, pBufferÄÚ´æÓÉSDKÄÚ²¿ÉêÇëÊÍ·Å) typedef int (CALLBACK *fALARMEvent)(DWORD dwAlarmType, void* pAlarmInfo, DWORD dwStructSize, BYTE *pBuffer, DWORD dwBufSize, LDWORD dwUser); // »Øµ÷·½Ê½½øÐÐÊý¾Ý½âÎö£¬dwDataType±íʾÊý¾Ý½âÎöµÃµ½ÀàÐÍ(pDataInfo, pBufferÄÚ´æÓÉSDKÄÚ²¿ÉêÇëÊÍ·Å) typedef int (CALLBACK *fAnalyzerData)(DWORD dwDataType, void* pDataInfo, DWORD dwStructSize, BYTE *pBuffer, DWORD dwBufSize, LDWORD dwUser); // ½âÎö²éѯµ½µÄÅäÖÃÐÅÏ¢(szInBuffer£¬lpOutBufferÄÚ´æÓÉÓû§ÉêÇëÊÍ·Å) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseData(char* szCommand, char* szInBuffer, LPVOID lpOutBuffer, DWORD dwOutBufferSize, void* pReserved); // ×é³ÉÒªÉèÖõÄÅäÖÃÐÅÏ¢(lpInBuffer£¬szOutBufferÄÚ´æÓÉÓû§ÉêÇëÊÍ·Å) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_PacketData(char* szCommand, LPVOID lpInBuffer, DWORD dwInBufferSize, char* szOutBuffer, DWORD dwOutBufferSize); // ¼Ïñ±¨¾¯Ê¼þ½âÎö(lpInBufferÄÚ´æÓÉÓû§ÉêÇëÊÍ·Å) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseAnalyzerEventData(LPVOID lpInBuffer, DWORD dwInBufferSize, fALARMEvent cbEvent, LDWORD dwUser); // »Øµ÷·½Ê½Êý¾Ý½âÎö(lpInBufferÄÚ´æÓÉÓû§ÉêÇëÊÍ·Å) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseDataByCallback(LPVOID lpInBuffer, DWORD dwInBufferSize, fAnalyzerData cbAnalyzer, LDWORD dwUser); // ½âÎö»ñÈ¡µ½µÄÖÇÄÜÈ«¾ÖÅäÖÃ/ÖÇÄÜÄ£°åÅäÖÃ/Ö¸¶¨´óÀàϵÄÖÇÄܹæÔòÅäÖÃ(szInBufferÄÚ´æÓÉÓû§ÉêÇëÊÍ·Å) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseVideoInAnalyse(char* szCommand, EM_SCENE_TYPE emSceneType, char *szInBuffer, DWORD dwInBufferSize, LPVOID lpOutParam, DWORD dwOutParamSize); #ifdef __cplusplus } #endif #endif // DHCONFIGSDK_H