#ifndef DHCONFIGSDK_H #define DHCONFIGSDK_H #ifndef AVGLOBAL_H #define AVGLOBAL_H typedef int AV_int32; typedef unsigned int AV_uint32; #ifndef __OBJC__ typedef int AV_BOOL; #else typedef BOOL AV_BOOL; #endif typedef void* AV_HANDLE; typedef unsigned char AV_BYTE; typedef float AV_float; #ifdef WIN32 typedef __int64 AV_int64; typedef unsigned __int64 AV_uint64; #else typedef long long AV_int64; typedef unsigned long long AV_uint64; #endif #endif #if (defined(_MSC_VER)) #include #ifdef CONFIGSDK_EXPORTS #if((defined(_WIN64) || defined(WIN64))) #define CLIENT_CFG_API #else #define CLIENT_CFG_API __declspec(dllexport) #endif #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 #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 64 // ????????????????? #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 // ???????????????????????(?????????????????) ///@brief MACRO_GROUP_GET_NEW_DEV_37_BEGIN /************************************************************************ ** ???????? ???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" // ???d??????(??? 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_EX_INFO), ????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" // T??????? #define CFG_CMD_LANDUNRADER "LanDunRadar" // L??????? #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)???? CFG_VIDEOENCODEROI_INFO #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)(?????????????-1) #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" // ??????????????pIPC??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" // 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" // ???????(???????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,????????-1 #define CFG_CMD_VIDEO_INPUT_GROUP "VideoInputGroup" // ?????????????,???????CFG_VIDEO_INPUT_GROUP_INFO #define CFG_CMD_DOOR_NOT_CLOSE "DoorNotClosed" // ???????????????? CFG_DOOR_NOT_CLOSE_INFO #define CFG_CMD_BREAK_IN "BreakIn" // ??????????????? CFG_BREAK_IN_INFO #define CFG_CMD_ANTI_PASSBACK "AntiPassback" // ????????????????? CFG_ANTI_PASSBACK_INFO #define CFG_CMD_DURESS "Duress" // ?????????????? CFG_DURESS_INFO #define CFG_CMD_MALICIOUS_ACCESSCONTROL "MaliciousAccessControl" // ?????????????????????? CFG_DOOR_MALICIOUS_ACCESSCONTROL_INFO #define CFG_CMD_REGULATOR_DETECT "RegulatorDetect" // ??????????????????????? CFG_REGULATOR_DETECT_INFO. ?????????? #define CFG_CMD_REMOTE_ANALYSEGLOBAL "RemoteVideoAnalyseGlobal" // ?????????????????(??? CFG_ANALYSEGLOBAL_EX_INFO), ????CFG_ANALYSEGLOBAL_INFO??????? #define CFG_CMD_REMOTE_ANALYSEMODULE "RemoteVideoAnalyseModule" // ?????????????????(??? CFG_ANALYSEMODULES_INFO) #define CFG_CMD_REMOTE_ANALYSERULE "RemoteVideoAnalyseRule" // ??????????????????(??? CFG_ANALYSERULES_INFO) #define CFG_CMD_INFRARED_CONFIG "InfraredSet" // ?????????? (??? CFG_INFRARED_INFO, ???????) #define CFG_CMD_ACCESS_DOOR_STATUS "AccessDoorStatus" // ??????????????? ????????????(CFG_ACCESS_TIMESCHEDULE_INFO)??????? ???(CFG_ACCESS_DOORSTATUS_INFO) #define CFG_CMD_UPNP "UPnP" // UPnP????(???CFG_UPNP_INFO) #define CFG_CMD_ESDCOMMSETTING "ESDCommSetting" // ESD???????(???CFG_ESDCOMMSETTING_INFO) ///@brief MACRO_GROUP_GET_NEW_DEV_37_END ///@brief MACRO_GROUP_QUERY_CAPS_38_BEGIN /************************************************************************ ** ?????????? ???CLIENT_QueryNewSystemInfo/CLIENT_QueryNewSystemInfoEx ***********************************************************************/ #define CFG_CAP_CMD_VIDEOANALYSE "devVideoAnalyse.getCaps" // ?????????????(??? CFG_CAP_ANALYSE_INFO, pExtendInfo ??? CFG_CAP_ANALYSE_REQ_EXTEND_INFO) #define CFG_CAP_CMD_VIDEOANALYSE_EX "devVideoAnalyse.getCapsEx" // ?????????????(???CFG_CAP_ANALYSE_INFO_EX) #define CFG_CAP_CMD_REMOTE_VIDEOANALYSE "devRemoteVideoAnalyse.getCaps" // ????????????????(???CFG_CAP_ANALYSE_INFO) #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_REMOTE_EVENTMANAGER "RemoteEventManager.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) ///@brief MACRO_GROUP_QUERY_CAPS_38_END ///@brief MACRO_GROUP_VIDEOINANALYSE_39_BEGIN /************************************************************************ ** ??????????????? ???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) ///@brief MACRO_GROUP_VIDEOINANALYSE_39_END ///@brief ??????? typedef struct tagCFG_CAP_LOG { DWORD dwMaxLogItems; // ?????????? DWORD dwMaxPageItems; // ?????????????????? BOOL bSupportStartNo; // ??????????????????? BOOL bSupportTypeFilter; // ???????????????????? BOOL bSupportTimeFilter; // ??????????????????? BOOL bSupportRealUTC; // ?????????????????????UTC???? }CFG_CAP_LOG; #define MAX_AUDIO_PROPERTY_NUM 32 // ????????????? #define MAX_AUDIO_FORMAT_NUM 16 // ???????????? ///@brief ????????????? typedef 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, }EM_TALK_AUDIO_TYPE; ///@brief ??????? typedef struct CFG_AUDIO_PROPERTY { int nBitRate; // ??????????:kbps??????192kbps int nSampleBit; // ??????????8??16 int nSampleRate; // ?????????:Hz??????44100Hz }CFG_AUDIO_PROPERTY; ///@brief ?????????? 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; ///@brief ????????? typedef struct tagCFG_AUDIO_PLAY_PATH { char szPath[256]; // ????? BOOL bSupportUpload; // ????????? int nMaxFileUploadNum; // ?????????????, ?????????? int nMaxUploadFileSize; // ??????????????????, ?????????? } CFG_AUDIO_PLAY_PATH; ///@brief ?????????????????????? typedef struct tagCFG_VOICE_PLAY_PLAN { BOOL bSupport; // ???????????????????? int nVoiceTaskNum; // ??????????????????? } CFG_VOICE_PLAY_PLAN; ///@brief ?????????? typedef struct CFG_CAP_SPEAK { int nAudioCapNum; // ?????????????? CFG_CAP_AUDIO_FORMAT stuAudioCap[MAX_AUDIO_FORMAT_NUM]; // ?????????? int nAudioPlayPathNum; // ????????????? CFG_AUDIO_PLAY_PATH stuAudioPlayPath[8]; // ????????? CFG_VOICE_PLAY_PLAN stuVoicePlayPlan; // ?????????????????????? }CFG_CAP_SPEAK; ///@brief 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; ///@brief ????????????? typedef enum tagEM_SUPPORTFINGERPRINT { EM_SUPPORTFINGERPRINT_UNKNOWN, // ? EM_SUPPORTFINGERPRINT_NONSUPPORT, // ???????????? EM_SUPPORTFINGERPRINT_SUPPORT, // ?????????? }EM_SUPPORTFINGERPRINT; ///@brief ?????? typedef struct tagNET_SPECIAL_DAYS_SCHEDULE { BOOL bSupport; // ??????????? int nMaxSpecialDaysSchedules; // ?????????????? int nMaxTimePeriodsPerDay; // ??????????? int nMaxSpecialDayGroups; // ??????????????? int nMaxDaysInSpecialDayGroup; // ???????????????????? BYTE byReserved[128]; // ??????? } NET_SPECIAL_DAYS_SCHEDULE; ///@brief ?????????????????? 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; ///@brief ??????????????????? 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; ///@brief ??????????????? typedef enum tagEM_SUPPORT_LIFT_CONTROL_TYPES { EM_SUPPORT_LIFT_CONTROL_TYPES_UNKNOWN , // ? EM_SUPPORT_LIFT_CONTROL_TYPES_LOCAL485, // ????485??????? EM_SUPPORT_LIFT_CONTROL_TYPES_LINKMAINVTO, // ?????????????????????? EM_SUPPORT_LIFT_CONTROL_TYPES_LINkLIFTCONTROLHOST, // ??????????????? }EM_SUPPORT_LIFT_CONTROL_TYPES; ///@brief ??????????? 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; // ???????????? EM_SUPPORT_LIFT_CONTROL_TYPES emSupportLiftControlTypes[32]; // ??????????????????? int nSupportLiftControlTypesNum; // ?????????????????? BOOL bSupportESD; // ?????????? BOOL bSupportSpecialDaysAlwaysOpenOrClose;//??????????????????? UINT nSupportPersonCollection; // ????bit?????0-???????????????, 1-??????????????, 2-??????????????????, 4-???????????????, 8-?????????????? 16-???????????????, 32-???????????????? BOOL bSupportSpecialDaysConfig; // ???????????????? BOOL bSupportSetDoorChannelSensorType; // ?????????????????????????/???????? BOOL bSupportAccessControlSnap; // ???????????????????????????? UINT nCardSetFunction; // IC?????????????bit????,0???????????????????bit????,????????????????????1????0????? // bit0: IC??????? // bit1: IC??? // bit2: CPU????? // bit3: PSAM????? // bit4: NFC????? // bit5: desfire????? // bit6: desfire????????? char szResvered[1008]; // ??????? }CFG_CAP_ACCESSCONTROL; ///@brief ??????????????????? 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; ///@brief ????????????? typedef struct tagCFG_EXALARM_SENSE_METHOD { int nSupportSenseMethodNum; // ?????????????? EM_SENSE_METHOD emSupportSenseMethod[MAX_ALARM_SENSE_METHOD_NUM]; // ???????????? }CFG_EXALARM_SENSE_METHOD; ///@brief ???????????????????? typedef struct tagCFG_CAP_ANALOGALARM { DWORD dwLocalNum; // ?????????????????????? DWORD dwExLocalNum; // ????????????????????? int nAnalogAlarmChannelNum; // ??????????????, ???0??????????????????????????? CFG_EXALARM_SENSE_METHOD stuAnalogAlarmChannel[MAX_EXALARM_CHANNEL_NUM]; // ??????????? }CFG_CAP_ANALOGALARM; ///@brief ???LowRateWPAN???????? typedef struct tagCFG_CAP_LOWRATEWPAN { UINT nMaxPageSize; // ????????????????? UINT n433GatewayCount; // ???????433???????, 0????????????? }CFG_CAP_LOWRATEWPAN; ///@brief ????????? typedef struct tagCFG_CAP_ADAPT_ENCODE { BOOL bSupportedNAAEncode; // ???????????????? ?????????????? BOOL bSupportedIPSmoothness; // ???????????????? }CFG_CAP_ADAPT_ENCODE; ///@brief ???????????????? 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; ///@brief ?????????????????? typedef struct tagCFG_CAP_MEDIA_CROP { BOOL bExtra1SupportCrop; // ??????1?????? BOOL bExtra2SupportCrop; // ??????2?????? }CFG_CAP_MEDIA_CROP; ///@brief 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; ///@brief ?????????????? typedef struct tagCFG_CAP_CUSTOM_OSD_INFO { BOOL abGeography; // bGeography????? BOOL bGeography; //???????????????? BOOL abTitleLine; // nTitleLine????? unsigned int nTitleLine; // ???????????, ????5 } CFG_CAP_CUSTOM_OSD_INFO; ///@brief ?????, ??????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, // "TargetRecognition" ?????? EM_SCENE_PS, 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_PS, EM_SCENE_ELECTRIC_DETECT, // "ElectricDetect" ??????? EM_SCENE_RADAR_DETECT, // "RadarDetect" ????? EM_SCENE_PARKINGSPACE, // "ParkingSpace" ???????? EM_SCENE_INTELLI_FINANCE, // "IntelliFinance" ?????? EM_SCENE_CROWD_ABNORMAL, // "CrowdAbnormal" EM_SCENE_ANATOMYTEMP_DETECT,// "AnatomyTempDetect" ?????? EM_SCENE_WEATHER_MONITOR, // "WeatherMonitor"??????? EM_SCENE_ELEVATOR_ACCESS_CONTROL,// "ElevatorAccessControl" ??????? EM_SCENE_BREAK_RULE_BUILDING, // "BreakRuleBuilding"????? EM_SCENE_PANORAMA_TRAFFIC, // "PanoramaTraffic"?????? EM_SCENE_PORTRAIT_DETECT, // "PortraitDetect"?????? EM_SCENE_CONVEY_OR_BLOCK, // "ConveyorBlock" ????????? EM_SCENE_KITCHEN_ANIMAL, // "KitchenAnimal" ???????????? EM_SCENE_ALLSEEINGEYE, // "AllSeeingEye" ?????? EM_SCENE_DRIVE, // "Drive" ?????????? EM_SCENE_DRIVEASSISTANT, // "DriveAssistant" ???????????? EM_SCENE_INCABINMONITOR, // "InCabinMonitor" ?????????? EM_SCENE_BLINDSPOTDETECTION, // "BlindSpotDetection" ?????? EM_SCENE_CONVERYER_BELT, // "ConveyerBelt" ???????? EM_SCENE_INTELLI_LOGISTICS, // "IntelliLogistics" ??????? EM_SCENE_SMOKE_FIRE, // "SmokeFire" ????? EM_SCENE_OBJECT_MONITOR, // "ObjectMonitor" ?????? EM_SCENE_FIRE_FACILITIES, // "FireFacilities" ?????????? EM_SCENE_FIRE_CONTROL, // "IntelliFireControl" ??????? EM_SCENE_INTELLI_PARKING, // "IntelliParking" ??????? EM_SCENE_FINANCE_REGULATION, // "FinanceRegulation" ??????? EM_SCENE_ENERGY, // "Energy" ?????? EM_SCENE_FIRE_CONTROL_EX, // "FireControl" ??????? EM_SCENE_ANIMAL_DETECTION, // "AnimalDetection" ?????? EM_SCENE_FIRE_CONTROL_MONITOR, // "FireControlMonitor" ???? EM_SCENE_PROTECTIVE_SUIT, // "ProtectiveSuit" ??????????????? EM_SCENE_FISH_MONITOR, // "FishMonitor" ?????? EM_SCENE_SHOPTRUCK_DETECT, // "ShopTruckDetect" ???????? EM_SCENE_GENEAL_ATTITUDE, // "GenealAttitude" ?????? }EM_SCENE_TYPE; ///@brief MACRO_GROUP_PARSEDATA_CB_40_BEGIN /************************************************************************ ** 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 ///@brief MACRO_GROUP_PARSEDATA_CB_40_END /************************************************************************ ** ???????(??????Z????????????????????????????????) ***********************************************************************/ ///@brief ????? typedef enum { CFG_PROTOCOL_VERSION_2 = 2, // ?????? CFG_PROTOCOL_VERSION_3 = 3 // ?????? }EM_PROTOCOL_VERSION; ///@brief ?????????? typedef 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 }CFG_RemoteDeviceVideoInput; ///@brief ???? typedef 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???? char szVersion[32]; // ?????? BOOL bPoE; // ?????PoE???????, ?????????, ????????? UINT nPoEPort; // PoE????????, ?????????, ????????? char szMac[18]; // ?mac????????+?? }AV_CFG_RemoteDevice; //-----------------------------??????????------------------------------- ///@brief ???? 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; ///@brief ????????? 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; ///@brief ????????? 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 AUDIO_FORMAT_G726, // G.726 AUDIO_FORMAT_MPEG2_LAYER2, // MPEG2-Layer2 AUDIO_FORMAT_G729, // G.729 AUDIO_FORMAT_G7221, // G.722.1 } CFG_AUDIO_FORMAT; ///@brief ?????????? typedef enum tagCFG_BITRATE_CONTROL { BITRATE_CBR, // ??????? BITRATE_VBR, // ??????? } CFG_BITRATE_CONTROL; ///@brief 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 ??????) // quant(?????????), lossless video coding(???????????), ?????yuv??? }CFG_H264_PROFILE_RANK; ///@brief ???????? 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; ///@brief ?????? 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?????? int nMaxBitrate; // ???????????kbps } CFG_VIDEO_FORMAT; ///@brief ?????? 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; ///@brief ?????????? 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; ///@brief RGBA??? typedef struct tagCFG_RGBA { int nRed; int nGreen; int nBlue; int nAlpha; } CFG_RGBA; ///@brief ??????? typedef struct tagCFG_RECT { int nLeft; int nTop; int nRight; int nBottom; } CFG_RECT; ///@brief ???????? typedef struct tagCFG_POLYGON { int nX; //0~8191 int nY; } CFG_POLYGON; ///@brief ??????? typedef struct tagCFG_REGION { int nPointNum; CFG_POLYGON stuPolygon[MAX_POLYGON_NUM]; }CFG_REGION; ///@brief ?????????? typedef struct tagCFG_POLYLINE { int nX; //0~8191 int nY; } CFG_POLYLINE; ///@brief ??????? typedef enum tagCFG_FLOWSTAT_DIRECTION { CFG_DRIVING_DIR_APPROACH , //???????????????????????? CFG_DRIVING_DIR_LEAVE , //??????????????????????? }CFG_FLOWSTAT_DIRECTION; #define CFG_FLOWSTAT_ADDR_NAME 16 //??????????? ///@brief ????????????????????? 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; ///@brief ????? 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; ///@brief ??????? 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]; // ?????????????????????????????????????????????????? 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; // ??????????????????????????? UINT nRoadwayNumber; // ???????t????, 1-16 }CFG_LANE; ///@brief ????????? typedef struct tagCFG_LIGHTATTRIBUTE { BOOL bEnable; // ????????????????????????????????????? int nTypeNum; char szLightType[MAX_LIGHT_TYPE][MAX_NAME_LEN]; // ?????????????????????:??-Red,??-Yellow,??-Green,?????-Countdown??????????????????????????????????????????????? int nDirectionNum; char szDirection[MAX_LIGHT_DIRECTION][MAX_NAME_LEN]; // ???????????????,"Straight": ???"TurnLeft":?????"TurnRight":?????"U-Turn": ??? int nYellowTime; // ???????? }CFG_LIGHTATTRIBUTE; ///@brief ?????????????? typedef struct tagCFG_LIGHTGROUPS { int nLightGroupId; // ?????? CFG_RECT stuLightLocation; // ???????? int nDirection; // ????????,1- ????????,2- ?????? BOOL bExternalDetection; // ??????????????,???????????????????????????????????????????? BOOL bSwingDetection; // ????????????????????,??????????????????????????????????????????????????????????? int nLightNum; // ?????????????? CFG_LIGHTATTRIBUTE stuLightAtrributes[MAX_LIGHT_NUM]; // ???????????????? }CFG_LIGHTGROUPS; ///@brief ???????????? typedef struct tagCFG_LIGHTATTRIBUTE_V2 { BOOL bEnable; // ????????????????????????????????????? int nTypeNum; char szLightType[MAX_LIGHT_TYPE][MAX_NAME_LEN]; // ?????????????????????:??-Red,??-Yellow,??-Green,?????-Countdown??????????????????????????????????????????????? int nDirectionNum; char szDirection[MAX_LIGHT_DIRECTION][MAX_NAME_LEN]; // ???????????????,"Straight": ???"TurnLeft":?????"TurnRight":?????"U-Turn": ??? int nYellowTime; // ???????? UINT nDetectorPort; // ?????????????????????????????? int nGroupType; // ???????????? char szReserved[64]; // ??????? }CFG_LIGHTATTRIBUTE_V2; ///@brief ?????????????? ??? typedef struct tagCFG_LIGHTGROUPS_V2 { int nLightGroupId; // ?????? CFG_RECT stuLightLocation; // ???????? int nDirection; // ????????,1- ????????,2- ?????? BOOL bExternalDetection; // ??????????????,???????????????????????????????????????????? BOOL bSwingDetection; // ????????????????????,??????????????????????????????????????????????????????????? int nLightNum; // ?????????????? CFG_LIGHTATTRIBUTE_V2 stuLightAtrributes[MAX_LIGHT_NUM]; // ???????????????? char szPassType[16]; // ???????"RedOff": ????? "GreenOn":????? char szReserved[128]; // ??????? }CFG_LIGHTGROUPS_V2; ///@brief ??????? typedef 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" ??????? }EM_STAFF_TYPE; ///@brief ?????????? typedef 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?????????????? }EM_CALIBRATEAREA_TYPE; ///@brief ????????????????? typedef 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 = 4, }EM_SEPCIALREGION_PROPERTY_TYPE; ///@brief ????????? typedef enum EM_FACEDETECTION_TYPE { EM_FACEDETECTION_TYPE_ERR, EM_FACEDETECTION_TYPE_SMALLFACE, //??????????????????????17% EM_FACEDETECTION_TYPE_LARGEFACE, //????????????????????????33% EM_FACEDETECTION_TYPE_BOTH, //??????? }EM_FACEDETECTION_TYPE; ///@brief ?????? typedef struct tagCFG_STAFF { CFG_POLYLINE stuStartLocation; // ???????? CFG_POLYLINE stuEndLocation; // ???????? float nLenth; // ??????,???? EM_STAFF_TYPE emType; // ??????? }CFG_STAFF; ///@brief Size typedef struct tagCFG_SIZE { union { float nWidth; // ?? float nArea; // ??? }; float nHeight; // ?? } CFG_SIZE; ///@brief ?????? 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; ///@brief ????????????? typedef struct tagCFG_VIDEO_COVER { int nTotalBlocks; // ??????????? int nCurBlocks; // ?????????? CFG_COVER_INFO stuCoverBlock[MAX_VIDEO_COVER_NUM]; // ????????? } CFG_VIDEO_COVER; ///@brief OSD??? typedef struct tagCFG_OSD_INFO { // ???? bool abShowEnable; // ??? CFG_RGBA stuFrontColor; // ?????? CFG_RGBA stuBackColor; // ??????? CFG_RECT stuRect; // ???????? BOOL bShowEnable; // ?????? } CFG_OSD_INFO; ///@brief ??????????? 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; ///@brief ????????????? 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; ///@brief ???????????????? typedef struct tagCFG_VIDEO_ENCODECAP { int nMaxCIFFrame; // CIF P????? ??Kbits, ????40 int nMinCIFFrame; // CIF P???? ??Kbits, ????7 int nMaxEncodeAudios; // ?????????????????????????,???1 BYTE byReserved[4]; // ?????????????????? }CFG_VIDEO_ENCODECAP; ///@brief ????????????? 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 // ????????????????????? ///@brief ?????????? 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 nAudioFrequence[16]; // ???????????????? int nAudioFrequenceCount; // ??????????????????????? }CFG_ENCODECAP; ///@brief ?????? 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; ///@brief 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; ///@brief ??????? 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; //-------------------------------???????--------------------------------- ///@brief ??????? typedef struct tagCFG_TIME_SECTION { DWORD dwRecordMask; // ?????????????Bit0-?????????Bit1-???????Bit2-??????Bit3-????????????????????Bit4-???????Bit5-???????Bit6-POS???Bit7~Bit15???? int nBeginHour; int nBeginMin; int nBeginSec; int nEndHour; int nEndMin; int nEndSec; } CFG_TIME_SECTION; ///@brief ??????? 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; ///@brief ?????????,EVS typedef struct tagCFG_BACKUP_LIVE_INFO { BOOL bEnable; // ?????????? int nBackupRate; // ??????????????0????????I?????????????????I????????????????P? // ???????? // ???GOP?50??20???????50*20%=10?????(??1??I???9??P?)?????????????????????? CFG_TIME_SECTION stuTimeSection; // ??????? } CFG_BACKUP_LIVE_INFO; ///@brief ????????????? 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]; // ??????????? int nBackupLiveNum; // ???????????? CFG_BACKUP_LIVE_INFO stuBackupLiveInfo[8]; // ?????????,EVS BOOL bSaveVideo; // ?????????? BOOL bSaveAudio; // ??????????????? } CFG_RECORD_INFO; //-------------------------------????????--------------------------------- ///@brief ??????????? typedef enum tagCFG_LINK_TYPE { LINK_TYPE_NONE, // ?????? LINK_TYPE_PRESET, // ???????? LINK_TYPE_TOUR, // ??????? LINK_TYPE_PATTERN, // ?????? } CFG_LINK_TYPE; ///@brief ?????????? typedef struct tagCFG_PTZ_LINK { CFG_LINK_TYPE emType; // ???????? int nValue; // ???????????????????????? } CFG_PTZ_LINK; ///@brief ????????????? 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; ///@brief ?????????????? 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; ///@brief ??????????? typedef enum tagCFG_ATTACHMENT_TYPE { ATTACHMENT_TYPE_PIC, // ?????? ATTACHMENT_TYPE_VIDEO, // ??????? ATTACHMENT_TYPE_NUM, // ???????????? } CFG_ATTACHMENT_TYPE; ///@brief ?????????? typedef struct tagCFG_MAIL_DETAIL { CFG_ATTACHMENT_TYPE emAttachType; // ???????? int nMaxSize; // ????????????kB int nMaxTimeLength; // ??????????????????video?? }CFG_MAIL_DETAIL; ///@brief ????? typedef enum tagCFG_SPLITMODE { SPLITMODE_1 = 1, // 1???? SPLITMODE_2 = 2, // 2???? SPLITMODE_4 = 4, // 4???? SPLITMODE_5 = 5, // 5???? SPLITMODE_6 = 6, // 6???? SPLITMODE_8 = 8, // 8???? SPLITMODE_9 = 9, // 9???? SPLITMODE_3 = 10, // 3???? SPLITMODE_3B = 11, // 3???? 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_EOF, // ??????? } CFG_SPLITMODE; ///@brief ??????????? typedef struct tagCFG_TOURLINK { BOOL bEnable; // ?????? CFG_SPLITMODE emSplitMode; // ?????????? int nChannels[MAX_VIDEO_CHANNEL_NUM]; // ?????????? int nChannelCount; // ?????????? } CFG_TOURLINK; ///@brief ??????????? typedef 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, // ?????? }EM_CFG_ACCESSCONTROLTYPE; #define MAX_ACCESSCONTROL_NUM 8 // ????????????????? ///@brief ?????????? typedef enum { EM_CALLER_DEVICE = 0, // ????? }EM_CALLER_TYPE; ///@brief ?????? typedef enum { EM_CALLER_PROTOCOL_CELLULAR = 0, // ?????? }EM_CALLER_PROTOCOL_TYPE; ///@brief ??????????????? typedef struct tagCFG_TALKBACK_INFO { BOOL bCallEnable; // ??????????? EM_CALLER_TYPE emCallerType; // ?????????? EM_CALLER_PROTOCOL_TYPE emCallerProtocol; // ?????????? }CFG_TALKBACK_INFO; ///@brief ???????????????? 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; ///@brief ??????????? 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; bool abScheduleID; // ???ID????? short nScheduleID; // ???ID int nAlarmBellLatch; // ?????????????(10-300??) bool abAudioPlayTimes; bool abAudioLinkTime; BYTE byReserved5[2]; // ???? UINT nAudioPlayTimes; // ??????????????? UINT nAudioLinkTime; // ????????????????, ?????? bool abAlarmOutTime; // nAlarmOutTime ????? int nAlarmOutTime; // ??????????????,????, ?????????????????????? bool abBeepTime; // nBeepTime ????? int nBeepTime; // ??????????????????3600??0???????????? } CFG_ALARM_MSG_HANDLE; ///@brief ??????????????????? 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; ///@brief ???????? 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; ///@brief ?????????? 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????????????, -1?????, ??0??? bool abLevel2; // ???nLevel2????????? int nLevel2; // ????????????, ??????????nLevel1??????????????????, -1?????, ??0??? int nDoorNotClosedTimeout; // ?????????,???s,?? 15s-300s } CFG_ALARMIN_INFO; ///@brief ?????????????? 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; ///@brief ??????????????????? typedef struct tagCFG_MOTION_WINDOW { int nThreshold; // ??????????[0, 100] int nSensitive; // ?????????[0, 100] CFG_RECT stuWindow; // ??????????, ????????[0, 8192) }CFG_MOTION_WINDOW; ///@brief ??????? 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; ///@brief ???????????? 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_ALARM_MSG_HANDLE stuRemoteEventHandler; // ???????????? CFG_TIME_SECTION stuRemoteTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT]; // ????????????, ?????????????????????????????????? stuRemoteEventHandler ?? stuTimeSection } CFG_MOTION_INFO; ///@brief ?????????????? 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; ///@brief ?????????????? 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; ///@brief ??????????? typedef struct tagCFG_STORAGENOEXIST_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_STORAGENOEXIST_INFO; ///@brief ????????????????? typedef struct tagCFG_STORAGEFAILURE_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_STORAGEFAILURE_INFO; ///@brief ????????????? typedef struct tagCFG_STORAGELOWSAPCE_INFO { BOOL bEnable; // ?????? int nLowerLimit; // ????????????????????(0~99) CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_STORAGELOWSAPCE_INFO; ///@brief ?????????????? typedef struct tagCFG_NETABORT_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_NETABORT_INFO; ///@brief IP??????????? typedef struct tagCFG_IPCONFLICT_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_IPCONFLICT_INFO; ///@brief CLIENT_QueryNewSystemInfo ???????? CFG_CAP_ALARM (?????????????)??????? ///@brief ????????????? typedef struct tagCFG_ALARM_SENSE_METHOD { int nSupportSenseMethodNum; // ?????????????? EM_SENSE_METHOD emSupportSenseMethod[MAX_ALARM_SENSE_METHOD_NUM]; // ???????????? }CFG_ALARM_SENSE_METHOD; ///@brief ????????????? 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????????????????? BOOL bSupportAlarmRegion; // ???????????AlarmRegion?????????????????????false?????????????????????alarm??alarmSubregion??????????????????true?????????????????????? BOOL bVTHSensorTypeCorrectly; // VTH????????????????NO??NC??????????????????false??VTH???NO??NC????????? char szResvered[1024]; // ??????? }CFG_CAP_ALARM_INFO; ///@brief ????????? typedef struct tagCFG_FLASH_LIGHT { BOOL bEnable; // ?????? int nBrightness; // ???? 0~100 CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT];// ???????????? }CFG_FLASH_LIGHT; ///@brief ????ʬ????? typedef struct tagCFG_CUSTOMCASE { char szCaseTitle[MAX_OSD_TITLE_LEN]; // ???????? char szCaseContent[MAX_OSD_SUMMARY_LEN]; // ???????? BOOL bCaseNoOsdEn; // ????????????? }CFG_CUSTOMCASE; ///@brief ??? typedef struct tagCFG_NET_TIME { int nStructSize; DWORD dwYear; // ?? DWORD dwMonth; // ?? DWORD dwDay; // ?? DWORD dwHour; // ? DWORD dwMinute; // ?? DWORD dwSecond; // ?? } CFG_NET_TIME; ///@brief ??????? 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; ///@brief ???????????? 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; ///@brief ?????????? typedef struct tagCFG_BURNFULL_INFO { unsigned int nBurnDev; // ?????????? CFG_BURNFULL_ONE stuBurns[MAX_BURNING_DEV_NUM]; // ??????????????? }CFG_BURNFULL_INFO; //-------------------------------??????????--------------------------------- ///@brief ?????????? 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; //-------------------------------??????????????--------------------------------- ///@brief ?????????????? typedef struct tagCFG_CHANNEL_TIME_SECTION { CFG_TIME_SECTION stuTimeSection[WEEK_DAY_NUM][MAX_NAS_TIME_SECTION];//????? } CFG_CHANNEL_TIME_SECTION; ///@brief NAS??? 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; //------------------------------???????-------------------------------------------- ///@brief ???? typedef struct tagCFG_PRONAME { char name[MAX_NAME_LEN]; // ???? } CFG_PRONAME; ///@brief ??????????? 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; ///@brief ?????????? typedef struct tagCFG_PRESET_HOMING { int nPtzPresetId; //????????? 0~65535 //-1????? int nFreeSec; //???????????? }CFG_PRESET_HOMING; ///@brief ??????? 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; ///@brief ??????????? 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; ///@brief ????? typedef struct tagCFG_AUTO_HOMING { BOOL bEnable; // ????????? int nTime; // ???????,??????????????? }CFG_AUTO_HOMING; ///@brief ??????????? 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????? BOOL bEnableSpecialTime; // ???????szSpecialTime??? int nSpecialTimeNum; // ??????????????????? char szSpecialTime[64][32]; // ?????????????? ?"2023-05-05 00:00:00-08:00:00"???2023??5??5??0??8???? char szReserved[1024]; // ??????? }CFG_PTZ_PER_AUTOMOVE_INFO; ///@brief ???????????? typedef struct tagCFG_PTZ_ALL_AUTOMOVE_INFO { CFG_PTZ_PER_AUTOMOVE_INFO stPTZPerInfo[MAX_CONFIG_NUM]; //??????? int nCfgNum; //?????????????? }CFG_PTZ_ALL_AUTOMOVE_INFO; ///@brief ????????????????????????? typedef struct tagCFG_PTZ_AUTOMOVE_INFO { CFG_PTZ_ALL_AUTOMOVE_INFO *pstPTZAutoConfig; //???????????? int nMaxPTZNum; //????????????????(??????????????????????????????????????????????) int nReturnPTZNum; //?????????????(??????????) }CFG_PTZ_AUTOMOVE_INFO; //---------------------------------????????????------------------------------------------ ///@brief ??????????? typedef enum tagEM_FACEFEATURE_TYPE { EM_FACEFEATURE_UNKNOWN, // ? EM_FACEFEATURE_SEX, // ??? EM_FACEFEATURE_AGE, // ???? EM_FACEFEATURE_EMOTION, // ???? EM_FACEFEATURE_GLASSES, // ????? EM_FACEFEATURE_EYE, // ????? EM_FACEFEATURE_MOUTH, // ????? EM_FACEFEATURE_MASK, // ?????? EM_FACEFEATURE_BEARD, // ?????? EM_FACEFEATURE_ATTRACTIVE, // ????? } EM_FACEFEATURE_TYPE; ///@brief ???????????????? typedef struct tagCFG_SUPPORT_SCHEDULE_REPORT { BOOL bEnable; // ??????????????? int nSupportPeriodNum; //?????????????? int nSupportPeriod[16]; // ??????????????????????????? }CFG_SUPPORT_SCHEDULE_REPORT; ///@brief ?????????????? typedef enum tagEM_RULE_TYPE_ACCURATE { EM_RULE_TYPE_ACCURATE_UNKNOWN, // ? EM_RULE_TYPE_ACCURATE_NUMBERSTAT, // ????ReID EM_RULE_TYPE_ACCURATE_TARGETRECOGNITION, // ?????? EM_RULE_TYPE_ACCURATE_NUMBERSTATCLUSTER, // ??????? }EM_RULE_TYPE_ACCURATE; ///@brief ?????????? typedef enum tagEM_DIRECTION_ACCURATE { EM_DIRECTION_ACCURATE_UNKNOWN, // ? EM_DIRECTION_ACCURATE_ENTER, // ???? EM_DIRECTION_ACCURATE_EXIT, // ?? }EM_DIRECTION_ACCURATE; ///@brief ?????????????????ReID, ???????????????????????? typedef struct tagCFG_ACCURATE_NUMBER_STAT { BOOL bSupport; // ???????????? BOOL bSupportLocalDataStore; // ??????????????? EM_RULE_TYPE_ACCURATE emRuleType; // ?????????????? int nChannelsNum; // ?????????????????? int nChannels[1024]; // ??????????????????RuleType?NumberStatCluster??? int nAreaNum; // ????????????????????NVR??1??IPC???????????????? BOOL bSupportTimeCfg; // ????????????????FaceRecognition???????????????????????????? int nDirectionNum; // ????????????? EM_DIRECTION_ACCURATE emDirection[32]; // ?????????? int nGranularityNum; // ???????????? char szGranularity[8][8]; // ????????? }CFG_ACCURATE_NUMBER_STAT; ///@brief ???????????? typedef struct tagCFG_NUMBER_STAT_INFO { UINT nCameraType; // ????????0????????????? 1???????????????? 2??????????????? CFG_SUPPORT_SCHEDULE_REPORT stuSupportScheduleReport; // ???????????????? CFG_ACCURATE_NUMBER_STAT stuAccurateNumberStat; // ?????????????????ReID, ??????????????????????? }CFG_NUMBER_STAT_INFO; ///@brief ????????? typedef struct tagCFG_NUMBERSTAT_RULE_INFO { UINT nMaxRules; // ????????????? }CFG_NUMBERSTAT_RULE_INFO; ///@brief ????? typedef struct tagCFG_QUEUEDETECTION_RULE_INFO { UINT nMaxRules; // ????????????? }CFG_QUEUEDETECTION_RULE_INFO; ///@brief ????????????? typedef struct tagCFG_MANNUMDETECTION_RULE_INFO { UINT nMaxRules; // ????????????? }CFG_MANNUMDETECTION_RULE_INFO; ///@brief ????????????????????????? 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_MASK, // ???? CFG_EM_FACE_TRAIT_EMOTION, // ???? }CFG_EM_FACE_TRAIT; ///@brief ????????????????????????? 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; ///@brief ??????????????????????????? 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; ///@brief ???????????? 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; ///@brief ????????????? 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; ///@brief ????????? typedef enum tagEM_SUPPORT_CLOSE_UP_TYPE { EM_SUPPORT_CLOSE_UP_TYPE_UNKNOWN, // ? EM_SUPPORT_CLOSE_UP_TYPE_TRACK_MODE, // ?????? EM_SUPPORT_CLOSE_UP_TYPE_FIXED_MODE, // ????? EM_SUPPORT_CLOSE_UP_TYPE_DESIGNED_REGION_MODE, // ????????? } EM_SUPPORT_CLOSE_UP_TYPE; ///@brief ????????????? typedef enum tagEM_FEATURE_LIST_TYPE { EM_FEATURE_LIST_UNKNOWN, // ? EM_FEATURE_LIST_HAS_MASK, // ???????? EM_FEATURE_LIST_HAS_CHEF_HAT, // ???????? EM_FEATURE_LIST_HAS_CHEF_CLOTHES,//??????? EM_FEATURE_LIST_CHEF_CLOTHES_COLOR, // ?????????? }EM_FEATURE_LIST_TYPE; ///@brief ???????????????????????(???????????????????) typedef enum tagEM_SUPPORTED_COLOR_LIST_TYPE { EM_SUPPORTED_COLOR_LIST_TYPE_UNKNOWN, // ? EM_SUPPORTED_COLOR_LIST_TYPE_BLACK, // ??? EM_SUPPORTED_COLOR_LIST_TYPE_WHITE, // ??? EM_SUPPORTED_COLOR_LIST_TYPE_RED, // ??? }EM_SUPPORTED_COLOR_LIST_TYPE; ///@brief ????????????? typedef struct tagCFG_LINK_CLASS_TYPE { int nChannel; // ???????????????????? EM_SCENE_TYPE emClassType; // ?????????????? BOOL bSupportAllTimeWork; // ??????????????????? BYTE byReserved[252]; // ?????? } CFG_LINK_CLASS_TYPE; ///@brief ??????????? typedef struct tagCFG_ACTIVITY_ANALYSE_CAPS { BOOL bSupportLocalDataStore; // ????????????? UINT nMaxRules; // ???????????????? BYTE byReserved[256]; // ?????? }CFG_ACTIVITY_ANALYSE_CAPS; ///@brief ???????? typedef enum tagEM_SNAP_POLICY_TYPE { EM_SNAP_POLICY_TYPE_UNKNOWN, // ? EM_SNAP_POLICY_TYPE_REALTIME, // ?? EM_SNAP_POLICY_TYPE_OPTIMAL, // ??? EM_SNAP_POLICY_TYPE_QUALITY, // ???? EM_SNAP_POLICY_TYPE_TRIPLINE, // ???? }EM_SNAP_POLICY_TYPE; ///@brief ????????? typedef struct tagCFG_PORTRAIT_DETECTION_CAPS { int nSnapPolicyNum; // ???????????? EM_SNAP_POLICY_TYPE emSnapPolicyType[8]; // ???????? BOOL bCompliantDetectSupport;// ?????????? BYTE byReserved[256]; // ?????? }CFG_PORTRAIT_DETECTION_CAPS; ///@brief ??????????? typedef struct { DWORD dwSupportedRule; // ???????? int nSupportedObjectTypeNum; // ????????????????? char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ???????????????? int nSupportedActionsNum; // ?????????N?????? char szSupportedActions[MAX_ACTION_LIST_SIZE][MAX_NAME_LEN]; // ?????????N???? 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 int nSupportCloseUp; // ??????????????? 0:?????????????????1?????? int nSupportCloseUpTypeNum; // ???????? EM_SUPPORT_CLOSE_UP_TYPE emSupportCloseUpType[32]; // ????????? EM_FEATURE_LIST_TYPE emFeature[32]; // ????????????? int nDetectFeatureCount; // ????????????? EM_SUPPORTED_COLOR_LIST_TYPE emSupportedColorList[8]; // ??????????????? int nDetectSupportedColorCount; // ????????????????? BOOL bSupportPolygon; // ?????????????????TRUE:?????????????;FALSE:????????????????????????4????????????? CFG_ACTIVITY_ANALYSE_CAPS stuActivityAnalyseCaps; // ??????????? int nLink; // ?????????? CFG_LINK_CLASS_TYPE stuLinkClassType[16]; // ????????????? CFG_PORTRAIT_DETECTION_CAPS stuPortraitDetectionCaps; // ?????? }SCENE_SUPPORT_RULE; ///@brief ????????????? typedef struct tagCFG_CAP_CELIBRATE_AREA { EM_CALIBRATEAREA_TYPE emType; // ?????????? BYTE byMaxHorizontalStaffNum; // ??????????????? BYTE byMinHorizontalStaffNum; // ??????????????? BYTE byMaxVerticalStaffNum; // ??????????????? BYTE byMinVerticalStaffNum; // ??????????????? }CFG_CAP_CELIBRATE_AREA; ///@brief ?????????????? 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; ///@brief ????????????????? typedef enum tagEM_PRIVACY_MASK_TYPE { EM_PRIVACY_MASK_UNKNOWN, // ????? EM_PRIVACY_MASK_HUMAN_FACE, // ??? EM_PRIVACY_MASK_HUMAN, // ???? }EM_PRIVACY_MASK_TYPE; ///@brief ???????????????????? typedef struct tagCROWD_CALIBRATION { UINT nHorizontalLines; // ????????? UINT nVerticalLines; // ?????????? }CROWD_CALIBRATION; ///@brief ???????? typedef enum tagCFG_EM_FACEDETECT_TYPE { CFG_EM_FACEDETECT_TYPE_UNKNOWN = 0, // ? CFG_EM_FACEDETECT_TYPE_VISUAL, // ????? CFG_EM_FACEDETECT_TYPE_THERMAL, // ???? CFG_EM_FACEDETECT_TYPE_SWITCHBYTIME, // ???????? }CFG_EM_FACEDETECT_TYPE; ///@brief ????????????????? typedef struct tagCFG_ANATOMYTEMP_VISUAL_CAPS { BOOL bSupportFaceRight; // ?????????????????? BOOL bSupportFaceUp; // ?????????????????? BOOL bSupportFaceRoll; // ?????????????????????? BYTE byReserved[64]; // ??? }CFG_ANATOMYTEMP_VISUAL_CAPS; ///@brief ??????????????? typedef struct tagCFG_ANATOMYTEMP_DETECT_SCENE_CAPS { CFG_EM_FACEDETECT_TYPE emFaceDetectTypes[32]; // ?????????????????? int nFaceDetectTypesNum; // ?????????????????????? CFG_ANATOMYTEMP_VISUAL_CAPS stuVisual; // ?????????????? BYTE byReserved[1024]; // ??? }CFG_ANATOMYTEMP_DETECT_SCENE_CAPS; ///@brief ?????????????????????? typedef struct tagCFG_STEREO_BEHAVIOR_SCENE_CAPS { int nEventListNum; // ???????????? DWORD dwOnlyFindLastEventList[32]; // ????????????????????????????????????????????-?????????????? BYTE byReserved[892]; // ??? }CFG_STEREO_BEHAVIOR_SCENE_CAPS; ///@brief ?????????????????? typedef struct tagCFG_GENEAL_ATTITUDE_CAPS { int nMaxRules; // ???????????? char szShowType[32]; // ???????????????? char szReserved[988]; // ?????? }CFG_GENEAL_ATTITUDE_CAPS; ///@brief ???????? 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]; // ????????????????? char szClassAlias[16]; // ???????????? CROWD_CALIBRATION stuCalibration; // ???????????????????? CFG_ANATOMYTEMP_DETECT_SCENE_CAPS stuAnatomyTempDetect; // ?????????????? CFG_STEREO_BEHAVIOR_SCENE_CAPS stuStereoBehaviorCaps; // ??????????????????? int nGenealAttitudeCaps; // ?????????????????????? CFG_GENEAL_ATTITUDE_CAPS stuGenealAttitudeCaps[128]; // ?????????????????? BYTE byReserved[1024]; // ??????? }CFG_CAP_SCENE; ///@brief ?????? 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 ///@brief ??????????????? typedef struct tagCFG_CAP_DEVICE_ANALYSE_INFO { int nMaxChannels; // ???????????????????? }CFG_CAP_DEVICE_ANALYSE_INFO; ///@brief ????? 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_IVSS // IVSS } NET_EM_DEVICE_TYPE; ///@brief ???????? typedef struct tagCFG_DEVICE_CLASS_INFO { DWORD dwSize; NET_EM_DEVICE_TYPE emDeviceType; // ????? } CFG_DEVICE_CLASS_INFO; ///@brief ??????????????????? typedef struct { DWORD dwRuleType; // ??????????? int nSupportedObjectTypeNum; // ???????????????????????????? char szObjectTypeName[MAX_OBJECT_LIST_SIZE][MAX_NAME_LEN]; // ??????????????????????????? }RULE_SUPPORTED_OBJECT_TYPE; ///@brief ??????? typedef struct tagCFG_SUPPORTED_COMP { int nSupportedData; // ?????????????????????? char szSupportedData[MAX_SUPPORTED_COMP_DATA][CFG_COMMON_STRING_16]; // ???????????????????? }CFG_SUPPORTED_COMP; ///@brief ????????????????? 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; ///@brief ??????? 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; ///@brief ?????????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; ///@brief ????????????? typedef struct _tagVA_CAPS_INFO { char szSceneName[MAX_SCENE_LIST_SIZE][MAX_NAME_LEN]; // ????????? int nSupportedSceneNum; // ??????????? BYTE byReserved[4]; // ?????? }VA_CAPS_INFO; ///@brief ????????? typedef struct _tagVA_DYNAMIC_CAPS_INFO { EM_SCENE_TYPE emSceneType[32]; // ??????????? int nSceneNum; // ??????????? BYTE byReserved[252]; // ?????? }VA_DYNAMIC_CAPS_INFO; ///@brief ????????????? 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????????????? VA_DYNAMIC_CAPS_INFO stuDynamicCaps; // ??????????????????????????? } CFG_CAP_ANALYSE_INFO; ///@brief ?????????????? typedef enum tagCFG_EM_INSTANCE_SUBCLASS_TYPE { CFG_EM_INSTANCE_SUBCLASS_TYPE_LOCAL = 0, // ??????? CFG_EM_INSTANCE_SUBCLASS_TYPE_REMOTE, // ?????? }CFG_EM_INSTANCE_SUBCLASS_TYPE; ///@brief ???????????????????? typedef struct tagCFG_CAP_ANALYSE_REQ_EXTEND_INFO { DWORD dwSize; // ????? CFG_EM_INSTANCE_SUBCLASS_TYPE emSubClassID; // ?????????????? }CFG_CAP_ANALYSE_REQ_EXTEND_INFO; ///@brief ?????????????????? 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; ///@brief ?????????????????? 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; ///@brief ????????????????? 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; ///@brief ?????????????? 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; ///@brief ??????????? typedef struct { DWORD dwSupportedRule; // ???????? int nSupportedObjectTypeNum; // ????????????????? EM_VIDEO_ANALYSE_OBJECT_TYPE emObjectType[MAX_OBJECT_LIST_SIZE]; // ???????????????? int nSupportedActionsNum; // ?????????N?????? EM_VIDEO_ANALYSE_ACTION_TYPE emSupportedAction[MAX_ACTION_LIST_SIZE]; // ?????????N???? 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; // ??????????? EM_FEATURE_LIST_TYPE emFeature[32]; // ????????????? int nDetectFeatureCount; // ????????????? EM_SUPPORTED_COLOR_LIST_TYPE emSupportedColorList[8]; // ??????????????? int nDetectSupportedColorCount; // ????????????????? int nLink; // ?????????? CFG_LINK_CLASS_TYPE stuLinkClassType[16]; // ????????????? BOOL bSupportPolygon; // ?????????????????TRUE:?????????????;FALSE:????????????????????????4????????????? }SCENE_SUPPORT_RULE_EX; ///@brief ???????? 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 char szClassAlias[16]; // ???????????? CROWD_CALIBRATION stuCalibration; // ???????????????????? CFG_ANATOMYTEMP_DETECT_SCENE_CAPS stuAnatomyTempDetect; // ?????????????? CFG_STEREO_BEHAVIOR_SCENE_CAPS stuStereoBehaviorCaps; // ??????????????????? BYTE byReserved[1024]; // ??????? }CFG_CAP_SCENE_EX; ///@brief ?????? typedef struct tagCFG_VACAP_SUPPORTEDSCENES_EX { int nScenes; // ??????????? CFG_CAP_SCENE_EX stScenes[MAX_SCENE_LIST_SIZE]; // ????????? }CFG_VACAP_SUPPORTEDSCENES_EX; ///@brief ??????????????????????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; // ????????????????? VA_DYNAMIC_CAPS_INFO stuDynamicCaps; // ?????????????????????????????? }CFG_CAP_ANALYSE_INFO_EX; ///@brief ?????? typedef struct tagCFG_CALIBRATEBOX_INFO { CFG_POLYGON stuCenterPoint; // ????????????(?????????????[0,8191]????) float fRatio; // ????????????(????1???????????0.5??????????????) }CFG_CALIBRATEBOX_INFO; ///@brief ????? typedef enum tagEM_METHOD_TYPE { EM_METHOD_UNKNOWN, // ???? EM_METHOD_SCENE, // ????? EM_METHOD_LANE, // ?????? EM_METHOD_PLATE, // ????? EM_METHOD_STEREO, // ???? } EM_METHOD_TYPE; ///@brief ??????,?????????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ????????????????????? typedef struct tagADJUST_LEVEL_SEP { int nType; // 0?????1???????2???? int nTime; // 0?????1??????2????? int nLevel; // ??0~100???????????????? } ADJUST_LEVEL_SEP; ///@brief ?????????????? 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?????????? ///@brief ????????? typedef struct tagCFG_PARKING_SPACE { int nNumber; // ????? CFG_REGION stArea; // ??????? int nShieldAreaNum; // ???????????? CFG_REGION stShieldArea[MAX_SHIELD_AREA_NUM]; // ???????? char szCustomParkNo[CFG_COMMON_STRING_32]; // ????t???? }CFG_PARKING_SPACE; ///@brief ??????? 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; ///@brief ???? 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; ///@brief ????????? typedef struct tagCFG_TRAFFIC_TOUR_SCENE_INFO { int nPlateHintNum; // ?????????????? char szPlateHints[MAX_PLATEHINT_NUM][MAX_NAME_LEN]; // ???????????????????????????????????????????????????????????????????????????????? } CFG_TRAFFIC_TOUR_SCENE_INFO; ///@brief ???????????????? typedef struct tagCFG_CROWD_SCENE_INFO { float fCameraHeight; // ?????????? ?????? } CFG_CROWD_SCENE_INFO; ///@brief ????????? 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; ///@brief ??????????,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; ///@brief ????????? typedef struct tagCFG_FACEDETECT_VISUAL_INFO { UINT nFaceAngleUp; // ??????????????(????)??????,????????????,????,0-90?? UINT nFaceAngleRight; // ??????????????(????)??????,????????????,????,0-90?? UINT nFaceRollRight; // ????????????????????????????,????????????,????,0-90?? BOOL bTempOptimization; // ???????????? BOOL bEyesWidthDetection; // ??????????????????? BYTE byReserved[1016]; // ?????? }CFG_FACEDETECT_VISUAL_INFO; ///@brief ?????????????? typedef struct tagCFG_ANATOMYTEMP_SCENCE_INFO { CFG_EM_FACEDETECT_TYPE emFaceDetectType; // ????????????? CFG_FACEDETECT_VISUAL_INFO stuVisual; // ??????????emFaceDetectType?CFG_EM_FACEDETECT_TYPE_VISUAL??CFG_EM_FACEDETECT_TYPE_TIMESECTION??? CFG_TIME_SECTION stuTimeSection; // ?????????emFaceDetectType?CFG_EM_FACEDETECT_TYPE_TIMESECTION??? BYTE byReserved[1024]; // ?????? }CFG_ANATOMYTEMP_SCENCE_INFO; ///@brief ???????????????? typedef struct tagCFG_DETECT_REGIONS_INFO { BOOL bEnable; // ??????????????????????TRUE int nDetectRegionPoint; // ?????????? CFG_POLYGON stuDetectRegion[20]; // ??????? }CFG_DETECT_REGIONS_INFO; ///@brief ???????????????? 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; // ???????????????? CFG_ANATOMYTEMP_SCENCE_INFO stuAnatomyTempScene; // ?????????? }; 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; // ?????????? BOOL bSceneTypeListEx; // szSceneTypeListEx ??????????TRUE??????szSceneTypeListEx int nSceneListCountEx; // ???????????????szSceneTypeListEx ???????? char szSceneTypeListEx[32][128]; // ???????????szSceneTypeList ???????? CFG_DETECT_REGIONS_INFO *pstuDetectRegionsInfo; // ???????????????? int nMaxDetectRegions; // ??????????????????,??????????? int nDetectRegionsNum; // ???????????????????? } CFG_ANALYSEGLOBAL_SCENE; ///@brief ??? typedef struct tagCFG_TIME { DWORD dwHour; // ? DWORD dwMinute; // ?? DWORD dwSecond; // ?? }CFG_TIME; ///@brief ??? typedef struct tagCFG_TIME_PERIOD { CFG_TIME stuStartTime; CFG_TIME stuEndTime; }CFG_TIME_PERIOD; ///@brief ???????????????????? typedef struct tagCFG_CALIBRATEAREA_SCENE_UNIT { unsigned int nCalibrateAreaNum; // ?????????????? CFG_CALIBRATEAREA_INFO stuCalibrateArea[MAX_CALIBRATEBOX_NUM]; // ??????(???????????????????????????????) } CFG_CALIBRATEAREA_SCENE_UNIT; ///@brief ?????????????? typedef struct tagCFG_CALIBRATEAREA_SCENE_INFO { DWORD dwMaxSceneCalibrateAreaNum; // ????????????????(????????????) DWORD dwRetSceneCalibrateAreaNum; // ??????????????????? CFG_CALIBRATEAREA_SCENE_UNIT *pstuCalibrateArea; // ??????????? } CFG_CALIBRATEAREA_SCENE_INFO; ///@brief ???????????? typedef struct tagCFG_PTZ_SPACE_UNIT { int nPositionX; //?????????????????[0,3600] int nPositionY; //??????????????????[-1800,1800] int nZoom; //?????????????????[0,128] }CFG_PTZ_SPACE_UNIT; ///@brief ?????????? 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; ///@brief ?????????? typedef struct tagCFG_VIDEO_ANALYSE_CALIBRATEAREA { DWORD dwMaxSceneCalibrateNum; // ????????????????(????????????) DWORD dwRetSceneCalibrateNum; // ??????????????????? CFG_VIDEO_ANALYSE_CALIBRATEAREA_UNIT *pstuCalibrateAreaUnit; // ?????? } CFG_VIDEO_ANALYSE_CALIBRATEAREA; ///@brief ????????? 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; ///@brief ??????????????????????? 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; ///@brief ????????????????? 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; ///@brief ??????????????? typedef struct tagCFG_DETAIL_DRIVEASSISTANT_INFO { BOOL bValid; // ????? int nVehicleWidth; // ???? 0-5000mm ??mm int nCamHeight; // ?????? 0-5000mm ??mm int nCamToCarHead; // ????????????? 0-5000mm ??mm CFG_POLYGON stuCenterPoint; // ????????? BYTE byReserved[48]; // ???? }CFG_DETAIL_DRIVEASSISTANT_INFO; ///@brief ??????? typedef struct tagCFG_AREA_MODE_INFO { char szName[32]; // ???????? UINT nCount; // ?????????????? UINT nAreaCount; // ??????????? CFG_POLYGON stuArea[20]; // ???????? int nSpaceType; // ??????: 0:?, 1:????, 2:???, 3:?????, 4:??????, 5:?????, 6:?????? char szReserved[60]; // ??????? }CFG_AREA_MODE_INFO; ///@brief ????? typedef struct tagCFG_SPACE_MODE_INFO { char szParkNo[32]; // ????? CFG_POLYGON stuCoordinate; // ??????????? int nSpaceType; // ??????: 0:?, 1:????, 2:???, 3:?????, 4:??????, 5:?????, 6:?????? char szReserved[60]; // ??????? }CFG_SPACE_MODE_INFO; ///@brief ??????????????? typedef struct tagCFG_PARKING_STATISTICS_INFO { char szStatisticsMode[16]; // ?????: "AreaMode" ??????, "SpaceMode" ???? int nAreaModeCount; // ??????? CFG_AREA_MODE_INFO stuAreaMode[128]; // ???????????, ???????????????; szStatisticsMode?AreaMode??? int nSpaceModeCount; // ?????? CFG_SPACE_MODE_INFO stuSpaceMode[128]; // ?????????, ?????????????; szStatisticsMode?SpaceMode??? UINT nConfidenceFilter; // ????????????, ??[0, 100], ???????????????????? }CFG_PARKING_STATISTICS_INFO; ///@brief ?????????????? 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" ?????????, "ParkingStatistics":????????? 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; // ?? ??????????? BOOL bSceneTypeListEx; // szSceneTypeListEx ??????????TRUE?????? szSceneTypeListEx????????? szSceneTypeList int nSceneCountEx; // ???????????????szSceneTypeListEx ???????? char szSceneTypeListEx[32][128]; // ???????????szSceneTypeList ?????? CFG_ANATOMYTEMP_SCENCE_INFO stuAnatomyTempScene; // ?????????????? CFG_DETECT_REGIONS_INFO *pstuDetectRegionsInfo; // ???????????????? int nMaxDetectRegions; // ??????????????????,??????????? int nDetectRegionsNum; // ???????????????????? CFG_DETAIL_DRIVEASSISTANT_INFO stuDriveAssistant; // ??????????????? BOOL bParkingSpaceChangeEnable; // ???????? FALSE??????? TRUE:??? EM_SCENE_TYPE emSceneType; // szSceneType???????? int nSceneCountEm; // SceneTypeList???? EM_SCENE_TYPE emSceneTypeList[32]; // szSceneTypeList???????? CFG_PARKING_STATISTICS_INFO stuParkingStatistics; // ???????????????, szSubType?ParkingStatistics??? } CFG_ANALYSEGLOBAL_INFO; ///@brief ?????????????? typedef struct tagCFG_ANALYSEGLOBAL_EX_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" ?????????, "ParkingStatistics":????????? 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; // ?? ??????????? BOOL bSceneTypeListEx; // szSceneTypeListEx ??????????TRUE?????? szSceneTypeListEx????????? szSceneTypeList int nSceneCountEx; // ???????????????szSceneTypeListEx ???????? char szSceneTypeListEx[32][128]; // ???????????szSceneTypeList ?????? CFG_ANATOMYTEMP_SCENCE_INFO stuAnatomyTempScene; // ?????????????? CFG_DETECT_REGIONS_INFO *pstuDetectRegionsInfo; // ???????????????? int nMaxDetectRegions; // ??????????????????,??????????? int nDetectRegionsNum; // ???????????????????? CFG_DETAIL_DRIVEASSISTANT_INFO stuDriveAssistant; // ??????????????? BOOL bParkingSpaceChangeEnable; // ???????? FALSE??????? TRUE:??? EM_SCENE_TYPE emSceneType; // szSceneType???????? int nSceneCountEm; // SceneTypeList???? EM_SCENE_TYPE emSceneTypeList[32]; // szSceneTypeList???????? CFG_PARKING_STATISTICS_INFO stuParkingStatistics; // ???????????????, szSubType?ParkingStatistics??? int nParkingSpaceNumEx; // ???????nParkingSpaceNum??????????????????? CFG_PARKING_SPACE stParkingSpacesEx[64]; // ?????????,?????????????????stParkingSpaces??????????????????? int nLightGroupNumEx; // ?????? ?nLightGroupNum??????????????????? CFG_LIGHTGROUPS_V2 stLightGroupsEx[8]; // ???????????, ?stLightGroups??????????????????? CFG_POLYLINE stuPositionMatchLine[20]; // ???????????????? int nPositionMatchLineNum; // ??????????????????? char szResvered[1020]; // ??????? } CFG_ANALYSEGLOBAL_EX_INFO; ///@brief ???????? 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; ///@brief ?????????????????? typedef struct tagCFG_OBJECT_SIZEFILTER_INFO { char szObjectType[MAX_NAME_LEN]; // ???????? CFG_SIZEFILTER_INFO stSizeFilter; // ???????????? }CFG_OBJECT_SIZEFILTER_INFO; ///@brief ??????????????????????????????????????????????? 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; ///@brief ??????????????? 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_WJ, CFG_CATEGORY_PLATE_TYPE_OUTERGUARD, CFG_CATEGORY_PLATE_TYPE_DOUBLEOUTERGUARD, 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, CFG_CATEGORY_PLATE_TYPE_OTHER, // "Other" ???????? CFG_CATEGORY_PLATE_TYPE_CIVILAVIATION, // "Civilaviation" ????? CFG_CATEGORY_PLATE_TYPE_BLACK, // "Black" ???? CFG_CATEGORY_PLATE_TYPE_PURENEWENERGYMICROCAR, // "PureNewEnergyMicroCar" ???T??????? CFG_CATEGORY_PLATE_TYPE_MIXEDNEWENERGYMICROCAR, // "MixedNewEnergyMicroCar" ?????????? CFG_CATEGORY_PLATE_TYPE_PURENEWENERGYLARGECAR, // "PureNewEnergyLargeCar" ???T??????? CFG_CATEGORY_PLATE_TYPE_MIXEDNEWENERGYLARGECAR, // "MixedNewEnergyLargeCar" ?????????? }CFG_CATEGORY_TYPE; ///@brief ??????? 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; ///@brief ???????? typedef enum tagCFG_FILTER_HEIGHT_TYPE { CFG_FILTER_HEIGHT_TYPE_UNKNOW, // ? CFG_FILTER_HEIGHT_TYPE_BYHEIGHT, // ??? }CFG_FILTER_HEIGHT_TYPE; ///@brief ???????????????? 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; ///@brief ???????????????????????????? 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": ????????????????????????????????????????????????????? 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???? BYTE byLowDetectSensitivity; // ??????????????, ??1~100 BYTE byHighDetectSensitivity; // ??????????????, ??1~100 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?? ???N?? BOOL abPlateAnalyseMode; // nPlateAnalyseMode????? int nPlateAnalyseMode; // ???????????0-????????? 1-???????? 2-???????????????????????????????3-????????????????????????????? //szAttributes???????"Category"??? unsigned int nCategoryNum; // ????????????????????? CFG_CATEGORY_TYPE emCategoryType[MAX_CATEGORY_TYPE_NUMBER]; // ????????? char szSceneType[CFG_COMMON_STRING_16]; // ????????????????????? CFG_LENGTH_FILETER_INFO stuLengthFilter; // ???????????????????????????????????? BOOL bSceneTypeEx; // szSceneTypeEx ????? char szSceneTypeEx[128]; // ???????????????????????? } CFG_MODULE_INFO; ///@brief ??????? typedef struct tagCFG_ANALYSEMODULES_INFO { int nMoudlesNum; // ???????? CFG_MODULE_INFO stuModuleInfo[MAX_ANALYSE_MODULE_NUM]; // ??????????????????????????????????????? } CFG_ANALYSEMODULES_INFO; ///@brief ???????????????????????G?? typedef 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 // ?????????? }CFG_EM_DETECTMODE_T; ///@brief ??????? typedef struct tag_VIDEOINANALYSE_GLOBAL_COMM_INFO { EM_SCENE_TYPE emClassType; // ????? int nPtzPresetId; // ???? } VIDEOINANALYSE_GLOBAL_COMM_INFO; ///@brief ???????? 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; ///@brief ??????????????? 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; ///@brief ???????????????????? typedef struct tagCFG_VIDEOINANALYSE_MODULE_INFO { CFG_MODULE_INFO stuModuleInfo; // ??????????????????????????? }CFG_VIDEOINANALYSE_MODULE_INFO; ///@brief ???????? 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; ///@brief ??????????? typedef enum tagEM_CFG_OBJECT_FILTER_TYPE { EM_CFG_OBJECT_FILTER_TYPE_UNKNOWN, // ? EM_CFG_OBJECT_FILTER_TYPE_HUMAN, // ?? EM_CFG_OBJECT_FILTER_TYPE_VEHICLE, // ?? } EM_CFG_OBJECT_FILTER_TYPE; ///@brief ????????? typedef struct tagNET_CFG_OBJECT_FILTER_INFO { UINT nObjectFilterTypeNum; // ?????????????? EM_CFG_OBJECT_FILTER_TYPE emObjectFilterType[16]; // ??????????? BYTE byReserved[1024]; // ??????? }NET_CFG_OBJECT_FILTER_INFO; ///@brief ???????? typedef enum tagEM_CFG_CROSSREGION_ALARMTYPE { EM_CFG_CROSSREGION_ALARMTYPE_UNKNOWN, // ? EM_CFG_CROSSREGION_ALARMTYPE_ALARM, // ???? EM_CFG_CROSSREGION_ALARMTYPE_WARNING, // ??? EM_CFG_CROSSREGION_ALARMTYPE_SHIELD, // ???? }EM_CFG_CROSSREGION_ALARMTYPE; ///@brief ?????????????????? ///@brief ??????? 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_ALARM_MSG_HANDLE stuRemoteEventHandler; // ?????????????? CFG_TIME_SECTION stuRemoteTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ????????????????????? BOOL bDisableRemoteTimeSection; // stuRemoteTimeSection?????????, ???FALSE????????, TRUE??????, ??????? BOOL bObjectFilter; // ??????????????, ??stuObjectFilter ????? NET_CFG_OBJECT_FILTER_INFO stuObjectFilter; // ???????????? } CFG_CROSSLINE_INFO; ///@brief ???????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; ///@brief ???????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_ALARM_MSG_HANDLE stuRemoteEventHandler; // ?????????????? CFG_TIME_SECTION stuRemoteTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ????????????????????? BOOL bDisableRemoteTimeSection; // stuRemoteTimeSection?????????, ???FALSE????????, TRUE??????, ??????? BOOL bObjectFilter; // ??????????????, ??stuObjectFilter ????? NET_CFG_OBJECT_FILTER_INFO stuObjectFilter; // ???????????? UINT nSensitivity; // ?????????????????????1-10 EM_CFG_CROSSREGION_ALARMTYPE emAlarmType; // ???????? } CFG_CROSSREGION_INFO; ///@brief ???????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; ///@brief ???????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??:?????????? UINT nReportInterval; // ????????????????? 0~600;????0????????????, ????30 } CFG_LEFT_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ?????? typedef enum tagEM_ELECTRICBELT_WEAR_TYPE { EM_ELECTRICBELT_WEAR_TYPE_UNKNOWN, // ? EM_ELECTRICBELT_WEAR_TYPE_NORMAL, // ???????? EM_ELECTRICBELT_WEAR_TYPE_MISSMAIN, // ?????????? EM_ELECTRICBELT_WEAR_TYPE_MISSBACKUP, // ??????????? EM_ELECTRICBELT_WEAR_TYPE_LOWHANGING, // ????????? }EM_ELECTRICBELT_WEAR_TYPE; ///@brief ???????????????? typedef struct tagCFG_ELECTRICBELT_DETECTCOND { BOOL bExist; // ???emWearType ????Exist???????????????????? // ???emWearType????????Exist=true?????????Description??????????????????? // ???emWearType????????Exist=false??????????Description??????????????????? EM_ELECTRICBELT_WEAR_TYPE emWearType; // ?????? } CFG_ELECTRICBELT_DETECTCOND; ///@brief ???????EVENT_IVS_ELECTRIC_BELT_DETECT(????????????)???????????? typedef struct tagCFG_ELECTRICBELTDETECTION_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 CFG_ELECTRICBELT_DETECTCOND stDetectCond[32]; // ???????????????? int nDetectCondNum; // ???????????????????? int nDetectRegionPoint; // ?????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? } CFG_ELECTRICBELTDETECTION_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????EVENT_IVS_DENSITYDETECTION(???????????)???????????? typedef struct tagCFG_DENSITYDETECTION_INFO { // ??? char szRuleName[MAX_NAME_LEN]; // ????????,????????????? bool bRuleEnable; // ??????? BYTE byUnit; // ??????????GB30147??? 0 ?????????????????????k??k????????????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; ///@brief ???????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; ///@brief ???????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 UINT nRepeatAlarmTime; // ?????????? ?????? ????0-3600 BOOL bRepeatAlarmEnable; // ?????????? UINT nOverlapThreshold; // ?????????????????0-100??0???????????? } CFG_FIRE_INFO; ///@brief ???????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; ///@brief ??????? 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; ///@brief ???????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; ///@brief ??????????? typedef enum NET_NUMBERSTAT_TYPE { NET_EM_NUMSTAT_TYPE_REGION, // "Region" ???????? NET_EM_NUMSTAT_TYPE_ENTRANCE, // "Entrance" ????????? NET_EM_NUMSTAT_TYPE_OTHER, // other }NET_NUMBERSTAT_TYPE; ///@brief ???????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_ALARM_MSG_HANDLE stuRemoteEventHandler; // ?????????????? CFG_TIME_SECTION stuRemoteTimeSection[WEEK_DAY_NUM][MAX_REC_TSECT_EX]; // ????????????????????? } CFG_NUMBERSTAT_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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-??????, 16-??????? 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; ///@brief ???????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; ///@brief ???????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" ????; "SAR" ???????????; "Trainning" ??????????; "Personal" ???????; "Agri" ????? // "Embassy" ??????; "Moto" ???????; "Tractor" ??????????; "Other" ???????? // "Civilaviation"?????,"Black"????,"PureNewEnergyMicroCar"???T??????? // "MixedNewEnergyMicroCar,"??????????,"PureNewEnergyLargeCar",???T??????? // "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; ///@brief ???????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 int nMinDuration; // ???????????:?? 0~65535 int nLaneNo; // ??????? BOOL bZoomEnable; // ??????????????????????????? // ????????????????? // 1. ?????????????????????? // 2. ?????????????????????????????????????? // ?????????????????????????????????????????????????????????????? int nZoomStayTime; // ??????????:???? bZoomEnable ? TRUE ?????0 ??????????????0 int nVehicleDelayTime; // ??????????????????????????????????????,????????0-3600 int nPersonDelayTime; // ?????????????????????????????????????,????????0-3600 int nMaxDelayTime; // ??????? ???????????????,????????0-3600 int nVehicleNumberThreshold; // ??????????, ??????????????????????????????????????????? } CFG_TRAACCIDENT_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????EVENT_IVS_TRAFFIC_TOLLGATE(???????????????)???????????? typedef struct tagCFG_TRAFFICTOLLGATE_INFO { char szRuleName[MAX_NAME_LEN]; // ????????,????????????? bool bRuleEnable; // ??????? BYTE nDirectionNum; // ?????????????? BYTE nDirection[2]; // ????????????????????????????, 0:?, 1:????, 2:???? 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; ///@brief ???????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; ///@brief ??????????? 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; ///@brief ?????????? 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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????EVENT_IVS_TRAFFIC_NOPASSING(?????-?????????)????????????????? typedef struct tagCFG_NOPASSING_INFO { char szRuleName[MAX_NAME_LEN]; // ????????,????????????? bool bRuleEnable; // ??????? BYTE bReserved[3]; // ??????? }CFG_NOPASSING_INFO; ///@brief ???????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]; // ??????? UINT nDiscontinuousTimeThreshold; // ??????(????????????????????????),?????? ????0~255 }CFG_TRAFFICJAM_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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] int nSensitivity; // ??????,???????????, ?? [1, 10] }CFG_CITY_MOTORPARKING_INFO; ///@brief ???????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] int nSensitivity; // ?????????????????? ??[1, 10] }CFG_CITY_NONMOTORPARKING_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????EVENT_IVS_TRAFFIC_PARKING (???????????) / EVENT_IVS_TRAFFIC_PARKING_B (B???????????) / ///@brief EVENT_IVS_TRAFFIC_PARKING_C (C???????????) / EVENT_IVS_TRAFFIC_PARKING_D (D???????????)/ ///@brief 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]; // ??????? UINT nControlMoreAlerts; // ????????????????????????? 0????? 1?????? UINT nReduceUnderreporting; // ?????id??????????????????? 0????? 1?????? }CFG_TRAFFIC_PARKING_INFO; ///@brief ???????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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? EVENT_IVS_TRAFFIC_WRONGROUTE (??????????????)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_CROSSLANE (???)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_OVERLINE (???????)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_TURNLEFT (??????)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_TURNRIGHT (???)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE (???????????)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_VEHICLEINROUTE (????????)???????????? ///@brief ??????? EVENT_IVS_TRAFFIC_BACKING (???????)???????????? 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]; // ??????????????????????????????????? UINT nDelayTime; // ???????????????? UINT nSnapWhiteSolidLine; // ?????????? 0??????? 1????? UINT nBackCarDisplacement; // ????????TrafficBacking?????????? ??????????1024??????? ????1-1023 ????????? ?????????????????0????????????? }CFG_TRAFFIC_WRONGROUTE_INFO, CFG_TRAFFIC_CROSSLANE_INFO, CFG_TRAFFIC_OVERLINE_INFO, CFG_TRAFFIC_TURNLEFT_INFO, CFG_TRAFFIC_TURNRIGHT_INFO, CFG_TRAFFIC_YELLOWPLATEINLANE_INFO, CFG_TRAFFIC_VEHICLEINROUTE_INFO, CFG_TRAFFIC_BACKING_INFO; ///@brief ??????? 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]; // ??????? UINT nSensitivity; // ?????????????????????1-10 BOOL bOverWhiteLine; // ???????????? UINT nDelayTime; // ??????????????????????????????????????ٳ???????????????0-3600 }CFG_TRAFFIC_OVERYELLOWLINE_INFO; ///@brief ??????? 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; // ????????? ?????? UINT nReverseDisplacement; // ??????????1024??????? ????1-1023 ????????? ?????????????????0????????????? }CFG_TRAFFIC_RETROGRADE_INFO; ///@brief ??????? 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; ///@brief ??????? 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]; // ?????????? bool bSpeedLimitForSize; // ?????????????? BYTE bReserved1[3]; // ??????? int nSmallCarSpeedUpperLimit; // ?????????? int nSmallCarSpeedLowerLimit; // ?????????? int nBigCarUnderSpeedMargin; // ??????????? int nBigCarOverSpeedMargin; // ??????????? int nUnderSpeedMargin; // ??????????? int nOverSpeedMargin; // ??????????? int nBigCarSpeedUpperLimit; // ?????????? int nBigCarSpeedLowerLimit; // ?????????? int nYellowSpeedUpperLimit; // ????????????? int nYellowSpeedLowerLimit; // ????????????? bool bSnapMotorcycle; // ????????? BYTE bSnapNoPlateMotor; // ???????????????,0???????????????,1?????????????,????0 BYTE bReserved2[2]; // ??????? }CFG_TRAFFIC_OVERSPEED_INFO; ///@brief ??????? 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; ///@brief ?????? 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; ///@brief ??????? 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; // ??????????,?????????????????????????,???? int nDelayTime; // ????????????????????,???? EM_CFG_EVENT_ORIGIN emEventOrigin; // ????????? int nJamForbidIntoLineCount; // ?????????????? CFG_POLYLINE stuJamForbidIntoLine[MAX_POLYLINE_NUM]; // ???????????, ??????????[0,8192)???? }CFG_TRAFFIC_JAM_FORBID_INTO_INFO; ///@brief ??????? 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; ///@brief ??????? EVENT_IVS_PSRISEDETECTION (??????????)???????????? typedef struct tagCFG_PSRISEDETECTION_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_PSRISEDETECTION_INFO; // ???????????? #define MAX_AREACONFIG_NUMBER 8 ///@brief ????????????????? typedef enum tagEM_CFG_PEOPLE_DIRECTION { EM_CFG_PEOPLE_DIRECTION_LEFT = 1, // ?? EM_CFG_PEOPLE_DIRECTION_RIGHT = 2, // ?? }EM_CFG_PEOPLE_DIRECTION; ///@brief ??????????? typedef struct tagCFG_AREACONFIG { int nPeopleTargets; // ????????????????? UINT nPeopleDirectionMask; // ?????????????????, EM_CFG_PEOPLE_DIRECTION ?? ?????????nPeopleDirectionMask |= EM_CFG_PEOPLE_DIRECTION_LEFT; BYTE byReserved[1024]; // ??????? }CFG_AREACONFIG; ///@brief ??????? 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:???????????????????? int nMinDuration; // ???????????:?? int nSensitivity; // ??????,???????????, ?? [1, 100] }CFG_TRAFFIC_PEDESTRAINPRIORITY_INFO; ///@brief ??????? 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; // ???????????A??????????? 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; ///@brief ??????? 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; // ???????????????? UINT nMinDuration; // ????????????? }CFG_IVS_CLIMBDETECTION_INFO; ///@brief ??????? EVENT_IVS_LEAVEDETECTION (????????)???????????? typedef 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 }CFG_EM_LEAVEDETECTION_MODE; ///@brief ?????? 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; ///@brief ???????????????? 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; ///@brief ??????? 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; ///@brief ??????? 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]; // ??????? int nPlateSensitivity; // ????????????(???????) int nNoPlateSensitivity; // ????????????????????? int nLightPlateSensitivity; // ??????????????????????? int nLightNoPlateSensitivity; // ??????????????????????? BOOL bForbidParkingEnable; // ????????? TRUE:??? FALSE:??? }CFG_TRAFFIC_PARKINGSPACEPARKING_INFO; ///@brief ??????? 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]; // ??????? int nPlateSensitivity; // ????????????(???????) int nNoPlateSensitivity; // ????????????????????? int nLightPlateSensitivity; // ??????????????????????? int nLightNoPlateSensitivity; // ??????????????????????? }CFG_TRAFFIC_PARKINGSPACENOPARKING_INFO; ///@brief ???????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; ///@brief ??????? 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; // ??????????????? UINT nRepeatAlarmTime; // ?????????? ?????? }CFG_TRAFFIC_PEDESTRAIN_INFO; ///@brief ??????? 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; // ??????????????? UINT nRepeatAlarmTime; // ?????????????????? }CFG_TRAFFIC_THROW_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_VEHICLEINBUSROUTE(????????????)??????????? typedef struct tagCFG_TRAFFIC_VEHICLEINBUSROUTE_INFO { char szRuleName[MAX_NAME_LEN]; // ????????,????????????? bool bRuleEnable; // ??????? BYTE byCarType; // ???????????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; ///@brief ????????????? typedef enum tagCFG_SAFEBELT_SEAT { CSS_UNKNOW , CSS_MAIN_SEAT , //??????? CSS_SLAVE_SEAT , //??????? }CFG_SAFEBELT_SEAT; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ?????? typedef struct tagCFG_REGION_FILTER { CFG_RECT stuMaxRect; // ?????????? CFG_RECT stuMinRect; // ????????? }CFG_REGION_FILTER; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????EVENT_IVS_MAN_STAND_DETECTION(?????????????) ///@brief 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 UINT nMinDuration; // ?????????, ??: ?? UINT nReportInterval; // ??????????????? BYTE bReserved[504]; // ??????? } CFG_STEREO_VISION_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ???????? 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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ??????????? 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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????EVENT_IVS_ELEVATOR_ABNORMAL(?T?????????????)???????????? 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; // ?????????????? int nAbnormalActionNum; // ???????????????? int nAbnormalAction[2]; // ????????????: 0:? 1: ??????? 2: ??????? BYTE bReserved[500]; // ??????? } CFG_ELEVATOR_ABNORMAL_INFO; ///@brief ??????????????? 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 // ????????????????? ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ????? 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; ///@brief ???????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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ??????? 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; // ????????? BOOL bSizeFilterEnable; // ?????????????? CFG_SIZEFILTER_INFO stuSizeFilter; // ?????????????????????????????? BYTE byReserved[3612]; // ??????? } CFG_PHONECALL_DETECT_INFO; ///@brief ??????? 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; ///@brief ??????? 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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ??????? 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; ///@brief ???????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??????????,????1-5 BYTE byReserved[4096]; // ??????? }CFG_INTELLI_SHELF_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ??????????????????? typedef enum tagEM_CFG_DETECTION_SCENE_TYPE { EM_CFG_DETECTION_SCENE_TYPE_UNKNOWN, // ? EM_CFG_DETECTION_SCENE_TYPE_ANIMAL, // ??????????????????? EM_CFG_DETECTION_SCENE_TYPE_BIRD, // ????????????????????? } EM_CFG_DETECTION_SCENE_TYPE; ///@brief ???????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 EM_CFG_DETECTION_SCENE_TYPE emDetectionSceneType; // ???????? BYTE byReserved[1020]; // ??????? }CFG_ANIMAL_DETECTION_INFO; ///@brief ??????????????? typedef struct tagCFG_HUMAN_TEMP_PARAM_INFO { int nTempPickTime; // ?????????,????0~20 BYTE byReserved[252]; // ???? }HUMAN_TEMP_PARAM_INFO; ///@brief ?????????????? typedef struct tagCFG_ANATOMY_TEMP_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]; // ?????????? BYTE bTrackEnable; // ???????????,????????????,???????????? int nDetectRegionPoint; // ????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????????? BOOL bHighEnable; // ?????????????? BOOL bLowEnable; // ?????????????? int fHighThresholdTemp; // ??????????????0.1??????10?? int fLowThresholdTemp; // ??????????????0.1??????10?? BOOL bIsAutoStudy; // ???????? int fHighAutoOffset; // ??????????????????0.1??????10?? int fLowAutoOffset; // ??????????????????0.1??????10?? int nSensitivity; // ?????? ??[1, 10] BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bIsCaptureNormal; // ????????????????? HUMAN_TEMP_PARAM_INFO stuHumanTempParamInfo; // ??????????????? BYTE byReserved[768]; // ??????? }CFG_ANATOMY_TEMP_DETECT_INFO; ///@brief ???????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; ///@brief ???????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; ///@brief ?????????? typedef struct tagNET_DETECT_REGION_INFO { int nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ????? BYTE byReserved[252]; // ??????? } NET_DETECT_REGION_INFO; ///@brief ???????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; ///@brief ?????? 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; ///@brief ??????? typedef struct tagNET_WORK_HELMET { BOOL bEnbale; // ??????? BOOL bWeared; // ???????? BOOL bDetectColor; // ???????????? EM_WORKCLOTHES_COLOR_TYPE emColor; // ?????????DetectColor? TRUE ??? BYTE byReserved[64]; // ??????? }NET_WORK_HELMET; ///@brief ????????? typedef struct tagNET_WORK_CLOTHES { BOOL bEnbale; // ????????? BOOL bWeared; // ?????????? BOOL bDetectColor; // ???????????? EM_WORKCLOTHES_COLOR_TYPE emColor; // ???????????DetectColor? TRUE ??? BYTE byReserved[64]; // ??????? }NET_WORK_CLOTHES; ///@brief ?????? typedef struct tagNET_WORK_VEST { BOOL bEnbale; // ????????? BOOL bWeared; // ????????? BOOL bDetectColor; // ???????????? EM_WORKCLOTHES_COLOR_TYPE emColor; // ?????????DetectColor? TRUE ??? BYTE byReserved[64]; // ??????? }NET_WORK_VEST; ///@brief ???????? typedef struct tagNET_WORK_PANTS { BOOL bEnbale; // ????????? BOOL bWeared; // ?????????? BOOL bDetectColor; // ???????????? EM_WORKCLOTHES_COLOR_TYPE emColor; // ???????????bDetectColor ? TRUE ??? BYTE byReserved[64]; // ??????? }NET_WORK_PANTS; ///@brief ??????????? typedef struct tagNET_WORK_CLOTHES_DESCRIPTION { NET_WORK_HELMET stuWorkHelmet; // ??????? NET_WORK_CLOTHES stuWorkClothes; // ????????? NET_WORK_VEST stuWorkVest; // ?????? NET_WORK_PANTS stuWorkPants; // ??????? int nAlarmTime; // ???????????????????? int nAlarmRepeatTime; // ?????????????????? UINT nSensitivity; // ?????????1-10???????????????????? BYTE bReserved[420]; // ??????? }NET_WORK_CLOTHES_DESCRIPTION; ///@brief ???????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; ///@brief ???????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; ///@brief ???????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; ///@brief ???R?????? typedef enum tagEM_PARKING_DIRECTION { EM_PARKING_DIRECTION_UNKNOWN, // ? EM_PARKING_DIRECTION_HORIZONTAL, // ???? EM_PARKING_DIRECTION_VERTICAL, // ???? } EM_PARKING_DIRECTION; ///@brief ???????? 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; ///@brief ???????????? typedef struct tagCFG_PARKING_GROUP { EM_PARKING_DIRECTION emDirection; // ???R?????? int nParkingNum; // ????????? CFG_PARKING_INFO stuParkingInfo[100]; // ???????? BYTE byReserved[512]; // ??????? } CFG_PARKING_GROUP; ///@brief ??????? 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; ///@brief ??????? EVENT_IVS_DREGS_UNCOVERED (??????????????????)???????????? typedef struct tagCFG_DREGS_UNCOVERED_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 nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? BYTE byReserved[1020]; // ??????? } CFG_DREGS_UNCOVERED_DETECTION; ///@brief ??????? 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; ///@brief ??????????? typedef enum tagEM_LINE_COLOR_TYPE { EM_LINE_COLOR_TYPE_UNKNOWN, // ? EM_LINE_COLOR_TYPE_RED, // ??? EM_LINE_COLOR_TYPE_YELLOW, // ??? EM_LINE_COLOR_TYPE_BLUE, // ??? EM_LINE_COLOR_TYPE_GREEN, // ??? EM_LINE_COLOR_TYPE_BLACK, // ??? EM_LINE_COLOR_TYPE_WHITE, // ??? }EM_LINE_COLOR_TYPE; ///@brief ???????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]; // ????? CFG_SIZEFILTER_INFO stuSizeFilter; // ?????????????????????????????? BOOL bSizeFilterEnable; // ??????????? UINT nSensitivity; // ??????,??????????, ??1-10??????5 BOOL bTrackEnable; // ??????? UINT nTrackPointNum; // ??????????TrackEnable?true?????2~10?? UINT nTrackLineLevel; // ???????????TrackEnable?true?????1~10?? EM_LINE_COLOR_TYPE emColor; // ??????? BYTE byReserved[3592]; // ??????? } CFG_HIGH_TOSS_DETECT_INFO; ///@brief ????????????? 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; ///@brief ?????????????? 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; ///@brief ??????????? 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; ///@brief ???????????? typedef struct CFG_MOVESPEED_FILTER { BOOL bEnable; // ?????????? CFG_EM_SPEED_LIMIT_TYPE emSpeedLimitType; // ??????????? int nSpeedValue; // ??????????0.01km/h BYTE byReserved[500]; // ?????? }CFG_MOVESPEED_FILTER; ///@brief ????????? 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; ///@brief ???????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; ///@brief ????????? 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; ///@brief ???????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]; // ?????????N???? int nActionNum; // ????????????? BOOL bSizeFilterEnable; // ??????????? CFG_SIZEFILTER_INFO stuSizeFilter; // ?????????????????????????????? BYTE byReserved[4096]; // ??????? } CFG_RADAR_REGION_DETECTION_INFO; ///@brief ???????EVENT_IVS_SLEEP_DETECT(?????????)???????????? typedef struct tagCFG_SLEEP_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 nMinDuration; // ???????????????, ??(30S??300S) UINT nReportInterval; // ??????????????????, ??(0S??300S) UINT nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ?????,[0,8192) BYTE byReserved[4092]; // ??????? }CFG_SLEEP_DETECT_INFO; ///@brief ???????EVENT_IVS_WALK_AROUND_DETECT(?????????????)???????????? typedef struct tagDEV_CFG_WALK_AROUND_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 nMinDuration; // ???????????????, ??(10S??60S) UINT nReportInterval; // ??????????????????, ??(0S??300S) UINT nSensitivity; // ?????????????????????1-10 UINT nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ?????,[0,8192) BYTE byReserved[4096]; // ??????? }CFG_WALK_AROUND_DETECT_INFO; ///@brief ???????EVENT_IVS_PLAY_MOBILEPHONE(????????)???????????? typedef struct tagCFG_PLAY_MOBILEPHONE_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 nMinDuration; // ???????????????, ??(10S??3600S) UINT nReportInterval; // ??????????????????, ??(0S??300S) UINT nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ?????,[0,8192) UINT nSensitivity; // ?????????????????????1-10 BOOL bSizeFilterEnable; // ????????????? CFG_SIZEFILTER_INFO stuSizeFilter; // ?????????????????????????????? BYTE byReserved[3604]; // ??????? }CFG_PLAY_MOBILEPHONE_INFO; ///@brief ???????EVENT_IVS_FINANCE_CONTRABAND_DETECT(?????????????????)???????????? typedef struct tagCFG_FINANCE_CONTRABAND_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 nMinDuration; // ???????????????, ??(5S??60S) UINT nReportInterval; // ??????????????????, ??(0S??300S) UINT nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ?????,[0,8192) UINT nHumanDetectRegionNum; // ?????????????? CFG_POLYGON stuHumanDetectRegion[MAX_POLYGON_NUM]; // ????????????,[0,8192) BYTE byReserved[4096]; // ??????? }CFG_FINANCE_CONTRABAND_DETECT_INFO; ///@brief ???????EVENT_IVS_FINANCE_CASH_TRANSACTION(????????????????)???????????? typedef struct tagCFG_FINANCE_CASH_TRANSACTION_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 nMinDuration; // ???????????????, ??(5S??60S) UINT nReportInterval; // ??????????????????, ??(0S??300S) UINT nDetectRegionPoint; // ??????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ????? UINT nHumanDetectRegionNum; // ?????????????? CFG_POLYGON stuHumanDetectRegion[MAX_POLYGON_NUM]; // ???????????? BYTE byReserved[4096]; // ??????? }CFG_FINANCE_CASH_TRANSACTION_INFO; ///@brief ???????EVENT_IVS_WALK_DETECTION(?????????)???????????? typedef struct tagCFG_WALK_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)???? UINT nMinDuration; // ?????????, ?? s, ???2????[1,3600] UINT nSensitivity; // ????????????,[1, 10], ????5 int nMaxHeight; // ???????,??cm int nMinHeight; // ???????,??cm UINT nReportInterval; // ??????????,?0?????????, ?????????0????[0,300] BYTE byReserved[4096]; // ??????? } CFG_WALK_DETECTION_INFO; ///@brief ??????? EVENT_IVS_SMART_KITCHEN_CLOTHES_DETECTION (????????????)???????????? typedef struct tagCFG_SMART_KITCHEN_CLOTHES_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 BOOL bMaskEnable; // ??????????? ??TRUE:???? FALSE:???? BOOL bChefHatEnable; // ????????????TRUE:???? FALSE:???? BOOL bChefClothesEnable; // ?????????????TRUE:???? FALSE:???? EM_SUPPORTED_COLOR_LIST_TYPE emChefClothesColors[8]; // ??????????????????????? int nChefClothesColorsNum; // ?????????????????????????? UINT nReportInterval; // ?????????,???? [0,600] ???30,0???????????? int nDetectRegionNum; // ???????????? CFG_POLYLINE stuDetectRegion[MAX_POLYGON_NUM]; // ???????? ??????????????????????????????????[0,8192)???? BOOL bSizeFilterEnable; // ????????????? CFG_SIZEFILTER_INFO stuSizeFilter; // ?????????????????????????????? UINT nSensitivity; // ?????? UINT nMinDuration; // ???????????????0~3600????0,??????????? BYTE byReserved[3444]; // ??????? } CFG_SMART_KITCHEN_CLOTHES_DETECTION; ///@brief ???????EVENT_IVS_BACK_TO_DETECTION(?????????)???????????? typedef struct tagCFG_BACK_TO_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)???? UINT nMinDuration; // ?????????, ?? s, ???2????[1,3600] UINT nSensitivity; // ????????????,[1, 10], ????5 int nMaxHeight; // ???????,??cm int nMinHeight; // ???????,??cm UINT nReportInterval; // ??????????,?0?????????, ?????????0????[0,300] BYTE byReserved[4096]; // ??????? } CFG_BACK_TO_DETECTION_INFO; ///@brief ?????????? typedef enum tagEM_CLOSE_UP_MODE { EM_CLOSE_UP_MODE_UNKNOWN, // ? EM_CLOSE_UP_MODE_NO_LINKAGE, // ?????? EM_CLOSE_UP_MODE_TRACK_MODE, // ?????? EM_CLOSE_UP_MODE_FIXED_MODE, // ????? EM_CLOSE_UP_MODE_DESIGNED_REGION_MODE, // ????????? } EM_CLOSE_UP_MODE; ///@brief ???????????? typedef enum tagEM_LINKAGE_STREAM_TYPE { EM_LINKAGE_STREAM_TYPE_UNKNOWN, // ? EM_LINKAGE_STREAM_TYPE_MAIN, // ?????? EM_LINKAGE_STREAM_TYPE_EXTRA_1, // ??????1 EM_LINKAGE_STREAM_TYPE_EXTRA_2, // ??????2 EM_LINKAGE_STREAM_TYPE_EXTRA_3, // ??????3 } EM_LINKAGE_STREAM_TYPE; ///@brief ???????EVENT_IVS_WRITE_ON_THE_BOARD_DETECTION(?????????)???????????? typedef struct tagCFG_WRITE_ON_THE_BOARD_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)???? UINT nMinDuration; // ?????????, ?? s, ???2????[1,3600] UINT nSensitivity; // ????????????,[1, 10], ????5 int nMaxHeight; // ???????,??cm int nMinHeight; // ???????,??cm EM_CLOSE_UP_MODE emCloseUpMode; // ??????????, ?UNKNOWN????? int nChannelID; // ??????????? EM_LINKAGE_STREAM_TYPE emStreamType; // ???????????? UINT nDesignedRegionPoint; // ??????????? CFG_POLYGON stuDesignedRegion[2]; // ????? BYTE byReserved[4096]; // ??????? } CFG_WRITE_ON_THE_BOARD_DETECTION_INFO; ///@brief ???????EVENT_IVS_ACTIVITY_ANALYSE(????????)???????????? typedef struct tagCFG_ACTIVITY_ANALYSE_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)???? BYTE byReserved[4096]; // ??????? } CFG_ACTIVITY_ANALYSE_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_MOTOR_OVERLOAD (??????????)???????????? typedef struct tagCFG_TRAFFIC_MOTOR_OVERLOAD_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 nLaneNumber; // ?????? int nSnapTruckByPlateColor; // ??????????????? // 0-?????????????; 1-????????????????????? int nSnapNoPlateMotor; // ????????????????? // 0-?????????????; 1-?????????????? int nTruckNum; // ????????????????????????????????????0 EM_CFG_CATEGORY_TYPE emTruckTypes[32]; // ????????????????????????? BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_MOTOR_OVERLOAD_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_PLATE_OCCLUSION (????????)???????????? typedef struct tagCFG_TRAFFIC_PLATE_OCCLUSION_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 nLaneNumber; // ?????? BOOL bSnapMotorcycle; // ???????? BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_PLATE_OCCLUSION_INFO; ///@brief ??????? EVENT_IVS_STEREO_PRAM_DETECTION (????????)???????????? typedef struct tagCFG_STEREO_PRAM_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 nMaxHeight; // ???????,????cm int nMinHeight; // ???????,????cm UINT nMinDuration; // ?????????,??????,????1-60 UINT nReportInterval; // ??????????,??????,?0?????????,????0-300 UINT nSensitivity; // ??????,????1-10 BYTE byReserved[4092]; // ??????? } CFG_STEREO_PRAM_DETECTION_INFO; ///@brief ??????? EVENT_IVS_STEREO_BIG_BAGGAGE_DETECTION (???????????)???????????? typedef struct tagCFG_STEREO_BIG_BAGGAGE_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 nMaxHeight; // ???????,????cm int nMinHeight; // ???????,????cm UINT nMinDuration; // ?????????,??????,????1-60 UINT nReportInterval; // ??????????,??????,?0?????????,????0-300 UINT nSensitivity; // ??????,????1-10 BYTE byReserved[4092]; // ??????? } CFG_STEREO_BIG_BAGGAGE_DETECTION_INFO; ///@brief ???????????? typedef enum tagEM_CFG_STEREO_TICKET_ACTION_TYPE { EM_CFG_STEREO_TICKET_ACTION_TYPE_UNKNOWN, // ? EM_CFG_STEREO_TICKET_ACTION_TYPE_FOLLOW, // ?? EM_CFG_STEREO_TICKET_ACTION_TYPE_SQUAT, // ??? EM_CFG_STEREO_TICKET_ACTION_TYPE_CLIMB, // ??? } EM_CFG_STEREO_TICKET_ACTION_TYPE; ///@brief ??????? EVENT_IVS_STEREO_TICKET_EVADE_DETECTION (??????)???????????? typedef struct tagCFG_STEREO_TICKET_EVADE_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 nMaxHeight; // ???????,????cm int nMinHeight; // ???????,????cm UINT nMinDuration; // ?????????,??????,????1-60 UINT nReportInterval; // ??????????,??????,?0?????????,????0-300 UINT nSensitivity; // ??????,????1-10 int nActionNum; // ??????????? EM_CFG_STEREO_TICKET_ACTION_TYPE emActionType[8]; // ???????????, ???????????? BYTE byReserved[4096]; // ??????? } CFG_STEREO_TICKET_EVADE_DETECTION_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_ROAD_CONSTRUCTION (??????????????) ???????????? typedef struct tagCFG_TRAFFIC_ROAD_CONSTRUCTION_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; // ??????????, stuDetectRegion ???? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? int nMinDuration; // ???????????:????0~65535 int nSensitivity; // ?????????1-10 UINT nLaneNo; // ??????? BOOL bZoomEnable; // ????????????????????????? // ????????????????? // 1. ?????????????????????? // 2. ?????????????????????????????????????? // ?????????????????????????????????????????????????????????????? UINT nRepeatAlarmTime; // ??????????????????0-3600 BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_ROAD_CONSTRUCTION_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_ROAD_BLOCK (??????????) ???????????? typedef struct tagCFG_TRAFFIC_ROAD_BLOCK_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; // ??????????, stuDetectRegion ???? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? int nMinDuration; // ???????????:????0~65535 int nSensitivity; // ?????????1-10 UINT nLaneNo; // ??????? BOOL bZoomEnable; // ????????????????????????? // ????????????????? // 1. ?????????????????????? // 2. ?????????????????????????????????????? // ?????????????????????????????????????????????????????????????? UINT nRepeatAlarmTime; // ??????????????????0-3600 BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_ROAD_BLOCK_INFO; ///@brief ??????? typedef struct tagCFG_VIOLENT_THROW_REGION { char szRegionName[64]; // ?????????????????? CFG_POLYGON stuDetectRegion[4]; // ?????????????? int nDetectRegionNum; // ????????????????? BYTE byReserved[252]; // ?????? } CFG_VIOLENT_THROW_REGION; ///@brief ??????? EVENT_IVS_VIOLENT_THROW_DETECTION (??????????) ???????????? typedef struct tagCFG_VIOLENT_THROW_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 nRegionNum; // ?????????? CFG_VIOLENT_THROW_REGION stuRegion[4]; // ??????? int nSensitivity; // ?????????1-10 BYTE byReserved[2044]; // ??????? } CFG_VIOLENT_THROW_DETECTION_INFO; ///@brief ?????? typedef struct tagCFG_PORTRAIT_FACE_INFO { BOOL bSnapEnable; // ??????? UINT nSensitivity; // ????????????, ????????????, ??[0,100] UINT nMinQuality; // ??????????, ??[1,100] BOOL bFeatureEnable; // ??????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bSizeFileter; // ????????????????????? int nFeatureListNum; // ?????????? EM_FACEFEATURE_TYPE emFeatureList[32]; // ?????????, bFeatureEnable?true?? BOOL bFeatureFilter; // ???????????????????????????????????????????? BOOL bFaceEnable; // ?????????? BYTE byReserved[256]; // ?????? } CFG_PORTRAIT_FACE_INFO; ///@brief ??????? typedef struct tagCFG_PORTRAIT_BODY_INFO { BOOL bSnapEnable; // ??????? UINT nSensitivity; // ?????????????, ????????????, ??[0,100] UINT nMinQuality; // ???????????, ??[1,100] BOOL bFeatureEnable; // ???????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bSizeFileter; // ????????????????????? int nFeatureListNum; // ??????????? EM_FACEFEATURE_TYPE emFeatureList[32]; // ??????????, bFeatureEnable?true?? BOOL bFeatureFilter; // ?????????????????????????????????????????????? BOOL bBodyEnable; // ??????????? BYTE byReserved[256]; // ?????? } CFG_PORTRAIT_BODY_INFO; ///@brief ??????? EVENT_IVS_PORTRAIT_DETECTION (??????) ???????????? typedef struct tagCFG_PORTRAIT_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 CFG_PORTRAIT_FACE_INFO stuFaceInfo; // ?????? CFG_PORTRAIT_BODY_INFO stuBodyInfo; // ??????? int nMinDuration; // ??????????????? int nTriggerTargets; // ???????????????? UINT nReportInterval; // ??????????????????, ??0~600;????0???????????? BOOL bFilterUnAliveEnable; // ????????????? UINT nSnapThreshold; // ?????????????????????????????, ??[1,100] UINT nLiveSensitivity; // ??????????????????????????????????[1,100] BYTE byReserved[4096]; // ??????? } CFG_PORTRAIT_DETECTION_INFO; ///@brief ????? typedef enum tagCFG_DIRECTION_TYPE { CFG_DIRECTION_TYPE_UNKNOWN, // ? CFG_DIRECTION_TYPE_LEFT_TO_RIGHT, // ???? CFG_DIRECTION_TYPE_RIGHT_TO_LEFT, // ????? }CFG_DIRECTION_TYPE; ///@brief ??????? EVENT_IVS_TRAFFICFLOW_FOR_PRMA ?????????? ???????????? typedef struct tagCFG_TRAFFICFLOW_FOR_PRMA_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 CFG_POLYGON stuDetectLine[2]; // ????? int nLane; // ?????? int nPeriod; // ??????????min CFG_DIRECTION_TYPE emDirection; // ????? int nMaxVehicleNums; // ??????????????????????????????????????????? BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BYTE byReserved[4096]; // ??????? }CFG_TRAFFICFLOW_FOR_PRMA_INFO; ///@brief ??????? EVENT_IVS_TRUCKNOTCLEAN_FOR_PRMA ???????? ???????????? typedef struct tagCFG_TRUCKNOTCLEAN_FOR_PRMA_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 CFG_POLYGON stuDetectRegion[20]; // ??????? int nDetectRegionNum; // ?????????? int nCleanTime; // ????????min BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BYTE byReserved[4096]; // ??????? }CFG_TRUCKNOTCLEAN_FOR_PRMA_INFO; ///@brief ??????? EVENT_IVS_ROADOCCUPATION_BY_FOREIGNOBJECT ?????????? typedef struct tagCFG_ROADOCCUPATION_BY_FOREIGNOBJECT { 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 CFG_POLYGON stuDetectRegion[20]; // ??????? int nDetectRegionNum; // ?????????? int nAlarmInterval; // ????????????min BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BYTE byReserved[4096]; // ??????? }CFG_ROADOCCUPATION_BY_FOREIGNOBJECT_INFO; ///@brief ?????????????? typedef enum tagEM_WORK_RULE_TYPE { EM_WORK_RULE_TYPE_UNKNOWN, // ? EM_WORK_RULE_TYPE_NOWORKER, // ????? EM_WORK_RULE_TYPE_SINGLEWORKER, // ??????? EM_WORK_RULE_TYPE_NOWORKLEADER, // ??????????????? } EM_WORK_RULE_TYPE; ///@brief ????????? typedef enum tagEM_CONDITIONEXPR { EM_CONDITIONEXPR_UNKNWON, // ? EM_CONDITIONEXPR_GREATER, // ???? EM_CONDITIONEXPR_LESS, // ?? EM_CONDITIONEXPR_EQUAL, // ???? } EM_CONDITIONEXPR; ///@brief ????????????? typedef struct tagCFG_WORKSTATDESCRIPTION_INFO { NET_WORK_CLOTHES_DESCRIPTION stuWorkClothesDescription; // ??????? UINT nTriggerNum; // ????????????????? EM_CONDITIONEXPR emConditionExpr; // ?????????, ?? nTriggerNum ????? UINT nStatInterval; // ??????????????: [1-86400] UINT nAlarmTime; // ??????????????????:??, ????600????????10???????????????????? UINT nAlarmRepeatTime; // ????????????????:?? UINT nSensitivity; // ?????????????????????1-10 } CFG_WORKSTATDESCRIPTION_INFO; ///@brief ??????? EVENT_IVS_WORKSTATDETECTION (?????????)???????????? typedef struct tagCFG_WORKSTATDETECTION_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 nDectRegionNumber; // ???????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? int nDetectRegionPoint; // ?????????? int nRuleNum; // ????????????? EM_WORK_RULE_TYPE emWorkRuleType[32]; // ?????????????? CFG_WORKSTATDESCRIPTION_INFO stuWorkStatDescription[64]; // ????????????? int nWorkStatDescriptionNum; // ????????????????? BYTE byReserved[4092]; // ??????? } CFG_WORKSTATDETECTION_INFO; ///@brief ????????????? typedef enum EM_DRIVEASSISTANT_WORKMODE { EM_DRIVEASSISTANT_WORKMODE_UNKNOWN, // ? EM_DRIVEASSISTANT_WORKMODE_DAY, // ?????? EM_DRIVEASSISTANT_WORKMODE_NIGHT, // ????? }EM_DRIVEASSISTANT_WORKMODE; ///@brief ??????? EVENT_IVS_PARKING_DETECTION_FOR_PRMA (???????????)???????????? typedef struct tagCFG_PARKING_DETECTION_FOR_PRMA_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]; // ??????? bool abMinDuration; // nMinDuration????? bool abMaxVehicleNums; // nMaxVehicleNums????? bool abAlarmInterval; // nAlarmInterval????? BYTE byReserved1[1]; // ???? UINT nMinDuration; // ?????????,??????, ????0~65535 UINT nMaxVehicleNums; // ???????????? BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? UINT nAlarmInterval; // ???????????????? BYTE byReserved[4092]; // ??????? } CFG_PARKING_DETECTION_FOR_PRMA_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_JAM_FOR_PRMA (????????????)???????????? typedef struct tagCFG_TRAFFIC_JAM_FOR_PRMA_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]; // ??????? CFG_POLYLINE stuDetectLine[MAX_POLYLINE_NUM]; // ????? int nDetectLinePoint; // ?????????? bool abMinVehicleNums; // nMinVehicleNums????? bool abBySpeed; // nSpeed????? bool abByTimeAndNums; // nNums??nTime????? bool abAlarmInterval; // nAlarmInterval????? UINT nMinVehicleNums; // ??????????????????????,??????, ????0~65535 UINT nSpeed; // ????????????: ??/????? UINT nNums; // ??????????????: ?? UINT nTime; // ??????????????: ???? UINT nAlarmInterval; // ???????????????? BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_JAM_FOR_PRMA_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_ACCIDENT_FOR_PRMA (????????????)???????????? typedef struct tagCFG_TRAFFIC_ACCIDENT_FOR_PRMA_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]; // ??????? bool abMinDuration; // nMinDuration????? bool abAlarmInterval; // nAlarmInterval????? BYTE byReserved1[2]; // ???? UINT nMinDuration; // ?????????,??????, ????0~65535 CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bSizeFileter; // ????????????????????? UINT nAlarmInterval; // ???????????????? BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_ACCIDENT_FOR_PRMA_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_SPECIAL_VEHICLE_DETECT (?????????)???????????? typedef struct tagCFG_TRAFFIC_SPECIAL_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 int nDetectRegionNum; // ?????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? UINT nMinDuration; // ?????????, ????0-3600s, ?????? UINT nSensitivity; // ??????, ????0???????????????????????????, ??1-10 EM_CFG_CATEGORY_TYPE emVehicleType[64]; // ???????????? int nVehicleTypeNum; // ?????????? BYTE byReserved[4092]; // ??????? } CFG_TRAFFIC_SPECIAL_VEHICLE_DETECT_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_NONMOTOR (????????????????)???????????? typedef struct tagCFG_TRAFFIC_NONMOTOR_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]; // ??????? UINT nMinDuration; // ?????????,??????, ????0-3600s int nSensitivity; // ?????????1-10 BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_NONMOTOR_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_BOARD (????????????????)???????????? typedef struct tagCFG_TRAFFIC_BOARD_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]; // ??????? UINT nMinDuration; // ?????????,??????, ????0-3600s int nSensitivity; // ?????????1-10 BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_BOARD_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_VISIBILITY (??????????????)???????????? typedef struct tagCFG_TRAFFIC_VISIBILITY_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]; // ??????? UINT nMinDuration; // ?????????,??????, ????0-3600s int nSensitivity; // ?????????1-10 BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_VISIBILITY_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_VEHICLE_CLEANLINESS (???????????????????)???????????? typedef struct tagCFG_TRAFFIC_VEHICLE_CLEANLINESS_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]; // ??????? UINT nMinDuration; // ?????????,??????, ????0-3600s int nSensitivity; // ?????????1-10 BYTE byReserved[4096]; // ??????? } CFG_TRAFFIC_VEHICLE_CLEANLINESS_INFO; ///@brief ??????? EVENT_IVS_ANYTHING_DETECT ?????????????????????????? typedef struct tagCFG_ANYTHING_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 CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bSizeFileter; // ????????????????????? int nSensitivity; // ?????????1-10 BOOL bSnapObjRectEnable; // ????????????????? BYTE byReserved[4096]; // ??????? }CFG_ANYTHING_DETECT_INFO; ///@brief ????????????? typedef struct tagCFG_PRESSLINE_INFO { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nSensitivity; // ?????? ????: -30~30, ?????0 int nAlarmInterval; // ????? ??????0-65536???????60 int nAlarmSpeed; // ??????????? ??????0-200???????30 KM/s int nAlarmReportSpeed; // ?????????? ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_PRESSLINE_INFO; ///@brief ???????????????? typedef struct tagCFG_FORWARDCOLLIDE_INFO { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? float fSensitivity; // ?????? ????: -30~30, ?????2.7 int nAlarmInterval; // ????? ??????0-65536???????60 int nAlarmSpeed; // ??????????? ??????0-200???????30 KM/s int nAlarmReportSpeed; // ?????????? ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_FORWARDCOLLIDE_INFO; ///@brief ????????????????? typedef struct tagCFG_DISTANCE_CLOSE_INFO { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? float fSensitivity; // ?????? ????: -30~30, ????? 1.5 int nAlarmInterval; // ????? ??????0-65536???????60 int nAlarmSpeed; // ??????????? ??????0-200???????30 KM/s int nAlarmReportSpeed; // ?????????? ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_DISTANCE_CLOSE_INFO; ///@brief ?????????????? typedef struct tagCFG_PEDESTRIAN_ON_ZEBRA_INFO { BOOL bEnable; // ??? float fSensitivity; // ?????? ????: 0.0-10.0, ????? 1.5 UINT nAlarmInterval; // ????? ??????0-65536???????60 BYTE byReserved[1024]; // ???? }CFG_PEDESTRIAN_ON_ZEBRA_INFO; ///@brief ????? typedef struct tagCFG_TRAFFIC_LIGHT_STATE_INFO { BOOL bEnable; // ??? float fSensitivity; // ?????? ????: 0.0-10.0, ????? 1.5 UINT nAlarmInterval; // ????? ??????0-65536???????60 BYTE byReserved[1024]; // ???? }CFG_TRAFFIC_LIGHT_STATE_INFO; ///@brief ????? typedef struct tagCFG_FRONT_CAR_GO_INFO { BOOL bEnable; // ??? float fSensitivity; // ?????? ????: 0.0-10.0, ????? 1.5 UINT nAlarmInterval; // ????? ??????0-65536???????60 BYTE byReserved[1024]; // ???? }CFG_FRONT_CAR_GO_INFO; ///@brief ????????????? typedef struct tagCFG_PEDESTRIAN_ON_ZEBRA_DISCOURTESY_INFO { BOOL bEnable; // ??? float fSensitivity; // ?????? ????: 0.0-10.0, ????? 1.5 UINT nAlarmInterval; // ????? ??????0-65536???????60 BYTE byReserved[1024]; // ???? }CFG_PEDESTRIAN_ON_ZEBRA_DISCOURTESY_INFO; ///@brief ????????????? typedef struct tagCFG_SPEED_LIMIT_PLATE_INFO { BOOL bEnable; // ??? float fSensitivity; // ?????? ????: 0.0-10.0, ????? 1.5 UINT nAlarmInterval; // ????? ??????0-65536???????60 BYTE byReserved[1024]; // ???? }CFG_SPEED_LIMIT_PLATE_INFO; ///@brief ??????? EVENT_IVS_DRIVE_ASSISTANT ??????? ???????????? typedef struct tagCFG_DRIVE_ASSISTANT_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 nWorkMode; // ?????? 0????????1????? CFG_PRESSLINE_INFO stuPressLine; // ?????? CFG_FORWARDCOLLIDE_INFO stuForwardCollide; // ????????? CFG_DISTANCE_CLOSE_INFO stuTooClose; // ?????????? int nPicNums; // ??????????? ????[0,10], ???3 int nPicInterval; // ???????????? ????[100, 10000]??????3000 CFG_PEDESTRIAN_ON_ZEBRA_INFO stuPedestrianOnZebraCfg; // ?????????????? CFG_TRAFFIC_LIGHT_STATE_INFO stuTrafficLightStateCfg; // ????? CFG_FRONT_CAR_GO_INFO stuFrontCarGoCfg; // ????? CFG_PEDESTRIAN_ON_ZEBRA_DISCOURTESY_INFO stuPedestrianOnZebraDiscourtesyCfg; // ????????????? CFG_SPEED_LIMIT_PLATE_INFO stuSpeedLimitPlateCfg; // ????????????? BYTE byReserved[4092]; }CFG_DRIVE_ASSISTANT_INFO; ///@brief ????????????? typedef struct tagCFG_FATIGUE_DRIVING { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nEyesClosedTime; // ?????????? ??????0-10???????2 int nYawningTime; // ?????????? ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_FATIGUE_DRIVING; ///@brief ?????????????? DistractCfg typedef struct tagCFG_DISTRACT_DRIVING { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nBowDownTime; // ?????????? ??????0-10???????2 int nGlanceRightAndLeftTime;// ???????????? ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_DISTRACT_DRIVING; ///@brief ?????????? typedef struct tagCFG_DRIVEING_CALLING { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nBowDownTime; // ?????????? ??????0-10???????2 int nCallingTime; // ?????????, ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_DRIVEING_CALLING; ///@brief ?????????? typedef struct tagCFG_DRIVE_LEAVE_INFO { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nLeaveTime; // ?????????, ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_DRIVE_LEAVE_INFO; ///@brief ?????????????? typedef struct tagCFG_INFRARED_BLOCKING { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nInfraredBlockingTime; // ?????????????, ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_INFRARED_BLOCKING; ///@brief ??????????? typedef struct tagCFG_DRIVE_SMOKING { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nSmokingTime; // ??????????, ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_DRIVE_SMOKING; ///@brief ?????????????? typedef struct tagCFG_CAMERA_OCCLUSION { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nCameraOcclusionTime; // ?????????????, ??????0-10???????2 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_CAMERA_OCCLUSION; ///@brief ?????????????? IdentityAnomalyCfg typedef struct tagCFG_IDENTITY_ANOMALY { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 BYTE byReserved[1016]; // ???? }CFG_IDENTITY_ANOMALY; ///@brief ?????????????? SubstitutionDrivingCfg typedef struct tagCFG_SUBSTITUTION_DRIVING { BOOL bEnable; // ??? BOOL bVoiceBroadcastEnable; // ??????????? BYTE byReserved[1024]; // ???? }CFG_SUBSTITUTION_DRIVING; ///@brief ?????????????? typedef struct tagCFG_DRIVER_NOBELT { BOOL bEnable; // ??? int nNobeltTime; // ?????????????, ??????0-255???????10 int nAlarmInterval; // ?????, ??????0-65536???????60 int nAlarmSpeed; // ???????????, ??????0-200???????30 int nAlarmReportSpeed; // ??????????, ??????0-200???????30 BYTE byReserved[1024]; // ???? }CFG_DRIVER_NOBELT; ///@brief ??????? EVENT_IVS_DRIVE_ACTION_ANAYLSE ?????????? ???????????? typedef struct tagCFG_DRIVE_ACIONANAYLSE_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 nSensitivity; // ?????? ??1-10??????5 ??????????? int nWorkMode; // ?????? 0???????? 1???????? int nAlarmSpeed; // ??????????? int nGradeSpeed; // ?????????? CFG_FATIGUE_DRIVING stuFatigue; // ????????????? CFG_DISTRACT_DRIVING stuDistract; // ?????????? CFG_DRIVEING_CALLING stuCalling; // ?????????? CFG_DRIVE_LEAVE_INFO stuLeave; // ?????????? CFG_INFRARED_BLOCKING stuInfraredBlocking; // ?????????????? CFG_DRIVE_SMOKING stuSmoking; // ??????????? CFG_CAMERA_OCCLUSION stuCameraOcclusionTime; // ????????????? CFG_IDENTITY_ANOMALY stuIdentityAnomaly; // ?????????????? CFG_SUBSTITUTION_DRIVING stuSubstitution; // ?????????????? CFG_DRIVER_NOBELT stuNobelt; // ?????????????? int nPicNums; // ??????????? ????[0, 10]?????3 int nPicInterval; // ??????????????????ms ????[100, 10000]??????3000 BYTE byReserved[4092]; }CFG_DRIVE_ACIONANAYLSE_INFO; ///@brief ??????? EVENT_IVS_DRIVE_HANDSOFF_STEERING_WHEEL ?????????? ?????????? ???????????? typedef struct tagCFG_DRIVE_HANDSOFF_STEERING_WHEEL_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 nSensitivity; // ?????? ??????????? int nWorkMode; // ?????? 0???????? 1???????? int nPostion; // 0?????????1??????????2??????????3?????????? int nAlarmSpeed; // ??????????? ??????0-200???????30 int nAlarmReportSpeed; // ?????????? ??????0-200???????30 int nMinDuration; // ????????????????????????????? ?????? 1~600,????30 int nReportInterval; // ??????????,?????? 0~600;????0????????????, ????30 int nPicNums; // ??????????? ????[0, 10]?????3 int nPicInterval; // ??????????????????ms????[100, 10000]??????3000 CFG_REGION stuDetectRegion; // ??????? BYTE byReserved[4092]; }CFG_DRIVE_HANDSOFF_STEERING_WHEEL_INFO; ///@brief ??????? EVENT_IVS_DRIVE_BLIND_SPOT ?????????? ????? ???????????? typedef struct tagCFG_DRIVE_BLIND_SPOT_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 nSensitivity; // ?????????????????? ??0-3??????1 int nWorkMode; // ?????? 0???????? 1???????? int nPostion; // ??????0?????????1???????? int nValidAlarmLine; // ??????????? CFG_REGION stuAlarmLines[5]; // ??????????????5???????? CFG_REGION stuDetectRegion; // ??????? BYTE byReserved[4092]; }CFG_DRIVE_BLIND_SPOT_INFO; ///@brief ????????? typedef enum tagEM_ARTICLE_DETECTION_ACTION { EM_ARTICLE_DETECTION_ACTION_UNKNOWN, // ????? EM_ARTICLE_DETECTION_ACTION_LEFT, // ????, ??????????????? EVENT_IVS_LEFTDETECTION EM_ARTICLE_DETECTION_ACTION_TAKENAWAY, // ????, ?????????????? EVENT_IVS_TAKENAWAYDETECTION }EM_ARTICLE_DETECTION_ACTION; ///@brief ??????? EVENT_IVS_ARTICLE_DETECTION ????????????????? typedef struct tagCFG_ARTICLE_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 nActionNum; // ????????? EM_ARTICLE_DETECTION_ACTION emAction[8]; // ??????? int nTriggerPosition; // ???????????? BYTE bTriggerPosition[8]; // ??????????,0-???????????, 1-??????????????, 2-????????????, 3-??????????????, 4-????????????? UINT nMinDuration; // ?????????,??????, ????0~65535 UINT nTrackDuration; // ?????????? 5~300?? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bSizeFileter; // ????????????????????? UINT nReportInterval; // ?????????????????0~600;????0????????????, ????30 int nSensitivity; // ?????????1-10??????5????????????? BYTE byReserved[4096]; // ??????? }CFG_ARTICLE_DETECTION_INFO; ///@brief ??????? EVENT_IVS_STREET_SUNCURE ?????????????????? typedef struct tagCFG_STREET_SUNCURE_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 nMinDuration; // ?????????????0~3600?? ?????? UINT nTrackDuration; // ??????????????0~3600?? ?????? UINT nDetectRegionNumber; // ???????? UINT nSensitivity; // ?????????????????? ??1-10 UINT nReportInterval; // ????????????????0????????? BYTE byReserved[4092]; // ??????? }CFG_STREET_SUNCURE_INFO; ///@brief ??????? EVENT_IVS_DISTRESS_DETECTION ????????????????? typedef struct tagCFG_DISTRESS_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]; // ??????? UINT nMinDuration; // ?????????,??????, ????0~65535 UINT nReportInterval; // ?????????????????0~600;????0????????????, ????30 CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BOOL bSizeFileter; // ????????????????????? int nSensitivity; // ?????????1-10??????5????????????? BYTE byReserved[4096]; // ??????? }CFG_DISTRESS_DETECTION_INFO; ///@brief ??????? EVENT_IVS_TRAFFIC_SPEED_CHANGE_DETECTION ????????????????? typedef struct tagCFG_TRAFFIC_SPEED_CHANGE_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 nLaneNumber; // ?????? int nMinDuration; // ?????????, ??:?? int nSpeedThreshold; // ??????, ???????????. ??:??(1-230) BYTE byReserved[4096]; // ??????? }CFG_TRAFFIC_SPEED_CHANGE_DETECTION_INFO; ///@brief ??????? EVENT_IVS_OUTDOOR_ADVERTISEMENT ????????????????????? typedef struct tagCFG_OUTDOOR_ADVERTISEMENT_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]; // ??????? UINT nMinDuration; // ?????????????0~3600?? ?????? UINT nTrackDuration; // ??????????????0~3600?? ?????? UINT nDetectRegionNumber; // ???????? UINT nSensitivity; // ?????????????????? ??1-10 UINT nReportInterval; // ????????????????0????????? BYTE byReserved[4092]; // ??????? }CFG_OUTDOOR_ADVERTISEMENT_INFO; ///@brief ??????? EVENT_IVS_HUDDLE_MATERIAL ???????????????????????? typedef struct tagCFG_HUDDLE_MATERIAL_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]; // ??????? UINT nMinDuration; // ?????????????0~3600?? ?????? UINT nTrackDuration; // ??????????????0~3600?? ?????? UINT nDetectRegionNumber; // ???????? UINT nSensitivity; // ?????????????????? ??1-10 UINT nReportInterval; // ????????????????0????????? BYTE byReserved[4092]; // ??????? }CFG_HUDDLE_MATERIAL_INFO; ///@brief ?????????????? typedef enum tagEM_FIRE_LANE_DETECT_TYPE { EM_FIRE_LANE_DETECT_TYPE_UNKNOWN, // ????? EM_FIRE_LANE_DETECT_TYPE_NONMOTOR, // ??????? EM_FIRE_LANE_DETECT_TYPE_CARTON, // ??? EM_FIRE_LANE_DETECT_TYPE_BOX, // ???? }EM_FIRE_LANE_DETECT_TYPE; ///@brief ??????? EVENT_IVS_FIRE_LANE_DETECTION ????????????????????????? typedef struct tagCFG_FIRE_LANE_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[20]; // ??????? int nDetectType; // ?????????? EM_FIRE_LANE_DETECT_TYPE emDetectType[16]; // ???????,????????FireLaneJams???????????,??????????,??????????? UINT nMinDuration; // ?????????, ??:??, ??:0~65535 UINT nReportInterval; // ?????????, ??:??, 0~600; ????0????????????,????30 int nSensitivity; // ?????????1-10??????5????????????? BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BYTE byReserved[4096]; // ??????? }CFG_FIRE_LANE_DETECTION_INFO; ///@brief ??????????????????? typedef enum tagEM_NON_MOTOR_ENTRYING_DETECT_TYPE { EM_NON_MOTOR_ENTRYING_DETECT_TYPE_UNKNOWN, // ???????????? EM_NON_MOTOR_ENTRYING_DETECT_TYPE_BICYCLE, // ???? EM_NON_MOTOR_ENTRYING_DETECT_TYPE_TRICYCLE, // ????? EM_NON_MOTOR_ENTRYING_DETECT_TYPE_MOTORCYCLE, // ???(?????T??,???????) }EM_NON_MOTOR_ENTRYING_DETECT_TYPE; ///@brief ??????? EVENT_IVS_NONMOTOR_ENTRYING ????????????????????????? typedef struct tagCFG_NONMOTOR_ENTRYING_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 nDetectType; // ?????????? EM_NON_MOTOR_ENTRYING_DETECT_TYPE emDetectType[32]; // ???????,????????NonMotor???????????,??????????,??????????? UINT nMinDuration; // ?????????, ??:??, ??:0~65535 UINT nReportInterval; // ?????????, ??:??, 0~600; ????0????????????,????30 int nSensitivity; // ?????????1-10??????5????????????? BOOL bSizeFileter; // ????????????????????? CFG_SIZEFILTER_INFO stuSizeFileter; // ???????????????? BYTE byReserved[4096]; // ??????? }CFG_NONMOTOR_ENTRYING_INFO; ///@brief ???????????? typedef enum tagEM_CFG_CONVEYER_BELT_DETECT_TYPE { EM_CFG_CONVEYER_BELT_DETECT_UNKNOWN, // ? EM_CFG_CONVEYER_BELT_DETECT_FULL_LOAD, // ???? EM_CFG_CONVEYER_BELT_DETECT_NON_LOAD, // ???? EM_CFG_CONVEYER_BELT_DETECT_RUN_OFF, // ??? EM_CFG_CONVEYER_BELT_DETECT_BLOCK, // ???? EM_CFG_CONVEYER_BELT_DETECT_BULK, // ??????? EM_CFG_CONVEYER_BELT_DETECT_COALRATIO, // ????? EM_CFG_CONVEYER_BELT_DETECT_ARTICLE, // ?????????? EM_CFG_CONVEYER_BELT_DETECT_STHTONTH, // ????????? EM_CFG_CONVEYER_BELT_DETECT_NTHTOSTH, // ?????????? EM_CFG_CONVEYER_BELT_DETECT_MOVETOSTOP, // ???????? EM_CFG_CONVEYER_BELT_DETECT_STOPTOMOVE, // ???????? EM_CFG_CONVEYER_BELT_DETECT_LOADINGRATE, // ????? } EM_CFG_CONVEYER_BELT_DETECT_TYPE; ///@brief ?????? typedef enum tagEM_CFG_ALARM_OUT_MODE { EM_CFG_ALARM_OUT_MODE_UNKNOWN = -1, // ? EM_CFG_ALARM_OUT_MODE_0, // ???????1??? EM_CFG_ALARM_OUT_MODE_1, // ???????2??? EM_CFG_ALARM_OUT_MODE_2, // ???????1,2????? }EM_CFG_ALARM_OUT_MODE; ///@brief ????????? typedef struct tagCFG_COAL_RATIO_LEVEL { float fCoalLevelMin; // ??????????????N?????????????????0-1 float fCoalLevelMax; // ???????????????N??????????????????0-1 EM_CFG_ALARM_OUT_MODE emAlarmOutMode; // ????????????N?????????????????????????? }CFG_COAL_RATIO_LEVEL; ///@brief ??????????? typedef enum tagEM_CFG_ARTICLE_TYPE { EM_CFG_ARTICLE_TYPE_UNKNOWN, // ? EM_CFG_ARTICLE_TYPE_ANCHORROD, // ?? }EM_CFG_ARTICLE_TYPE; ///@brief ?????????? typedef struct tagCFG_ALARM_LEVEL_THRESHOLD { int nMinThreshold; // ??? int nMaxThreshold; // ????? int nMinCmpType; // ???????????0?????1????????2???????3??????????4?????5??????? int nMaxCmpType; // ?????????????0?????1????????2???????3??????????4?????5??????? int nAlarmLevel; // ???????????1~5 int nAlarmRuleType; // 0:? 1:"NonLoad"???? 2:"RunOff"??? 3:"Block"???? 4:"Bulk"??????? char szReserved[64]; // ??????? }CFG_ALARM_LEVEL_THRESHOLD; ///@brief EVENT_IVS_CONVEYER_BELT_DETECT(????????)???????????? ///@brief ??????EVENT_IVS_CONVEYER_BELT_BULK/EVENT_IVS_CONVEYER_BELT_NONLOAD/EVENT_IVS_CONVEYER_BELT_RUNOFF/EVENT_IVS_CONVEYORBLOCK_DETECTION/EVENT_IVS_CONVEYER_BELT_COAL_RATIO typedef struct tagCFG_CONVEYER_BELT_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 int nDetectRegionPoint; // ?????????? CFG_POLYGON stuDetectRegion[MAX_POLYGON_NUM]; // ??????? EM_CFG_CONVEYER_BELT_DETECT_TYPE emDetectType; // ???????????? UINT nMinDuration; // ?????????????, ????[3-30] UINT nReportInterval; // ???????????????, ????[1-300] UINT nSensitivity; // ?????????????????????1-10 CFG_POLYLINE stuComparetLine[2]; // ?????????????????????????????????? // ????????????????????????????[0,8192)???? UINT nSizeFilterThreshold; // ?????????????????SizeFilterThreshold / 10* ComparetLine???????????????? ????????????????,??[2-8] UINT nWarningThreshold; // ??????????N????????0=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; ///@brief Raid????? typedef struct tagCFG_RAIDGROUP_INFO { int nRaidNum; // Raid???? CFG_RAID_INFO stuRaidInfo[MAX_RAID_NUM]; // Raid????? }CFG_RAIDGROUP_INFO; ///@brief ???????? 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; ///@brief ???????? typedef struct tagCFG_STORAGEPOOLGROUP_INFO { int nStroagePoolNum; // ?????? CFG_STORAGEPOOL_INFO stuStoragePoolInfo[MAX_STORAGEPOOL_NUM]; // ?????? }CFG_STORAGEPOOLGROUP_INFO; ///@brief ?????????? 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; ///@brief ?????????? typedef struct tafCFG_STORAGEPOSITIONGROUP_INFO { int nStoragePositionNum; // ???????? CFG_STORAGEPOSITION_INFO stuStoragePositionInfo[MAX_STRORAGEPOS_NUM]; // ?????????? }CFG_STORAGEPOSITIONGROUP_INFO; ///@brief ????????? 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; ///@brief ????????? typedef struct tafCFG_VIDEOINDEVGROUP_INFO { int nVideoDevNum; // ???????? CFG_VIDEOINDEV_INFO stuVideoInDevInfo[MAX_VIDEODEV_NUM]; // ????????? }CFG_VIDEOINDEVGROUP_INFO; ///@brief ?????????? 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; ///@brief ?????????? typedef struct tagCFG_DEVRECORDGROUP_INFO { int nChannelNum; // ??????? CFG_DEVRECORD_INFO stuDevRecordInfo[MAX_CHAN_NUM]; // ??????????? }CFG_DEVRECORDGROUP_INFO; #define byDahuaII byPrivateII #define byDahuaIId byPrivateIId ///@brief ?????? typedef struct tagCFG_IPSERVER_STATUS { int nSupportedServerNum; // ?????????? char szSupportServer[MAX_SEVER_NUM][MAX_NAME_LEN]; // ??????????? Svr Svrd(SVR???????) DataBase DataBased(DataBase???????) NtpServer NtpServerd(NtpServer???????) 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 // ???????????? ///@brief ???????? 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; ///@brief ????? 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; ///@brief 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; ///@brief 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; ///////////////////////////////////??????????/////////////////////////////////////// ///@brief ?????????? typedef struct tagCFG_VIDEO_DITHER_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 BYTE byThrehold1; // ?????? ??1-100 BYTE byThrehold2; // ??????? ??1-100 }CFG_VIDEO_DITHER_DETECTION; ///@brief ?????? 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; ///@brief ????????? typedef struct tagCFG_VIDEO_LOSS_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 }CFG_VIDEO_LOSS_DETECTION; ///@brief ????????? typedef struct tagCFG_VIDEO_COVER_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 BYTE byThrehold1; // ?????? ??1-100 BYTE byThrehold2; // ??????? ??1-100 }CFG_VIDEO_COVER_DETECTION; ///@brief ??????? typedef struct tagCFG_VIDEO_FROZEN_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 }CFG_VIDEO_FROZEN_DETECTION; ///@brief ????????? 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; ///@brief ????????? 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; ///@brief ????? typedef struct tagCFG_VIDEO_UNBALANCE_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 BYTE byThrehold1; // ?????? ??1-100 BYTE byThrehold2; // ??????? ??1-100 }CFG_VIDEO_UNBALANCE_DETECTION; ///@brief ??????? typedef struct tagCFG_VIDEO_NOISE_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 BYTE byThrehold1; // ?????? ??1-100 BYTE byThrehold2; // ??????? ??1-100 }CFG_VIDEO_NOISE_DETECTION; ///@brief ?????? typedef struct tagCFG_VIDEO_BLUR_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 BYTE byThrehold1; // ?????? ??1-100 BYTE byThrehold2; // ??????? ??1-100 }CFG_VIDEO_BLUR_DETECTION; ///@brief ???????? typedef struct tagCFG_VIDEO_SCENECHANGE_DETECTION { BOOL bEnable; // ??????? int nMinDuration; // ????????? ?????? 0~65535 BYTE byThrehold1; // ?????? ??1-100 BYTE byThrehold2; // ??????? ??1-100 }CFG_VIDEO_SCENECHANGE_DETECTION; ///@brief ????????? typedef struct tagCFG_VIDEO_DELAY_DETECTION { BOOL bEnable; // ??????? }CFG_VIDEO_DELAY_DETECTION; ///@brief ????????? typedef struct tagCFG_PTZ_MOVING_DETECTION { BOOL bEnable; // ??????? }CFG_PTZ_MOVING_DETECTION; ///@brief ???????? typedef struct tagCFG_VIDEO_BLACKWHITE_DETECTION { BOOL bEnable; // ??????? int nEarlyWarning; // ?????? int nAlarm; // ??????? int nMinDuration; // ????????? } CFG_VIDEO_BLACKWHITE_DETECTION; ///@brief ????????? typedef struct tagCFG_VIDEO_DRAMATICCHANGE_DETECTION { BOOL bEnable; // ??????? int nEarlyWarning; // ?????? int nAlarm; // ??????? int nMinDuration; // ????????? } CFG_VIDEO_DRAMATICCHANGE_DETECTION; ///@brief ?????????? typedef struct tagCFG_VIDEO_AVAILABILITY_DETECTION { BOOL bEnable; // ??????? }CFG_VIDEO_AVAILABILITY_DETECTION; ///@brief ???????? typedef struct tagCFG_VIDEO_SNOWFLAKE_DETECTION { BOOL bEnable; // ??????? int nWarnThreshold; // ??????, ??:1~100 int nAlarmThreshold; // ???????, ??:1~100 int nMinDuration; // ?????????, ??????, ??: 0~65535 }CFG_VIDEO_SNOWFLAKE_DETECTION; ///@brief ???????????100 typedef struct tagCFG_VIDEO_ALGORITHMTYPE_ALGORITHM { UINT nDetectionPercent; // ?????? UINT nRecognitionPercent; // ?????? UINT nAttributePercent; // ??????? }CFG_VIDEO_ALGORITHMTYPE_ALGORITHM; ///@brief ??????????? typedef struct tagCFG_VIDEO_ALGORITHMTYPE_DETECTION { BOOL bEnable; // ??????? UINT nFaceAlgorithmThreshold; // ???????? CFG_VIDEO_ALGORITHMTYPE_ALGORITHM stuFaceAlgorithm; // ??????????????100 UINT nHumanBodyAlgorithmThreshold;//????????? CFG_VIDEO_ALGORITHMTYPE_ALGORITHM stuHumanBodyAlgorithm; // ???????????????100 UINT nVehicleAlgorithmThreshold; // ????????? CFG_VIDEO_ALGORITHMTYPE_ALGORITHM stuVehicleAlgorithm; // ???????????????100 UINT nPlateNumAlgorithmThreshold;// ????????? CFG_VIDEO_ALGORITHMTYPE_ALGORITHM stuPlateNumAlgorithm; // ???????????????100 }CFG_VIDEO_ALGORITHMTYPE_DETECTION; ///@brief ?????? typedef struct tagCFG_VIDEO_FILCKERING_DETECTION { BOOL bEnable; // ??????? int nWarnThreshold; // ??????, ??:1~100 int nAlarmThreshold; // ???????, ??:1~100 int nMinDuration; // ?????????, ??: ??, ??: 0~65535 char szReserver[256]; // ??????? }CFG_VIDEO_FILCKERING_DETECTION; ///@brief ?????? typedef struct tagCFG_VIDEO_LOSS_FRAME_DETECTION { BOOL bEnable; // ??????? int nWarnThreshold; // ??????, ??:1~100 int nAlarmThreshold; // ???????, ??:1~100 int nMinDuration; // ?????????, ??: ??, ??: 0~65535 char szReserver[256]; // ??????? }CFG_VIDEO_LOSS_FRAME_DETECTION; ///@brief ?????? 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_SNOWFLAKE_DETECTION* pstSnowflake; // ???????? CFG_VIDEO_ALGORITHMTYPE_DETECTION* pstVideoAlgorithmType; // ??????????? CFG_VIDEO_FILCKERING_DETECTION *pstuVideoFilckeringDetection; // ?????? CFG_VIDEO_LOSS_FRAME_DETECTION *pstuVideoLossFrameDetection; // ?????? BOOL bIsCompareRecord; // ???????? }CFG_VIDEO_DIAGNOSIS_PROFILE; ///@brief ???????????(CFG_CMD_VIDEODIAGNOSIS_PROFILE)???????????????????????????? ????????????g????? typedef struct tagCFG_VIDEODIAGNOSIS_PROFILE { int nTotalProfileNum; // ???????????????? ????????????? int nReturnProfileNum; // ??????????????? CFG_VIDEO_DIAGNOSIS_PROFILE* pstProfiles; // ?????????nTotalProfileNum??CFG_VIDEO_DIAGNOSIS_PROFILE }CFG_VIDEODIAGNOSIS_PROFILE; ///@brief ?????????? typedef 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"-?????? }CFG_EM_STREAM_TYPE; ///@brief ??????? 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; ///@brief ???????????? 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; ///@brief ???????? typedef enum tagEM_VIDEO_TYPE { EM_VIDEO_TYPE_UNKNOWN, // ? EM_VIDEO_TYPE_ALL, // ??? EM_VIDEO_TYPE_MANUAL, // ??????????? EM_VIDEO_TYPE_ALARM, // ??????? } EM_VIDEO_TYPE; ///@brief ??????????????? typedef struct tagNET_VIDEO_DIAGNOSIS_RECORD_INFO { EM_SOURCE_VIDEO_LOCATION emSourceLocation; // ??????? EM_VIDEO_TYPE emRecordType; // ????????????? CFG_NET_TIME stuStartTime; // ????????????? int nPreSeconds; // ???????????????????????????PreSeconds???????????StartTime???????????????????? char szLocalRecordFilePath[256]; // ????????? } NET_VIDEO_DIAGNOSIS_RECORD_INFO; ///@brief ????????? 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; ///@brief ???????????? typedef struct tagNET_VIDEO_DIAGNOSIS_COMPARE_RECORD_INFO { CFG_NET_TIME stuStartTime; // ??????? EM_SOURCE_VIDEO_LOCATION emSourceType; // ?????? EM_VIDEO_TYPE emRecordType; // ??????? int nPreSeconds; // ???????????????????????????PreSeconds??(?????????StartTime???????, ??????????) char szReserved[256]; // ??????? } NET_VIDEO_DIAGNOSIS_COMPARE_RECORD_INFO; ///@brief ????????? 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; // ????????? char szPath[MAX_PATH]; // ??????????????????????? BOOL abCompareRecordInfo; // ???stuCompareRecordInfo????????; NET_VIDEO_DIAGNOSIS_COMPARE_RECORD_INFO stuCompareRecordInfo; // ???????????? }CFG_TAST_SOURCES; ///@brief ???????? 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; ///@brief ???????????(CFG_CMD_VIDEODIAGNOSIS_TASK),???????????????????? ????????????g????? typedef struct tagCFG_VIDEODIAGNOSIS_TASK { int nTotalTaskNum; // ???????????????? ????????????? int nReturnTaskNum; // ?????????????? CFG_DIAGNOSIS_TASK* pstTasks; // ???????? ????????????nTotalTaskNum?? }CFG_VIDEODIAGNOSIS_TASK; ///@brief ???????? 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???????? BOOL bIsRepeat; // ???????????????????/??????????? int nCycleInterval; // ???????????????? }CFG_PROJECT_TASK; ///@brief ??????? typedef struct tagDIAGNOSIS_PROJECT { char szProjectName[MAX_PATH]; // ???????Ansi???? int nTotalTaskNum; // ??????????????????? ????????????? int nReturnTaskNum; // ????????????????? CFG_PROJECT_TASK* pstProjectTasks; // ?????? ????????????nTotalTaskNum?? }CFG_DIAGNOSIS_PROJECT; ///@brief ????????(CFG_CMD_VIDEODIAGNOSIS_PROJECT),?????????????????? ????????????g????? typedef struct tagCFG_VIDEODIAGNOSIS_PROJECT { int nTotalProjectNum; // ??????????????? ????????????? int nReturnProjectNum; // ????????????? CFG_DIAGNOSIS_PROJECT* pstProjects; // ??????? ????????????nTotalProjectNum?? }CFG_VIDEODIAGNOSIS_PROJECT; ///@brief ??????????? typedef struct tagCFG_DIAGNOSIS_REALPROJECT { char szProjectName[MAX_PATH]; // ???????Ansi???? CFG_DIAGNOSIS_TASK stProjectTask; // ??????? }CFG_DIAGNOSIS_REALPROJECT; ///@brief ????????????? typedef struct tagCFG_VIDEODIAGNOSIS_REALPROJECT { int nProjectNum; // ????????? CFG_DIAGNOSIS_REALPROJECT* pstProjects; // ??????? ????????????nProjectNum?? }CFG_VIDEODIAGNOSIS_REALPROJECT; ///@brief ??????????(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; ///@brief ?????????? typedef struct tagCFG_VIDEODIAGNOSIS_GLOBAL { int nTotalGlobalNum; // ??????????????????? ????????????? int nReturnGlobalNum; // ????????????????? CFG_VIDEODIAGNOSIS_GLOBAL_CHNNL *pstGlobals; // ????????????? ????????????nTotalGlobalNum??CFG_VIDEODIAGNOSIS_GLOBAL_CHNNL }CFG_VIDEODIAGNOSIS_GLOBAL; ///@brief ???????????????(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; // ???????? UINT nSupportedProfileConfig; // ?????????????, 0??????VideoDiagnosisProfile, 1??????VideoDiagnosisProfileEx, 2?????????? UINT nMaxSources; // ??????????????????, 0????????? UINT nMaxConcurrent; // ??????????????? UINT nLeftSources; // ?????????????? UINT nLeftDiskSpace; // ????????, ??KB UINT nLeftDiskUsedDays; // ????????????? }CFG_VIDEODIAGNOSIS_CAPS_INFO; ///@brief ???????????????( CFG_CMD_VIDEODIAGNOSIS_GETCOLLECT )??????? typedef struct tagCFG_VIDEODIAGNOSIS_COLLECT_INFO { int nDiagnosisChannels; // ???????????? }CFG_VIDEODIAGNOSIS_COLLECT_INFO; ///@brief ?????????? typedef enum tagEM_VIDEODIAGNOSIS_TASK_STATE { EM_VIDEODIAGNOSIS_TASK_STATE_UNKNOWN = -1, // ? EM_VIDEODIAGNOSIS_TASK_STATE_NOT_STARTED, // ??? EM_VIDEODIAGNOSIS_TASK_STATE_ONGOING, // ?????? EM_VIDEODIAGNOSIS_TASK_STATE_INCOMPLETE, // ??? EM_VIDEODIAGNOSIS_TASK_STATE_COMPLETED, // ????? } EM_VIDEODIAGNOSIS_TASK_STATE; ///@brief ??????????????( 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??? EM_VIDEODIAGNOSIS_TASK_STATE emTaskState; // ?????????? }CFG_VIDEODIAGNOSIS_STATE_INFO; ///@brief ??????????????? typedef struct tagCFG_DEV_SERVICE_LIST { int nServiceNum; // ????????? char szService[MAX_SERVICE_NUM][MAX_NAME_LEN]; // ?????????????????? }CFG_DEV_SERVICE_LIST; ///@brief ????????????????? typedef struct tagCFG_MASTERSLAVETRACKER_INFO { int nStructSize; int nChannels; //????????????????? }CFG_MASTERSLAVETRACKER_INFO; #define MAX_CAMERA_TYPE 64 #define MAX_TYPE_STRING 64 ///@brief ??????????? typedef struct tagCFG_CAMERA_PER_TYPE_INFO { char szCameraType[MAX_TYPE_STRING]; //?????? char szLensType[MAX_TYPE_STRING]; //????????? ????????????????????????? }CFG_CAMERA_PER_TYPE_INFO; ///@brief ????????? typedef struct tagCFG_CAMERA_TYPE_INFO { int nCameraTypeNum; //??????????????????????? CFG_CAMERA_PER_TYPE_INFO stCameraTypeInfos[MAX_CAMERA_TYPE]; //??????????? }CFG_CAMERA_TYPE_INFO; ///@brief ?????? typedef enum tagCFG_ZOOM_TYPE { ZOOM_TYPE_EXPECTMULTIPLE =0, // ????????????? ZOOM_TYPE_IVSADAPTIVE, // ??????????????????? ZOOM_TYPE_MULTIPLEADAPTIVE, // ??????? ZOOM_TYPE_NUM }CFG_ZOOM_TYPE; ///@brief ?????? 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 = 6, }CFG_TRACKING_MODE; ///@brief ????????????????????????? typedef struct tagCFG_MASTERSLAVE_GLOBAL_INFO { int nStructSize; float fMaxZoom; // ????????, ??????????????????? float fMinZoom; // ????????, ??????????????????? float fExpectMultiple; // ?????????????????????????????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; ///@brief ??????????????? 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; ///@brief ??????????????????????? 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 // ????????? ///@brief ????????????? (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]; // ?????????, ???????????????????????????? UINT nTrackZoomScale; // ????????????????????????????????????????30% }CFG_MASTERSLAVE_LINKAGE_INFO; ///@brief ??????? typedef enum tagEM_MASTER_TYPE { EM_MASTER_UNKNOWN, // ????? EM_MASTER_FISHEYE, // ???????? EM_MASTER_CAMERA, // ?????? }EM_MASTER_TYPE; ///@brief ?????? typedef struct tagCFG_MASTER_DEV_INFO { int nChannel; // ?????????, ??0??? char szDevSerial[MASTERSLAVE_DEV_SERIALNO_LEN]; // ????? }CFG_MASTER_DEV_INFO; ///@brief ????? typedef struct tagCFG_SLAVER_DEV_INFO { int nChannel; // ?????????, ??0??? char szDevSerial[MASTERSLAVE_DEV_SERIALNO_LEN]; // ????? CFG_REGION stuControlRegion; // ?????????? }CFG_SLAVER_DEV_INFO; ///@brief ?????????????? (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 ///@brief ?????? 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; ///@brief ???????(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; ///@brief ?????????????(CFG_CAP_CMD_VIDEOINPUT)???? typedef struct tagCFG_CAP_VIDEOINPUT_INFO { int nMeteringRegionCount; // ???????????? BOOL bFishEye; // ?????????? BOOL bElectricFocus; // ??????T???? DWORD dwExposureMode; // ???????????????? ??????????????0-??????1-????????????????2-????????????????? 3-50HZ???????4-60HZ????? int nWideDynamicRange; // ?????????? 0-??????1-??????????? int nGlareInhibition; // ????????????? 0-??????1-??? }CFG_CAP_VIDEOINPUT_INFO; ///@brief ????????????????? 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; ///@brief ???????? 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; ///@brief ??????????????(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??? UINT nPeriodByMili; // ????????????????nPeriod????????????,??[0, 59999] char bReserved2[260]; // ???????2 }CFG_TRAFFIC_FLOWSTAT_INFO; ///@brief ??????????????(CFG_CMD_SYNOPSISANALYSE_RULE_INFO) typedef struct tagCFG_VIDOE_SYNOPSIS_ANALYSE_RULE_INFO { CFG_ANALYSERULES_INFO stDetailRuleInfo; //??????? }CFG_VIDOE_SYNOPSIS_ANALYSE_RULE_INFO; //----------------------------------?????????????------------------------------------------- ///@brief ??????????????????????????????????????????????????? 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-"unable", 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-????????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; ///@brief ??????? 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-"unable", 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-????????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; ///@brief ????????? 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; ///@brief ?????????????? 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-"unable", 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; ///@brief ????????? 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; ///@brief ?????????? 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; ///@brief ????????????? typedef struct tagCFG_VIDEO_IN_OPTIONS { BYTE byBacklight; // ??????????????????????????0-???1-????2-?????????? BYTE byDayNightColor; // ??/?????0-????????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" // 12-"Indoor", 13-"Outdoor", 14-"ATW", 15-"Manual", 16-"AutoOutdoor", 17-"SodiumAuto", 18-"Sodium", 19-"Track", 20-"AutoTrack", 21-"ManualDatum", 22-"PartWhiteBalance", 23-"Natural", 24-"StreetLamp" 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; // ??????, ???????? 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; ///@brief 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; ///@brief ????? typedef struct tagCFG_MULTICASTS_INFO { int nStructSize; CFG_MULTICAST_INFO stuMultiInfo[MAX_CHAN_NUM]; //???????? int nCount; //????????? }CFG_MULTICASTS_INFO; ///@brief RTSP?????? 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; ///@brief RTSP?????? 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; ///@brief ?????????? 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; ///@brief ?????????? 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; ///@brief ????? 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; ///@brief ??????????????? typedef struct tagCFG_ACTIVEALLUSER_INFO { int nStructSize; int nCount; //????????? CFG_ACTIVEUSER_INFO stuActiveUserInfo[MAX_ACTIVEUSER_NUM]; // ????????? }CFG_ACTIVEALLUSER_INFO; ///@brief ??? 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 // ?????????????? ///@brief ???????? 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; ///@brief ????????????????? typedef struct tagCFG_EXITMAN_STAY_STAT { CFG_NET_TIME_EX stuEnterTime; // ?????????????? CFG_NET_TIME_EX stuExitTime; // ???????????? BYTE reserved[104]; // ??????? } CFG_EXITMAN_STAY_STAT; ///@brief ??????????????? typedef struct tagCFG_PIG_STAY_STAT { CFG_NET_TIME stuEnterTime; // ??????????????? CFG_NET_TIME stuExitTime; // ????????????? char szReserved[200]; // ??????? }CFG_PIG_STAY_STAT; ///@brief ?????????????????? 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]; //????????????????? UINT nEnteredTotalPig; // ???????????????,???????????????????????? UINT nEnteredHourPig; // ????????????? UINT nEnteredTodayPig; // ????????????(?????) UINT nEnteredTotalPigInTimeSection; // IPC????????????clearSectionStat???????????TodayPig????? UINT nExitedTotalPig; // ???????????????,???????????????????????? UINT nExitedHourPig; // ????????????? UINT nExitedTodayPig; // ????????????(?????) UINT nExitedTotalPigInTimeSection; // IPC????????????clearSectionStat???????????TodayPig????? UINT nInsideTotalPig; // ??????????? int nInsidePigStayStatCount; // ??????????????????? CFG_PIG_STAY_STAT stuInsidePigStayStatInfo[32]; // ??????????????? UINT nInsideTodayPig; // ?????????? UINT nEnteredTotalInTimeSection; // ????????????????????IPC????????????clearSectionStat???????????Today?????? UINT nExitedTotalInTimeSection; // ????????????????????IPC????????????clearSectionStat???????????Today?????? }CFG_VIDEOSATA_SUMMARY_INFO; ///@brief ????????????? typedef struct tagCFG_SINGLESCENE { int nStructSize; int nSingleAlarmDelay; //???????:1~600?? int nSinglePresetID; //???????1~255(-1?????????) }CFG_SINGLESCENE; ///@brief ????????? typedef struct tagCFG_TOURPATH { int nStructSize; int nMultiPresetID; //?????????? int nMultiDuration; //??????30~900?? }CFG_TOURPATH; ///@brief ?????????????? 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; ///@brief ??????????? 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; ///@brief ???????????? typedef struct tagCFG_FULLSCENE { int nStructSize; int nFullAlarmDelay; //?????????1~600?? int nFullPresetID; //??????,??????????????0????????????? int nFullDuration; //?????????????,0??: ??????;1~300:?????????? }CFG_FULLSCENE; ///@brief ?????????? 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; ///@brief ?????????????? 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; ///@brief ??????????? 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; ///@brief ????????? 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; ///@brief ????????????????? 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 // ??????????? ///@brief ???????????? 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; ///@brief ????????????????? 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; ///@brief ?????????????? typedef struct tagCFG_FISHEYE_DETAIL_INFO { int nModeNum; // ????? CFG_FISHEYE_MODE_INFO stuModes[CFG_MAX_FISHEYE_MODE_NUM]; // ?????????? CFG_CALIBRATE_MODE emCalibrateMode; // ????????? }CFG_FISHEYE_DETAIL_INFO; // ?????????????????????? #define CFG_MAX_NOANSWER_FORWARD_GROUP_NUM 32 // ???????????????? #define CFG_MAX_FORWARD_NUMBERS_NUM 32 // ????????????????? ///@brief ???????????? 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; ///@brief ????????????????????????? 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; ///@brief 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; /************************??????????**********************************/ ///@brief ????? 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; ///@brief ?????????? typedef struct tagCFG_TRAFFIC_WORKSTATE_INFO { int nChannelID; // ????? CFG_TRAFFIC_SNAP_MODE emSnapMode; // ????? int nMatchMode; // ????????: 0-?????????????????????????????????; 1-????????????????????????? }CFG_TRAFFIC_WORKSTATE_INFO; ///@brief ?????????????????(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; ///@brief ????????? typedef struct tagCFG_CAP_TRAFFIC_DEVICE_STATUS { int nStatus; // stuStatus ?????? CFG_TRAFFIC_DEVICE_STATUS stuStatus[MAX_STATUS_NUM]; }CFG_CAP_TRAFFIC_DEVICE_STATUS; /************************???????????**********************************/ ///@brief ?????? typedef struct tagCFG_STORAGEGROUP_INFO { char szGroupName[MAX_STORAGEGROUPNAME_LEN]; // ??????? BYTE* byDisks; // ???????????????? int nBufSize; // ??????byDisks????? int nDiskNum; // ?????????? int nGroupIndex; // ??????(1~????????) }CFG_STORAGEGROUP_INFO; ///@brief ???-??? ?????? 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; ///@brief ??????? typedef 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????????? }EM_STORAGEPOINT_TYPE; ///@brief ?????????? 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; ///@brief ??????????????? typedef struct tagCFG_RECORDTOSTORAGEPOINT_INFO { int nStoragePointNum; //?????? CFG_STORAGEPOINT_INFO stStoragePoints[MAX_STORAGEPOINT_NUM]; // ?????????? }CFG_RECORDTOSTORAGEPOINT_INFO; ///@brief ?????????????????? 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; ///@brief 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; ///@brief ??????????? 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; ///@brief ??????????? 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; ///@brief ????????????? typedef struct tagCFG_CAP_PTZ_ENABLEINFO { BOOL bEnable; //?????????????? }CFG_CAP_PTZ_ENABLEINFO; ///@brief ????????????? 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; ///@brief /////////////////////////////////??????????/////////////////////////////////////// ///@brief ????? typedef 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-?????? }AV_CFG_RecordMode; ///@brief ??????? typedef struct AV_CFG_ChannelName { AV_int32 nStructSize; AV_int32 nSerial; // ????????? char szName[CFG_MAX_CHANNEL_NAME_LEN];// ????? }AV_CFG_ChannelName; ///@brief ?????????? typedef 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-???? }AV_CFG_VideoOutAttr; ///@brief ???? typedef 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; }AV_CFG_TimeSection; ///@brief ?????? typedef struct AV_CFG_RemoteChannel { AV_int32 nStructSize; AV_BOOL bEnable; // ??? char szDeviceID[AV_CFG_Device_ID_Len]; // ?ID AV_int32 nChannel; // ????? }AV_CFG_RemoteChannel; ///@brief ???? typedef 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; // ????????????????? }AV_CFG_DisplaySource; ///@brief ?????????? typedef struct AV_CFG_ChannelDisplaySource { AV_int32 nStructSize; AV_int32 nWindowNum; // ????????? AV_CFG_DisplaySource stuSource[AV_CFG_Max_Split_Window];// ????????? }AV_CFG_ChannelDisplaySource; ///@brief ?????????????????????? typedef struct AV_CFG_MonitorTourMask { AV_int32 nStructSize; CFG_SPLITMODE emSplitMode; // ????? AV_int32 nGroupNum; // ???????? AV_int32 nGroup[AV_CFG_Max_Split_Group]; // ?????????????????? }AV_CFG_MonitorTourMask; ///@brief ??????? typedef 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];// ??????????? }AV_CFG_MonitorTour; ///@brief ?????????? typedef 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]; // ???????????? }AV_CFG_MonitorFavorite; ///@brief ????????????? typedef struct AV_CFG_MonitorCollection { AV_int32 nStructSize; AV_CFG_MonitorFavorite* pstuFavorite; // ??????????? AV_int32 nMaxCount; // ???????????? AV_int32 nRetCount; // ??????????????? }AV_CFG_MonitorCollection; ///@brief Raid??? typedef 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]; // ?????? }AV_CFG_Raid; ///@brief ???? typedef 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; // ??????? }AV_CFG_RecordSource; ///@brief ??????, ???????????? typedef 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 }AV_CFG_EncodeFormat; ///@brief ???????? typedef 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]; // ??, ?????????, ??????, ?????? }AV_CFG_Encode; ///@brief 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; ///@brief ??????????? 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; ///@brief ??????????????, ?????????????????????????? typedef 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; // ????? }AV_CFG_VideoColor; ///@brief ????????????????? typedef struct AV_CFG_ChannelVideoColor { AV_int32 nStructSize; AV_int32 nColorNum; // ???????????? AV_CFG_VideoColor stuColor[AV_CFG_Max_VideoColor];// ??????????, ??????????????????? }AV_CFG_ChannelVideoColor; ///@brief ??? typedef struct AV_CFG_Color { AV_int32 nStructSize; AV_int32 nRed; // ?? AV_int32 nGreen; // ?? AV_int32 nBlue; // ?? AV_int32 nAlpha; // ??? }AV_CFG_Color; ///@brief ???? typedef struct AV_CFG_Rect { AV_int32 nStructSize; AV_int32 nLeft; AV_int32 nTop; AV_int32 nRight; AV_int32 nBottom; }AV_CFG_Rect; ///@brief ???????-????????? typedef 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; // ??????????? }AV_CFG_VideoWidgetCover; ///@brief ????????????? 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; ///@brief ???????-??????? typedef 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; // ??????????? }AV_CFG_VideoWidgetChannelTitle; ///@brief ???????-?????? typedef 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; // ??????????? }AV_CFG_VideoWidgetTimeTitle; ///@brief ???????-???????? typedef 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; // ???????? AV_BOOL bUpdate; // ??????????????????? true:???? false:?????? }AV_CFG_VideoWidgetCustomTitle; ///@brief ???????-????????????-???????????? typedef 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]; // ???????????? }AV_CFG_VideoWidgetSensorInfo_Description; ///@brief ???????-???????????? typedef 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];// ??????????????? }AV_CFG_VideoWidgetSensorInfo; ///@brief 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; ///@brief ?????????????? typedef 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; //????????????????? AV_CFG_VideoWidgetCover stuGPSTitle; //GPS???????, ??????? AV_CFG_VideoWidgetCover stuCarNoTitle; //??????????, ??????? char szChannelName[256]; // ???????(??Onvif???) }AV_CFG_VideoWidget; ///@brief ????????????? typedef struct AV_CFG_StorageGroupChannel { AV_int32 nStructSize; AV_int32 nMaxPictures; // ??????????????????, ????????? char szPath[AV_CFG_Max_ChannelRule]; // ????????????????????????, %c????????? }AV_CFG_StorageGroupChannel; ///@brief ??????? typedef 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; // ??????? }AV_CFG_StorageGroup; ///@brief DST??? typedef 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; // ???? }AV_CFG_DSTTime; ///@brief ???????? typedef 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?????? }AV_CFG_Locales; ///@brief ???????? typedef 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, // ????????? AV_CFG_Language_Portuguese, // ???????? AV_CFG_Language_Polish, // ?????? AV_CFG_Language_Czech, // ????? AV_CFG_Language_SpanishEU, // ?????????????? AV_CFG_Language_Norwegian, // ????? AV_CFG_Language_Indonesia, // ????? AV_CFG_Language_PortugalBR, // ???????? AV_CFG_Language_BritishEnglish, // ????????? AV_CFG_Language_TradChinese2, // ???????????????????? }AV_CFG_LanguageType; ///@brief ???????? typedef struct AV_CFG_Language { AV_int32 nStructSize; AV_CFG_LanguageType emLanguage; // ??????? }AV_CFG_Language; ///@brief ?????????? typedef 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????????. // ?????????????????????;???????????????? }AV_CFG_AccessFilter; ///@brief ?????? typedef 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????????????? }AV_CFG_AutoMaintain; #define AV_CFG_Monitor_Name_Len 64 // ???????????? #define AV_CFG_Max_TV_In_Block 128 // ??????TV????????? #define AV_CFG_Max_Block_In_Wall 128 // ??????????????????? ///@brief ????????????? typedef struct tagAV_CFG_MONITOR_WALL_OUT_MODE_INFO { int nWidth; // ??????? int nHeight; // ???????? BYTE byReserved[256]; // ??????? }AV_CFG_MONITOR_WALL_OUT_MODE_INFO; ///@brief ?????????????? typedef 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]; // ??????? BOOL bIsVirtual; // ??????????????????????????????????????TRUE:?????? FALSE:???????? char szAddress[40]; // ????????IP AV_CFG_MONITOR_WALL_OUT_MODE_INFO stuOutMode; // ???????? }AV_CFG_MonitorWallTVOut; ///@brief ????????? typedef 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 int nOutputDelay; // ??????,???????? }AV_CFG_MonitorWallBlock; ///@brief ????? typedef 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]; // ???????????? }AV_CFG_MonitorWall; ///@brief ????? typedef 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) }AV_CFG_SpliceScreen; ///@brief ??????????? typedef enum tagAV_CFG_PtzLinkType { AV_CFG_PtzLink_None, // ?????? AV_CFG_PtzLink_Preset, // ???????? AV_CFG_PtzLink_Tour, // ??????? AV_CFG_PtzLink_Pattern, // ?????? } AV_CFG_PtzLinkType; ///@brief ?????????? 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; ///@brief ????? typedef struct tagAV_CFG_Point { AV_int32 nStructSize; AV_int32 nX; AV_int32 nY; } AV_CFG_Point; ///@brief ???? typedef struct tagAV_CFG_Size { AV_int32 nStructSize; AV_uint32 nWidth; AV_uint32 nHeight; } AV_CFG_Size; ///@brief ??????????? 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; ///@brief ??????????? 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; ///@brief ???????? 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 // ??????? ///@brief ??????????? typedef 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; // ???????? }AV_CFG_RemoteEvent; ///@brief ?????????? 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; ///@brief ?????????????? 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; ///@brief ??????????????? 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; ///@brief ???????????????? 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; ///@brief ?????? typedef struct tagCFG_SERVER_INFO { int nPort; // ?????????? char szAddress[MAX_ADDRESS_LEN]; // IP??????????? }CFG_SERVER_INFO; ///@brief ??????????? 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; ///@brief ????????????????? 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; ///@brief ??????? typedef enum tagEM_CFG_SENDPOLICY { EM_SNEDPOLICY_UNKNOWN = -1, EM_SENDPOLICY_TIMING, // ?????? EM_SENDPOLICY_EVENT, // ?????????? }EM_CFG_SENDPOLICY; ///@brief ?????????????????? 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; ///@brief ?????????? 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; ///@brief AIO IP ???? typedef struct tagCFG_AIO_APP_CONFIG_INFO { char szAddress[MAX_IP_ADDR_LEN]; // ?????????ip??? }CFG_AIO_APP_CONFIG_INFO; ///@brief ????????? 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; ///@brief ?????????????? typedef struct tagCFG_RecordDownloadSpeed { DWORD nStructSize; // ????? UINT nMaxDownloadSpeedNum; // ???????????????????? UINT *pDownloadSpeedValue; // ????????????????????????????????????????1024*sizeof(UINT) ??KB/S UINT nDownloadSpeedNum; // ????????????????????(??? <= nMaxDownloadSpeedNum) } CFG_RecordDownloadSpeed; ///@brief ????????? 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; ///@brief ?????? typedef struct tagALARM_EVENT_INFO { DWORD dwEventType; // ???????????dhnetsdk.h??"??????????????" int nEventSize; // ???????????????????? } ALARM_EVENT__INFO; ///@brief ?????????????????????????????????pEventBuf???????????????????????????????ALARM_EVENT_INFO+"?????????????????????"?? typedef struct tagALARM_ANALYSEEVENTS_INFO { int nEventCount; // ??????? char* pEventBuf; // ???????????????????????????????? int nEventBufLen; // ????? } ALARM_ANALYSEEVENTS_INFO; ///@brief ??????? typedef struct tagCFG_COMM_INFO { char szProtocolName[MAX_PROTOCOL_NAME_LEN]; // ?????? CFG_COMM_PROP stuAttribute; // ???????? int nAddress; // ???? } CFG_COMM_INFO; ///@brief ???????? typedef struct tagCFG_COMMGROUP_INFO { int nCommNum; // ???????? CFG_COMM_INFO stuComms[MAX_COMM_NUM]; // ???????? } CFG_COMMGROUP_INFO; ///@brief ??????? 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; ///@brief ???????? 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; ///@brief ??????????? 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; ///@brief ??????? typedef enum tagCFG_ENUM_NET_BOND_MODE { CFG_ENUM_NET_BOND_MODE_UNKNOWN, // ? CFG_ENUM_NET_BOND_MODE_BALANCERR, // RoundRobin???????(???????????????) CFG_ENUM_NET_BOND_MODE_BALANCEXOR, // XOR??????? CFG_ENUM_NET_BOND_MODE_BALANCETLB, // ????????Ϊ????? CFG_ENUM_NET_BOND_MODE_BALANCEALB, // ??????????????? CFG_ENUM_NET_BOND_MODE_ACTIVEBACKUP, // ??????(????????????????????????????????????????????????) CFG_ENUM_NET_BOND_MODE_BROADCAST, // ?????(????????????????????) CFG_ENUM_NET_BOND_MODE_802_3AD, // ???????? CFG_ENUM_NET_BOND_MODE_BRIDGE, // ????((??????????????bond????) }CFG_ENUM_NET_BOND_MODE; ///@brief 802.3ad?????????? typedef enum tagCFG_ENUM_NET_BOND_LACP { CFG_ENUM_NET_BOND_LACP_UNKNOWN, // ? CFG_ENUM_NET_BOND_LACP_MAC, // ????MAC??? CFG_ENUM_NET_BOND_LACP_IPPORT, // ????IP??????? CFG_ENUM_NET_BOND_LACP_IPMAC, // ????IP?????MAC??? CFG_ENUM_NET_BOND_LACP_IP, // ????IP??? CFG_ENUM_NET_BOND_LACP_PORT, // ?????? }CFG_ENUM_NET_BOND_LACP; ///@brief ?????????? typedef struct tagCFG_NETWORK_BOND_INTERFACE { BOOL bBonding; // ????????????????????????bondxx???????????Bonding????????????????? // true-????????,??????????????? // false-???????(?????),?Members?????????? CFG_ENUM_NET_BOND_MODE emMode; // ???????? CFG_ENUM_NET_BOND_LACP emLacp; // 802.3ad?????????? int nMTU; // ?????????? char szMembers[16][16]; // ?????????? char szIP[MAX_ADDRESS_LEN]; // ip??? char szName[MAX_NAME_LEN]; // ?????????? char szAlias[MAX_NAME_LEN]; // ?????????? char szDnsServers[MAX_DNS_SERVER_NUM][MAX_ADDRESS_LEN]; // DNS????????? char szMacAddress[MAX_ADDRESS_LEN]; // mac??? char szSubnetMask[MAX_ADDRESS_LEN]; // ???????? char szDefGateway[MAX_ADDRESS_LEN]; // ??????? BOOL bDhcpEnable; // ?????DHCP } CFG_NETWORK_BOND_INTERFACE; ///@brief ???????? 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 ; ///@brief ???? typedef struct tagCFG_NETWORK_BR_INTERFACE { char szName[MAX_NAME_LEN]; // ?????????? BOOL bEnable; // ??? int nMTU; // ?????????? char szMembers[16][16]; // ?????????? char szIP[MAX_ADDRESS_LEN]; // ip??? char szSubnetMask[MAX_ADDRESS_LEN]; // ???????? char szDefGateway[MAX_ADDRESS_LEN]; // ??????? char szDnsServers[MAX_DNS_SERVER_NUM][MAX_ADDRESS_LEN]; // DNS????????? BOOL bDhcpEnable; // ?????DHCP BOOL bReservedIPEnable; // DHCP?????????????IP????????IP?????????DHCP???? BOOL bDnsAutoGet; // DNS????????dhcp?????????????true????????dhcp??? } CFG_NETWORK_BR_INTERFACE; ///@brief ?????????? 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]; // ?????? int nBondInterfaceNum; // ????????????? CFG_NETWORK_BOND_INTERFACE stuBondInterfaces[MAX_NETWORK_INTERFACE_NUM]; // ??????????? int nBrInterfaceNum; // ???????? CFG_NETWORK_BR_INTERFACE stuBrInterfaces[MAX_NETWORK_INTERFACE_NUM]; // ?????? } CFG_NETWORK_INFO; ///@brief ???????? 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; ///@brief ???????? 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??????????E??? 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; ///@brief ??????????????, ????????????? typedef struct tagCFG_NAS_GROUP_INFO { int nNasNum; // ??????????? CFG_NAS_INFO_NEW stuNasInfo[MAX_NAS_NUM]; // ??????????? } CFG_NAS_GROUP_INFO; ///@brief ?????????????? 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; ///@brief ??????????? 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; ///@brief ???????????????? typedef 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???????? }EM_CFG_VIDEO_LINE_TYPE; ///@brief ??????????????? 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; 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; ///@brief ????????????(??????? 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; ///@brief //////////////////////////////////////////////////////////////////////// ///@brief ??????????? ///@brief ???????? 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; ///@brief ?????? 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; ///@brief ????? 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; ///@brief ???????? 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; ///@brief ????????????? 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; ///@brief ???? typedef struct tagCFG_COM_PORT { int nPortIndex; // ?????????? int nAddress; // ???? CFG_COMM_PROP stComProp; // ???????? } CFG_COM_PORT; ///@brief ?????? 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; ///@brief ???????????? typedef struct tagCFG_ANALOG_MATRIX_PROTOCOL { char szName[MAX_NAME_LEN]; // ?????? char szProtocolRule[MAX_NAME_LEN]; // ??????, ????%A-?????%I-????????%O-??????? } CFG_ANALOG_MATRIX_PROTOCOL; ///@brief ?????????? typedef struct tagCFG_VIDEO_OUT_TITLE { char szName[MAX_NAME_LEN]; // ??????? } CFG_VIDEO_OUT_TITLE; ///@brief ???? 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; ///@brief ?????? typedef struct tagCFG_SPLIT_WINDOW_POSITION { CFG_RECT stuRect; // ???????? BOOL bDirectable; // ?????????????, ???????????????????????????????????????? int nZorder; // Z???? } CFG_SPLIT_WINDOW_POSITION; ///@brief ???????????? 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; ///@brief ????????? 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; ///@brief ??????? typedef enum tagEM_COLLECTION_TYPE { EM_COLLECTION_UNKNOWN, // ? EM_COLLECTION_VIDEO, // ?????? EM_COLLECTION_ADDITION, // ??????? }EM_COLLECTION_TYPE; ///@brief ????????????????? 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; ///@brief ??????????, ????????????????????? typedef struct tagCFG_MONITORWALL_COLLECTION_LIST { CFG_MONITORWALL_COLLECTION_SINGLE* pstuCollections; // ???????, ??????????,???sizeof(CFG_MONITORWALL_COLLECTION_SINGLE)*nMaxCollectionCount int nMaxCollectionCount; // ????????, ????? int nRetCollectionCount; // ???????????? } CFG_MONITORWALL_COLLECTION; ///@brief ????????????? typedef struct tagCFG_VIDEO_IN_BOUNDARY { CFG_RECT stuBoundary; // ??? } CFG_VIDEO_IN_BOUNDARY; ///@brief ???????????????????,??????????????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; ///@brief ??????(??????????????)????????????????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 // ??????????????? ///@brief ?????????? 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; ///@brief ??????????,?????????????????????DHAV??? typedef struct tagCFG_BURN_RECORD_FORMAT { char szRecordPack[MAX_PATH]; // ?????????:?????"DHAV","PS" }CFG_BURN_RECORD_FORMAT; ///@brief ???????????(??? CFG_MULTIBURN_INFO) ?????????????????????????????????? typedef struct tagCFG_MULTIBURN_INFO { BOOL bEnable; // ???????????? BOOL bDataCheck; // ??????????????? char szDataCheckSpeed[MAX_PATH]; // ????? "High":???????????,"Normal":??????????????,"Low":???? ?????????? }CFG_MULTIBURN_INFO; ///@brief ?????????????????????? 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; ///@brief ?????????????????? typedef struct tagCFG_REMOTE_STORAGELIMIT_GROUP { CFG_REMOTE_STORAGE_LIMIT stuRemoteStorageLimit[MAX_NAS_NUM]; // ?????????????????? int nLimitCount; // ??????????????? }CFG_REMOTE_STORAGELIMIT_GROUP; ///@brief ???????????????? typedef struct tagCFG_CAP_BURN_MANAGER { BOOL bSupportMultiBurn; // ???????????????? int nMultiBurnGroups; // ???????????? }CFG_CAP_BURN_MANAGER; ///@brief ?????????? typedef struct tagCFG_CAP_RECORD_INFO { BOOL bSupportHoliday; //????????????????? BOOL bSupportExtraRecordMode; //???????????????????? DWORD dwMaxPreRecordTime; //???????? DWORD dwMaxRemoteBitrate; //????????????,??kbps DWORD dwMaxRemoteRawBitrate; //?????????????????????????????????16bpp???? DWORD dwMaxStreams; //?????????????? BOOL bSupportRecordConfig; //?????????Record???????????? } CFG_CAP_RECORD_INFO; ///@brief ??????? typedef enum tagCFG_ENCRYPT_ALGO_TYPE { ALGO_TYPE_AES , ALGO_TYPE_UNKNOW , }CFG_ENCRYPT_ALGO_TYPE; ///@brief ???????????????? 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; ///@brief ??????????? typedef union tagCFG_ENCRYPT_KEY_INFO { BYTE byAesKey[AES_KEY_LEN]; // aes??? }CFG_ENCRYPT_KEY_INFO; ///@brief ??????????????? 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; ///@brief ?????????????????? 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; ///@brief ????????????????? typedef enum tagCFG_ENCRYPT_POLICY_TYPE { ENCRYPT_POLICY_UNKNOWN , //? ENCRYPT_POLICY_NONE , //????????????????????? ENCRYPT_POLICY_QUALITY , //???????????????????????????? ENCRYPT_POLICY_FLUENCY , //?????????????????????????????? }CFG_ENCRYPT_POLICY_TYPE; ///@brief ??????????????? 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; ///@brief ????????????? typedef struct tagCFG_ENCODE_ADAPT_INFO { CFG_ENCRYPT_POLICY_TYPE emPolicyType; //????????????? CFG_ENCRYPT_FLUENCY_MODE emFluencyMode; //??????????? }CFG_ENCODE_ADAPT_INFO; ///@brief ??????????????? 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; ///@brief ????????????????? typedef struct tagCFG_VIDEO_IN_ZOOM { int nChannelIndex; //????? int nVideoInZoomRealNum; //?????????? CFG_VIDEO_IN_ZOOM_UNIT stVideoInZoomUnit[MAX_VIDEO_IN_ZOOM]; //???????????????? } CFG_VIDEO_IN_ZOOM; ///@brief ?????? typedef struct tagCFG_SNAP_INFO { CFG_TIME_SCHEDULE stuTimeSchedule; // ????, ???????????????????: // Bit0-????? // Bit1-???????? // Bit2-?????? // Bit3-?????? // Bit4~Bit31-???? } CFG_SNAP_INFO; ///@brief ?????????????????? typedef struct tagCFG_PTZ_MOTION_RANGE { int nHorizontalAngleMin; // ?????????,??:?? int nHorizontalAngleMax; // ??????????,??:?? int nVerticalAngleMin; // ??????????,??:?? int nVerticalAngleMax; // ???????????,??:?? }CFG_PTZ_MOTION_RANGE; ///@brief ??????????????? typedef enum tagSUPPORT_FOCUS_MODE { ENUM_SUPPORT_FOCUS_CAR = 1, // ???t?? ENUM_SUPPORT_FOCUS_PLATE = 2, // ???t???? ENUM_SUPPORT_FOCUS_PEOPLE = 3, // ???????? ENUM_SUPPORT_FOCUS_FACE = 4, // ????????? }EM_SUPPORT_FOCUS_MODE; ///@brief ?????????????????? typedef struct tagCFG_PTZ_LIGHTING_CONTROL { char szMode[CFG_COMMON_STRING_32]; // ??????????? // on-off"??????????, // "adjustLight"??????????????? DWORD dwNearLightNumber; // ??????????? DWORD dwFarLightNumber; // ?????????? }CFG_PTZ_LIGHTING_CONTROL; ///@brief ???-????????????? typedef struct tagCFG_PTZ_AREA_SCAN { BOOL bIsSupportAutoAreaScan; // ????????????? WORD wScanNum; // ??????????? }CFG_PTZ_AREA_SCAN; ///@brief ???????????? typedef enum tagNET_EM_MASK_TYPE { NET_EM_MASK_UNKNOWN, // ? NET_EM_MASK_RECT, // ???? NET_EM_MASK_POLYGON, // ????? } NET_EM_MASK_TYPE; ///@brief ?????????? 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 ///@brief ???????????? 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; ///@brief ????????? typedef struct tagCFG_PTZ_MEASURE_DISTANCE { BOOL bSupport; // ??????????? BOOL bOsdEnable; // ??????????????????????? int nDisplayMin; // ??????????????????, ???? int nDisplayMax; // ???????????????????, ???? } CFG_PTZ_MEASURE_DISTANCE; ///@brief ??????????????? typedef struct tagCFG_PTZ_ACTION_CAPS { BOOL bSupportPan; // ??????????? BOOL bSupportTile; // ??????????? BOOL bSupportZoom; // ??????? BYTE byReserved[116]; // ??? }CFG_PTZ_ACTION_CAPS; ///@brief ??????????????????? typedef struct tagCFG_PTZ_ABSOLUTELY_CAPS { BOOL bSupportNormal; // ???????????? BOOL bSupportReal; // ??????????????? BYTE byReserved[120]; // ??? }CFG_PTZ_ABSOLUTELY_CAPS; ///@brief ?????????????? typedef struct tagCFG_PTZ_MOVE_ABSOLUTELY_CAP { CFG_PTZ_ACTION_CAPS stuPTZ; // ??????????????? CFG_PTZ_ABSOLUTELY_CAPS stuType; // ??????????????????? BYTE byReserved[768]; // ??? }CFG_PTZ_MOVE_ABSOLUTELY_CAP; ///@brief ?????????????? typedef struct tagCFG_PTZ_CONTINUOUSLY_TYPE { BOOL bSupportNormal; // ????????????? BOOL bSupportExtra; // ????????????? BYTE byReserved[120]; // ??? }CFG_PTZ_CONTINUOUSLY_TYPE; ///@brief ?????????????? typedef struct tagCFG_PTZ_MOVE_CONTINUOUSLY_CAPS { CFG_PTZ_ACTION_CAPS stuPTZ; // ????PTZ???? CFG_PTZ_CONTINUOUSLY_TYPE stuType; // ?????????????? BYTE byReserved[1024]; // ??? }CFG_PTZ_MOVE_CONTINUOUSLY_CAPS; ///@brief ???????????????? typedef enum tagEM_PTZ_UNSUPPORT_DIRECTION { EM_PTZ_UNSUPPORT_DIRECTION_UNKNOWN, // ? EM_PTZ_UNSUPPORT_DIRECTION_UP, // ?? EM_PTZ_UNSUPPORT_DIRECTION_DOWN, // ?? EM_PTZ_UNSUPPORT_DIRECTION_LEFT, // ?? EM_PTZ_UNSUPPORT_DIRECTION_RIGHT, // ?? EM_PTZ_UNSUPPORT_DIRECTION_LEFTUP, // ???? EM_PTZ_UNSUPPORT_DIRECTION_RIGHTUP, // ???? EM_PTZ_UNSUPPORT_DIRECTION_LEFTDOWN, // ???? EM_PTZ_UNSUPPORT_DIRECTION_RIGHTDOWN, // ???? } EM_PTZ_UNSUPPORT_DIRECTION; ///@brief ??????????????? 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_MOVE_ABSOLUTELY_CAP stuMoveAbsolutely; // ????????????????bMoveAbsolutely==TRUE ??? BOOL bMoveContinuously; // stuMoveContinuously ???????? CFG_PTZ_MOVE_CONTINUOUSLY_CAPS stuMoveContinuously; // ?????????????? int nUnSupportDirections; // ??????????????????? EM_PTZ_UNSUPPORT_DIRECTION emUnSupportDirections[10]; // ???????????????? BOOL bSupportEptzLink; // ???????????????? }CFG_PTZ_PROTOCOL_CAPS_INFO; ///@brief ????????????? typedef struct tagRS_PROTOCOL_InFO { int nRSProtocolNum; //???????????????? char szRSProtocol[CFG_COMMON_STRING_32][CFG_COMMON_STRING_32]; //????????????????? }RS_PROTOCOL_InFO; ///@brief ???????????? typedef struct tagCOAXOAL_PROTOTOL_INFO { int nCoaxialProtocolNum; //??????????????? char szCoaxialProtocol[CFG_COMMON_STRING_32][CFG_COMMON_STRING_32]; //???????????????? }COAXOAL_PROTOTOL_INFO; ///@brief ????????????????????????????? typedef struct tagCFG_CAP_PTZ_PROTOCOL { unsigned int nStructSize; RS_PROTOCOL_InFO stuRSProtocolInfo; //???????????????? COAXOAL_PROTOTOL_INFO stuCoaxialProtocolInfo; //??????????????? }CFG_CAP_PTZ_PROTOCOL; ///@brief ????????????? typedef struct tagCFG_SPECIAL_DIR_INFO { char szBackgroudImageDir[MAX_PATH]; // ???????? char szWindowIconDir[MAX_PATH]; // ????????? char szEventVoiceDir[MAX_PATH]; // ?????????????????????? } CFG_SPECIAL_DIR_INFO; ///@brief ??????????????????? typedef struct tagCFG_AUTO_STARTUP_DELAY_INFO { BOOL bEnable; //???????? int nDelay; //???????????????,????????(????[30, 255]) }CFG_AUTO_STARTUP_DELAY_INFO; ///@brief ???????? typedef enum tagCFG_DEFOG_MODE { EM_DEFOG_MODE_UNKNOW, //???? EM_DEFOG_MODE_OFF, //??? EM_DEFOG_MODE_AUTO, //??? EM_DEFOG_MODE_MANAL //??? }CFG_DEFOG_MODE; ///@brief ??????????? 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; ///@brief ??????????????,??????? 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; ///@brief ?????????????????????? typedef struct tagCFG_VIDEOINDEFOG_LIST { int nVideoInDefogNum; // ??????????????????? CFG_VIDEOINDEFOG stVideoInDefog[CFG_MAX_VIDEO_IN_DEFOG]; //?????????????????????? }CFG_VIDEOINDEFOG_LIST; ///@brief RTMP???? ///@brief ?????????????????????Flash Media Server???????? ///@brief ????????????????????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; ///@brief ?????????????????????? typedef struct tagCFG_EQUALIZER_EACH_FREQUENCY { int nMinFrequency; // ??????????????????HZ?????????0 int nMaxFrequency; // ???????????????????HZ?????????20K int nGain; // ?????????????? } CFG_EQUALIZER_EACH_FREQUENCY; ///@brief ????????????????????????????? typedef struct tagCFG_EQUALIZER_INFO { int nAudioOutChn; // ?????????????????????16 int nFrequencyCount; // ????????? CFG_EQUALIZER_EACH_FREQUENCY stuFrequency[MAX_FREQUENCY_COUNT]; // ????????????????????????????? } CFG_EQUALIZER_INFO; ///@brief ????????????????(???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; ///@brief ?????????????????????????? typedef struct tagCFG_SUPPRESSION_INFO { int nAudioOutChn; // ????????????????????16 BOOL bAutoFrequencyControl; // ????????? BOOL bAutoEchoCancellation; // ??????????? } CFG_SUPPRESSION_INFO; ///@brief ??????????????(???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; ///@brief ??????????????????????????? typedef struct tagCFG_IN_CONTROL_EACH_AUDIO { int nAudioInChn; // ????????????????????? ?32 BOOL bPower; // ??????? BOOL bSquishSuppression; // ????????? } CFG_IN_CONTROL_EACH_AUDIO; ///@brief ??????????????(???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; ///@brief ?????????????(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; #define MAX_CAN_COUNT 16 // ???CAN???? ///@brief 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; ///@brief can??????? 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; ///@brief CAN??????? typedef struct tagCFG_CANFILTER_LIST { int nCANCount; // CAN???? int nRetCANCount; // ?????CAN???? CFG_CANFILTER_INFO stuCANFilter[MAX_CAN_COUNT]; }CFG_CANFILTER_LIST; ///@brief ???????????? 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; ///@brief ???????????????? 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; ///@brief ?????????????????? typedef struct tagCFG_VIDEO_IN_FOCUS { int nChannelIndex; // ????? int nVideoInFocusRealNum; // ?????????? CFG_VIDEO_IN_FOCUS_UNIT stVideoInFocusUnit[MAX_VIDEO_IN_FOCUS]; //??????????????? } CFG_VIDEO_IN_FOCUS; ///@brief ?????? typedef enum tagEM_ANALYSE_MODE { EM_ANALYSE_MODE_REAL_STREAM, // ?????? EM_ANALYSE_MODE_RECORDFILE_STREAM, // ?????????? EM_ANALYSE_MODE_PICFILE_STREAM, // ????????? }EM_ANALYSE_MODE; ///@brief ????????? typedef struct tagCFG_ANALYSE_MODE { EM_ANALYSE_MODE emMode; // ???????????EM_ANALYSE_MODE }CFG_ANALYSE_MODE; ///@brief ???????????? typedef struct tagPTZ_PRESET { BOOL bEnable; // ??????????? char szName[MAX_PTZ_PRESET_NAME_LEN]; // ???????? CFG_PTZ_SPACE_UNIT stPosition; // ?????????????? }PTZ_PRESET; ///@brief ??????????????? typedef struct tagPTZ_PRESET_INFO { DWORD dwMaxPtzPresetNum; // ?????????? DWORD dwRetPtzPresetNum; // ????????????? PTZ_PRESET *pstPtzPreset; // ???????(?????????????????) }PTZ_PRESET_INFO; ///@brief ?????????????????? typedef struct tagCFG_AUDIO_SPIRIT_CHANNE { int nChannel; // ???????????????????? int nPriority; // ?????????????, 1~10 int nPreset; // ???????????????????, ????????0~255 } CFG_AUDIO_SPIRIT_CHANNEL; ///@brief ?????????????? typedef struct tagCFG_AUDIO_SPIRIT_LINKAGE { int nOutputNum; // ????????????? int nOutputChanel[CFG_MAX_LOWER_MATRIX_OUTPUT]; // ????????????(???)????????? } CFG_AUDIO_SPIRIT_LINKAGE; ///@brief ???????? 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; ///@brief ???????????????????????? 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; ///@brief ??????????????????? 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; ///@brief ?????????????? typedef struct tagCFG_AUDIO_MATRIX { int nAudioMatrix; // ???/???????????????????????4?? CFG_AUDIO_MATRIX_INFO stuAudioMatrix[CFG_MAX_AUDIO_MATRIX_NUM]; // ??????????????? } CFG_AUDIO_MATRIX; ///@brief ??????????????????????????? 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; ///@brief ??????????????? 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; ///@brief ??????????(???CFG_CMD_COMPOSE_CHANNEL) typedef struct tagCFG_COMPOSE_CHANNEL { CFG_SPLITMODE emSplitMode; // ????? int nChannelCombination[MAX_VIDEO_CHANNEL_NUM]; // ???????????????????? int nChannelCount; // ????????? } CFG_COMPOSE_CHANNEL; ///@brief ????????????? 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; ///@brief ????????? typedef struct tagCFG_LOWER_MATRIX_INFO { int nOutputCount; // ???????? CFG_LOWER_MATRIX_OUTPUT stuOutputs[CFG_MAX_LOWER_MATRIX_OUTPUT]; // ?????????? } CFG_LOWER_MATRIX_INFO; ///@brief ?????????? typedef struct tagCFG_LOWER_MATRIX_LIST { int nMatrixCount; // ?????????? CFG_LOWER_MATRIX_INFO stuMatrix[CFG_MAX_LOWER_MATRIX_NUM]; // ?????????? } CFG_LOWER_MATRIX_LIST; ///@brief ???????????? typedef struct tagCFG_DAYTIME_INFO { int nBeginMonth; // ?????? ?? int nBeginDay; // ?????? ???? int nEndMonth; // ??????? ?? int nEndDay; // ??????? ???? }CFG_DAYTIME_INFO; ///@brief ????????????? 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; ///@brief ????????????? typedef struct tagCFG_TIMESPEEDLIMIT_LIST { int nTimeSpeedLimitCount; // ?????????? CFG_TIMESPEEDLIMIT_INFO stuTimeSpeedLimit[MAX_TIMESPEEDLIMIT_NUM]; }CFG_TIMESPEEDLIMIT_LIST; ///@brief ?????????? typedef struct tagCFG_ALERTTIME_INFO { int nHour; // ? int nMinute; // ???? }CFG_ALERTTIME_INFO; ///@brief ??????????? typedef struct tagCFG_VOICEALERT_INFO { CFG_ALERTTIME_INFO stuAlertTime; // ??????????????????? int nIntervalTime; // ????????????? char szWarnText[CFG_COMMON_STRING_256]; // ????????????????????? }CFG_VOICEALERT_INFO; ///@brief ??????????? typedef struct tagCFG_VOICEALERT_LIST { int nVoiceAlertCount; // ??????????? CFG_VOICEALERT_INFO stuVoiceAlert[MAX_VOICEALERT_NUM]; }CFG_VOICEALERT_LIST; ///@brief ???????? typedef struct tagCFG_INFRARED_KEY { char szName[CFG_COMMON_STRING_32]; // ???????? char szText[CFG_COMMON_STRING_64]; // ???????????????label } CFG_INFRARED_KEY; ///@brief ?????????? 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; ///@brief ???????????? 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; ///@brief ??????? 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; ///@brief ????????? typedef struct tagCFG_INFRARED_BOARD_GROUP { int nBoardNum; // ??????????? CFG_INFRARED_BOARD stuBoards[CFG_MAX_INFRARED_BOARD_NUM]; // ?????????? } CFG_INFRARED_BOARD_GROUP; ///@brief ????????? typedef struct tagCFG_DEVICEKEEPALIVE_INFO { BOOL bEnable; // ??????????? int nInterval; // ?????????????????>=10??????????? int nFailTimes; // ???????????????????????????????????? int nWaitBootTime; // ???????????????????????????????? }CFG_DEVICEKEEPALIVE_INFO; ///@brief ?????????????? 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; // ?????????????, ?M??????, [0.1~80ms] CFG_RECT stuBacklightRegion; // ?????????? BYTE byIrisMin; // ???????????[0~100] BYTE byIrisMax; // ???????????,??????byIrisMin[0~100] BYTE byGainMin; // ???(????)??????? BYTE byGainMax; // ???(????)??????? }CFG_VIDEOIN_EXPOSURE_BASE; ///@brief ???????? 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 // ?????????????? ///@brief ?????? 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; ///@brief ???????????????????Backlight??? typedef enum tagEM_BACKLIGHT_MODE { EM_BACKLIGHT_UNKONW, // ??? EM_BACKLIGHT_DEFAULT, // ????? EM_BACKLIGHT_REGION, // ??????????? } EM_BACKLIGHT_MODE; ///@brief SSA?????????,?????????SSA??? typedef enum tagEM_INTENSITY_MODE { EM_INTENSITY_UNKNOW, // ??? EM_INTENSITY_DISABLE, // ??? EM_INTENSITY_AUTO, // ??? EM_INTENSITY_MANUAL, // ??? } EM_INTENSITY_MODE; ///@brief ??????????????? 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; ///@brief ???????????? typedef struct tagCFG_VIDEOIN_BACKLIGHT_INFO { // ???????????????,0-????1-??? 2-??? CFG_VIDEOIN_BACKLIGHT_BASE stuVideoInBackLight[BACKLIGHT_CONFIG_COUNT]; } CFG_VIDEOIN_BACKLIGHT_INFO; ///@brief //////////////////////////////////////////////////////////////////////// ///@brief ??????????? ///@brief ???????? 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_FACEIDCARD_OR_CARD_OR_FINGERPRINT_OR_FACE_OR_PASSWORD = 43, // ??????????????????????? CFG_DOOR_OPEN_METHOD_MULTI_USER_TYPE = 44, // ????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_HEALTHCODE = 45, // ???????? CFG_DOOR_OPEN_METHOD_IRIS_ONLY = 46, // ???????????? CFG_DOOR_OPEN_METHOD_IRIS_AND_PWD = 47, // ???+?????????? CFG_DOOR_OPEN_METHOD_FACE_AND_IRIS = 48, // ???+????????? CFG_DOOR_OPEN_METHOD_CARD_AND_IRIS = 49, // ??+????????? CFG_DOOR_OPEN_METHOD_IRIS_OR_PWD = 50, // ??????????? CFG_DOOR_OPEN_METHOD_FACE_OR_IRIS = 51, // ??????????? CFG_DOOR_OPEN_METHOD_CARD_OR_IRIS = 52, // ??????????? CFG_DOOR_OPEN_METHOD_FACE_AND_IRIS_AND_PWD = 53, // ???+???+?????????? CFG_DOOR_OPEN_METHOD_CARD_AND_FACE_AND_IRIS = 54, // ??+???+????????? CFG_DOOR_OPEN_METHOD_CARD_AND_IRIS_AND_PWD = 55, // ??+???+?????????? CFG_DOOR_OPEN_METHOD_FACE_OR_IRIS_PWD = 56, // ??????????????? CFG_DOOR_OPEN_METHOD_CARD_OR_FACE_IRIS = 57, // ??????????????? CFG_DOOR_OPEN_METHOD_CARD_OR_IRIS_PWD = 58, // ??????????????? CFG_DOOR_OPEN_METHOD_CARD_AND_FACE_IRIS_PWD = 59, // ??+???+???+?????????? CFG_DOOR_OPEN_METHOD_CARD_OR_FACE_OR_IRIS_PWD = 60, // ??????????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_CARD = 61, // ???????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_OWD = 62, // ????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_FINGERPRINT = 63, // ???????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_CARD_OR_PWD = 64, // ?????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_FINGERPRINT_OR_PWD = 65, //?????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_FINGERPRINT_OR_FACE = 66, //????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_CARD_OR_FINGERPRINT_OR_PWD = 67, // ??????????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_CARD_OR_FINGERPRINT_OR_FACE = 68, // ?????????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_PWD_OR_FINGERPRINT_OR_FACE = 69, // ?????????????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_CARD = 70, // (???+??????)????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_PWD = 71, // (???+??????)?????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_FINGERPRINT = 72, // (???+??????)????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_FACE = 73, // (???+??????)????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_CARD_OR_PWD = 74, // (???+??????)??????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_FINGERPRINT_OR_PWD = 75, // (???+??????)??????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_FINGERPRINT_OR_FACE = 76, // (???+??????)?????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_CARD_OR_FINGERPRINT_OR_PWD = 77, // (???+??????)??????????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_CARD_OR_FINGERPRINT_OR_FACE = 78, // (???+??????)??????????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_PWD_OR_FINGERPRINT_OR_FACE = 79, // (???+??????)??????????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_PWD_OR_FINGERPRINT_OR_CARD_OR_FACE = 80, // (???+??????)?????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_PWD_OR_CARD_OR_FACE = 81, // ?????????????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_PWD_AND_CARD_AND_FACE = 82, // (???+???)?????????????? CFG_DOOR_OPEN_METHOD_FACEIDCARD_OR_PWD_OR_FACE = 83, // ????????????? CFG_DOOR_OPEN_METHOD_FACEIPCARDANDIDCARD_AND_FACEIDCARD_OR_PWD_OR_FACE = 84, // (???+??????)????? CFG_DOOR_OPEN_METHOD_MULTI_COMBINATIONS = 85, // ???????? CFG_DOOR_OPEN_METHOD_BLUETOOTHCARD = 86, // ?????????? CFG_DOOR_OPEN_METHOD_CARD_OR_BLUETOOTHCARD = 87, // ?????????????? CFG_DOOR_OPEN_METHOD_FINGERPRINT_OR_BLUETOOTHCARD = 88, // ??????????????? CFG_DOOR_OPEN_METHOD_PWD_OR_BLUETOOTHCARD = 89, // ??????????????? CFG_DOOR_OPEN_METHOD_CARD_OR_FINGERPRINT_OR_BLUETOOTHCARD = 90, // ??????????????????? CFG_DOOR_OPEN_METHOD_CARD_OR_PWD_OR_BLUETOOTHCARD = 91, // ??????????????????? CFG_DOOR_OPEN_METHOD_FINGERPRINT_OR_PWD_OR_BLUETOOTHCARD = 92, // ???????????????????? CFG_DOOR_OPEN_METHOD_CARD_OR_FINGERPRINT_OR_PWD_OR_BLUETOOTHCARD = 93, // ???????????????????????? }CFG_DOOR_OPEN_METHOD; ///@brief ???????????????? 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 8 // ??????????????????? ///@brief ?????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 // ??????????? ///@brief ?????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; ///@brief ????? 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; ///@brief ?????????? 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; ///@brief ????????????????? 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; ///@brief ?????? 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; ///@brief ?????? 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; ///@brief ??????? typedef enum tagEM_GATE_TYPE { EM_ASG_GATE_TYPE_UNKNOWN = -1, // ? EM_ASG_GATE_TYPE_SWING_GATE_ONE, // ???1 EM_ASG_GATE_TYPE_SWING_GATE_TWO, // ???2 EM_ASG_GATE_TYPE_WING_GATE_ONE, // ???1 EM_ASG_GATE_TYPE_WING_GATE_TWO, // ???2 EM_ASG_GATE_TYPE_WING_GATE_THREE, // ???3 EM_ASG_GATE_TYPE_THREE_STICK_GATE_ONE = 10, // ?????1 EM_ASG_GATE_TYPE_THREE_STICK_GATE_TWO, // ?????2 EM_ASG_GATE_TYPE_SWING_GATE_THREE = 20, // ???3 EM_ASG_GATE_TYPE_SWING_GATE_FOUR, // ???4 EM_ASG_GATE_TYPE_SWING_GATE_FIVE, // ???5 } EM_GATE_TYPE; ///@brief ??????? 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_1200, // 1200mm EM_CHANNEL_WIDTH_1300, // 1300mm EM_CHANNEL_WIDTH_1400, // 1400mm EM_CHANNEL_WIDTH_1500, // 1500mm } EM_CHANNEL_WIDTH; ///@brief ???????????????? 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; // ??????? UINT nSecondOpenTimeSection; // bSecondOpenEnable????????AccessTimeSchedule ???????? UINT nMemoryModeTimeSection; // bMemoryModeEnable????????AccessTimeSchedule ???????? UINT nWorkModeTimeSection; // emWorkMode????????AccessTimeSchedule ???????? BOOL bClearPassNum; // ?????????????? BYTE byReserved[112]; // ??????? } CFG_ACCESS_CONTROL_ASG; ///@brief ????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_NO_VOICE, // ?????? CFG_EM_VOICE_ID_WELCOME_HOME, // ?????? CFG_EM_VOICE_ID_GOOD_JOURNEY, // ???? CFG_EM_VOICE_ID_WELCOME_BACK_NEXT, // ???????? CFG_EM_VOICE_ID_THANKS_FOR_PATRONAGE, // ݧ??? CFG_EM_VOICE_ID_AUTHORIZ_SUCCESS, // ?????? CFG_EM_VOICE_ID_SAFE_JOURNEY, // ???? CFG_EM_VOICE_ID_CUSTOMIZED_VOICE2, // ?????2 CFG_EM_VOICE_ID_CUSTOMIZED_VOICE3, // ?????3 }CFG_EM_VOICE_ID; ///@brief ??????????????? typedef enum tagCFG_EM_ASG_VOICE_DIRECTION { CFG_EM_ASG_VOICE_DIRECTION_UNKNOWN, // ? CFG_EM_ASG_VOICE_DIRECTION_ENTER, // ???? CFG_EM_ASG_VOICE_DIRECTION_LEAVE, // ?? }CFG_EM_ASG_VOICE_DIRECTION; ///@brief ?????????????? typedef struct tagCFG_ACCESS_VOICE_INFO { CFG_EM_VOICE_ID emVoiceID; // ????ID char szVoiceContent[128]; // ???????? char szFileName[128]; // ??????????????? CFG_EM_ASG_VOICE_DIRECTION emAsgVoiceDirection; // ??????????????? BYTE byReserved[1020]; // ?????? }CFG_ACCESS_VOICE_INFO; ///@brief ???????????? 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; ///@brief ??????? typedef enum tagEM_ACCESS_SENSOR_TYPE { EM_ACCESS_SENSOR_TYPE_UNKNOWN = -1, // ? EM_ACCESS_SENSOR_TYPE_NO, // ???? EM_ACCESS_SENSOR_TYPE_NC, // ???? } EM_ACCESS_SENSOR_TYPE; ///@brief ??????????? 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; // ????I????,??:??, ????:5????[1-15] BYTE arrFloorPermission[64]; // ???????????????bit?????????bit?1?????????0????????? int nFloorPermission; // arrFloorPermission ??????? CFG_ACCESS_CONTROL_ASG stuAccessControlASG; // ???????????????? CFG_ACCESS_VOICE stuAccessVoice; // ???????????? EM_ACCESS_SENSOR_TYPE emSensorType; // ??????? UINT nFloorOffset; // ?????????0~15 BOOL bButtonExitEnable; // ????????? BOOL bCustomMethodEnable; // ????????????????? int nMethod; //-1:? //0: ??????????? //1: ???????????? //2: ???????????? //3: ????????????? //4: ???????????????? //5: ???????????? //6: ????????????????? //7: ????+???+????????? //8: ????+????????? //9: ???+????????? BOOL bCheckSensorBeforeLock; // ???????????????? BOOL bUnlockRecordUpload; // ????????????? UINT nCheckSensorTime; // ???????? char szSendCardPassword[64]; // ???????? BOOL bRecordEnable; // ?????? BOOL bCallLiftEnable; // ??????? char szCallLiftType[32]; //??????????? BOOL bSnapshotUpload; //???????? BOOL bAutoSnapshot; //????????????? char szOpenDoorCommand[32]; //Dtmf ???????? char szOpenDoorSecondCommand[32]; //Dtmf ????????????? int nAccessProtocol; //????? 0:? 1 :?????????????? 2:?????(??????) 3:???udp???? 4:????? int nAccessProtocolSecond; // 0:? 1 :???????? 2:485?????? UINT nEntranceLockChannel; // ?????????????????nAccessProtocol?2?? int nUnlockRecordTypeNum; // ??????????? int nUnlockRecordType[32]; // ??????? 0??? 1:Password 2:Button 3:FgerPrint 4:QRCode 5:Card 6:Remote 7:BlueTooth 8:Fce 9:DTMF 10:QRCodeEx 11:CustomPassword char szICKeyValue[2][32]; // ??????? int nICKeyValueNum; // ??????? BOOL bICKeyEnable; // ????IC??????????? char szReserved[700]; // ??????? }CFG_ACCESS_GENERAL_INFO; ///@brief ????? typedef enum CFG_ACCESS_STATE { ACCESS_STATE_NORMAL, // ??? ACCESS_STATE_CLOSEALWAYS, // ???? ACCESS_STATE_OPENALWAYS, // ???? // ????????????,Opendoor??????. ACCESS_STATE_NOPERSONNC, // ?????????? ACCESS_STATE_NOPERSONNO // ?????????? }CFG_ACCESS_STATE; ///@brief ????? typedef enum CFG_ACCESS_MODE { ACCESS_MODE_HANDPROTECTED, // ?????? ACCESS_MODE_SAFEROOM, // ?????????? ACCESS_MODE_OTHER, // ???? }CFG_ACCESS_MODE; ///@brief ??????? 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 // ?????????????????? ///@brief ???????????????????? typedef enum CFG_ACCESS_FIRSTENTER_STATUS { ACCESS_FIRSTENTER_STATUS_UNKNOWN, // ??? ACCESS_FIRSTENTER_STATUS_KEEPOPEN, // KeepOpen-?????????????????????? ACCESS_FIRSTENTER_STATUS_NORMAL // Normal-????????????????????????????(?????)?????? }CFG_ACCESS_FIRSTENTER_STATUS; ///@brief ?????????? typedef struct tagCFG_ACCESS_FIRSTENTER_INFO { BOOL bEnable; // ??????????,????????????????????????????????????????(?????)????TRUE ??? FALSE ??? CFG_ACCESS_FIRSTENTER_STATUS emStatus; // ???????????????????? int nTimeIndex; // ???????????????, ??????? }CFG_ACCESS_FIRSTENTER_INFO; ///@brief ??????????????????? CFG_ACCESS_FIRSTENTER_INFO ?????????????? typedef struct tagCFG_ACCESS_FIRSTENTER_INFO_EX { UINT nHolidayScheduleID; // ?????????,???????????????? char szReserved[124]; // ?????? }CFG_ACCESS_FIRSTENTER_INFO_EX; ///@brief ????????? typedef struct tagCFG_REMOTE_DETAIL_INFO { int nTimeOut; // ??????, 0?????????, ??????????????(?????) BOOL bTimeOutDoorStatus; // ??????????, TRUE:??, FALSE:??? }CFG_REMOTE_DETAIL_INFO; ///@brief TimeOut info for handicap typedef struct tagCFG_HANDICAP_TIMEOUT_INFO { int nUnlockHoldInterval; // ???????????(??????????),??????,[250, 60000] int nCloseTimeout; // ?????????, ??????????????????????,[0,9999];0????????? }CFG_HANDICAP_TIMEOUT_INFO; ///@brief ?????????? typedef struct tagCFG_AUTO_REMOTE_CHECK_INFO { BOOL bEnable; // ?????, TRUE: ????, FALSE: ??? int nTimeSechdule; // ???CFG_CMD_ACCESSTIMESCHEDULE?????????? }CFG_AUTO_REMOTE_CHECK_INFO; ///@brief ????????????? typedef struct tagCFG_AUTO_REMOTE_CHECK_INFO_EX { UINT nHolidayScheduleID; // ????????????, ????????????????, ??AccessHolidaySchedule???? char szResvered[60]; // ??????? }CFG_AUTO_REMOTE_CHECK_INFO_EX; ///@brief ????? 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; ///@brief ??????????????? 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; ///@brief ???udp??????? typedef struct tagCFG_ACCESS_CONTROL_UDP_INFO { char szAddress[CFG_MAX_ACCESS_CONTROL_ADDRESS_LEN]; // ??? int nPort; // ??? }CFG_ACCESS_CONTROL_UDP_INFO; ///@brief ????????? 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; ///@brief ?????????? 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; bool abSpecialDaysOpenAlwaysTime; // ??????SpecialDaysOpenAlwaysTime??? bool abSpecialDaysCloseAlwaysTime; // ??????SpecialDaysCloseAlwaysTime??? CFG_DOOR_OPEN_METHOD emDoorOpenMethod; // ?????? int nUnlockHoldInterval; // ????NC/NO?????????? ?????? ???[200, 20000]???[200, 600000] 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??????, ????????????, ?څ???????????, ?????????????????? 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; // ??????? UINT nSpecialDaysOpenAlwaysTime; // ??????????????,??SpecialDaysSchedule???? UINT nSpecialDaysCloseAlwaysTime; // ??????????????,??SpecialDaysSchedule???? UINT nSensorType; // ???????, 0: ?, 1: ?????????, 2: ????????? CFG_AUTO_REMOTE_CHECK_INFO_EX stuAutoRemoteCheckEx; // ??????????????? BOOL bIsSpecialDaysAuthenticationTimeValid; // ??????????????????????? UINT nSpecialDaysAuthenticationTime; // ??????????????????,??SpecialDaysSchedule????.??????????????????????????????????????????????? BOOL bIsOpenDoorGroupTimeOutValid; // ????????????????????? UINT nOpenDoorGroupTimeOut; // ???????????????????????????????????????[10-60]?????20 CFG_ACCESS_FIRSTENTER_INFO_EX stuFirstEnterInfoEx; // ??????????(???)????stuFirstEnterInfo??????? BOOL bIsDoorNotClosedReaderAlarmTypeValid; // ????????????????????????????????? UINT nDoorNotClosedReaderAlarmType; // ???????????????????????????? ,0 : ????????????????څ??????????????????,1 : ????????????????????????????? char szResvered[872]; // ??????? }CFG_ACCESS_EVENT_INFO; ///@brief ???????????????????????????????????? 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]; // ????????? int nTimeScheduleConsumptionTimes[7][4]; // ??????????????? // ???????7???????????7????8???????????? // 7???????????????????????????????????????? // ????????????6?????? // ???????7*4?????????stuTime???????? int nConsumptionStrategyNums; // ??????????? char szConsumptionStrategy[42][34]; // ???????,??????6???????6??????????, ???7?? // ????????"???? ?:??:??-?:??:?? ???????? ????????? ????????" // ?????0??????????????6?????????0??????????6????????????????????... ???42????? // ?????????????0??????????1???????????????????????????200?????????????999900???????9999? }CFG_ACCESS_TIMESCHEDULE_INFO; ///@brief ???????????????????? ??????? ??????????????? typedef struct tagCFG_ACCESS_DOORSTATUS_INFO { int nDoorStatus[WEEK_DAY_NUM][MAX_DOOR_TIME_SECTION]; // ?????? 0?????????????? 1???????? 2???????? }CFG_ACCESS_DOORSTATUS_INFO; ///@brief //////////////////////////////////////////////////////////////////////// ///@brief ???????????????? ///@brief ?????????????? typedef enum EM_CFG_DAY3GFLUXTACTIC { EM_CFG_DAY3GFLUXTACTIC_BYFLUX = 0, // ?????? EM_CFG_DAY3GFLUXTACTIC_BYTIME, // ????? }EM_CFG_DAY3GFLUXTACTIC; ///@brief ????????????? typedef enum EM_CFG_APN { EM_CFG_APN_CTNET = 0, // ?????? EM_CFG_APN_CMNET, // ????? EM_CFG_APN_UNINET, // ????? }EM_CFG_APN; ///@brief ???????????? typedef enum EM_CFG_DAY3GFLUXACTION { EM_CFG_DAY3GFLUXACTION_NOTHING = 0, // ????? EM_CFG_DAY3GFLUXACTION_3GNETDOWN, // 3G???? }EM_CFG_DAY3GFLUXACTION; ///@brief ????????? typedef enum tagEM_CFG_3GFLUXTACTIC { EM_3GFLUXTACTIC_UNKNOWN = -1, // ????? EM_3GFLUXTACTIC_BYFLUX, // ???????? EM_3GFLUXTACTIC_BYTIME, // ??????? }EM_CFG_3GFLUXTACTIC; ///@brief ????? typedef enum tagEM_CFG_AUTHMODE { EM_AUTHMODE_NO, // ???????? EM_AUTHMODE_PAP, // PAP??? EM_AUTHMODE_CHAP, // CHAP??? }EM_CFG_AUTHMODE; ///@brief ????????? 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_WORKMODE_TDLTE, // "TD-LTE" EM_WORKMODE_AUTO, // "Auto" }EM_CFG_WORKMODE; ///@brief ???????????????? 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 // ??????????????? ///@brief ?????????? typedef enum emCFG_REPORTWEEKDAY { emReportWeekDay_DoNotReport = -1, // ????? emReportWeekDay_Sunday, // ?????????? emReportWeekDay_Monday, // ?????????? emReportWeekDay_Tuesday, // ?????????? emReportWeekDay_Wednesday, // ??????????? emReportWeekDay_Thursday, // ?????????? emReportWeekDay_Friday, // ????G???? emReportWeekDay_Saturday, // ??????????? emReportWeekDay_Everyday, // ??????? }emCFG_REPORTWEEKDAY; ///@brief ???????????????? typedef struct tagCFG_ALARMSERVER_INFO { BOOL bEnable; // ??? char szProtocol[MAX_PROTOCOL_NAME_LEN]; // ?????? 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; // ?????????? BOOL bMaxBufferSize; // nMaxBufferSize????? UINT nMaxBufferSize; // ?????????????????????????? ??:[0, 2048], 0??????????, ?????????????????? }CFG_ALARMSERVER_INFO; ///@brief ??????????????????? typedef struct tagCFG_MULTISERVER_INFO { char szAddress[128]; // IP??? UINT nPort; // ???? bool abMaxBufferSize; // nMaxBufferSize????? UINT nMaxBufferSize; // ?????????????????????????? ??:[0, 2048], 0??????????, ?????????????????? } CFG_MULTISERVER_INFO; #define MAX_ALARMSERVER_NUM 8 ///@brief ????????????????????????????????? typedef struct tagCFG_ALARMCENTER_INFO { CFG_ALARMSERVER_INFO stuMainServer; // ???????????????????????? int nBackupAlarmServerNum; // ????????????????????? CFG_ALARMSERVER_INFO stuBackupAlarmServer[MAX_ALARMSERVER_NUM]; // ?????????????????????? int nMultiServerNum; // ???????????????? CFG_MULTISERVER_INFO stuMultiServer[3]; // ??????????????????? }CFG_ALARMCENTER_INFO; #define MAX_SCENE_COUNT 8 // ??????????? ///@brief ???? 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; ///@brief ???????? typedef struct tagCFG_SCENE_INFO { emCFG_SCENE_MODE emName; // ???? int nAlarmInChannelsCount; // ??????????? int nRetAlarmInChannelsCount; // ????????????????? int* pnAlarmInChannels; // ?????????????????????????????????,???sizeof(int)*nAlarmInChannelsCount }CFG_SCENE_INFO; ///@brief ????????????, ???????(CFG_CMD_COMMGLOBAL) ///@brief ????????AS5008?, ????bSceneEnable??emCurrentScene, ??????nSceneCount??stuScense[MAX_SCENE_COUNT] ///@brief ???????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 // ????????????? ///@brief ???????????????????? 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????????????, ??0???, -1????? bool abLevel2; // ???nLevel2????????? int nLevel2; // ????????????, ??????????nLevel1??????????????????, ??0??? int nAlamrLimits; // ?????????????? float fAlarmLimits[MAX_ALARM_LIMITS_NUM]; // ??????? int nNotifyInterval; // ????????????, ??: ?? int nAlarmInterval; // ???????????????????, ??: ?? }CFG_ANALOGALARM_INFO; ///@brief ??????? typedef enum tagEM_ALARMOUT_POLE { EM_ALARMOUT_POLE_UNKNOWN, // ? EM_ALARMOUT_POLE_LOW, // ?????? EM_ALARMOUT_POLE_HIGH, // ?????? } EM_ALARMOUT_POLE; ///@brief ???????????????????? 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????????????, ??0???, -1????? bool abLevel2; // ???nLevel2????????? int nLevel2; // ????????????, ??????????nLevel1??????????????????, ??0??? EM_ALARMOUT_POLE emPole; // ??????? }CFG_ALARMOUT_INFO; ///@brief ???????(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; ///@brief NTP?????? typedef struct tagCFG_NTP_SERVER { BOOL bEnable; char szAddress[MAX_ADDRESS_LEN]; // IP??????????? int nPort; // ???? }CFG_NTP_SERVER; ///@brief ???????????????? 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; ///@brief ???????? typedef struct tagCFG_ALARMBELL_INFO { int nPersistentTime; // ??????????????, ??: ????(0-99), 0 ??????????? BOOL bEnable; // ????????????? }CFG_ALARMBELL_INFO; #define MAX_MSG_NUMBER_LEN 32 // ???????????? #define MAX_RECEIVER_NUM 100 // ?????????????????? #define MAX_CALLER_NUM 100 // ?????????????????? ///@brief ???????? typedef enum tagEM_MSG_TYPE { EM_MSG_UNKNOWN = 0, // ????? EM_MSG_SMS, // SMS???? EM_MSG_MMS, // MMS???? }EM_MSG_TYPE; ///@brief ?????????????/???????????? 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; ///@brief ?????? typedef enum tagEM_ACTIVATION_MODE { EM_ACTIVATION_UNKNOWN = 0, // ??? EM_ACTIVATION_NORMAL, // ??wireless??????TimeSection???????? EM_ACTIVATION_AllTIME, // ????? }EM_ACTIVATION_MODE; ///@brief ??????? typedef enum tagEM_RULE_MODE { EM_RULE_UNKNOW = 0, // ????? EM_RULE_UNKNOWN?????? EM_RULE_ONCE, // ????????????????????????????? EM_RULE_ALL, // ????????????????????????????? }EM_RULE_MODE; ///@brief ??????????????????? typedef struct tagCFG_DIAL_INACTIVATION_INFO { BOOL bEnable; // ?????? char szCallerNumbersList[MAX_CALLER_NUM][16]; // ??????????????????????????????????? DWORD dwCallerCount; // ????????????????? EM_ACTIVATION_MODE emActivationMode; // ???????? EM_RULE_MODE emRuleMode; // ????????? BYTE byReserved[256]; // ?????? }CFG_DIAL_INACTIVATION_INFO; ///@brief ????????????? typedef struct tagCFG_MOBILE_INFO { CFG_EVENT_MSG_SENDING_INFO stuEventMsgSending; // ???????????????/????????? CFG_DIAL_INACTIVATION_INFO stuDialInActivation; // ??????????????????? }CFG_MOBILE_INFO; #define MAX_CONTACT_NUM 100 // ??????????? ///@brief ????????????? typedef struct tagCFG_PHONEEVENTNOTIFY_INFO { BOOL bEnable; // ?????? DWORD dwContactCount; // ?????????? char szContactNumbersList[MAX_CONTACT_NUM][MAX_MSG_NUMBER_LEN];// ???????? }CFG_PHONEEVENTNOTIFY_INFO; ///@brief ????????????? typedef 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???? }CFG_EM_SIGNALTRANSMIT_MODE; ///@brief ?????? typedef enum CFG_EM_PSTN_PROTOCOL_TYPE { CFG_EM_PSTN_PROTOCOL_ERROR = 0, // ????? CFG_EM_PSTN_PROTOCOL_CID, // "CID" - Contact ID Protocol }CFG_EM_PSTN_PROTOCOL_TYPE; ///@brief ??????????? 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; ///@brief ??????????? 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; ///@brief ????????????? 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; ///@brief ???????????? typedef struct tagCFG_AUDIO_INPUT_VOLUME { int nAudioInputCount; // ????????????????? char szAudioInputVolume[MAX_AUDIO_INPUT_NUM]; // ????????????????????????????,??[0, 100] }CFG_AUDIO_INPUT_VOLUME; ///@brief ??????????? typedef struct tagCFG_AUDIO_OUTPUT_VOLUME { int nAudioOutputCount; // ???????????????? char szAudioOutputVolume[MAX_AUDIO_OUTPUT_NUM]; // ???????????????????????????,??[0, 100] }CFG_AUDIO_OUTPUT_VOLUME; ///@brief ??????????? typedef struct tagCFG_LIGHT_GLOBAL { int nLightGlobalCount; // ???????? BOOL bLightEnable[MAX_LIGHT_GLOBAL_NUM]; // ????????????? }CFG_LIGHT_GLOBAL; ///@brief ?????????????? typedef struct tagCFG_AUDIO_MIX_VOLUME { int nAudioMixCount; // ??????????????? char szAudioMixVolume[MAX_AUDIO_MIX_NUM]; // ????????????????????????????????,??[0, 100] }CFG_AUDIO_MIX_VOLUME; ///@brief ???????????? typedef struct tagCFG_ALARMKEYBOARD_INFO { BOOL bEnable; // ?????? char szProtocolName[MAX_PROTOCOL_NAME_LEN]; // ?????? int nPort; // ?????????? int nAddress; // ???????????????????????????????????????? CFG_COMM_PROP stuCommAttr; // ???????? }CFG_ALARMKEYBOARD_INFO; ///@brief ?????????????? typedef struct tagCFG_CAP_FILEMANAGER { int nMaxUploadFileSize; // ?????????????, ??: ??? }CFG_CAP_FILEMANAGER; ///@brief ????????????? typedef struct tagCFG_RECORD_LATCH { BOOL bEnable; // ??????????true???????false???????? int nRecordLatchMin; // ????????? int nRecordLatchMax; // ?????????? } CFG_RECORD_LATCH; ///@brief ????????????????? typedef struct tagCFG_ALARMOUT_LATCH { BOOL bEnable; // ??????????true???????false???????? int nAlarmOutLatchMin; // ????????????? int nAlarmOutLatchMax; // ?????????????? } CFG_ALARMOUT_LATCH; ///@brief ???????????? typedef struct tagCFG_DEJITTER_RANGE { BOOL bEnable; // ??????????true???????false???????? int nDejitterMin; // ???????????? int nDejitterMax; // ????????????? } CFG_DEJITTER_RANGE; ///@brief ???????????????? 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???????????????? // bit5???????????????? // bit6???????????????? DWORD nSupportDisableLinkageTimeSection; // ?????????? // bit0????????????? int nSupportDelayUploadSeqFileEventsNum; // ???????????????????????????? char szSupportDelayUploadSeqFileEvents[32][32]; // ???????????????????????????? char szResvered[1024]; // ??????? }CFG_CAP_EVENTMANAGER_INFO; ///@brief ??????????? typedef struct tagCFG_POWERFAULT_ONE { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? int nDetectionPeriod; // ????????????? ???? BOOL bEncodeBlend; // ??????OSD??????? CFG_RECT stuPosition; // ?? }CFG_POWERFAULT_ONE; ///@brief ??????????? typedef struct tagCFG_POWERFAULT_INFO { int nPowerCount; // ??????? CFG_POWERFAULT_ONE stuPowerFault[MAX_POWER_NUM]; // ???????? }CFG_POWERFAULT_INFO; ///@brief ???????????(?????)???? typedef struct tagCFG_CHASSISINTRUSION_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_CHASSISINTRUSION_INFO; ///@brief ??????????? typedef struct tagCFG_URGENCY_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_URGENCY_INFO; /************************************************************************ ** ?????????? ***********************************************************************/ ///@brief ?????l?????????? typedef struct tagCFG_EXALARMINPUT_INFO { CFG_ALARMIN_INFO stuAlarmIn; // ???????????????? CFG_ALARMIN_INFO }CFG_EXALARMINPUT_INFO; ///@brief ?????l????????? typedef struct tagCFG_EXALARMOUTPUT_INFO { char szChnName[MAX_CHANNELNAME_LEN]; // ??????????? int nOutputMode; // ?????, 0-???????, 1-??????, 2-?????? }CFG_EXALARMOUTPUT_INFO; ///@brief ?????l???????? typedef struct tagCFG_EXALARMBOX_INFO { BOOL bEnable; // ?????? char szProtocolName[MAX_PROTOCOL_NAME_LEN]; // ?????? int nPort; // ?????????? int nAddress; // ???? CFG_COMM_PROP stuCommAttr; // ???????? }CFG_EXALARMBOX_INFO; ///@brief ??????????????? typedef enum CFG_EM_EXALARM_PROTOCOL_TYPE { CFG_EM_EXALARM_PROTOCOL_ERROR, // ????? CFG_EM_EXALARM_PROTOCOL_DH_ALARMBOX, // DH_AlarmBox ???????? }CFG_EM_EXALARM_PROTOCOL_TYPE; ///@brief ?????l???????? 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; // ?????l???????,???????????,???0??????????????????????????? CFG_EXALARM_SENSE_METHOD stuExAlarmChannel[MAX_EXALARM_CHANNEL_NUM]; // ??????????? int nProtocolNum; // ?????????? CFG_EM_EXALARM_PROTOCOL_TYPE emProtocolType[MAX_EXALARMBOX_PROTOCOL_NUM]; // ?????????l?????????????? }CAP_EXALARM_INFO; ///@brief ?????l?????????? typedef struct tagCFG_CAP_EXALARMBOX_INFO { int nAlarmInCount; // ????????????????? int nAlarmOutCount; // ????????????????? }CFG_CAP_EXALARMBOX_INFO; ///@brief ?????????????????? typedef struct tagCFG_CAP_RECORDFINDER_INFO { int nMaxPageSize; // ????????? BOOL bSupportRealUTC; // ???????????????UTC????????????? }CFG_CAP_RECORDFINDER_INFO; ///@brief ?????????? ==>CFG_CMD_SENSORSAMPLING typedef struct tagCFG_SENSORSAMPLING_INFO { int nDetectionPeriod; // ???????, ????????????????????????? int nStorageItem; // ??????, ????????????????????????????????0~5000?? }CFG_SENSORSAMPLING_INFO; ///@brief ???? ==>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) // ??????????? ///@brief ???????? typedef struct tagCFG_ALARM_SUBSYSTEM_MSG_HANDLE { BOOL bAlarmOutEnable; // ?????????? BOOL bAlarmBellEnable; // ?????????? int nAlarmOutChannelNum; // ??????????????? int nAlarmOutChannels[256]; // ?????????????? }CFG_ALARM_SUBSYSTEM_MSG_HANDLE; ///@brief ???????????? ==>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; // ???????? BOOL bEnable; // ??????????? }CFG_ALARM_SUBSYSTEM_INFO; ///@brief ?????????? typedef enum tagEM_BATTERY_POWER_ALARM_MODE { EM_BATTERY_POWER_ALARM_MODE_UNKNOWN = -1, // ? EM_BATTERY_POWER_ALARM_MODE_MANUAL, // ??? EM_BATTERY_POWER_ALARM_MODE_AUTO, // ??? }EM_BATTERY_POWER_ALARM_MODE; ///@brief ??????????? ==>CFG_CMD_BATTERY_LOW_POWER typedef struct tagCFG_BATTERY_LOW_POWER_INFO { BOOL bEnable; // ??? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? EM_BATTERY_POWER_ALARM_MODE emMode; // ?????????? int nPressure; // ???????? ??????? ?????? int nPercent; // ?????????????????????????????????? int nLowSetNum; // ??????????? int nLowSet[8]; // ????Percent???????????????????50??????, ????30???????????10?????????????? int nNotifyTimes; // ???????????, ???1 }CFG_BATTERY_LOW_POWER_INFO; ///@brief ????????????????? ==>CFG_CMD_SNAPLINKAGE typedef struct tagCFG_SNAPLINKAGE_INFO { int nChannelNum; // ??????????????????????? int anAnalogAlarm[DH_MAX_ZONE_NUM]; // ???????????????????? }CFG_SNAPLINKAGE_INFO; ///@brief ??????????? 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; ///@brief ?????????? typedef struct tagCFG_HEALTHREPORT_INFO { BOOL bEnable; // ??? int nInterval; // ?????????,?????,????0~3600 }CFG_HEALTHREPORT_INFO; ///@brief ??????????? ==>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 // ?????????????? ///@brief ??????????????? 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 // ??????? ///@brief ???????????????-???????????? typedef struct tagCFG_DEVCOMM_SUBSCRIBE_INFO { int nReadCycle; // ?????????,??: ?? }CFG_DEVCOMM_SUBSCRIBE_INFO; ///@brief ??????????????? typedef struct tagCFG_DEVCOMM_SUBSCRIBE { int nSubscribeInfoNum; // ??????????????? CFG_DEVCOMM_SUBSCRIBE_INFO stuSubscribeInfo[MAX_DEVCOMM_NUM]; // ??????????????????????????????????????? }CFG_DEVCOMM_SUBSCRIBE; ///@brief ?????????????? 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; ///@brief ?????? 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 ///@brief ?????????????? 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; ///@brief ????????? 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; ///@brief ???????? 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; ///@brief ?????? typedef struct tagCFG_COMMADDR_INFO { int nAddressNum; // ?????????? int nAddress[MAX_ADDRESS_NUM]; // ???????,?????????????????????? }CFG_COMMADDR_INFO; ///@brief ???????????? 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; ///@brief ????????(???CFG_CMD_AIRCONDITION????) typedef struct tagCFG_AIRCONDITION_INFO { int nAirConditionNum; // ???????? CFG_AIRCONDITION_DETAIL stuAirConditions[MAX_AIRCONDITION_NUM]; // ????????????, ?????? }CFG_AIRCONDITION_INFO; ///@brief ???????? typedef enum tagEM_LIGHT_TYPE { EM_LIGHT_TYPE_UNKNOWN, // ????? EM_LIGHT_TYPE_COMMLIGHT, // ?????? EM_LIGHT_TYPE_LEVELLIGHT, // ????? }EM_LIGHT_TYPE; ///@brief ??????????? (??? 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; ///@brief ???????????? (??? 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; ///@brief ????????? typedef enum tagCFG_EM_FRESH_AIR_FAN_RUN_MODE { CFG_EM_FRESH_AIR_FAN_RUN_MODE_UNKNOWN = -1, // ? CFG_EM_FRESH_AIR_FAN_RUN_MODE_SHUT_DOWN, // ??? CFG_EM_FRESH_AIR_FAN_RUN_MODE_VENTILATION, // ???? CFG_EM_FRESH_AIR_FAN_RUN_MODE_AIR_EXHAUST, // ??? CFG_EM_FRESH_AIR_FAN_RUN_MODE_INTELLIGENCE, // ???? CFG_EM_FRESH_AIR_FAN_RUN_MODE_STRONG, // ??? CFG_EM_FRESH_AIR_FAN_RUN_MODE_SAVING_POWER, // ??? }CFG_EM_FRESH_AIR_FAN_RUN_MODE; ///@brief ??????? typedef enum tagCFG_EM_FRESH_AIR_MOTOR_SPEED { CFG_EM_FRESH_AIR_MOTOR_SPEED_UNKNOWN = -1, // ? CFG_EM_FRESH_AIR_MOTOR_SPEED_SHUT_DOWN, // ??? CFG_EM_FRESH_AIR_MOTOR_SPEED_LOW, // ??? CFG_EM_FRESH_AIR_MOTOR_SPEED_MIDDLE, // ?? CFG_EM_FRESH_AIR_MOTOR_SPEED_HIGH, // ??? }CFG_EM_FRESH_AIR_MOTOR_SPEED; ///@brief ????????? (??? 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_EM_FRESH_AIR_FAN_RUN_MODE emRunMode; // ?????????????????? CFG_EM_FRESH_AIR_MOTOR_SPEED emMotorSpeed[2]; // ???????????????????????????????????????????? }CFG_FRESH_AIR_INFO; ///@brief ?????????? (??? 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; ///@brief ?????????? 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; ///@brief ???????? 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 // ????????????????? ///@brief ???????? (??? 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; ///@brief ????????????? typedef struct tagCFG_COMPRESS_PLAY_INFO { BOOL bEnable; // ??? CFG_CAPTURE_SIZE emResolution; // ???????? unsigned int nBitRate; // ???????????(kbps), ????192~1024 }CFG_COMPRESS_PLAY_INFO; ///@brief ?????? 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; ///@brief 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; ///@brief 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; ///@brief ???????(??? CFG_CMD_DIALRULE ????) typedef struct tagCFG_DIALRULE_INFO { BOOL bBuildingModeEnable; //??????? BOOL bUnitModeEnable; //???????? BOOL bExtentionModeEnable; //???????? char cSeperator; //????????, ?? "#", "-" BYTE byReserved[3]; //?????? }CFG_DIALRULE_INFO; ///@brief ???????????? typedef struct tagCFG_OIL_MASS_INFO { int nTankVolume; // ??????????????? int nNotifyIntervalTime; // ????????????????,?????? int nLowOil; // ??????????????(????????20%???),?????????0??100 int nAlarmIntervalTime; // ???????????????????(?????????????????????????),?????? }CFG_OIL_MASS_INFO; ///@brief MAC?????????????? typedef struct tagCFG_MACCONFLICT_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_MACCONFLICT_INFO; ///@brief ???????????(??? CFG_CMD_USERLOCKALARM) typedef struct tagCFG_USERLOCKALARM_INFO { CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_USERLOCKALARM_INFO; ///@brief ?????????????(??? 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; ///@brief ????????????? 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_AUTOPANGROUP, // ????? } EM_CFG_IDLEMOTION_FUNCTION; ///@brief ????????????? 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 int nSecond; // ?????????????????????????0-59??,??????nTime * 60 + nSecond }CFG_IDLE_MOTION_INFO; ///@brief ??????????????? 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; ///@brief PSTN??????????? typedef struct tagCFG_PSTN_BREAK_LINE_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_PSTN_BREAK_LINE_INFO; ///@brief ???????????, ???CFG_CMD_NET_COLLECTION???? typedef struct tagCFG_NET_COLLECTION_INFO { char szIp[MAX_ADDRESS_LEN]; // IP int nPort; // ??? }CFG_NET_COLLECTION_INFO; ///@brief ??????????? 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; ///@brief ????Slot????????????????????, ???CFG_CMD_ALARM_SLOT_BOND???? ///@brief ???????????(?????0)???????????????????????; ///@brief ??????????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 // ??????????? ///@brief ???????????? typedef enum tagEM_CFG_TRAFFICSTROBE_CTRTYPE { EM_CFG_CTRTYPE_UNKNOWN = 0, // ???? EM_CFG_CTRTYPE_TRAFFICTRUSTLIST, // ????????????????????????????????????????? EM_CFG_CTRTYPE_ALLSNAPCAR, // ?????????????????? EM_CFG_CTRTYPE_ORDER, // ??????????????? } EM_CFG_TRAFFICSTROBE_CTRTYPE; ///@brief ??????????? 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; ///@brief ??????????(??? 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]; // ??????????? BOOL bFlowCarEnable; // ??????????? }CFG_TRAFFICSTROBE_INFO; #define CFG_MAX_PLATEENABLE_NUM 16 // ???????????????????? #define CFG_MAX_TRAFFICVOICE_NUM 8 // ?????????????????? ///@brief ???????????????????? typedef enum tagEM_CFG_PLATEENABLE_TYPE { EM_CFG_PLATEENABLE_UNKNOWN = 0, // ???? EM_CFG_PLATEENABLE_TIPS, // ???????? EM_CFG_PLATEENABLE_PLATE, // ??????? } EM_CFG_PLATEENABLE_TYPE; ///@brief ????????????????? 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; ///@brief ??????????????????(??? CFG_CMD_TRAFFICVOICE ????) typedef struct tagCFG_TRAFFICVOICE_BROADCAST { int nTrafficVoiceNum; // ??????????????? CFG_TRAFFICVOICE_BROADCAST_INFO stuTrafficVoices[CFG_MAX_TRAFFICVOICE_NUM]; // ????????????????, ?????? }CFG_TRAFFICVOICE_BROADCAST; ///@brief ?????????? typedef struct tagCFG_STANDING_TIME_INFO { BOOL bEnable; // ????????????????????? int nUpperlimit; // ??????????, ???????? int nInterval; // DH_ALARM_VEHICLE_STANDING_OVER_TIME?????????, ??????, -1?????????????? } CFG_STANDING_TIME_INFO; ///@brief ????????????????? 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 ///@brief ?????????????????? 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; ///@brief ????????????????????? 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; ///@brief ???????????????????? 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; ///@brief ??????????????????????????????? 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; ///@brief ???????????????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; ///@brief ??????????????????? 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; ///@brief ?????? 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; ///@brief ??????????????? typedef enum tagEM_GUIDESCREEN_POS { EM_GUIDESCREEN_POS_UNKNOWN, EM_GUIDESCREEN_POS_LEFT, // ??? EM_GUIDESCREEN_POS_RIGHT, // ??? }EM_GUIDESCREEN_POS; ///@brief ??????????????? typedef enum tagEM_GUIDESCREEN_ROLL { EM_GUIDESCREEN_ROLL_UNKNOWN, EM_GUIDESCREEN_ROLL_DISABLE, // ?????? EM_GUIDESCREEN_ROLL_ENABLE, // ???? }EM_GUIDESCREEN_ROLL; ///@brief ???????????? 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) // ???????????? ///@brief ???????????(??? 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; ///@brief ????????????????????????(???CFG_CMD_PARKING_CARD????) typedef struct tagCFG_PARKING_CARD_INFO { BOOL bEnable; // ??????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_PARKING_CARD_INFO; ///@brief ???????, ??????????????????? 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; ///@brief ???????????????? 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; ///@brief ?????????????????(??? 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; ///@brief ??????????????(??? 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 // ??????????????? ///@brief ???????????????? 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; ///@brief ?????????????????? 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 // ????????????????????? ///@brief ??????????????? 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 // ??????????????????? ///@brief ????????????(??? CFG_CMD_OPEN_DOOR_GROUP ????),??????????????????? ///@brief ??????????????????????????????????? typedef struct tagCFG_OPEN_DOOR_GROUP_INFO { int nGroup; // ??????? CFG_OPEN_DOOR_GROUP stuGroupInfo[CFG_MAX_OPEN_DOOR_GROUP_NUM];// ????????????? int nGroupMaxNum; // ????????????pGroupInfoEx?????????????????????????????,??0?nGroup??stuGroupInfo????? int nGroupRetNum; // ?????????????????????????????????????? CFG_OPEN_DOOR_GROUP* pGroupInfoEx; //?????????????????????????????? char szReserved[2048]; // ??????? }CFG_OPEN_DOOR_GROUP_INFO; #define MAX_READER_ID_LEN 32 // ??????ID???? ///@brief ????????????????? 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 ///@brief ?????????????????????????????????????? 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 // ?????????? ///@brief ???????????????????????(??? 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????????????????? UINT nHolidayScheduleID; // ??????, ????????????? BOOL nClearCFG; // ?????????????????TRUE???????????????????(??????) char szReserved[1016]; // ?????? }CFG_OPEN_DOOR_ROUTE_INFO; #define MAX_BURNPLAN_DEVICES_NUM 32 #define MAX_BURNPLAN_CHANNELS_NUM 32 ///@brief ???????? 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; ///@brief ????? 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; ///@brief ????????? 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 ///@brief ??????????(???CFG_BURNPLAN_INFO) typedef struct tagCFG_BURNPLAN_INFO { int nBurnPlanDetailNum; // ????????????????? CFG_BURNPLAN_DETAIL stuBurnPlanDetail[MAX_BURNPLAN_DETAIL_NUM]; // ??????????? }CFG_BURNPLAN_INFO; ///@brief ?????????? 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; ///@brief ????????? typedef struct tagCFG_VSP_GAYS_CHANNEL_INFO { char szId[CFG_COMMON_STRING_64]; // ?????? ???????24?? int nAlarmLevel; // ????????[1,6] ???? }CFG_VSP_GAYS_CHANNEL_INFO; ///@brief ?????????? typedef struct tagCFG_VSP_GAYS_ALARM_INFO { char szId[CFG_COMMON_STRING_64]; // ?????? ???????24?? int nAlarmLevel; // ????????[1,6] ???? }CFG_VSP_GAYS_ALARM_INFO; ///@brief ?????????????????(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; ///@brief ????????????(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; ///@brief VTS????????(??????? CFG_CMD_VTS_CALL_INFO) typedef struct tagCFG_VTS_CALL_INFO { CFG_TIME_SECTION stuCallEnableTime; // ????????VTS?????? }CFG_VTS_CALL_INFO; ///@brief ?????????????????? 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; ///@brief ???????(??????? 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 // ??????????????????? ///@brief ?????????????????????(??? 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; ///@brief ?????????????(8192?????) typedef struct tagCFG_MASTER_POINT { int nX; int nY; } CFG_MASTER_POINT; ///@brief ?????(???)????????(ptz?????????) typedef struct tagCFG_SLAVE_POINT { float fPositionX; //?????????? float fPositionY; //??????????? float fZoom; } CFG_SLAVE_POINT; ///@brief ??????????????? typedef struct tagCFG_POINT_PAIR { CFG_MASTER_POINT stuMasterPoint; // ?????????,8192????? CFG_SLAVE_POINT stuSlavePoint; // ?????(???)????,PTZ????????? } CFG_POINT_PAIR; ///@brief ??????????????????? 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; ///@brief ????????????????????????(??? 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; ///@brief ???????????(??? 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; ///@brief ??????????? 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; ///@brief ???????????????? typedef struct tagCFG_THERMO_AUTO_GAIN { int nLowToHigh; // ?????????څ?????????????????? int nLHROI; // ???????????????????ROI ????0~100 int nHighToLow; // ???????????څ?????????????????? int nHLROI; // ???????????????????ROI ????0~100 } CFG_THERMO_AUTO_GAIN; ///@brief ???????? typedef struct tagCFG_THERMO_GAIN { int nAgc; // ?????????? [0-255]?????????????????? int nAgcMaxGain; // ?????????? [0-255]?????????????????? int nAgcPlateau; // ??????? ?????????????????? }CFG_THERMO_GAIN; ///@brief ?????????????????????? 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; ///@brief ????????? typedef struct tagCFG_THERMOGRAPHY_INFO { int nModeCount; // ???????????????? CFG_THERMOGRAPHY_OPTION stOptions[16]; // ?????????????? } CFG_THERMOGRAPHY_INFO; ///@brief ????????? 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; ///@brief ??????? 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; ///@brief ??????????????? typedef struct tagCFG_THERMO_FUSION_INFO { unsigned int unMode; // ?????????????,0??????????,1 ??????????? unsigned int unRate; // ????????????????Mode=1???,0~100????????????????? } CFG_THERMO_FUSION_INFO; ///@brief ???????????????????????????? typedef struct tagCFG_LCE_STATE_INFO { unsigned int unLCEValue; // ????????????? ??[0,128] unsigned int unHistGramValue; // ????Y???????????,????????????????????????????,??[0,32] } CFG_LCE_STATE_INFO; ///@brief ????????? 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; ///@brief ????????? typedef enum tagCFG_COMPARE_RESULT { CFG_COMPARE_RESULT_UNKNOWN, CFG_COMPARE_RESULT_BELOW, // ???? CFG_COMPARE_RESULT_MATCH, // ??? CFG_COMPARE_RESULT_ABOVE, // ???? } CFG_COMPARE_RESULT; ///@brief ??????????? 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; ///@brief ??????????????? typedef struct tagRADIOMETRY_LOCALPARAM { BOOL bEnable; // ?????????????? float fObjectEmissivity; // ????????? ?????? 0~1 int nObjectDistance; // ?????? int nRefalectedTemp; // ???????? } CFG_RADIOMETRY_LOCALPARAM; ///@brief ?????????????? 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; ///@brief ??????? 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; ///@brief ?????????? typedef struct tagCFG_RADIOMETRY_RULE_EX { int nBlackBodyTemp; // ??????????????0.1????????????10?????????????38???????????????380????????????39??????????????390?? char byReserved[252]; // ??????? } CFG_RADIOMETRY_RULE_EX; ///@brief ???????????? typedef struct tagCFG_RADIOMETRY_RULE_INFO { int nCount; // ??????? CFG_RADIOMETRY_RULE stRule[512]; // ??????? CFG_RADIOMETRY_RULE_EX stRuleEx[512]; // ???????-???????????? } CFG_RADIOMETRY_RULE_INFO; ///@brief ?????? typedef struct tagCFG_TEMP_STATISTICS { BOOL bEnable; // ??????????? char szName[128]; // ??????????? int nMeterType; // ??????????????? NET_RADIOMETRY_METERTYPE int nPeriod; // ??????????????? } CFG_TEMP_STATISTICS; ///@brief ??????????? typedef struct tagCFG_TEMP_STATISTICS_INFO { int nCount; // ???? CFG_TEMP_STATISTICS stStatistics[64]; // ?????? } CFG_TEMP_STATISTICS_INFO; ///@brief ???? typedef enum tagCFG_TEMPERATURE_UNIT { TEMPERATURE_UNIT_UNKNOWN, TEMPERATURE_UNIT_CENTIGRADE, // ????? TEMPERATURE_UNIT_FAHRENHEIT, // ????? } CFG_TEMPERATURE_UNIT; ///@brief ??????????????? 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; ///@brief ???????? typedef struct tagCFG_NEARLIGHT_INFO { BOOL bEnable; // ???????TRUE????FALSE????? DWORD dwLightPercent; // ???????????(0~100) DWORD dwAnglePercent; // ?????????(0~100) }CFG_NEARLIGHT_INFO; ///@brief ??????? typedef struct tagCFG_FARLIGHT_INFO { BOOL bEnable; // ???????TRUE????FALSE????? DWORD dwLightPercent; // ???????????(0~100) DWORD dwAnglePercent; // ?????????(0~100) }CFG_FARLIGHT_INFO; ///@brief ????? 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_SMARTLIGHT, // ????????(??????) EM_CFG_LIGHTING_MODE_EXCLUSIVEMANUAL, // ???????? EM_CFG_LIGHTING_MODE_FORCEON, // ?????? }EM_CFG_LIGHTING_MODE; #define MAX_LIGHTING_NUM 16 ///@brief ??????????? 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 ///@brief ???????(??? CFG_CMD_LIGHTING ????) typedef struct tagCFG_LIGHTING_INFO { int nLightingDetailNum; // ????????????? CFG_LIGHTING_DETAIL stuLightingDetail[MAX_LIGHTING_DETAIL_NUM]; // ???????????? }CFG_LIGHTING_INFO; ///@brief ?????????(??? CFG_CMD_LIGHTINGSCHEDULE ????)???? CFG_CMD_LIGHTING ??????Mode?Timing??? typedef struct tagCFG_LIGHTINGSCHEDULE_INFO { CFG_TIME_SCHEDULE stuTimeSchedule; // ??????? }CFG_LIGHTINGSCHEDULE_INFO; ///@brief ????????? 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_TOUR, // ???????? }EM_CFG_RAINBRUSHMODE_MODE; ///@brief ?????????? 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; ///@brief ????????????(??? 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 // ????????????????????? ///@brief ??????????????????? typedef struct tagCFG_EMERGENCY_RECORD_CLIENT { char szDevID[CFG_COMMON_STRING_128]; // ???????????????????????????????????mac??????????????????????????? BOOL bEnable; // ??? int nMaxTime; // ??????????????????????????, }CFG_EMERGENCY_RECORD_CLIENT; ///@brief ???????????(??? 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; ///@brief ??????? typedef struct tagCFG_HIGH_FREQUENCY { int nPeriod; // ???????, ???????, ???30????(1800s) int nMaxCount; // ????????????????????????????? }CFG_HIGH_FREQUENCY; ///@brief ???????????(??? 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 // ???????????????????? ///@brief ?????????????, ?????????????????????? typedef struct tagCFG_ANALYSERULE_GROUP { DWORD dwRuleType; // ????????????dhnetsdk.h??"??????????????" int nRuleStructSize; // ???????????????????, parse??????????, packet?????????? BOOL bEnable; // ??? BOOL bEventHandlerEnable; // ???????????, TRUE?????l?????????, ??????????????????????; FALSE???????????????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ?????l?????? CFG_TIME_SCHEDULE stuEventTimeSection; // ?????l?????????? int nRuleNum; // ????????, parse??????????, packet?????????? char* pRuleBuf; // ?????, ?????????????, ???????????? // ????????????????, pRuleBuf???????????CFG_CROSSLINE_INFO int nRuleBufSize; // ??????, ????? }CFG_ANALYSERULE_GROUP; ///@brief ???????????? 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; ///@brief ????????????????, ???????, ?????????????? 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; ///@brief ?????? 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; ///@brief ??????????(??? CFG_CMD_ACCESS_WORK_MODE) typedef struct tagCFG_ACCESS_WORK_MODE_INFO { EM_CFG_ACCESS_WORD_MODE emMode; // ?????? }CFG_ACCESS_WORK_MODE_INFO; ///@brief ?????????????? typedef struct tagCFG_VIDEO_TALK_TIME_LIMIT { int nMaxRingingTime; // ?????????????????????????, 1-600?? int nMaxConnectingTime; // ????????????????????, 1-600???? UINT nMaxLeaveWordTime; // ?????????????,????????????1-600?? } CFG_VIDEO_TALK_TIME_LIMIT; ///@brief ???????? 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 = 3, } EM_CFG_VT_TYPE; ///@brief ??????????????(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; ///@brief ????????? 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 ///@brief ?????????????????? 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; ///@brief ?????????????????? typedef struct tagCFG_SCENE_SNAPSHOT_RULE { int nPresetID; // ????????? int nCount; // ??????? CFG_SNAPSHOT_RULE stRule[32]; // ?????????? } CFG_SCENE_SNAPSHOT_RULE; ///@brief ??????????? 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 // ??????????????????? ///@brief ??????????? typedef struct tagCFG_PTZTOUR_PRESET { int nPresetID; // ?????? int nDuration; // ??????????????, ???? int nSpeed; // ????????????????, 1~10 BOOL bEnable; // ??????????0???????1???? } CFG_PTZTOUR_PRESET; ///@brief ????? 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; ///@brief ???????????? typedef struct tagCFG_PTZTOUR_INFO { int nCount; // ????????? CFG_PTZTOUR_SINGLE stTours[CFG_MAX_PTZTOUR_NUM]; // ?????, ??????????????????? } CFG_PTZTOUR_INFO; ///@brief ???????? 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; ///@brief ??????? 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; // ????????????? BYTE byReserved[4]; // ?????????? BOOL bUseEx; // ????????????????????? char szLoginUsernameEx[CFG_COMMON_STRING_128]; // ???????????????????????????32???????????'\0'?????????????? char szLoginPassWordEx[CFG_COMMON_STRING_128]; // ??????????????????????????32???????????'\0'?????????????? }CFG_VTO_INFO; ///@brief ????????? typedef struct tagCFG_VTO_LIST { int nVTONum; // ???????? CFG_VTO_INFO stuVTOInfos[CFG_MAX_VTO_NUM]; // ??????? }CFG_VTO_LIST; ///@brief ??????????? typedef struct tagCFG_TS_POINT { unsigned int nX; //????[0 - 65535] unsigned int nY; //????[0 - 65535] }CFG_TS_POINT; ///@brief ??????????? typedef struct tagCFG_TSPOINT_INFO { CFG_TS_POINT stDisplay[TS_POINT_NUM]; //???????,????????3???? CFG_TS_POINT stScreen[TS_POINT_NUM]; //???????,????????3???? }CFG_TSPOINT_INFO; ///@brief ????????? 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; ///@brief ?????? 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; ///@brief ???????????? 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; ///@brief 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 = 5, // ???????????? } EM_CFG_GPS_MODE; ///@brief ?????? 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 = 3, // ???????????? } EM_CFG_TRANSFER_PLATFORM; ///@brief ????GPS???? typedef struct tagCFG_GPS_INFO { BOOL bEnable; // ?????? int nSampleInterval; // ??????????, ?????? int nNotifyInterval; // ???????????, ?????? BOOL bSyncTime; // ???GPS????????? EM_CFG_GPS_MODE emCurMode; // ??n??????? 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 ///@brief GPS???? typedef struct tagCFG_GPS_INFO_ALL { int nGps; // GPS???? CFG_GPS_INFO stGps[CFG_GPS_INFO_MAX]; // GPS????, ???GPS??????????? } CFG_GPS_INFO_ALL; ///@brief 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; ///@brief ???????? ///@brief 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; ///@brief ??????? 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; ///@brief ??????? typedef struct tagCFG_SHORTCUT_CALL { char szCallNumber[CFG_COMMON_STRING_64]; // ???? EM_CFG_SHORTCUT_CALL_POSITION_TYPE emPositionType; // ??????? }CFG_SHORTCUT_CALL; ///@brief ???????? typedef struct tagCFG_SHORTCUT_CALL_INFO { int nMaxNum; // ????????????? pShortcutCallInfo ???????????????? CFG_SHORTCUT_CALL* pShortcutCallInfo; // ???????????????????????????? int nValidNum; // ?????????????????sdk???????????????? }CFG_SHORTCUT_CALL_INFO; ///@brief ?????GPSLocation???? typedef struct tagCFG_LOCATION_VER_INFO { unsigned int nVer; // ??? } CFG_LOCATION_VER_INFO; ///@brief ???????????????? 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; ///@brief ??????????? 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; ///@brief ??????? 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 // ??????????????? ///@brief ????????????????? 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 // ???????????????????? ///@brief ????????????? 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; ///@brief ????????????(CFG_CMD_CUSTOM_AUDIO) typedef struct tagCFG_CUSTOM_AUDIO { char szPlateNotInDB[MAX_PATH]; // ????????????????? }CFG_CUSTOM_AUDIO; ///@brief ????????????? typedef struct tagCFG_RADAR_CARSPEED { int nTriggerLower; // ????????? int nTriggerUpper; // ????????? int nLimitLower; // ????????? int nLimitUpper; // ????????? } CFG_RADAR_CARSPEED; ///@brief ??????? 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; ///@brief ????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; ///@brief ???????????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 // ??????????????????? ///@brief ???????????????(??? 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; ///@brief ????????????????????(??? 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; ///@brief ??????????????? 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???? ///@brief ???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; ///@brief ???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???????? ///@brief ???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; ///@brief ???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; ///@brief VTH?????IPC???????, ??? CFG_CMD_VTH_REMOTE_IPC_INFO ///@brief ?????????????????????? 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; ///@brief ?????????????????? typedef struct tagDAYNIGHT_INFO { int nType; // ???????1 - ?????2 - ?????????????????ICR?? int nMode; // ?????????1-????????2-?????????????????3-???????4-???????k5-????????????6-??????????7?C??IO???? int nSensitivity; // ???????????????? 0~7 int nDelay; // ?????????????????3~30?????? } DAYNIGHT_INFO; ///@brief ???????????? typedef struct tagCFG_VIDEOIN_DAYNIGHT_INFO { DAYNIGHT_INFO stuSection[VIDEOIN_TSEC_NUM]; // ??????????????????????????????????? } CFG_VIDEOIN_DAYNIGHT_INFO; ///@brief ????????????????? typedef struct tagCFG_AUDIO_MIX_CHANNEL_INFO { int nChannelNum; // ?????????????? int nCombination[32]; // ???????????? }CFG_AUDIO_MIX_CHANNEL_INFO; ///@brief ???????????????????????(??? 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?????? ///@brief ?????????????????? typedef struct tagCFG_AUDIO_TOUCH_INFO { int nPitch; // ??????? -50~50,0????????? ???????????????????????nPitch???? CFG_AUDIOTOUCH_INVALID_VALUE }CFG_AUDIO_TOUCH_INFO; ///@brief ?????????????? (??? 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; ///@brief ???????? 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; /*????????????????PrivacyMasking(?????????)????????? VideoMosaic??????????????????????????????????? ?????????????????????????????????????????^*/ ///@brief ?????????????(???CFG_CMD_VIDEO_MOSAIC) typedef struct tagCFG_VIDEO_MOSAIC_INFO { BOOL bEnable; // ???????????? int nMosaic; // ??????????????????????????????????????????????????? int nRectCount; // ????????????????????? CFG_RECT stuRect[MAX_RECT_COUNT]; // ??????????,????????????????????0~8192 } CFG_VIDEO_MOSAIC_INFO; ///@brief ?????????????? typedef struct tagCFG_MOVE_DETECT_INFO { BOOL bEnable; // ????????????? int nSensitivity; // ?????????, 0~100 CFG_ALARM_MSG_HANDLE stuEventHandler; // ?????????? } CFG_MOVE_DETECT_INFO; ///@brief ?????? 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; ///@brief ??????????????????? typedef struct tagCFG_FLOODLIGHT_CONTROLMODE_INFO { EM_CFG_ATMCONTROLLER_MODE emControlMode; //?????? }CFG_FLOODLIGHT_CONTROLMODE_INFO; ///@brief ???????????????? typedef struct tagCFG_AIRFAN_CONTROLMODE_INFO { EM_CFG_ATMCONTROLLER_MODE emControlMode; //?????? }CFG_AIRFAN_CONTROLMODE_INFO; ///@brief 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; ///@brief 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; ///@brief ??????????? 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; ///@brief ????????????? 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; ///@brief ????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; ///@brief ????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; ///@brief ????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: WEP64, 3: WEP128, 4: WPA-PSK-TKIP, 5: WPA-PSK-AES, 6: WPA2-PSK-TKIP, 7: WPA2-PSK-AES, 8: WPA-TKIP, 9: WPA-AES, // 10: WPA2-TKIP, 11: WPA2-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" * WPA3-SAE AES(CCMP) "WPA3-SAE-CCMP" * WPA3-SAE/PSK AES(CCMP) "WPA3-SAE/PSK-CCMP"?????? */ EM_CFG_WIRELESS_AUTHENTICATION emAuthentication; // ??????, ?????? EM_CFG_WIRELESS_DATA_ENCRYPT emDataEncryption; // ?????????, ?????? int nKeyType; // ????????, 0: Hex, 1: ASCII int nKeyID; // ???????, ??0~3 char szKeys[4][128]; // ???????? BOOL bKeyFlag; // ?????????????? CFG_WLAN_EAP stuEap; // EAP CFG_WLAN_NETWORK stuNetwork; // Network } CFG_WLAN_INFO; ///@brief WLAN????(??? CFG_CMD_WLAN) typedef struct tagCFG_NETAPP_WLAN { int nNum; // stuWlanInfo????WLAN??????? CFG_WLAN_INFO stuWlanInfo[8]; // WLAN??????? } CFG_NETAPP_WLAN; ///@brief ????Smart264 ????? typedef struct tagCFG_SMART_ENCODE_INFO { BOOL bSmartH264; //????????SmartH264 BYTE byReserved[256]; //?????? } CFG_SMART_ENCODE_INFO; ///@brief ?????????????? 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; ///@brief ?????????????? 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; ///@brief ?????????????????? typedef struct tagCFG_PSTN_PERSON_SERVER_INFO { char szName[MAX_NAME_LEN]; // ???????? char szNumber[MAX_PHONE_NUMBER_LEN]; // ????????????? }CFG_PSTN_PERSON_SERVER_INFO; ///@brief ?????????????? 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; ///@brief ????????????????? typedef struct tagCFG_ARMLINK_INFO { BOOL bMMSEnable; // ?????????(??????) CFG_PSTN_ALARM_SERVER stuPSTNAlarmServer; // ???????????????? BOOL bPersonAlarmEnable; // ??????????????(??PSTNPersonServer????????????????????) int nAlarmOutChannels[256]; // ?????????????? int nAlarmOutChannelNum; // ??????????????? BOOL bVoiceEnable; // ???????????? }CFG_ARMLINK_INFO; ///@brief PSTN ?????????? typedef struct tagCFG_PSTN_TESTPLAN_INFO { BOOL bAlarmEnable; // ??????? int nPeriod; // ???????? ????? int nAlarmServerCount; // ??????????????????? int nAlarmServer[MAX_PSTN_SERVER_NUM]; // ??????????????????????0??? }CFG_PSTN_TESTPLAN_INFO; ///@brief ??????????????????? typedef struct tagCFG_DEFENCE_ARMMODE_INFO { BOOL bEnableDefenceArm; // ??????????????? }CFG_DEFENCE_ARMMODE_INFO; ///@brief ?????????????? 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; ///@brief ?????????????????? typedef struct tagCFG_SENSORMODE_INFO { EM_CFG_SENSORMODE_TYPE emState; //?????????????? }CFG_SENSORMODE_INFO; ///@brief ??????Led?????????? typedef struct tagCFG_CABINLED_TIME_SCHEDULE { BOOL bEnable; // ??????Led??????????????? }CFG_CABINLED_TIME_SCHEDULE; ///@brief ?????? 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; ///@brief ????????(??? CFG_CMD_ALARMLAMP) typedef struct tagCFG_ALARMLAMP_INFO { EM_ALARMLAMP_MODE emAlarmLamp; // ?????? }CFG_ALARMLAMP_INFO; ///@brief ?????????? ??????????(??? 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; ///@brief ?????????? typedef struct tagCFG_LASER_DIST_MEASURE_INFO { BOOL bEncodeBlend; // ?????????????????? BOOL bEnable; // ???,??????????? }CFG_LASER_DIST_MEASURE_INFO; ///@brief ??????????????? 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; ///@brief ???????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; ///@brief ???????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 // ??????????? ????????? ????? ???? ????? ///@brief ????????????????????? 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; ///@brief ?????????????????(???CFG_CMD_ACCESS_TEXTDISPLAY) typedef struct tagCFG_ACCESS_TEXTDISPLAY_INFO { char szOpenSucceedText[MAX_ACCESS_TEXTDISPLAY_LEN]; //?????????????????? char szOpenFailedText[MAX_ACCESS_TEXTDISPLAY_LEN]; //??????????????????? UINT nOpenDoorTipType; // ???????????, 0:?, 1:???????????, 2:??????(???:????,????,????,???:??????,????), 3:??????,??????, 4:??????,??????,??????, 5:??????,?????? char szResvered[1020]; // ??????? }CFG_ACCESS_TEXTDISPLAY_INFO; ///@brief ?????????? 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; ///@brief 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????? BOOL bMulticasEnable; //TRUE:????????????????????????????? FALSE:????????????????????? }CFG_VTO_CALL_INFO_EXTEND; ///@brief ???????????, 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; ///@brief ???????????,??? 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; ///@brief ?????????? typedef struct tagCFG_LAMP_PORT_INFO { int nValidPortNum; // ???????????? char szPort[8]; // ?????????,????????????????? }CFG_LAMP_PORT_INFO; ///@brief ???????????????? 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; ///@brief ?????????(??? CFG_CMD_STROBOSCOPIC_LAMP) typedef struct tagCFG_STROBOSCOPIC_LAMP_INFO { int nValidConfigNum; // ???????????? CFG_SINGLE_STROBOSCOPIC_LAMP_INFO stuStroboInfo[8]; // ???????????? }CFG_STROBOSCOPIC_LAMP_INFO; ///@brief 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; ///@brief UPnP?????? typedef enum tagEM_CONFIGURATION_MODE { EM_CONFIGURATION_UNKNOWN = -1, // ??? EM_CONFIGURATION_MANUAL, // ??????? EM_CONFIGURATION_AUTO, // ??????? }EM_CONFIGURATION_MODE; ///@brief UPnP???????? typedef enum tagEM_SERVICE_TYPE { EM_SERVICE_UNKNOWN = -1, // ????? EM_SERVICE_WEB, // WEB???? EM_SERVICE_PRIV, // ???????? EM_SERVICE_RTSP, // RTSP???? EM_SERVICE_HTTPS, // HTTPS???? EM_SERVICE_SNMP, // SNMP???? }EM_SERVICE_TYPE; ///@brief ?????? typedef enum tagEM_PROTOCOL_TYPE { EM_PROTOCOL_UNKNOWN = -1, // ??? EM_PROTOCOL_TCP, // TCP?? EM_PROTOCOL_UDP, // UDP?? }EM_PROTOCOL_TYPE; ///@brief ??????? typedef struct tagCFG_MAP_TABLE_INFO { BOOL bEnable; // ?????? char szServiceName[CFG_COMMON_STRING_64]; // ?????????OldUPnP???????????? EM_SERVICE_TYPE emServiceType; // ???????? EM_PROTOCOL_TYPE emProtocol; // ?????? UINT nInnerPort; // ?????? UINT nOuterPort; // ????? }CFG_MAP_TABLE_INFO; ///@brief UPNP???????????????CFG_CMD_UPNP typedef struct tagCFG_UPNP_INFO { BOOL bEnable; // ????????? BOOL bStartDeviceDiscover; // ?????UPnP????????? EM_CONFIGURATION_MODE emMode; // ?? int nMaxTable; // ??????????? int nReturnTable; // ??????????? CFG_MAP_TABLE_INFO *pstuMapTable; // ??????? }CFG_UPNP_INFO; ///@brief ????? typedef struct tagCFG_RESISTANCE_INFO { UINT nHighValue; // k??????? UINT nLowValue; // k??????? char szReserved[64]; // ?????? }CFG_RESISTANCE_INFO; ///@brief ESD???????, ??????????CFG_CMD_ESDCOMMSETTING typedef struct tagCFG_ESDCOMMSETTING_INFO { int nStartCheckMode; // ?????????1-???????? 2-??????? CFG_RESISTANCE_INFO stuHand; // ??????? CFG_RESISTANCE_INFO stuLeftFoot; // ???????? CFG_RESISTANCE_INFO stuRightFoot; // ???????? char szReserved[1020]; // ?????? }CFG_ESDCOMMSETTING_INFO; ///@brief ???????? typedef struct tagCFG_ADAPT_ENCODE_INFO { int nIPSmoothness; // ????I/P???????????1~100,1????????100??????????? int nAdjustEnable; // ????????????,1???? 0???????????????????? }CFG_ADAPT_ENCODE_INFO; ///@brief ????????????????? 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; ///@brief ?????? typedef struct tagCFG_COMBINATION_CHANNEL { int nMaxChannel; // ???????? int nReturnChannel; // ??????????? int *pnChannel; // ?????? }CFG_COMBINATION_CHANNEL; ///@brief ????? typedef struct tagCFG_FREESPLIT_INFO { CFG_SPLITMODE emSplitMode; // ????? int nMaxCombination; // ????????? int nReturnCombination; // ????????? CFG_COMBINATION_CHANNEL *pstuCombination; // ?????? }CFG_FREESPLIT_INFO; ///@brief ????????????????? typedef struct tagCFG_FREECOMBINATION_INFO { int nMaxSplit; // ????????? int nReturnSplit; // ????????? CFG_FREESPLIT_INFO *pstuSplit; // ??????????? }CFG_FREECOMBINATION_INFO; ///@brief ??????? typedef enum tagCFG_EM_DEVICE_PROTOCOL { CFG_EM_PROTOCOL_PRIVATE3, // ???3???? CFG_EM_PROTOCOL_ONVIF, // Onvif }CFG_EM_DEVICE_PROTOCOL; ///@brief ???????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 // ?????????? ///@brief ????????????????(???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; ///@brief ?????????????????(???CFG_CMD_IOT_RECORD_HANDLE) typedef struct tagCFG_IOT_RECORD_HANDLE_INFO { BOOL bEnable; // ??????????????????? int nRecordTime; // ?????????????? } CFG_IOT_RECORD_HANDLE_INFO; ///@brief ????????????????(???CFG_CMD_IOT_SNAP_HANDLE) typedef struct tagCFG_IOT_SNAP_HANDLE_INFO { BOOL bEnable; // ?????????????????? int nSnapNum; // ?????????? } CFG_IOT_SNAP_HANDLE_INFO; ///@brief ??????????? 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; ///@brief ??????????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; ///@brief telnet ??????CFG_CMD_TELNET typedef struct tagCFG_TELNET_INFO { BOOL bEnable; // telnet??????true???false???? }CFG_TELNET_INFO; ///@brief ????????????????? ??????? 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; ///@brief ??????????????(??????? CFG_VIDEO_WIDGET2_INFO) typedef struct tagCFG_VIDEO_WIDGET2_INFO { int nOSDLineSpacing; //?????????????????????????????????????????0~5???????0 }CFG_VIDEO_WIDGET2_INFO; ///@brief ??????????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; ///@brief ?????????? 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; ///@brief ??????? typedef enum tagEM_SHAPE_TYPE { EM_SHAPE_TYPE_INVALID, // ???????? EM_SHAPE_TYPE_RECT, // ???? EM_SHAPE_TYPE_POLYGON, // ????? }EM_SHAPE_TYPE; ///@brief ???????????? typedef struct tagPTZ_SPEED { float fPositionX; //?????????????,???????-1~1 float fPositionY; //??????????????,???????-1~1 float fZoom; //???????????,??????? 0~1 char szReserve[32]; //???32??? }PTZ_SPEED; ///@brief ????????????8192????? typedef struct { long left; long top; long right; long bottom; } DH_RECT_REGION, *LPDH_RECT_REGION; ///@brief ????????????? 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; ///@brief ???????????????(??????? CFG_PRIVACY_MASKING_INFO) typedef struct tagCFG_PRIVACY_MASKING_INFO { int nMaskingInfoCount; // ????????????? CGF_MASKING_INFO stuMaskingInfo[MAX_PRIVACY_MASKING_COUNT]; // ????????????? }CFG_PRIVACY_MASKING_INFO; ///@brief ????????(??????? 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??????????????? ///@brief ???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; ///@brief 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; ///@brief ?????????????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; ///@brief ???????????????(??? 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; ///@brief ??????????????(??? 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; ///@brief ??????????????(??? CFG_CMD_MCS_DISK_OFFLINE) typedef struct tagCFG_MCS_DISK_OFFLINE { BOOL bEnable; // ???????true???;false????????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_MCS_DISK_OFFLINE; ///@brief ??????????????(??? CFG_CMD_MCS_DISK_SLOW) typedef struct tagCFG_MCS_DISK_SLOW { BOOL bEnable; // ???????true???;false????????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_MCS_DISK_SLOW; ///@brief ????????????(??? CFG_CMD_MCS_DISK_BROKEN) typedef struct tagCFG_MCS_DISK_BROKEN { BOOL bEnable; // ???????true???;false????????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_MCS_DISK_BROKEN; ///@brief ???????????????(??? 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; ///@brief ????????????????????(??? 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; ///@brief ??????????????????(??? 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; ///@brief ???????????????????(??? 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; ///@brief ??????????????(??? 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; ///@brief ??????????????(??? CFG_CMD_MCS_DISK_ONLINE) typedef struct tagCFG_MCS_DISK_ONLINE { BOOL bEnable; // ???????true???;false????????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_MCS_DISK_ONLINE; ///@brief ???????????????????(??? 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; ///@brief ???????????????????(??? 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; ///@brief ??????? typedef struct tagCFG_SECURITY_ALARMS_PRIVACY { char szCode[CFG_COMMON_STRING_64]; // ??????????? BOOL bEnable; // ???????????? }CFG_SECURITY_ALARMS_PRIVACY; ///@brief ????????????? typedef struct tagCFG_ACCESSCONTROL_DELAYSTRATEGY { BOOL bEnable; // ??????? int nPreArrearsTerm; // ??????????????? int nArrearsTerm; // ?????????????? }CFG_ACCESSCONTROL_DELAYSTRATEGY; ///@brief ???????????? ???? ( ??? CFG_CMD_NO_FLY_TIME ) typedef struct tagCFG_NO_FLY_TIME_INFO { BOOL bEnable; // ?????????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_NO_FLY_TIME_INFO; ///@brief ?????????? ???? ( ??? CFG_CMD_PWD_RESET ) typedef struct tagCFG_PWD_RESET_INFO { BOOL bEnable; // ????????????? }CFG_PWD_RESET_INFO; ///@brief ????????????????( ??????? CFG_NET_MONITOR_ABORT_INFO ) typedef struct tagCFG_NET_MONITOR_ABORT_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? } CFG_NET_MONITOR_ABORT_INFO; ///@brief ??????????? ???? ( ??? 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 ///@brief ???????????????( ??? 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; ///@brief ???????? 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 ///@brief ?????????????????????????? (??? 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; ///@brief 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; ///@brief 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; ///@brief 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; ///@brief FireWarningExt ????( ???CFG_CMD_FIRE_WARNING_EXT) typedef struct tagCFG_FIREWARNING_EXT_INFO { BOOL bVisualOverviewEnable; // ?????????????????? BOOL bVisualDetailEnable; // ?????????????????? UINT nThermoSnapTimes; // ?????????????? }CFG_FIREWARNING_EXT_INFO; ///@brief ???????? 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; ///@brief ????????? typedef struct tagCFG_CALIBRATE_INFO { CFG_CALIBRATE_UNIT_INFO stuCalibrateUnitInfo[5][2]; //???????? int nInfoNum; //?????? }CFG_CALIBRATE_INFO; ///@brief ??????? 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; #define MAX_CALIBRATE_POINT_NUM 64 ///?????????? ///@brief LocationCalibrate ????( ???CFG_CMD_LOCATION_CALIBRATE) 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; ///@brief ????????(??? CFG_CMD_IDLINGTIME) typedef struct tagCFG_IDLINGTIME_INFO { int nIdlingTimeThreshold; // ??????????,??:?? int nSpeedThreshold; // ????????????,??:km/h }CFG_IDLINGTIME_INFO; ///@brief ?????????????(??? CFG_CMD_CARDIVERSTATE) typedef struct tagCFG_CARDIVERSTATE_INFO { int nAccelerationThreshold; // ????????,??:0.1m/s^2 int nDecelerationThreshold; // ????????,??:0.1m/s^2 }CFG_CARDIVERSTATE_INFO; ///@brief ????????(??? CFG_CMD_VEHICLE) typedef struct tagCFG_VEHICLE_INFO { char szPlateNumber[CFG_MAX_PLATE_NUMBER_LEN]; // ???????? }CFG_VEHICLE_INFO; ///@brief ???????????????(???CFG_CMD_SMARTHOME_SCENELIST) typedef struct tagCFG_SMARTHOME_SCENELIST_INFO { DWORD dwSize; //????? char szSceneID[32]; //????ID char szName[128]; //???????? }CFG_SMARTHOME_SCENELIST_INFO; ///@brief ??????? 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_AIMIXLIGHT, //???????(????????ID??????????) EM_CFG_LC_LIGHT_TYPE_PILOTLIGHT, //???? }EM_CFG_LC_LIGHT_TYPE; ///@brief ????? 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_FORCEON, //?????? }EM_CFG_LC_MODE; #define CFG_LC_LIGHT_COUNT 4 //??????????? ///@brief ?????? typedef struct tagNET_LIGHT_INFO { int nLight; //??????? int nAngle; //???????????? }NET_LIGHT_INFO; ///@brief ????????????????????? 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; //?????????? UINT nPercentOfMaxBrightness; //??????????????????????????????????0~100 int nAIMixLightSwitchDelay; //????????????????????????????????????????????????????b?? ??0-300 ???30s BYTE byReserved[120]; //?????? }CFG_LIGHTING_V2_UNIT; #define LC_LIGHT_TYPE_NUM 3 ///??????????? ///@brief ????????????????????? 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 // ?????????????????????? ///@brief ??????????????? 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 // ?????????????? ///@brief ??????????? typedef struct tagCFG_KBUSER_PASSWORD_INFO { UINT nUserCode; // ?????????? char szPassword[7]; // ??????????? BYTE bReserved[257]; // ??????? }CFG_KBUSER_PASSWORD_INFO; ///@brief ???????????????(???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; ///@brief ???????? 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; ///@brief ??????? 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; ///@brief ??????? typedef enum tagEM_GUARD_TYPE { EM_GUARD_TYPE_UNKNOWN, //? EM_GUARD_TYPE_VAULT, //????? EM_GUARD_TYPE_WORK, //?????? }EM_GUARD_TYPE; ///@brief 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; ///@brief ???????????? 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; ///@brief ?????????????????? typedef struct tagCFG_THERM_DENOISE_INFO { BOOL bEnable; // ????????? UINT nDenoiseValue; // ??????0-100, bEnable?TRUE??? BYTE byReserved[128]; // ??????? }CFG_THERM_DENOISE_INFO; ///@brief ?????????????? typedef struct tagCFG_THERM_DENOISE { CFG_THERM_DENOISE_INFO stuThermDenoiseInfo[3]; // [0]:????[1]:?????[2]:??? BYTE byReserved[1024]; // ??????? }CFG_THERM_DENOISE; ///@brief ??????? 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; ///@brief ???????? 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; ///@brief ?????????? typedef struct tagTRAFFIC_CONSTATE_LAMP_CONFIG { UINT nLightMask; // ???????,???????6??????,????????????????????1???????0????? UINT nBrightness; // ??????????[0,100] UINT nPreValue; // ????????, ??????????????????????????? EM_LAMP_WORK_MODE emLampMode; // ??????? EM_LAMP_AUTO_TYPE emAutoMode; // ??????????????? CFG_TIME_SCHEDULE stuTimeSchedule; // ???????? UINT nCarPassBrightness; // ????????????????(?????????????????????????????????????????????),??[0,100]????????nBrightness. BYTE byReserved[1020]; // ??????? }TRAFFIC_CONSTATE_LAMP_CONFIG; ///@brief ????????????? typedef struct tagCFG_CONSTANT_LAMP_INFO { UINT nTrafficLampNum; // ???????????????? TRAFFIC_CONSTATE_LAMP_CONFIG stuTrafficLamp[16]; // ???????????? }CFG_CONSTANT_LAMP_INFO; ///@brief ????????? 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; ///@brief ?????????? 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; ///@brief ??????????? typedef enum tagEM_COIL_CONFIG_TYEP { EM_COIL_CONFIG_UNKNOWN = -1, // ? EM_COIL_CONFIG_GATE, // ???????????? EM_COIL_CONFIG_ELE_POLICE, // ????????? }EM_COIL_CONFIG_TYEP; ///@brief ?????? 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; ///@brief ?????? 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; ///@brief ????????????? 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; ///@brief ??????????????? 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; ///@brief ???IO???? typedef struct tagCFG_TRAFFIC_IO { BOOL bEnable; // ??? UINT nLanes; // ???????? CFG_TRAFFICIO_LANES stuTrafficIoLanes[16]; // ???????? }CFG_TRAFFIC_IO; ///@brief ???????????????? 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; ///@brief ???????????????? 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; ///@brief ??????????????,????????????????????????????? typedef struct tagCFG_MONITOR_WALL_COLLECTION_MAP_INFO { DWORD dwSize; // ????? BOOL bAllMonitorWall; // ???????????????????????????????TRUE????????????????????(chennal ?-1);FALSE?????????????????????chennal ???-1???? BYTE byReserved[4]; // ?????????????????? int nWallCount; // ?????????? NET_MONITOR_WALL_COLLECTION_MAP_INFO stuMonitorWallCollectioInfo[16]; // ?????????????16?????????16????????????????? }CFG_MONITOR_WALL_COLLECTION_MAP_INFO; ///@brief ??????????? 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; ///@brief ??????? typedef enum tagEM_CONNECTING_METHOD { EM_CONNECTING_UNKNOWN, // ? EM_CONNECTING_DIRECT, // ??Direct??, ???? EM_CONNECTING_VIADSS, // ??ViaDSS??, ???????????? }EM_CONNECTING_METHOD; ///@brief ???????????????????????? typedef struct tagNET_CASCADE_AUTHENTICATOR { char szUserName[128]; // ????? char szPassWord[128]; // ???? char szSerialNo[64]; // ???????? BYTE bReserver[128]; // ??????? }NET_CASCADE_AUTHENTICATOR; ///@brief ?????????? 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; ///@brief ???????????????? 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; ///@brief ????????????? 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; ///@brief ?????????? typedef struct tagCFG_DOOR_NOT_CLOSE_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_DOOR_NOT_CLOSE_INFO; ///@brief ?????????? typedef struct tagCFG_BREAK_IN_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_BREAK_IN_INFO; ///@brief ???????????? typedef struct tagCFG_ANTI_PASSBACK_INFO { BOOL bEnable; // ?????? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_ANTI_PASSBACK_INFO; ///@brief ????????? typedef struct tagCFG_DURESS_INFO { BOOL bEnable; // ?????? int nDelayLinkTime; // ????????????????1-300?? CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_DURESS_INFO; ///@brief ????????????????? typedef struct tagCFG_DOOR_MALICIOUS_ACCESSCONTROL_INFO { BOOL bEnable; // ?????? int nLimitedTimes; // ???????????2-30 CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_DOOR_MALICIOUS_ACCESSCONTROL_INFO; ///@brief ?????????????????? typedef struct tagCFG_REGULATOR_DETECT_INFO { BOOL bEnable; // ?????? int nSensitivity; // ??????, 1-100 CFG_ALARM_MSG_HANDLE stuEventHandler; // ???????? }CFG_REGULATOR_DETECT_INFO; ///@brief ???????? typedef enum tagEM_INFRARED_FUNC_MODE { EM_INFRARED_FUNC_MODE_UNKNWON, // ? EM_INFRARED_FUNC_MODE_ON, // ???? EM_INFRARED_FUNC_MODE_OFF, // ??? EM_INFRARED_FUNC_MODE_AUTO, // ??? } EM_INFRARED_FUNC_MODE; ///@brief ???????? typedef enum tagEM_INFRARED_LIGHT_LEVEL { EM_INFRARED_LIGHT_LEVEL_UNKNOWN, // ? EM_INFRARED_LIGHT_LEVEL_HIGH, // ?? EM_INFRARED_LIGHT_LEVEL_MEDIUM, // ?? EM_INFRARED_LIGHT_LEVEL_LOW, // ?? } EM_INFRARED_LIGHT_LEVEL; ///@brief ??????????, ????????? CFG_CMD_INFRARED_CONFIG typedef struct tagCFG_INFRARED_INFO { EM_INFRARED_FUNC_MODE emInfraredMode; // ???????? EM_INFRARED_LIGHT_LEVEL emLightLevel; // ????????, emInfraredMode ? EM_INFRARED_FUNC_MODE_ON ??? char szReserved[1024]; // ??????? } CFG_INFRARED_INFO; /************************************************************************ ** ?????? ***********************************************************************/ ///@brief ??????????????dhnetsdk.h?????????????????(pAlarmInfo, pBuffer?????SDK??????????) typedef int (CALLBACK *fALARMEvent)(DWORD dwAlarmType, void* pAlarmInfo, DWORD dwStructSize, BYTE *pBuffer, DWORD dwBufSize, LDWORD dwUser); ///@brief ???????????????????dwDataType?????????????????(pDataInfo, pBuffer?????SDK??????????) typedef int (CALLBACK *fAnalyzerData)(DWORD dwDataType, void* pDataInfo, DWORD dwStructSize, BYTE *pBuffer, DWORD dwBufSize, LDWORD dwUser); ///@brief ??????????????????(szInBuffer??lpOutBuffer???????????????) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseData(char* szCommand, char* szInBuffer, LPVOID lpOutBuffer, DWORD dwOutBufferSize, void* pReserved); ///@brief ????????????????(lpInBuffer??szOutBuffer???????????????) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_PacketData(char* szCommand, LPVOID lpInBuffer, DWORD dwInBufferSize, char* szOutBuffer, DWORD dwOutBufferSize); ///@brief ???????????(lpInBuffer???????????????) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseAnalyzerEventData(LPVOID lpInBuffer, DWORD dwInBufferSize, fALARMEvent cbEvent, LDWORD dwUser); ///@brief ?????????????(lpInBuffer???????????????) CLIENT_CFG_API BOOL CALL_METHOD CLIENT_ParseDataByCallback(LPVOID lpInBuffer, DWORD dwInBufferSize, fAnalyzerData cbAnalyzer, LDWORD dwUser); ///@brief ??????????????????????/???????????/?????????????????????(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