package com.iailab.module.data.video.hikvision.utils; import com.sun.jna.*; import com.sun.jna.examples.win32.W32API; import com.sun.jna.examples.win32.W32API.HWND; import com.sun.jna.ptr.ByteByReference; import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.ShortByReference; import java.util.Arrays; import java.util.List; //SDK接å£è¯´æ˜Ž,HCNetSDK.dll public interface HCNetSDK extends Library { /*** å®å®šä¹‰ ***/ //å¸¸é‡ public static final int MAX_NAMELEN = 16; //DVR本地登陆å public static final int MAX_RIGHT = 32; //设备支æŒçš„æƒé™ï¼ˆ1-12表示本地æƒé™ï¼Œ13-32表示远程æƒé™ï¼‰ public static final int NAME_LEN = 32; //用户å长度 public static final int PASSWD_LEN = 16; //密ç 长度 public static final int SERIALNO_LEN = 48; //åºåˆ—å·é•¿åº¦ public static final int MACADDR_LEN = 6; //mac地å€é•¿åº¦ public static final int MAX_ETHERNET = 2; //设备å¯é…以太网络 public static final int PATHNAME_LEN = 128; //路径长度 public static final int MAX_TIMESEGMENT_V30 = 8; //9000设备最大时间段数 public static final int MAX_TIMESEGMENT = 4; //8000设备最大时间段数 public static final int MAX_SHELTERNUM = 4; //8000设备最大é®æŒ¡åŒºåŸŸæ•° public static final int MAX_DAYS = 7; //æ¯å‘¨å¤©æ•° public static final int PHONENUMBER_LEN = 32; //pppoe拨å·å·ç 最大长度 public static final int MAX_DISKNUM_V30 = 33; //9000设备最大硬盘数/* 最多33个硬盘(包括16个内置SATA硬盘ã€1个eSATA硬盘和16个NFS盘) */ public static final int MAX_DISKNUM = 16; //8000设备最大硬盘数 public static final int MAX_DISKNUM_V10 = 8; //1.2版本之å‰ç‰ˆæœ¬ public static final int MAX_WINDOW_V30 = 32; //9000设备本地显示最大æ’放窗å£æ•° public static final int MAX_WINDOW = 16; //8000设备最大硬盘数 public static final int MAX_VGA_V30 = 4; //9000设备最大å¯æŽ¥VGAæ•° public static final int MAX_VGA = 1; //8000设备最大å¯æŽ¥VGAæ•° public static final int MAX_USERNUM_V30 = 32; //9000设备最大用户数 public static final int MAX_USERNUM = 16; //8000设备最大用户数 public static final int MAX_EXCEPTIONNUM_V30 = 32; //9000设备最大异常处ç†æ•° public static final int MAX_EXCEPTIONNUM = 16; //8000设备最大异常处ç†æ•° public static final int MAX_LINK = 6; //8000设备å•é€šé“最大视频æµè¿žæŽ¥æ•° public static final int MAX_DECPOOLNUM = 4; //å•è·¯è§£ç 器æ¯ä¸ªè§£ç 通é“最大å¯å¾ªçŽ¯è§£ç æ•° public static final int MAX_DECNUM = 4; //å•è·¯è§£ç 器的最大解ç 通é“数(实际åªæœ‰ä¸€ä¸ªï¼Œå…¶ä»–三个ä¿ç•™ï¼‰ public static final int MAX_TRANSPARENTNUM = 2; //å•è·¯è§£ç 器å¯é…置最大é€æ˜Žé€šé“æ•° public static final int MAX_CYCLE_CHAN = 16; //å•è·¯è§£ç 器最大轮循通é“æ•° public static final int MAX_DIRNAME_LENGTH = 80; //最大目录长度 public static final int MAX_STRINGNUM_V30 = 8; //9000设备最大OSDå—符行数数 public static final int MAX_STRINGNUM = 4; //8000设备最大OSDå—符行数数 public static final int MAX_STRINGNUM_EX = 8; //8000定制扩展 public static final int MAX_AUXOUT_V30 = 16; //9000设备最大辅助输出数 public static final int MAX_AUXOUT = 4; //8000设备最大辅助输出数 public static final int MAX_HD_GROUP = 16; //9000设备最大硬盘组数 public static final int MAX_NFS_DISK = 8; //8000设备最大NFS硬盘数 public static final int IW_ESSID_MAX_SIZE = 32; //WIFIçš„SSIDå·é•¿åº¦ public static final int IW_ENCODING_TOKEN_MAX = 32; //WIFI密é”最大å—节数 public static final int MAX_SERIAL_NUM = 64; //最多支æŒçš„é€æ˜Žé€šé“路数 public static final int MAX_DDNS_NUMS = 10; //9000设备最大å¯é…ddnsæ•° public static final int MAX_DOMAIN_NAME = 64; /* 最大域å长度 */ public static final int MAX_EMAIL_ADDR_LEN = 48; //最大email地å€é•¿åº¦ public static final int MAX_EMAIL_PWD_LEN = 32; //最大email密ç 长度 public static final int MAXPROGRESS = 100; //回放时的最大百分率 public static final int MAX_SERIALNUM = 2; //8000设备支æŒçš„串å£æ•° 1-232, 2-485 public static final int CARDNUM_LEN = 20; //å¡å·é•¿åº¦ public static final int MAX_VIDEOOUT_V30 = 4; //9000设备的视频输出数 public static final int MAX_VIDEOOUT = 2; //8000设备的视频输出数 public static final int MAX_PRESET_V30 = 256; /* 9000设备支æŒçš„云å°é¢„置点数 */ public static final int MAX_TRACK_V30 = 256; /* 9000设备支æŒçš„云å°è½¨è¿¹æ•° */ public static final int MAX_CRUISE_V30 = 256; /* 9000设备支æŒçš„云å°å·¡èˆªæ•° */ public static final int MAX_PRESET = 128; /* 8000设备支æŒçš„云å°é¢„置点数 */ public static final int MAX_TRACK = 128; /* 8000设备支æŒçš„云å°è½¨è¿¹æ•° */ public static final int MAX_CRUISE = 128; /* 8000设备支æŒçš„云å°å·¡èˆªæ•° */ public static final int CRUISE_MAX_PRESET_NUMS = 32; /* 一æ¡å·¡èˆªæœ€å¤šçš„巡航点 */ public static final int MAX_SERIAL_PORT = 8; //9000设备支æŒ232串å£æ•° public static final int MAX_PREVIEW_MODE = 8; /* 设备支æŒæœ€å¤§é¢„览模å¼æ•°ç›® 1ç”»é¢,4ç”»é¢,9ç”»é¢,16ç”»é¢.... */ public static final int MAX_MATRIXOUT = 16; /* 最大模拟矩阵输出个数 */ public static final int LOG_INFO_LEN = 11840; /* æ—¥å¿—é™„åŠ ä¿¡æ¯ */ public static final int DESC_LEN = 16; /* 云å°æè¿°å—符串长度 */ public static final int PTZ_PROTOCOL_NUM = 200; /* 9000最大支æŒçš„云å°å议数 */ public static final int MAX_AUDIO = 1; //8000è¯éŸ³å¯¹è®²é€šé“æ•° public static final int MAX_AUDIO_V30 = 2; //9000è¯éŸ³å¯¹è®²é€šé“æ•° public static final int MAX_CHANNUM = 16; //8000设备最大通é“æ•° public static final int MAX_ALARMIN = 16; //8000设备最大报è¦è¾“入数 public static final int MAX_ALARMOUT = 4; //8000设备最大报è¦è¾“出数 //9000 IPC接入 public static final int MAX_ANALOG_CHANNUM = 32; //最大32ä¸ªæ¨¡æ‹Ÿé€šé“ public static final int MAX_ANALOG_ALARMOUT = 32; //最大32路模拟报è¦è¾“出 public static final int MAX_ANALOG_ALARMIN = 32; //最大32路模拟报è¦è¾“å…¥ public static final int MAX_IP_ALARMIN_V40 = 4096; //å…è®¸åŠ å…¥çš„æœ€å¤šæŠ¥è¦è¾“入数 public static final int MAX_IP_ALARMOUT_V40 = 4096; //å…è®¸åŠ å…¥çš„æœ€å¤šæŠ¥è¦è¾“出数 public static final int MAX_ALARMOUT_V40 = (MAX_IP_ALARMOUT_V40 + MAX_ANALOG_ALARMOUT); //4128 public static final int MAX_ALARMIN_V40 = (MAX_IP_ALARMIN_V40 + MAX_ANALOG_ALARMOUT); //4128 public static final int MAX_CHANNUM_V40 = 512; public static final int MAX_IP_DEVICE = 32; //å…许接入的最大IP设备数 public static final int MAX_IP_CHANNEL = 32; //å…è®¸åŠ å…¥çš„æœ€å¤šIP通é“æ•° public static final int MAX_IP_ALARMIN = 128; //å…è®¸åŠ å…¥çš„æœ€å¤šæŠ¥è¦è¾“入数 public static final int MAX_IP_ALARMOUT = 64; //å…è®¸åŠ å…¥çš„æœ€å¤šæŠ¥è¦è¾“出数 /* 最大支æŒçš„通é“æ•° æœ€å¤§æ¨¡æ‹ŸåŠ ä¸Šæœ€å¤§IPæ”¯æŒ */ public static final int MAX_CHANNUM_V30 = (MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL);//64 public static final int MAX_ALARMOUT_V30 = (MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT);//96 public static final int MAX_ALARMIN_V30 = (MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN);//160 public static final int MAX_IP_DEVICE_V40 = 64; public static final int STREAM_ID_LEN = 32; public static final int MAX_LICENSE_LEN = 16; public static final int MAX_LICENSE_LEN_EX = 32; //车牌å·æœ€å¤§é•¿åº¦ public static final int MAX_CARDNO_LEN = 48; //å¡å·æœ€å¤§é•¿åº¦ public static final int VCA_MAX_POLYGON_POINT_NUM = 10; public static final int MAX_ID_NUM_LEN = 32; //最大身份è¯å·é•¿åº¦ public static final int MAX_ID_NAME_LEN = 128; //最大姓å长度 public static final int MAX_ID_ADDR_LEN = 280; //最大ä½å€é•¿åº¦ public static final int MAX_ID_ISSUING_AUTHORITY_LEN = 128; //最大ç¾å‘机关长度 public static final int MAX_CARD_READER_NUM_512 = 512; //最大读å¡å™¨æ•° public static final int ERROR_MSG_LEN = 32; //下å‘é”™è¯¯ä¿¡æ¯ public static final int MAX_FACE_NUM = 2; //最大人脸数 public static final int MAX_FINGER_PRINT_LEN = 768; //最大指纹长度 public static final int DEV_TYPE_NAME_LEN = 24; //设备类型å称长度 public static final int MAX_FACE_PIC_NUM = 30; /*人脸å图个数*/ public static final int CARDNUM_LEN_V30 = 40; public static final int MAX_NOTICE_NUMBER_LEN = 32; //公告编å·æœ€å¤§é•¿åº¦ public static final int MAX_NOTICE_THEME_LEN = 64; //公告主题最大长度 public static final int MAX_NOTICE_DETAIL_LEN = 1024; //公告详情最大长度 public static final int MAX_NOTICE_PIC_NUM = 6; //公告信æ¯æœ€å¤§å›¾ç‰‡æ•°é‡ public static final int MAX_DEV_NUMBER_LEN = 32; //设备编å·æœ€å¤§é•¿åº¦ public static final int LOCK_NAME_LEN = 32; //é”å称 public static final int NET_SDK_EMPLOYEE_NO_LEN = 32; //å·¥å·é•¿åº¦ public static final int NET_SDK_UUID_LEN = 36; //UUID长度 public static final int MAX_INQUEST_CDRW_NUM = 4; //最大刻录机数目 public static final int INQUEST_MESSAGE_LEN = 44; //审讯é‡ç‚¹æ ‡è®°ä¿¡æ¯é•¿åº¦ public static final int INQUEST_MAX_ROOM_NUM = 2; //最大审讯室个数 public static final int MAX_RESUME_SEGMENT = 2; //支æŒåŒæ—¶æ¢å¤çš„片段数目 public static final int SUPPORT_PD_NUM = 16; public static final int SUPPORT_ARRAY_NUM = 8; public static final int SUPPORT_VD_NUM = 128; public static final int SUPPORT_PD_NUM_ = 16; public static final int SUPPORT_PD_NUM_PARTTWO = 8; public static final int CARDNUM_LEN_OUT = 32; //外部结构体å¡å·é•¿åº¦ public static final int GUID_LEN = 16; //GUID长度 public static final int MAX_ROIDETECT_NUM = 8; //支æŒçš„ROI区域数 public static final int MAX_LANERECT_NUM = 5; //最大车牌识别区域数 public static final int MAX_FORTIFY_NUM = 10; //最大布防个数 public static final int MAX_INTERVAL_NUM = 4; //最大时间间隔个数 public static final int MAX_CHJC_NUM = 3; //最大车辆çœä»½ç®€ç§°å—符个数 public static final int MAX_VL_NUM = 5; //最大虚拟线圈个数 public static final int MAX_DRIVECHAN_NUM = 16; //最大车é“æ•° public static final int MAX_COIL_NUM = 3; //最大线圈个数 public static final int MAX_SIGNALLIGHT_NUM = 6; //最大信å·ç¯ä¸ªæ•° public static final int MAX_IOSPEED_GROUP_NUM = 4; //IO测速组个数 public static final int MAX_IOOUT_NUM = 4; //最大IO输出å£ä¸ªæ•° public static final int MAX_IOIN_NUM = 8; //最大IO输入å£ä¸ªæ•° public static final int MAX_RELAY_NUM = 12; //继电器控制设备最大数 2013-11-04 public static final int MAX_VEHICLE_TYPE_NUM = 8; //车辆信æ¯ç®¡æŽ§æœ€å¤§æ•°2013-11-04 public static final int MAX_IOIN_NUMEX = 10; //最大IO输入å£ä¸ªæ•°(扩展) public static final int MAX_ITC_LANE_NUM = 6; //最大车é“个数 public static final int MAX_LANEAREA_NUM = 2; //å•è½¦é“最大区域个数 public static final int ITC_MAX_POLYGON_POINT_NUM = 20; //检测区域最多支æŒ20个点的多边形 public static final int MAX_ITC_SERIALCHECK_NUM = 8; //串å£æ ¡éªŒç±»åž‹ä¸ªæ•° public static final int MAX_LIGHT_NUM = 6; //最大交通ç¯æ•° public static final int MAX_VIDEO_INTERVAL_NUM = 2; //最大抓æ‹é—´éš”æ•° public static final int MAX_VIDEO_DETECT_LIGHT_NUM = 12; //视频检测的最大检测区域 public static final int MAX_CALIB_RECOG_NUM = 2; //æ ‡å®šåŒºåŸŸä¸ªæ•° public static final int MAX_RS485_NUM = 12; //485å£æœ€å¤§æ”¯æŒæ•° public static final int MAX_MOBILE_POLYGON_NUM = 3; //移动布控支æŒæœ€å¤§ç‰Œè¯†åŒºåŸŸä¸ªæ•° public static final int MAX_MOBILE_DETECTLINE_NUM = 3; //移动布控支æŒæœ€å¤§è¿è§„检测线个数 public static final int MAX_IOOUT_K_NUM = 8; //K系列最大IO输出å£ä¸ªæ•° public static final int NET_SDK_MAX_FDID_LEN = 256; //人脸库ID最大长度 public static final int NET_SDK_MAX_PICID_LEN = 256; //人脸ID最大长度 public static final int NET_SDK_MAX_INDENTITY_KEY_LEN = 64; //交互æ“作å£ä»¤é•¿åº¦ public static final int SEARCH_EVENT_INFO_LEN = 300; //事件信æ¯é•¿åº¦ public static final int SEARCH_EVENT_INFO_LEN_V40 = 800; public static final int MAX_POS_KEYWORDS_NUM = 3; //支æŒå…³é”®å—查找æ¡æ•° public static final int MAX_POS_KEYWORD_LEN = 128; //æ¯æ¡å…³é”®å—长度 public static final int INQUEST_CASE_LEN = 64; //审讯信æ¯é•¿åº¦ public static final int SEARCH_CASE_NO_LEN = 56; public static final int SEARCH_CASE_NAME_LEN = 100; public static final int SEARCH_LITIGANT_LEN = 32; public static final int SEARCH_CHIEF_JUDGE_LEN = 32; public static final int CASE_NO_RET_LEN = 52; public static final int CASE_NAME_RET_LEN = 64; public static final int LITIGANT_RET_LEN = 24; public static final int CHIEF_JUDGE_RET_LEN = 24; public static final int NET_SDK_CASETYPE_LEN = 32; public static final int NET_SDK_MAX_TAPE_INDEX_LEN = 32; //ç£å¸¦ç¼–å·æœ€å¤§é•¿åº¦ public static final int NET_SDK_MAX_FILE_LEN = 256; //文件å最大长度 /******************************************************************/ /******************* * 全局错误ç begin **********************/ public static final int NET_DVR_NOERROR = 0; //没有错误 public static final int NET_DVR_PASSWORD_ERROR = 1; //用户å密ç 错误 public static final int NET_DVR_NOENOUGHPRI = 2;//æƒé™ä¸è¶³ public static final int NET_DVR_NOINIT = 3;//没有åˆå§‹åŒ– public static final int NET_DVR_CHANNEL_ERROR = 4; //通é“å·é”™è¯¯ public static final int NET_DVR_OVER_MAXLINK = 5; //连接到DVR的客户端个数超过最大 public static final int NET_DVR_VERSIONNOMATCH = 6; //版本ä¸åŒ¹é… public static final int NET_DVR_NETWORK_FAIL_CONNECT = 7;//连接æœåŠ¡å™¨å¤±è´¥ public static final int NET_DVR_NETWORK_SEND_ERROR = 8; //å‘æœåŠ¡å™¨å‘é€å¤±è´¥ public static final int NET_DVR_NETWORK_RECV_ERROR = 9; //从æœåŠ¡å™¨æŽ¥æ”¶æ•°æ®å¤±è´¥ public static final int NET_DVR_NETWORK_RECV_TIMEOUT = 10; //从æœåŠ¡å™¨æŽ¥æ”¶æ•°æ®è¶…æ—¶ public static final int NET_DVR_NETWORK_ERRORDATA = 11; //ä¼ é€çš„æ•°æ®æœ‰è¯¯ public static final int NET_DVR_ORDER_ERROR = 12; //调用次åºé”™è¯¯ public static final int NET_DVR_OPERNOPERMIT = 13; //æ— æ¤æƒé™ public static final int NET_DVR_COMMANDTIMEOUT = 14; //DVR命令执行超时 public static final int NET_DVR_ERRORSERIALPORT = 15; //串å£å·é”™è¯¯ public static final int NET_DVR_ERRORALARMPORT = 16; //报è¦ç«¯å£é”™è¯¯ public static final int NET_DVR_PARAMETER_ERROR = 17;//å‚数错误 public static final int NET_DVR_CHAN_EXCEPTION = 18; //æœåŠ¡å™¨é€šé“å¤„äºŽé”™è¯¯çŠ¶æ€ public static final int NET_DVR_NODISK = 19; //没有硬盘 public static final int NET_DVR_ERRORDISKNUM = 20; //硬盘å·é”™è¯¯ public static final int NET_DVR_DISK_FULL = 21; //æœåŠ¡å™¨ç¡¬ç›˜æ»¡ public static final int NET_DVR_DISK_ERROR = 22;//æœåŠ¡å™¨ç¡¬ç›˜å‡ºé”™ public static final int NET_DVR_NOSUPPORT = 23;//æœåŠ¡å™¨ä¸æ”¯æŒ public static final int NET_DVR_BUSY = 24;//æœåŠ¡å™¨å¿™ public static final int NET_DVR_MODIFY_FAIL = 25;//æœåŠ¡å™¨ä¿®æ”¹ä¸æˆåŠŸ public static final int NET_DVR_PASSWORD_FORMAT_ERROR = 26;//密ç è¾“å…¥æ ¼å¼ä¸æ£ç¡® public static final int NET_DVR_DISK_FORMATING = 27; //硬盘æ£åœ¨æ ¼å¼åŒ–,ä¸èƒ½å¯åŠ¨æ“作 public static final int NET_DVR_DVRNORESOURCE = 28; //DVR资æºä¸è¶³ public static final int NET_DVR_DVROPRATEFAILED = 29; //DVRæ“作失败 public static final int NET_DVR_OPENHOSTSOUND_FAIL = 30; //打开PC声音失败 public static final int NET_DVR_DVRVOICEOPENED = 31; //æœåŠ¡å™¨è¯éŸ³å¯¹è®²è¢«å 用 public static final int NET_DVR_TIMEINPUTERROR = 32; //时间输入ä¸æ£ç¡® public static final int NET_DVR_NOSPECFILE = 33; //回放时æœåŠ¡å™¨æ²¡æœ‰æŒ‡å®šçš„文件 public static final int NET_DVR_CREATEFILE_ERROR = 34; //创建文件出错 public static final int NET_DVR_FILEOPENFAIL = 35; //打开文件出错 public static final int NET_DVR_OPERNOTFINISH = 36; //上次的æ“ä½œè¿˜æ²¡æœ‰å®Œæˆ public static final int NET_DVR_GETPLAYTIMEFAIL = 37; //获å–当å‰æ’放的时间出错 public static final int NET_DVR_PLAYFAIL = 38; //æ’放出错 public static final int NET_DVR_FILEFORMAT_ERROR = 39;//æ–‡ä»¶æ ¼å¼ä¸æ£ç¡® public static final int NET_DVR_DIR_ERROR = 40; //路径错误 public static final int NET_DVR_ALLOC_RESOURCE_ERROR = 41;//资æºåˆ†é…错误 public static final int NET_DVR_AUDIO_MODE_ERROR = 42; //声å¡æ¨¡å¼é”™è¯¯ public static final int NET_DVR_NOENOUGH_BUF = 43; //ç¼“å†²åŒºå¤ªå° public static final int NET_DVR_CREATESOCKET_ERROR = 44; //创建SOCKET出错 public static final int NET_DVR_SETSOCKET_ERROR = 45; //设置SOCKET出错 public static final int NET_DVR_MAX_NUM = 46; //个数达到最大 public static final int NET_DVR_USERNOTEXIST = 47; //用户ä¸å˜åœ¨ public static final int NET_DVR_WRITEFLASHERROR = 48;//写FLASH出错 public static final int NET_DVR_UPGRADEFAIL = 49;//DVRå‡çº§å¤±è´¥ public static final int NET_DVR_CARDHAVEINIT = 50; //解ç å¡å·²ç»åˆå§‹åŒ–过 public static final int NET_DVR_PLAYERFAILED = 51; //调用æ’放库ä¸æŸä¸ªå‡½æ•°å¤±è´¥ public static final int NET_DVR_MAX_USERNUM = 52; //设备端用户数达到最大 public static final int NET_DVR_GETLOCALIPANDMACFAIL = 53;//获得客户端的IP地å€æˆ–物ç†åœ°å€å¤±è´¥ public static final int NET_DVR_NOENCODEING = 54; //该通é“没有编ç public static final int NET_DVR_IPMISMATCH = 55; //IP地å€ä¸åŒ¹é… public static final int NET_DVR_MACMISMATCH = 56;//MAC地å€ä¸åŒ¹é… public static final int NET_DVR_UPGRADELANGMISMATCH = 57;//å‡çº§æ–‡ä»¶è¯è¨€ä¸åŒ¹é… public static final int NET_DVR_MAX_PLAYERPORT = 58;//æ’放器路数达到最大 public static final int NET_DVR_NOSPACEBACKUP = 59;//备份设备ä¸æ²¡æœ‰è¶³å¤Ÿç©ºé—´è¿›è¡Œå¤‡ä»½ public static final int NET_DVR_NODEVICEBACKUP = 60; //没有找到指定的备份设备 public static final int NET_DVR_PICTURE_BITS_ERROR = 61; //图åƒç´ ä½æ•°ä¸ç¬¦ï¼Œé™24色 public static final int NET_DVR_PICTURE_DIMENSION_ERROR = 62;//图片高*宽超é™ï¼Œ é™128*256 public static final int NET_DVR_PICTURE_SIZ_ERROR = 63; //图片大å°è¶…é™ï¼Œé™100K public static final int NET_DVR_LOADPLAYERSDKFAILED = 64; //载入当å‰ç›®å½•ä¸‹Player Sdk出错 public static final int NET_DVR_LOADPLAYERSDKPROC_ERROR = 65; //找ä¸åˆ°Player Sdkä¸æŸä¸ªå‡½æ•°å…¥å£ public static final int NET_DVR_LOADDSSDKFAILED = 66; //载入当å‰ç›®å½•ä¸‹DSsdk出错 public static final int NET_DVR_LOADDSSDKPROC_ERROR = 67; //找ä¸åˆ°DsSdkä¸æŸä¸ªå‡½æ•°å…¥å£ public static final int NET_DVR_DSSDK_ERROR = 68; //调用硬解ç 库DsSdkä¸æŸä¸ªå‡½æ•°å¤±è´¥ public static final int NET_DVR_VOICEMONOPOLIZE = 69; //声å¡è¢«ç‹¬å public static final int NET_DVR_JOINMULTICASTFAILED = 70; //åŠ å…¥å¤šæ’组失败 public static final int NET_DVR_CREATEDIR_ERROR = 71; //建立日志文件目录失败 public static final int NET_DVR_BINDSOCKET_ERROR = 72; //绑定套接å—失败 public static final int NET_DVR_SOCKETCLOSE_ERROR = 73; //socket连接ä¸æ–,æ¤é”™è¯¯é€šå¸¸æ˜¯ç”±äºŽè¿žæŽ¥ä¸æ–或目的地ä¸å¯è¾¾ public static final int NET_DVR_USERID_ISUSING = 74; //注销时用户IDæ£åœ¨è¿›è¡ŒæŸæ“作 public static final int NET_DVR_SOCKETLISTEN_ERROR = 75; //监å¬å¤±è´¥ public static final int NET_DVR_PROGRAM_EXCEPTION = 76; //程åºå¼‚常 public static final int NET_DVR_WRITEFILE_FAILED = 77; //写文件失败 public static final int NET_DVR_FORMAT_READONLY = 78;//ç¦æ¢æ ¼å¼åŒ–åªè¯»ç¡¬ç›˜ public static final int NET_DVR_WITHSAMEUSERNAME = 79;//用户é…置结构ä¸å˜åœ¨ç›¸åŒçš„用户å public static final int NET_DVR_DEVICETYPE_ERROR = 80; /*导入å‚数时设备型å·ä¸åŒ¹é…*/ public static final int NET_DVR_LANGUAGE_ERROR = 81; /*导入å‚æ•°æ—¶è¯è¨€ä¸åŒ¹é…*/ public static final int NET_DVR_PARAVERSION_ERROR = 82; /*导入å‚数时软件版本ä¸åŒ¹é…*/ public static final int NET_DVR_IPCHAN_NOTALIVE = 83; /*预览时外接IP通é“ä¸åœ¨çº¿*/ public static final int NET_DVR_RTSP_SDK_ERROR = 84; /*åŠ è½½é«˜æ¸…IPC通讯库StreamTransClient.dll失败*/ public static final int NET_DVR_CONVERT_SDK_ERROR = 85; /*åŠ è½½è½¬ç 库失败*/ public static final int NET_DVR_IPC_COUNT_OVERFLOW = 86; /*超出最大的ip接入通é“æ•°*/ public static final int NET_PLAYM4_NOERROR = 500; //no error public static final int NET_PLAYM4_PARA_OVER = 501;//input parameter is invalid; public static final int NET_PLAYM4_ORDER_ERROR = 502;//The order of the function to be called is error. public static final int NET_PLAYM4_TIMER_ERROR = 503;//Create multimedia clock failed; public static final int NET_PLAYM4_DEC_VIDEO_ERROR = 504;//Decode video data failed. public static final int NET_PLAYM4_DEC_AUDIO_ERROR = 505;//Decode audio data failed. public static final int NET_PLAYM4_ALLOC_MEMORY_ERROR = 506; //Allocate memory failed. public static final int NET_PLAYM4_OPEN_FILE_ERROR = 507; //Open the file failed. public static final int NET_PLAYM4_CREATE_OBJ_ERROR = 508;//Create thread or event failed public static final int NET_PLAYM4_CREATE_DDRAW_ERROR = 509;//Create DirectDraw object failed. public static final int NET_PLAYM4_CREATE_OFFSCREEN_ERROR = 510;//failed when creating off-screen surface. public static final int NET_PLAYM4_BUF_OVER = 511; //buffer is overflow public static final int NET_PLAYM4_CREATE_SOUND_ERROR = 512; //failed when creating audio device. public static final int NET_PLAYM4_SET_VOLUME_ERROR = 513;//Set volume failed public static final int NET_PLAYM4_SUPPORT_FILE_ONLY = 514;//The function only support play file. public static final int NET_PLAYM4_SUPPORT_STREAM_ONLY = 515;//The function only support play stream. public static final int NET_PLAYM4_SYS_NOT_SUPPORT = 516;//System not support. public static final int NET_PLAYM4_FILEHEADER_UNKNOWN = 517; //No file header. public static final int NET_PLAYM4_VERSION_INCORRECT = 518; //The version of decoder and encoder is not adapted. public static final int NET_PALYM4_INIT_DECODER_ERROR = 519; //Initialize decoder failed. public static final int NET_PLAYM4_CHECK_FILE_ERROR = 520; //The file data is unknown. public static final int NET_PLAYM4_INIT_TIMER_ERROR = 521; //Initialize multimedia clock failed. public static final int NET_PLAYM4_BLT_ERROR = 522;//Blt failed. public static final int NET_PLAYM4_UPDATE_ERROR = 523;//Update failed. public static final int NET_PLAYM4_OPEN_FILE_ERROR_MULTI = 524; //openfile error, streamtype is multi public static final int NET_PLAYM4_OPEN_FILE_ERROR_VIDEO = 525; //openfile error, streamtype is video public static final int NET_PLAYM4_JPEG_COMPRESS_ERROR = 526; //JPEG compress error public static final int NET_PLAYM4_EXTRACT_NOT_SUPPORT = 527; //Don't support the version of this file. public static final int NET_PLAYM4_EXTRACT_DATA_ERROR = 528; //extract video data failed. /*******************全局错误ç end**********************/ /************************************************* * NET_DVR_IsSupport()返回值 * 1ï¼9ä½åˆ†åˆ«è¡¨ç¤ºä»¥ä¸‹ä¿¡æ¯ï¼ˆä½ä¸Žæ˜¯TRUE)表示支æŒï¼› **************************************************/ public static final int NET_DVR_SUPPORT_DDRAW = 0x01;//支æŒDIRECTDRAW,如果ä¸æ”¯æŒï¼Œåˆ™æ’放器ä¸èƒ½å·¥ä½œï¼› public static final int NET_DVR_SUPPORT_BLT = 0x02;//显å¡æ”¯æŒBLTæ“作,如果ä¸æ”¯æŒï¼Œåˆ™æ’放器ä¸èƒ½å·¥ä½œï¼› public static final int NET_DVR_SUPPORT_BLTFOURCC = 0x04;//显å¡BLT支æŒé¢œè‰²è½¬æ¢ï¼Œå¦‚æžœä¸æ”¯æŒï¼Œæ’放器会用软件方法作RGB转æ¢ï¼› public static final int NET_DVR_SUPPORT_BLTSHRINKX = 0x08;//显å¡BLT支æŒX轴缩å°ï¼›å¦‚æžœä¸æ”¯æŒï¼Œç³»ç»Ÿä¼šç”¨è½¯ä»¶æ–¹æ³•è½¬æ¢ï¼› public static final int NET_DVR_SUPPORT_BLTSHRINKY = 0x10;//显å¡BLT支æŒY轴缩å°ï¼›å¦‚æžœä¸æ”¯æŒï¼Œç³»ç»Ÿä¼šç”¨è½¯ä»¶æ–¹æ³•è½¬æ¢ï¼› public static final int NET_DVR_SUPPORT_BLTSTRETCHX = 0x20;//显å¡BLT支æŒX轴放大;如果ä¸æ”¯æŒï¼Œç³»ç»Ÿä¼šç”¨è½¯ä»¶æ–¹æ³•è½¬æ¢ï¼› public static final int NET_DVR_SUPPORT_BLTSTRETCHY = 0x40;//显å¡BLT支æŒY轴放大;如果ä¸æ”¯æŒï¼Œç³»ç»Ÿä¼šç”¨è½¯ä»¶æ–¹æ³•è½¬æ¢ï¼› public static final int NET_DVR_SUPPORT_SSE = 0x80;//CPU支æŒSSE指令,Intel Pentium3以上支æŒSSE指令; public static final int NET_DVR_SUPPORT_MMX = 0x100;//CPU支æŒMMX指令集,Intel Pentium3以上支æŒSSE指令; /********************** * 云å°æŽ§åˆ¶å‘½ä»¤ begin *************************/ public static final int LIGHT_PWRON = 2; /* 接通ç¯å…‰ç”µæº */ public static final int WIPER_PWRON = 3; /* 接通雨刷开关 */ public static final int FAN_PWRON = 4; /* 接通风扇开关 */ public static final int HEATER_PWRON = 5; /* æŽ¥é€šåŠ çƒå™¨å¼€å…³ */ public static final int AUX_PWRON1 = 6; /* 接通辅助设备开关 */ public static final int AUX_PWRON2 = 7; /* 接通辅助设备开关 */ public static final int SET_PRESET = 8; /* 设置预置点 */ public static final int CLE_PRESET = 9; /* 清除预置点 */ public static final int ZOOM_IN = 11; /* 焦è·ä»¥é€Ÿåº¦SSå˜å¤§(å€çŽ‡å˜å¤§) */ public static final int ZOOM_OUT = 12; /* 焦è·ä»¥é€Ÿåº¦SSå˜å°(å€çŽ‡å˜å°) */ public static final int FOCUS_NEAR = 13; /* 焦点以速度SSå‰è°ƒ */ public static final int FOCUS_FAR = 14; /* 焦点以速度SSåŽè°ƒ */ public static final int IRIS_OPEN = 15; /* 光圈以速度SS扩大 */ public static final int IRIS_CLOSE = 16; /* 光圈以速度SSç¼©å° */ public static final int TILT_UP = 21; /* 云å°ä»¥SS的速度上仰 */ public static final int TILT_DOWN = 22; /* 云å°ä»¥SS的速度下俯 */ public static final int PAN_LEFT = 23; /* 云å°ä»¥SS的速度左转 */ public static final int PAN_RIGHT = 24; /* 云å°ä»¥SS的速度å³è½¬ */ public static final int UP_LEFT = 25; /* 云å°ä»¥SS的速度上仰和左转 */ public static final int UP_RIGHT = 26; /* 云å°ä»¥SS的速度上仰和å³è½¬ */ public static final int DOWN_LEFT = 27; /* 云å°ä»¥SS的速度下俯和左转 */ public static final int DOWN_RIGHT = 28; /* 云å°ä»¥SS的速度下俯和å³è½¬ */ public static final int PAN_AUTO = 29; /* 云å°ä»¥SS的速度左å³è‡ªåŠ¨æ‰«æ */ public static final int FILL_PRE_SEQ = 30; /* å°†é¢„ç½®ç‚¹åŠ å…¥å·¡èˆªåºåˆ— */ public static final int SET_SEQ_DWELL = 31; /* 设置巡航点åœé¡¿æ—¶é—´ */ public static final int SET_SEQ_SPEED = 32; /* 设置巡航速度 */ public static final int CLE_PRE_SEQ = 33;/* 将预置点从巡航åºåˆ—ä¸åˆ 除 */ public static final int STA_MEM_CRUISE = 34;/* 开始记录轨迹 */ public static final int STO_MEM_CRUISE = 35;/* åœæ¢è®°å½•è½¨è¿¹ */ public static final int RUN_CRUISE = 36; /* 开始轨迹 */ public static final int RUN_SEQ = 37; /* 开始巡航 */ public static final int STOP_SEQ = 38; /* åœæ¢å·¡èˆª */ public static final int GOTO_PRESET = 39; /* å¿«çƒè½¬åˆ°é¢„置点 */ /**********************云å°æŽ§åˆ¶å‘½ä»¤ end*************************/ /************************************************* * 回放时æ’放控制命令å®å®šä¹‰ * NET_DVR_PlayBackControl * NET_DVR_PlayControlLocDisplay * NET_DVR_DecPlayBackCtrlçš„å®å®šä¹‰ * 具体支æŒæŸ¥çœ‹å‡½æ•°è¯´æ˜Žå’Œä»£ç **************************************************/ public static final int NET_DVR_PLAYSTART = 1;//开始æ’放 public static final int NET_DVR_PLAYSTOP = 2;//åœæ¢æ’放 public static final int NET_DVR_PLAYPAUSE = 3;//æš‚åœæ’放 public static final int NET_DVR_PLAYRESTART = 4;//æ¢å¤æ’放 public static final int NET_DVR_PLAYFAST = 5;//快放 public static final int NET_DVR_PLAYSLOW = 6;//慢放 public static final int NET_DVR_PLAYNORMAL = 7;//æ£å¸¸é€Ÿåº¦ public static final int NET_DVR_PLAYFRAME = 8;//å•å¸§æ”¾ public static final int NET_DVR_PLAYSTARTAUDIO = 9;//打开声音 public static final int NET_DVR_PLAYSTOPAUDIO = 10;//å…³é—声音 public static final int NET_DVR_PLAYAUDIOVOLUME = 11;//è°ƒèŠ‚éŸ³é‡ public static final int NET_DVR_PLAYSETPOS = 12;//改å˜æ–‡ä»¶å›žæ”¾çš„进度 public static final int NET_DVR_PLAYGETPOS = 13;//获å–文件回放的进度 public static final int NET_DVR_PLAYGETTIME = 14;//获å–当å‰å·²ç»æ’放的时间(按文件回放的时候有效) public static final int NET_DVR_PLAYGETFRAME = 15;//获å–当å‰å·²ç»æ’放的帧数(按文件回放的时候有效) public static final int NET_DVR_GETTOTALFRAMES = 16;//获å–当å‰æ’放文件总的帧数(按文件回放的时候有效) public static final int NET_DVR_GETTOTALTIME = 17;//获å–当å‰æ’放文件总的时间(按文件回放的时候有效) public static final int NET_DVR_THROWBFRAME = 20;//丢B帧 public static final int NET_DVR_SETSPEED = 24;//设置ç æµé€Ÿåº¦ public static final int NET_DVR_KEEPALIVE = 25;//ä¿æŒä¸Žè®¾å¤‡çš„心跳(如果回调阻塞,建议2秒å‘é€ä¸€æ¬¡) public static final int NET_DVR_SET_TRANS_TYPE = 32; //设置转ç æ ¼å¼ //远程按键定义如下: /* key value send to CONFIG program */ public static final int KEY_CODE_1 = 1; public static final int KEY_CODE_2 = 2; public static final int KEY_CODE_3 = 3; public static final int KEY_CODE_4 = 4; public static final int KEY_CODE_5 = 5; public static final int KEY_CODE_6 = 6; public static final int KEY_CODE_7 = 7; public static final int KEY_CODE_8 = 8; public static final int KEY_CODE_9 = 9; public static final int KEY_CODE_0 = 10; public static final int KEY_CODE_POWER = 11; public static final int KEY_CODE_MENU = 12; public static final int KEY_CODE_ENTER = 13; public static final int KEY_CODE_CANCEL = 14; public static final int KEY_CODE_UP = 15; public static final int KEY_CODE_DOWN = 16; public static final int KEY_CODE_LEFT = 17; public static final int KEY_CODE_RIGHT = 18; public static final int KEY_CODE_EDIT = 19; public static final int KEY_CODE_ADD = 20; public static final int KEY_CODE_MINUS = 21; public static final int KEY_CODE_PLAY = 22; public static final int KEY_CODE_REC = 23; public static final int KEY_CODE_PAN = 24; public static final int KEY_CODE_M = 25; public static final int KEY_CODE_A = 26; public static final int KEY_CODE_F1 = 27; public static final int KEY_CODE_F2 = 28; /* for PTZ control */ public static final int KEY_PTZ_UP_START = KEY_CODE_UP; public static final int KEY_PTZ_UP_STO = 32; public static final int KEY_PTZ_DOWN_START = KEY_CODE_DOWN; public static final int KEY_PTZ_DOWN_STOP = 33; public static final int KEY_PTZ_LEFT_START = KEY_CODE_LEFT; public static final int KEY_PTZ_LEFT_STOP = 34; public static final int KEY_PTZ_RIGHT_START = KEY_CODE_RIGHT; public static final int KEY_PTZ_RIGHT_STOP = 35; public static final int KEY_PTZ_AP1_START = KEY_CODE_EDIT;/* 光圈+ */ public static final int KEY_PTZ_AP1_STOP = 36; public static final int KEY_PTZ_AP2_START = KEY_CODE_PAN;/* 光圈- */ public static final int KEY_PTZ_AP2_STOP = 37; public static final int KEY_PTZ_FOCUS1_START = KEY_CODE_A;/* èšç„¦+ */ public static final int KEY_PTZ_FOCUS1_STOP = 38; public static final int KEY_PTZ_FOCUS2_START = KEY_CODE_M;/* èšç„¦- */ public static final int KEY_PTZ_FOCUS2_STOP = 39; public static final int KEY_PTZ_B1_START = 40;/* å˜å€+ */ public static final int KEY_PTZ_B1_STOP = 41; public static final int KEY_PTZ_B2_START = 42;/* å˜å€- */ public static final int KEY_PTZ_B2_STOP = 43; //9000新增 public static final int KEY_CODE_11 = 44; public static final int KEY_CODE_12 = 45; public static final int KEY_CODE_13 = 46; public static final int KEY_CODE_14 = 47; public static final int KEY_CODE_15 = 48; public static final int KEY_CODE_16 = 49; /************************* * å‚æ•°é…置命令 begin *******************************/ //用于NET_DVR_SetDVRConfigå’ŒNET_DVR_GetDVRConfig,注æ„其对应的é…置结构 public static final int NET_DVR_GET_DEVICECFG = 100; //获å–设备å‚æ•° public static final int NET_DVR_SET_DEVICECFG = 101; //设置设备å‚æ•° public static final int NET_DVR_GET_DEVICECFG_V40 = 1100; //获å–扩展设备å‚æ•° public static final int NET_DVR_SET_DEVICECFG_V40 = 1101; //设置扩展设备å‚æ•° public static final int NET_DVR_GET_NETCFG = 102; //获å–网络å‚æ•° public static final int NET_DVR_SET_NETCFG = 103; //设置网络å‚æ•° public static final int NET_DVR_GET_PICCFG = 104; //获å–图象å‚æ•° public static final int NET_DVR_SET_PICCFG = 105; //设置图象å‚æ•° public static final int NET_DVR_GET_COMPRESSCFG = 106; //获å–压缩å‚æ•° public static final int NET_DVR_SET_COMPRESSCFG = 107; //设置压缩å‚æ•° public static final int NET_DVR_GET_RECORDCFG = 108; //获å–录åƒæ—¶é—´å‚æ•° public static final int NET_DVR_SET_RECORDCFG = 109; //设置录åƒæ—¶é—´å‚æ•° public static final int NET_DVR_GET_DECODERCFG = 110; //获å–解ç 器å‚æ•° public static final int NET_DVR_SET_DECODERCFG = 111; //设置解ç 器å‚æ•° public static final int NET_DVR_GET_RS232CFG = 112; //获å–232串å£å‚æ•° public static final int NET_DVR_SET_RS232CFG = 113; //设置232串å£å‚æ•° public static final int NET_DVR_GET_ALARMINCFG = 114; //获å–报è¦è¾“å…¥å‚æ•° public static final int NET_DVR_SET_ALARMINCFG = 115; //设置报è¦è¾“å…¥å‚æ•° public static final int NET_DVR_GET_ALARMOUTCFG = 116; //获å–报è¦è¾“出å‚æ•° public static final int NET_DVR_SET_ALARMOUTCFG = 117; //设置报è¦è¾“出å‚æ•° public static final int NET_DVR_GET_TIMECFG = 118; //获å–DVR时间 public static final int NET_DVR_SET_TIMECFG = 119; //设置DVR时间 public static final int NET_DVR_GET_PREVIEWCFG = 120; //获å–预览å‚æ•° public static final int NET_DVR_SET_PREVIEWCFG = 121; //设置预览å‚æ•° public static final int NET_DVR_GET_VIDEOOUTCFG = 122; //获å–视频输出å‚æ•° public static final int NET_DVR_SET_VIDEOOUTCFG = 123; //设置视频输出å‚æ•° public static final int NET_DVR_GET_USERCFG = 124; //获å–用户å‚æ•° public static final int NET_DVR_SET_USERCFG = 125; //设置用户å‚æ•° public static final int NET_DVR_GET_EXCEPTIONCFG = 126; //获å–异常å‚æ•° public static final int NET_DVR_SET_EXCEPTIONCFG = 127; //设置异常å‚æ•° public static final int NET_DVR_GET_ZONEANDDST = 128; //获å–时区和å¤æ—¶åˆ¶å‚æ•° public static final int NET_DVR_SET_ZONEANDDST = 129; //设置时区和å¤æ—¶åˆ¶å‚æ•° public static final int NET_DVR_GET_SHOWSTRING = 130; //获å–å åŠ å—符å‚æ•° public static final int NET_DVR_SET_SHOWSTRING = 131; //设置å åŠ å—符å‚æ•° public static final int NET_DVR_GET_EVENTCOMPCFG = 132; //获å–事件触å‘录åƒå‚æ•° public static final int NET_DVR_SET_EVENTCOMPCFG = 133; //设置事件触å‘录åƒå‚æ•° public static final int NET_DVR_GET_AUXOUTCFG = 140; //获å–报è¦è§¦å‘辅助输出设置(HS设备辅助输出2006-02-28) public static final int NET_DVR_SET_AUXOUTCFG = 141; //设置报è¦è§¦å‘辅助输出设置(HS设备辅助输出2006-02-28) public static final int NET_DVR_GET_PREVIEWCFG_AUX = 142; //获å–-s系列åŒè¾“出预览å‚æ•°(-s系列åŒè¾“出2006-04-13) public static final int NET_DVR_SET_PREVIEWCFG_AUX = 143; //设置-s系列åŒè¾“出预览å‚æ•°(-s系列åŒè¾“出2006-04-13) public static final int NET_DVR_GET_PICCFG_EX = 200; //获å–图象å‚æ•°(SDK_V14扩展命令) public static final int NET_DVR_SET_PICCFG_EX = 201; //设置图象å‚æ•°(SDK_V14扩展命令) public static final int NET_DVR_GET_USERCFG_EX = 202; //获å–用户å‚æ•°(SDK_V15扩展命令) public static final int NET_DVR_SET_USERCFG_EX = 203; //设置用户å‚æ•°(SDK_V15扩展命令) public static final int NET_DVR_GET_COMPRESSCFG_EX = 204; //获å–压缩å‚æ•°(SDK_V15扩展命令2006-05-15) public static final int NET_DVR_SET_COMPRESSCFG_EX = 205; //设置压缩å‚æ•°(SDK_V15扩展命令2006-05-15) public static final int NET_DVR_GET_NETAPPCFG = 222; //获å–网络应用å‚æ•° NTP/DDNS/EMAIL public static final int NET_DVR_SET_NETAPPCFG = 223; //设置网络应用å‚æ•° NTP/DDNS/EMAIL public static final int NET_DVR_GET_NTPCFG = 224; //获å–网络应用å‚æ•° NTP public static final int NET_DVR_SET_NTPCFG = 225; //设置网络应用å‚æ•° NTP public static final int NET_DVR_GET_DDNSCFG = 226; //获å–网络应用å‚æ•° DDNS public static final int NET_DVR_SET_DDNSCFG = 227; //设置网络应用å‚æ•° DDNS //对应NET_DVR_EMAILPARA public static final int NET_DVR_GET_EMAILCFG = 228; //获å–网络应用å‚æ•° EMAIL public static final int NET_DVR_SET_EMAILCFG = 229; //设置网络应用å‚æ•° EMAIL public static final int NET_DVR_GET_NFSCFG = 230; /* NFS disk config */ public static final int NET_DVR_SET_NFSCFG = 231; /* NFS disk config */ public static final int NET_DVR_GET_SHOWSTRING_EX = 238; //获å–å åŠ å—符å‚数扩展(支æŒ8æ¡å—符) public static final int NET_DVR_SET_SHOWSTRING_EX = 239; //设置å åŠ å—符å‚数扩展(支æŒ8æ¡å—符) public static final int NET_DVR_GET_NETCFG_OTHER = 244; //获å–网络å‚æ•° public static final int NET_DVR_SET_NETCFG_OTHER = 245; //设置网络å‚æ•° //对应NET_DVR_EMAILCFG结构 public static final int NET_DVR_GET_EMAILPARACFG = 250; //Get EMAIL parameters public static final int NET_DVR_SET_EMAILPARACFG = 251; //Setup EMAIL parameters public static final int NET_DVR_GET_DDNSCFG_EX = 274;//获å–扩展DDNSå‚æ•° public static final int NET_DVR_SET_DDNSCFG_EX = 275;//设置扩展DDNSå‚æ•° public static final int NET_DVR_SET_PTZPOS = 292; //云å°è®¾ç½®PTZä½ç½® public static final int NET_DVR_GET_PTZPOS = 293; //云å°èŽ·å–PTZä½ç½® public static final int NET_DVR_GET_PTZSCOPE = 294;//云å°èŽ·å–PTZ范围 public static final int NET_DVR_COMPLETE_RESTORE_CTRL = 3420; //设置完全æ¢å¤å‡ºåŽ‚值 /*************************** * DS9000新增命令(_V30) begin *****************************/ //网络(NET_DVR_NETCFG_V30结构) public static final int NET_DVR_GET_NETCFG_V30 = 1000; //获å–网络å‚æ•° public static final int NET_DVR_SET_NETCFG_V30 = 1001; //设置网络å‚æ•° //图象(NET_DVR_PICCFG_V30结构) public static final int NET_DVR_GET_PICCFG_V30 = 1002; //获å–图象å‚æ•° public static final int NET_DVR_SET_PICCFG_V30 = 1003; //设置图象å‚æ•° public static final int NET_DVR_GET_PICCFG_V40 = 6179; //获å–图象å‚æ•° public static final int NET_DVR_SET_PICCFG_V40 = 6180; //设置图象å‚æ•° public static final int NET_DVR_GET_AES_KEY = 6113; //获å–设备AESåŠ å¯†å¯†é’¥ //录åƒæ—¶é—´(NET_DVR_RECORD_V30结构) public static final int NET_DVR_GET_RECORDCFG_V30 = 1004; //获å–录åƒå‚æ•° public static final int NET_DVR_SET_RECORDCFG_V30 = 1005; //设置录åƒå‚æ•° //用户(NET_DVR_USER_V30结构) public static final int NET_DVR_GET_USERCFG_V30 = 1006; //获å–用户å‚æ•° public static final int NET_DVR_SET_USERCFG_V30 = 1007; //设置用户å‚æ•° //9000DDNSå‚æ•°é…ç½®(NET_DVR_DDNSPARA_V30结构) public static final int NET_DVR_GET_DDNSCFG_V30 = 1010; //获å–DDNS(9000扩展) public static final int NET_DVR_SET_DDNSCFG_V30 = 1011; //设置DDNS(9000扩展) //EMAIL功能(NET_DVR_EMAILCFG_V30结构) public static final int NET_DVR_GET_EMAILCFG_V30 = 1012;//获å–EMAILå‚æ•° public static final int NET_DVR_SET_EMAILCFG_V30 = 1013;//设置EMAILå‚æ•° //巡航å‚æ•° (NET_DVR_CRUISE_PARA结构) public static final int NET_DVR_GET_CRUISE = 1020; public static final int NET_DVR_SET_CRUISE = 1021; //报è¦è¾“入结构å‚æ•° (NET_DVR_ALARMINCFG_V30结构) public static final int NET_DVR_GET_ALARMINCFG_V30 = 1024; public static final int NET_DVR_SET_ALARMINCFG_V30 = 1025; //报è¦è¾“出结构å‚æ•° (NET_DVR_ALARMOUTCFG_V30结构) public static final int NET_DVR_GET_ALARMOUTCFG_V30 = 1026; public static final int NET_DVR_SET_ALARMOUTCFG_V30 = 1027; //视频输出结构å‚æ•° (NET_DVR_VIDEOOUT_V30结构) public static final int NET_DVR_GET_VIDEOOUTCFG_V30 = 1028; public static final int NET_DVR_SET_VIDEOOUTCFG_V30 = 1029; //å åŠ å—符结构å‚æ•° (NET_DVR_SHOWSTRING_V30结构) public static final int NET_DVR_GET_SHOWSTRING_V30 = 1030; public static final int NET_DVR_SET_SHOWSTRING_V30 = 1031; //异常结构å‚æ•° (NET_DVR_EXCEPTION_V30结构) public static final int NET_DVR_GET_EXCEPTIONCFG_V30 = 1034; public static final int NET_DVR_SET_EXCEPTIONCFG_V30 = 1035; //串å£232结构å‚æ•° (NET_DVR_RS232CFG_V30结构) public static final int NET_DVR_GET_RS232CFG_V30 = 1036; public static final int NET_DVR_SET_RS232CFG_V30 = 1037; //压缩å‚æ•° (NET_DVR_COMPRESSIONCFG_V30结构) public static final int NET_DVR_GET_COMPRESSCFG_V30 = 1040; public static final int NET_DVR_SET_COMPRESSCFG_V30 = 1041; //获å–485解ç 器å‚æ•° (NET_DVR_DECODERCFG_V30结构) public static final int NET_DVR_GET_DECODERCFG_V30 = 1042; //获å–解ç 器å‚æ•° public static final int NET_DVR_SET_DECODERCFG_V30 = 1043; //设置解ç 器å‚æ•° //获å–预览å‚æ•° (NET_DVR_PREVIEWCFG_V30结构) public static final int NET_DVR_GET_PREVIEWCFG_V30 = 1044; //获å–预览å‚æ•° public static final int NET_DVR_SET_PREVIEWCFG_V30 = 1045; //设置预览å‚æ•° //辅助预览å‚æ•° (NET_DVR_PREVIEWCFG_AUX_V30结构) public static final int NET_DVR_GET_PREVIEWCFG_AUX_V30 = 1046; //获å–辅助预览å‚æ•° public static final int NET_DVR_SET_PREVIEWCFG_AUX_V30 = 1047; //设置辅助预览å‚æ•° //IP接入é…ç½®å‚æ•° (NET_DVR_IPPARACFG结构) public static final int NET_DVR_GET_IPPARACFG = 1048; //获å–IP接入é…ç½®ä¿¡æ¯ public static final int NET_DVR_SET_IPPARACFG = 1049; //设置IP接入é…ç½®ä¿¡æ¯ //IP接入é…ç½®å‚æ•°V40 (NET_DVR_IPPARACFG_V40结构) public static final int NET_DVR_GET_IPPARACFG_V40 = 1062; //获å–IP接入é…ç½®ä¿¡æ¯ public static final int NET_DVR_SET_IPPARACFG_V40 = 1063; //设置IP接入é…ç½®ä¿¡æ¯ //IP报è¦è¾“入接入é…ç½®å‚æ•° (NET_DVR_IPALARMINCFG结构) public static final int NET_DVR_GET_IPALARMINCFG = 1050; //获å–IP报è¦è¾“入接入é…ç½®ä¿¡æ¯ public static final int NET_DVR_SET_IPALARMINCFG = 1051; //设置IP报è¦è¾“入接入é…ç½®ä¿¡æ¯ //IP报è¦è¾“出接入é…ç½®å‚æ•° (NET_DVR_IPALARMOUTCFG结构) public static final int NET_DVR_GET_IPALARMOUTCFG = 1052; //获å–IP报è¦è¾“出接入é…ç½®ä¿¡æ¯ public static final int NET_DVR_SET_IPALARMOUTCFG = 1053; //设置IP报è¦è¾“出接入é…ç½®ä¿¡æ¯ //硬盘管ç†çš„å‚æ•°èŽ·å– (NET_DVR_HDCFG结构) public static final int NET_DVR_GET_HDCFG = 1054; //获å–硬盘管ç†é…ç½®å‚æ•° public static final int NET_DVR_SET_HDCFG = 1055; //设置硬盘管ç†é…ç½®å‚æ•° //盘组管ç†çš„å‚æ•°èŽ·å– (NET_DVR_HDGROUP_CFG结构) public static final int NET_DVR_GET_HDGROUP_CFG = 1056; //获å–盘组管ç†é…ç½®å‚æ•° public static final int NET_DVR_SET_HDGROUP_CFG = 1057; //设置盘组管ç†é…ç½®å‚æ•° //设备编ç 类型é…ç½®(NET_DVR_COMPRESSION_AUDIO结构) public static final int NET_DVR_GET_COMPRESSCFG_AUD = 1058; //获å–设备è¯éŸ³å¯¹è®²ç¼–ç å‚æ•° public static final int NET_DVR_SET_COMPRESSCFG_AUD = 1059; //设置设备è¯éŸ³å¯¹è®²ç¼–ç å‚æ•° public static final int NET_SDK_FINDMEDICALFILE = 3954; //慧影科技智慧医疗查找录åƒæ–‡ä»¶ public static final int NET_SDK_FINDMEDICALPICTURE = 3955; //慧影科技智慧医疗查找图片文件 public static final int NET_DVR_GET_RAPIDMOVE_DETECTION = 3539; //获å–快速è¿åŠ¨ä¾¦æµ‹é…ç½® public static final int NET_DVR_SET_RAPIDMOVE_DETECTION = 3540; //设置快速è¿åŠ¨ä¾¦æµ‹é…ç½® public static final int NET_DVR_GET_RAPIDMOVE_TRIGGER = 3543; //获å–快速è¿åŠ¨è”动é…ç½® public static final int NET_DVR_SET_RAPIDMOVE_TRIGGER = 3544; //设置快速è¿åŠ¨è”动é…ç½® public static final int NET_DVR_GET_RAPIDMOVE_SCHEDULE = 3545; //获å–快速è¿åŠ¨çš„布防时间é…ç½® public static final int NET_DVR_SET_RAPIDMOVE_SCHEDULE = 3546; //设置快速è¿åŠ¨çš„布防时间é…ç½® public static final int NET_DVR_GET_PRESET_NAME = 3383; //获å–预置点å称 public static final int NET_DVR_SET_PRESET_NAME = 3382; //设置预置点å称 public static final int NET_DVR_GET_RULECFG_V42 = 5049; //获å–行为分æžå‚æ•°(支æŒ16æ¡è§„则扩展) public static final int NET_DVR_SET_RULECFG_V42 = 5050; //设置行为分æžå‚æ•°(支æŒ16æ¡è§„则扩展) //车牌识别(NET_VCA_PLATE_CFG); public static final int NET_DVR_SET_PLATECFG = 150;//设置车牌识别å‚æ•° public static final int NET_DVR_GET_PLATECFG = 151; //获å–车牌识别å‚æ•° //行为对应(NET_VCA_RULECFG) public static final int NET_DVR_SET_RULECFG = 152; //设置行为分æžè§„则 public static final int NET_DVR_GET_RULECFG = 153;//获å–行为分æžè§„则 //åŒæ‘„åƒæœºæ ‡å®šå‚数(NET_DVR_LF_CFG) public static final int NET_DVR_SET_LF_CFG = 160;//设置åŒæ‘„åƒæœºçš„é…ç½®å‚æ•° public static final int NET_DVR_GET_LF_CFG = 161;//获å–åŒæ‘„åƒæœºçš„é…ç½®å‚æ•° //智能分æžä»ªå–æµé…置结构 public static final int NET_DVR_SET_IVMS_STREAMCFG = 162; //设置智能分æžä»ªå–æµå‚æ•° public static final int NET_DVR_GET_IVMS_STREAMCFG = 163; //获å–智能分æžä»ªå–æµå‚æ•° //智能控制å‚数结构 public static final int NET_DVR_SET_VCA_CTRLCFG = 164; //设置智能控制å‚æ•° public static final int NET_DVR_GET_VCA_CTRLCFG = 165; //获å–智能控制å‚æ•° //å±è”½åŒºåŸŸNET_VCA_MASK_REGION_LIST public static final int NET_DVR_SET_VCA_MASK_REGION = 166; //设置å±è”½åŒºåŸŸå‚æ•° public static final int NET_DVR_GET_VCA_MASK_REGION = 167; //获å–å±è”½åŒºåŸŸå‚æ•° //ATM进入区域 NET_VCA_ENTER_REGION public static final int NET_DVR_SET_VCA_ENTER_REGION = 168; //设置进入区域å‚æ•° public static final int NET_DVR_GET_VCA_ENTER_REGION = 169; //获å–进入区域å‚æ•° //æ ‡å®šçº¿é…ç½®NET_VCA_LINE_SEGMENT_LIST public static final int NET_DVR_SET_VCA_LINE_SEGMENT = 170; //è®¾ç½®æ ‡å®šçº¿ public static final int NET_DVR_GET_VCA_LINE_SEGMENT = 171; //获å–æ ‡å®šçº¿ // ivmså±è”½åŒºåŸŸNET_IVMS_MASK_REGION_LIST public static final int NET_DVR_SET_IVMS_MASK_REGION = 172; //设置IVMSå±è”½åŒºåŸŸå‚æ•° public static final int NET_DVR_GET_IVMS_MASK_REGION = 173; //获å–IVMSå±è”½åŒºåŸŸå‚æ•° // ivms进入检测区域NET_IVMS_ENTER_REGION public static final int NET_DVR_SET_IVMS_ENTER_REGION = 174; //设置IVMS进入区域å‚æ•° public static final int NET_DVR_GET_IVMS_ENTER_REGION = 175; //获å–IVMS进入区域å‚æ•° public static final int NET_DVR_SET_IVMS_BEHAVIORCFG = 176;//设置智能分æžä»ªè¡Œä¸ºè§„则å‚æ•° public static final int NET_DVR_GET_IVMS_BEHAVIORCFG = 177; //获å–智能分æžä»ªè¡Œä¸ºè§„则å‚æ•° public static final int NET_DVR_GET_TRAVERSE_PLANE_DETECTION = 3360; //获å–越界侦测é…ç½® public static final int NET_DVR_SET_TRAVERSE_PLANE_DETECTION = 3361; public static final int NET_DVR_GET_FIELD_DETECTION = 3362; //获å–区域侦测é…ç½® public static final int NET_DVR_SET_FIELD_DETECTION = 3363; //设置区域侦测é…ç½® public static final int NET_DVR_GET_STREAM_INFO = 6023; //获å–å·²æ·»åŠ æµIDä¿¡æ¯ public static final int NET_DVR_GET_STREAM_RECORD_STATUS = 6021; //获å–æµçŠ¶æ€ä¿¡æ¯ public static final int NET_DVR_GET_ALL_VEHICLE_CONTROL_LIST = 3124; //获å–所有车辆ç¦æ¢å’Œå…许åå•ä¿¡æ¯ public static final int NET_DVR_VEHICLELIST_CTRL_START = 3133; //设置车辆ç¦æ¢å’Œå…许åå•ä¿¡æ¯(批é‡) public static final int ENUM_SENDDATA = 0x0; //å‘é€æ•°æ® public static final int NET_DVR_GET_LEDDISPLAY_CFG = 3673; public static final int NET_DVR_SET_LEDDISPLAY_CFG = 3672; public static final int NET_DVR_SET_VOICEBROADCAST_CFG = 3675; public static final int NET_DVR_SET_CHARGE_ACCOUNTINFO = 3662; public static final int NET_DVR_GET_TRAFFIC_DATA = 3141; //长连接获å–äº¤é€šæ•°æ® public static final int NET_DVR_GET_TRAFFIC_FLOW = 3142; //长连接获å–交通æµé‡ public static final int NET_DVR_GET_CCDPARAMCFG_EX = 3368;//获å–å‰ç«¯å‚æ•°(扩展) public static final int NET_DVR_SET_CCDPARAMCFG_EX = 3369;//设置å‰ç«¯å‚æ•°(扩展) public static final int NET_DVR_GET_FOCUSMODECFG = 3305;//获å–å¿«çƒèšç„¦æ¨¡å¼ä¿¡æ¯ public static final int NET_DVR_SET_FOCUSMODECFG = 3306;//设置快çƒèšç„¦æ¨¡å¼ä¿¡æ¯ public static final int NET_DVR_GET_SUPPLEMENTLIGHT = 3728; //获å–内置补光ç¯é…ç½®åè®® public static final int NET_DVR_SET_SUPPLEMENTLIGHT = 3729; //设置内置补光ç¯é…ç½®åè®® public static final int NET_DVR_GET_FACECONTRAST_TRIGGER = 3965;//获å–人脸比对è”动é…ç½® public static final int NET_DVR_SET_FACECONTRAST_TRIGGER = 3966;//设置人脸比对è”动é…ç½® public static final int NET_DVR_GET_FACECONTRAST_SCHEDULE = 3968;//获å–人脸比对布防时间é…ç½® public static final int NET_DVR_SET_FACECONTRAST_SCHEDULE = 3969;//设置人脸比对布防时间é…ç½® public static final int NET_DVR_INQUEST_GET_CDW_STATUS = 6350; //获å–审讯机刻录状æ€-长连接 public static final int NET_DVR_GET_REALTIME_THERMOMETRY = 3629; //实时温度检测 public static final int NET_DVR_GET_MANUALTHERM_INFO = 6706; //æ‰‹åŠ¨æµ‹æ¸©å®žæ—¶èŽ·å– public static final int NET_DVR_GET_THERMOMETRY_MODE = 6765;//获å–测温模å¼å‚æ•° public static final int NET_DVR_SET_THERMOMETRY_MODE = 6766;//设置测温模å¼å‚æ•° public static final int NET_DVR_GET_PTZABSOLUTEEX = 6696; public static final int NET_DVR_GET_THERMOMETRY_PRESETINFO = 3624; //获å–测温预置点关è”é…ç½®å‚æ•° public static final int NET_DVR_SET_THERMOMETRY_PRESETINFO = 3625; //设置测温预置点关è”é…ç½®å‚æ•° public static final int NET_DVR_GET_THERMOMETRYRULE_TEMPERATURE_INFO = 23001;//手动获å–æµ‹æ¸©è§„åˆ™æ¸©åº¦ä¿¡æ¯ public static final int NET_DVR_SET_DEVSERVER_CFG = 3258;//设置模å—æœåŠ¡é…ç½® public static final int NET_DVR_GET_PHY_DISK_INFO = 6306; //获å–物ç†ç£ç›˜ä¿¡æ¯ public static final int NET_DVR_GET_WORK_STATUS = 6189; //获å–è®¾å¤‡å·¥ä½œçŠ¶æ€ public static final int NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION = 6164; //获å–月历录åƒåˆ†å¸ƒ public static final int NET_DVR_GET_CURTRIGGERMODE = 3130; //获å–设备当å‰è§¦å‘æ¨¡å¼ public static final int NET_ITC_GET_TRIGGERCFG = 3003; //获å–触å‘å‚æ•° public static final int NET_ITC_SET_TRIGGERCFG = 3004; //设置触å‘å‚æ•° public static final int NET_ITC_GET_VIDEO_TRIGGERCFG = 3017; //获å–视频电è¦è§¦å‘å‚æ•° public static final int NET_ITC_SET_VIDEO_TRIGGERCFG = 3018; //设置视频电è¦è§¦å‘å‚æ•° public static final int NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG = 3216;//远程获å–多ç æµåŽ‹ç¼©å‚æ•° public static final int NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG = 3217;//远程设置多ç æµåŽ‹ç¼©å‚æ•° public static final int NET_DVR_GET_CMS_CFG = 2070; public static final int NET_DVR_SET_CMS_CFG = 2071; public static final int NET_DVR_GET_ALARM_INFO = 4193; //获å–报è¦äº‹ä»¶æ•°æ® /***************************DS9000新增命令(_V30) end *****************************/ /*************************å‚æ•°é…置命令 end*******************************/ /*************************************人脸识别门ç¦ä¸€ä½“机1.0 begin**************************************/ public static final int NET_DVR_GET_CARD_CFG = 2116; //获å–å¡å‚æ•° public static final int NET_DVR_SET_CARD_CFG = 2117; //设置å¡å‚æ•° public static final int NET_DVR_GET_CARD_CFG_V50 = 2178; //获å–æ–°å¡å‚æ•°(V50) public static final int NET_DVR_SET_CARD_CFG_V50 = 2179; //设置新å¡å‚æ•°(V50) public static final int NET_DVR_GET_FACE_PARAM_CFG = 2507; //获å–人脸å‚æ•° public static final int NET_DVR_SET_FACE_PARAM_CFG = 2508; //设置人脸å‚æ•° public static final int NET_DVR_DEL_FACE_PARAM_CFG = 2509; //åˆ é™¤äººè„¸å‚æ•° public static final int NET_DVR_CLEAR_ACS_PARAM = 2118; //清空门ç¦ä¸»æœºå‚æ•° public static final int NET_DVR_DEL_FINGERPRINT_CFG = 2152; //åˆ é™¤æŒ‡çº¹å‚æ•° public static final int NET_DVR_GET_FINGERPRINT_CFG_V50 = 2183; //获å–指纹å‚æ•°V50 public static final int NET_DVR_SET_FINGERPRINT_CFG_V50 = 2184; //设置指纹å‚æ•°V50 public static final int NET_DVR_DEL_FINGERPRINT_CFG_V50 = 2517; //åˆ é™¤æŒ‡çº¹å‚æ•°V50 public static final int NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50 = 2304; //获å–å¡æƒé™å‘¨è®¡åˆ’å‚æ•°V50 public static final int NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50 = 2305; //设置å¡æƒé™å‘¨è®¡åˆ’å‚æ•°V50 public static final int NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE_V50 = 2322; //获å–å¡æƒé™è®¡åˆ’模æ¿å‚æ•°V50 public static final int NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50 = 2323;//设置å¡æƒé™è®¡åˆ’模æ¿å‚æ•°V50 public static final int NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE = 2107; //设置门状æ€è®¡åˆ’模æ¿å‚æ•° public static final int NET_DVR_GET_DOOR_CFG = 2108; //获å–é—¨å‚æ•° public static final int NET_DVR_SET_DOOR_CFG = 2109; //设置门å‚æ•° public static final int NET_DVR_GET_DOOR_STATUS_PLAN = 2110; //获å–门状æ€è®¡åˆ’å‚æ•° public static final int NET_DVR_SET_DOOR_STATUS_PLAN = 2111; //设置门状æ€è®¡åˆ’å‚æ•° public static final int NET_DVR_GET_WEEK_PLAN_CFG = 2100; //获å–门状æ€å‘¨è®¡åˆ’å‚æ•° public static final int NET_DVR_SET_WEEK_PLAN_CFG = 2101; //设置门状æ€å‘¨è®¡åˆ’å‚æ•° public static final int NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V50 = 2181; //获å–事件å¡å·è”动é…ç½®å‚æ•°(V50) public static final int NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V50 = 2182; //设置事件å¡å·è”动é…ç½®å‚æ•°(V50) public static final int NET_DVR_CAPTURE_FACE_INFO = 2510; //é‡‡é›†äººè„¸ä¿¡æ¯ public static final int NET_DVR_CAPTURE_FINGERPRINT_INFO = 2504; //é‡‡é›†æŒ‡çº¹ä¿¡æ¯ public static final int NET_DVR_GET_ACS_EVENT = 2514;//è®¾å¤‡äº‹ä»¶èŽ·å– public static final int NET_DVR_GET_CARD_READER_CFG_V50 = 2505; //获å–读å¡å™¨å‚æ•°(V50) public static final int NET_DVR_SET_CARD_READER_CFG_V50 = 2506; //设置读å¡å™¨å‚æ•°(V50) public static final int NET_DVR_GET_REGISTER_INFO = 2511; //登记信æ¯èŽ·å– public static final int NET_DVR_GET_SMSRELATIVEPARA_V50 = 2512; //获å–çŸä¿¡ç›¸å…³å‚æ•° public static final int NET_DVR_SET_SMSRELATIVEPARA_V50 = 2513; //设置çŸä¿¡ç›¸å…³å‚æ•° public static final int NET_DVR_GET_MULTI_CARD_CFG_V50 = 2515; //获å–多é‡å¡å‚æ•°V50 public static final int NET_DVR_SET_MULTI_CARD_CFG_V50 = 2516; //设置多é‡å¡å‚æ•°V5 public static final int NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V51 = 2518; //获å–事件å¡å·è”动é…ç½®å‚æ•°(V51) public static final int NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51 = 2519; //设置事件å¡å·è”动é…ç½®å‚æ•°(V51) public static final int NET_DVR_SET_EXAM_INFO = 2530; //考试信æ¯ä¸‹å‘ public static final int NET_DVR_SET_EXAMINEE_INFO = 2531; //考生信æ¯ä¸‹å‘ public static final int NET_DVR_SEARCH_EXAM_COMPARE_RESULT = 2532; //考试比对结果查询 public static final int NET_DVR_BULK_CHECK_FACE_PICTURE = 2533; //批é‡æ ¡éªŒäººè„¸å›¾ç‰‡ public static final int NET_DVR_JSON_CONFIG = 2550; //JSONé€ä¼ æ•°æ® public static final int NET_DVR_FACE_DATA_RECORD = 2551; //æ·»åŠ äººè„¸æ•°æ®åˆ°äººè„¸åº“ public static final int NET_DVR_FACE_DATA_SEARCH = 2552; //查询人脸库ä¸çš„äººè„¸æ•°æ® public static final int NET_DVR_FACE_DATA_MODIFY = 2553; //修改人脸库ä¸çš„äººè„¸æ•°æ® public static final int NET_DVR_CAPTURE_DATA_SEARCH = 2554; //查询离线采集数æ®é›†ä¸æ•°æ® public static final int NET_DVR_SET_FORM_DATA = 2555; //长连接设置表å•æ•°æ® public static final int NET_DVR_GET_FORM_DATA = 2556; //长连接获å–表å•æ•°æ® public static final int NET_DVR_GET_CARD = 2560; public static final int NET_DVR_SET_CARD = 2561; public static final int NET_DVR_GET_FACE = 2566; public static final int NET_DVR_SET_FACE = 2567; public static final int NET_DVR_DEL_CARD = 2562; public static final int NET_DVR_GET_FINGERPRINT = 2563; public static final int NET_DVR_SET_FINGERPRINT = 2564; //下å‘指纹 public static final int NET_DVR_DEL_FINGERPRINT = 2565; //åˆ é™¤æŒ‡çº¹ public static final int NET_DVR_GET_ACS_WORK_STATUS_V50 = 2180; //获å–é—¨ç¦ä¸»æœºå·¥ä½œçŠ¶æ€ public static final int NET_DVR_GET_ACS_CFG = 2159; //获å–é—¨ç¦ä¸»æœºå‚æ•° public static final int NET_DVR_SET_ACS_CFG = 2160; //设置门ç¦ä¸»æœºå‚æ•° public static final int NET_DVR_BULK_UPLOAD_ID_BLOCKLIST = 2521; //批é‡ä¸Šä¼ 身份è¯ç¦æ¢åå• /*************************************人脸识别门ç¦ä¸€ä½“机1.0 end**************************************/ public static final int NET_DVR_SET_SENSOR_CFG = 1180;//设置模拟é‡å‚æ•° public static final int NET_DVR_GET_SENSOR_CFG = 1181;//获å–模拟é‡å‚æ•° public static final int NET_DVR_SET_ALARMIN_PARAM = 1182;//设置报è¦è¾“å…¥å‚æ•° public static final int NET_DVR_GET_ALARMIN_PARAM = 1183; ;//获å–报è¦è¾“å…¥å‚æ•° public static final int NET_DVR_SET_ALARMOUT_PARAM = 1184;//设置报è¦è¾“出å‚æ•° public static final int NET_DVR_GET_ALARMOUT_PARAM = 1185;//获å–报è¦è¾“出å‚æ•° public static final int NET_DVR_SET_SIREN_PARAM = 1186;//设置è¦å·å‚æ•° public static final int NET_DVR_GET_SIREN_PARAM = 1187;//获å–è¦å·å‚æ•° public static final int NET_DVR_SET_ALARM_RS485CFG = 1188;//设置报è¦ä¸»æœº485å‚æ•° public static final int NET_DVR_GET_ALARM_RS485CFG = 1189;//获å–报è¦ä¸»æœº485å‚æ•° public static final int NET_DVR_GET_ALARMHOST_MAIN_STATUS = 1190;//获å–报è¦ä¸»æœºä¸»è¦çŠ¶æ€ public static final int NET_DVR_GET_ALARMHOST_OTHER_STATUS = 1191;//获å–报è¦ä¸»æœºå…¶ä»–çŠ¶æ€ public static final int NET_DVR_SET_ALARMHOST_ENABLECFG = 1192;//获å–报è¦ä¸»æœºä½¿èƒ½çŠ¶æ€ public static final int NET_DVR_GET_ALARMHOST_ENABLECFG = 1193;//设置报è¦ä¸»æœºä½¿èƒ½çŠ¶æ€ public static final int NET_DVR_SET_ALARM_CAMCFG = 1194;//设置视频综åˆå¹³å°æŠ¥è¦è§¦å‘CAMæ“作é…ç½® public static final int NET_DVR_GET_ALARM_CAMCFG = 1195;//设置视频综åˆå¹³å°æŠ¥è¦è§¦å‘CAMæ“作é…ç½® public static final int NET_DVR_SET_ALARMHOST_RS485_SLOT_CFG = 2055;// 设置报è¦ä¸»æœº485槽ä½å‚æ•° public static final int NET_DVR_GET_ALARMHOST_RS485_SLOT_CFG = 2056;// 获å–报è¦ä¸»æœº485槽ä½å‚æ•° public static final int NET_DVR_SET_VIDEOWALLDISPLAYMODE = 1730;//è®¾ç½®ç”µè§†å¢™æ‹¼æŽ¥æ¨¡å¼ public static final int NET_DVR_GET_VIDEOWALLDISPLAYMODE = 1731;//获å–ç”µè§†å¢™æ‹¼æŽ¥æ¨¡å¼ public static final int NET_DVR_GET_VIDEOWALLDISPLAYNO = 1732;//获å–è®¾å¤‡æ˜¾ç¤ºè¾“å‡ºå· public static final int NET_DVR_SET_VIDEOWALLDISPLAYPOSITION = 1733;//设置显示输出ä½ç½®å‚æ•° public static final int NET_DVR_GET_VIDEOWALLDISPLAYPOSITION = 1734;//获å–显示输出ä½ç½®å‚æ•° public static final int NET_DVR_GET_VIDEOWALLWINDOWPOSITION = 1735;//获å–电视墙窗å£å‚æ•° public static final int NET_DVR_SET_VIDEOWALLWINDOWPOSITION = 1736;//设置电视墙窗å£å‚æ•° public static final int NET_DVR_VIDEOWALLWINDOW_CLOSEALL = 1737;//电视墙关é—æ‰€æœ‰çª—å£ public static final int NET_DVR_SET_VIRTUALLED = 1738;//虚拟LED设置 public static final int NET_DVR_GET_VIRTUALLED = 1739;//虚拟LEDèŽ·å– public static final int NET_DVR_GET_IMAGE_CUT_MODE = 1740;//获å–图åƒåˆ‡å‰²æ¨¡å¼ public static final int NET_DVR_SET_IMAGE_CUT_MODE = 1741;//设置图åƒåˆ‡å‰²æ¨¡å¼ public static final int NET_DVR_GET_USING_SERIALPORT = 1742;//获å–当å‰ä½¿ç”¨ä¸²å£ public static final int NET_DVR_SET_USING_SERIALPORT = 1743;//设置当å‰ä½¿ç”¨ä¸²å£ public static final int NET_DVR_SCENE_CONTROL = 1744;//场景控制 public static final int NET_DVR_GET_CURRENT_SCENE = 1745;//获å–当å‰åœºæ™¯å· public static final int NET_DVR_GET_VW_SCENE_PARAM = 1746;//获å–电视墙场景模å¼å‚æ•° public static final int NET_DVR_SET_VW_SCENE_PARAM = 1747;//设置电视墙场景模å¼å‚æ•° public static final int NET_DVR_DISPLAY_CHANNO_CONTROL = 1748;//电视墙显示编å·æŽ§åˆ¶ public static final int NET_DVR_GET_WIN_DEC_INFO = 1749;//获å–窗å£è§£ç ä¿¡æ¯ï¼ˆæ‰¹é‡ï¼‰ public static final int NET_DVR_RESET_VIDEOWALLDISPLAYPOSITION = 1750; //解除电视墙输出接å£ç»‘定 public static final int NET_DVR_SET_VW_AUDIO_CFG = 1752; //设置音频切æ¢å‚æ•° public static final int NET_DVR_GET_VW_AUDIO_CFG = 1753; //获å–音频切æ¢å‚æ•° public static final int NET_DVR_GET_GBT28181_DECCHANINFO_CFG = 1754; //获å–GBT28181å议接入设备的解ç 通é“ä¿¡æ¯ public static final int NET_DVR_SET_GBT28181_DECCHANINFO_CFG = 1755; //设置GBT28181å议接入设备的解ç 通é“ä¿¡æ¯ public static final int NET_DVR_SET_MAINBOARD_SERIAL = 1756; //设置主控æ¿ä¸²å£å‚æ•° public static final int NET_DVR_GET_MAINBOARD_SERIAL = 1757;//获å–主控æ¿ä¸²å£å‚æ•° public static final int NET_DVR_GET_SUBBOARD_INFO = 1758; //获å–åæ¿ä¿¡æ¯ public static final int NET_DVR_GET_SUBBOARD_EXCEPTION = 1759; //获å–异常åæ¿å¼‚å¸¸ä¿¡æ¯ /*****************************电视墙 start****************************/ public static final int NET_DVR_MATRIX_WALL_SET = 9001; //设置电视墙ä¸å±å¹•å‚æ•° public static final int NET_DVR_MATRIX_WALL_GET = 9002; //获å–电视墙ä¸å±å¹•å‚æ•° public static final int NET_DVR_WALLWIN_GET = 9003; //电视墙ä¸èŽ·å–窗å£å‚æ•° public static final int NET_DVR_WALLWIN_SET = 9004; //电视墙ä¸è®¾ç½®çª—å£å‚æ•° public static final int NET_DVR_WALLWINPARAM_SET = 9005; ; //设置电视墙窗å£ç›¸å…³å‚æ•° public static final int NET_DVR_WALLWINPARAM_GET = 9006; //获å–电视墙窗å£ç›¸å…³å‚æ•° public static final int NET_DVR_WALLSCENEPARAM_GET = 9007; //设置场景模å¼å‚æ•° public static final int NET_DVR_WALLSCENEPARAM_SET = 9008; //获å–场景模å¼å‚æ•° public static final int NET_DVR_MATRIX_GETWINSTATUS = 9009; //获å–窗å£è§£ç çŠ¶æ€ public static final int NET_DVR_GET_WINASSOCIATEDDEVINFO = 9010; //电视墙ä¸èŽ·å–对应资æºä¿¡æ¯ public static final int NET_DVR_WALLOUTPUT_GET = 9011; //电视墙ä¸èŽ·å–显示输出å‚æ•° public static final int NET_DVR_WALLOUTPUT_SET = 9012; //电视墙ä¸è®¾ç½®æ˜¾ç¤ºè¾“出å‚æ•° public static final int NET_DVR_GET_UNITEDMATRIXSYSTEM = 9013; //电视墙ä¸èŽ·å–å¯¹åº”èµ„æº public static final int NET_DVR_GET_WALL_CFG = 9014; //获å–电视墙全局å‚æ•° public static final int NET_DVR_SET_WALL_CFG = 9015; //设置电视墙全局å‚æ•° public static final int NET_DVR_CLOSE_ALL_WND = 9016; //å…³é—æ‰€æœ‰çª—å£ public static final int NET_DVR_SWITCH_WIN_TOP = 9017; //窗å£ç½®é¡¶ public static final int NET_DVR_SWITCH_WIN_BOTTOM = 9018; //窗å£ç½®åº• public static final int NET_DVR_CLOSE_ALL_WND_V41 = 9019; //电视墙关é—所有窗å£v41(有多个电视墙) public static final int NET_DVR_GET_WALL_WINDOW_V41 = 9020; //获å–电视墙ä¸çš„窗å£v41 public static final int NET_DVR_SET_WALL_WINDOW_V41 = 9021; //设置电视墙ä¸çš„窗å£v41 public static final int NET_DVR_GET_CURRENT_SCENE_V41 = 9022; //获å–当å‰ç”µè§†å¢™ä¸æ£åœ¨ä½¿ç”¨çš„场景v41 public static final int NET_DVR_GET_WALL_SCENE_PARAM_V41 = 9023; //获å–当å‰ç”µè§†å¢™ä¸æ£åœ¨ä½¿ç”¨çš„场景v41 public static final int NET_DVR_SET_WALL_SCENE_PARAM_V41 = 9024; //设置当å‰ç”µè§†å¢™ä¸æ£åœ¨ä½¿ç”¨çš„场景v41 public static final int NET_DVR_GET_MATRIX_LOGO_CFG = 9025; //获å–logoå‚æ•° public static final int NET_DVR_SET_MATRIX_LOGO_CFG = 9026; //设置logoå‚æ•° public static final int NET_DVR_GET_WIN_LOGO_CFG = 9027; //获å–窗å£logoå‚æ•° public static final int NET_DVR_SET_WIN_LOGO_CFG = 9028; //设置窗å£logoå‚æ•° public static final int NET_DVR_DELETE_LOGO = 9029; //åˆ é™¤logo public static final int NET_DVR_SET_DISPLAY_EFFECT_CFG = 9030; //设置显示输出效果å‚æ•°v41 public static final int NET_DVR_GET_DISPLAY_EFFECT_CFG = 9031; //获å–显示输出效果å‚æ•°v41 public static final int NET_DVR_DEC_PLAY_REMOTE_FILE = 9032; //解ç æ’放远程文件 public static final int NET_DVR_DEC_PLAY_REMOTE_FILE_V50 = 9314; //解ç æ’放远程文件V50 public static final int NET_DVR_GET_WIN_ZOOM_STATUS = 9033; //获å–窗å£ç”µåæ”¾å¤§çŠ¶æ€ public static final int NET_DVR_GET_ALL_MATRIX_LOGOCFG = 9034; //获å–所有logoå‚æ•° /*****************************电视墙 end******************************/ /******************* * 查找文件和日志函数返回值 *************************/ public static final int NET_DVR_FILE_SUCCESS = 1000; //èŽ·å¾—æ–‡ä»¶ä¿¡æ¯ public static final int NET_DVR_FILE_NOFIND = 1001; //没有文件 public static final int NET_DVR_ISFINDING = 1002;//æ£åœ¨æŸ¥æ‰¾æ–‡ä»¶ public static final int NET_DVR_NOMOREFILE = 1003;//查找文件时没有更多的文件 public static final int NET_DVR_FILE_EXCEPTION = 1004;//查找文件时异常 /********************* * 回调函数类型 begin ************************/ public static final int COMM_ALARM = 0x1100; //8000报è¦ä¿¡æ¯ä¸»åŠ¨ä¸Šä¼ public static final int COMM_TRADEINFO = 0x1500; //ATMDVRä¸»åŠ¨ä¸Šä¼ äº¤æ˜“ä¿¡æ¯ public static final int COMM_ALARM_V30 = 0x4000;//9000报è¦ä¿¡æ¯ä¸»åŠ¨ä¸Šä¼ public static final int COMM_ALARM_V40 = 0x4007; public static final int COMM_ALARM_RULE = 0x1102;//行为分æžä¿¡æ¯ä¸Šä¼ public static final int COMM_ALARM_PDC = 0x1103;//客æµé‡ç»Ÿè®¡æŠ¥è¦ä¸Šä¼ public static final int COMM_UPLOAD_PLATE_RESULT = 0x2800;//交通抓æ‹ç»“æžœä¸Šä¼ public static final int COMM_ITS_PLATE_RESULT = 0x3050;//交通抓æ‹çš„ç»ˆç«¯å›¾ç‰‡ä¸Šä¼ public static final int COMM_IPCCFG = 0x4001;//9000设备IPC接入é…置改å˜æŠ¥è¦ä¿¡æ¯ä¸»åŠ¨ä¸Šä¼ public static final int COMM_ITS_PARK_VEHICLE = 0x3056;//åœè½¦åœºæ•°æ®ä¸Šä¼ public static final int COMM_VEHICLE_CONTROL_ALARM = 0x3059;//车辆报è¦ä¸Šä¼ public static final int COMM_ALARM_TFS = 0x1113; //交通å–è¯æŠ¥è¦ä¿¡æ¯ public static final int COMM_ALARM_TPS_V41 = 0x1114; //交通事件报è¦ä¿¡æ¯æ‰©å±• public static final int COMM_ALARM_AID_V41 = 0x1115; //交通事件报è¦ä¿¡æ¯æ‰©å±• public static final int COMM_UPLOAD_FACESNAP_RESULT = 0x1112; //äººè„¸è¯†åˆ«ç»“æžœä¸Šä¼ public static final int COMM_SNAP_MATCH_ALARM = 0x2902; //äººè„¸æ¯”å¯¹ç»“æžœä¸Šä¼ public static final int COMM_ALARM_ACS = 0x5002; //é—¨ç¦ä¸»æœºæŠ¥è¦ä¿¡æ¯ public static final int COMM_ID_INFO_ALARM = 0x5200; //é—¨ç¦èº«ä»½è¯åˆ·å¡ä¿¡æ¯ public static final int COMM_VCA_ALARM = 0x4993; //æ™ºèƒ½æ£€æµ‹é€šç”¨æŠ¥è¦ public static final int COMM_ISAPI_ALARM = 0x6009;//ISAPIå议报è¦ä¿¡æ¯ public static final int COMM_ALARM_TPS_STATISTICS = 0x3082; //TPS统计过车数æ®ä¸Šä¼ public static final int COMM_ALARM_TPS_REAL_TIME = 0x3081; //TPS实时过车数æ®ä¸Šä¼ public static final int COMM_ALARMHOST_CID_ALARM = 0x1127; //报告报è¦ä¸Šä¼ public static final int COMM_SENSOR_VALUE_UPLOAD = 0x1120; //模拟é‡æ•°æ®å®žæ—¶ä¸Šä¼ public static final int COMM_SENSOR_ALARM = 0x1121; //模拟é‡æŠ¥è¦ä¸Šä¼ public static final int COMM_SWITCH_ALARM = 0x1122; //开关é‡æŠ¥è¦ public static final int COMM_ALARMHOST_EXCEPTION = 0x1123; //报è¦ä¸»æœºæ•…éšœæŠ¥è¦ public static final int COMM_ALARMHOST_OPERATEEVENT_ALARM = 0x1124; //æ“作事件报è¦ä¸Šä¼ public static final int COMM_ALARMHOST_SAFETYCABINSTATE = 0x1125; //é˜²æŠ¤èˆ±çŠ¶æ€ public static final int COMM_ALARMHOST_ALARMOUTSTATUS = 0x1126; //报è¦è¾“出å£/è¦å·çŠ¶æ€ public static final int COMM_ALARMHOST_DATA_UPLOAD = 0x1129; //报è¦æ•°æ®ä¸Šä¼ public static final int COMM_UPLOAD_VIDEO_INTERCOM_EVENT = 0x1132; //å¯è§†å¯¹è®²äº‹ä»¶è®°å½•ä¸Šä¼ public static final int COMM_ALARM_VIDEO_INTERCOM = 0x1133; //å¯è§†å¯¹è®²æŠ¥è¦ä¸Šä¼ public static final int COMM_THERMOMETRY_ALARM = 0x5212; //温度报è¦ä¸Šä¼ public static final int COMM_FIREDETECTION_ALARM = 0x4991; //ç«ç‚¹æŠ¥è¦ä¸Šä¼ public static final int COMM_THERMOMETRY_DIFF_ALARM = 0x5111; //æ¸©å·®æŠ¥è¦ public static final int COMM_ALARM_SHIPSDETECTION = 0x4521; //船åªæ£€æµ‹æŠ¥è¦ public static final int COMM_UPLOAD_AIOP_VIDEO = 0x4021; //设备支æŒAI开放平å°æŽ¥å…¥ï¼Œä¸Šä¼ è§†é¢‘æ£€æµ‹æ•°æ® public static final int COMM_UPLOAD_AIOP_PICTURE = 0x4022; //设备支æŒAI开放平å°æŽ¥å…¥ï¼Œä¸Šä¼ å›¾ç‰‡æ£€æµ‹æ•°æ® public static final int COMM_UPLOAD_AIOP_POLLING_SNAP = 0x4023; //设备支æŒAI开放平å°æŽ¥å…¥ï¼Œä¸Šä¼ è½®å·¡æŠ“å›¾å›¾ç‰‡æ£€æµ‹æ•°æ® å¯¹åº”çš„ç»“æž„ä½“(NET_AIOP_POLLING_PICTURE_HEAD) public static final int COMM_UPLOAD_AIOP_POLLING_VIDEO = 0x4024; //设备支æŒAI开放平å°æŽ¥å…¥ï¼Œä¸Šä¼ è½®å·¡è§†é¢‘æ£€æµ‹æ•°æ® å¯¹åº”çš„ç»“æž„ä½“(NET_AIOP_POLLING_VIDEO_HEAD) public static final int COMM_IPC_AUXALARM_RESULT = 0x2820; //PIR报è¦ã€æ— 线报è¦ã€å‘¼æ•‘报è¦ä¿¡æ¯ /************* * æ“作异常类型(消æ¯æ–¹å¼, 回调方å¼(ä¿ç•™)) ****************/ public static final int EXCEPTION_EXCHANGE = 0x8000;//用户交互时异常 public static final int EXCEPTION_AUDIOEXCHANGE = 0x8001;//è¯éŸ³å¯¹è®²å¼‚常 public static final int EXCEPTION_ALARM = 0x8002;//报è¦å¼‚常 public static final int EXCEPTION_PREVIEW = 0x8003;//网络预览异常 public static final int EXCEPTION_SERIAL = 0x8004;//é€æ˜Žé€šé“异常 public static final int EXCEPTION_RECONNECT = 0x8005; //预览时é‡è¿ž public static final int EXCEPTION_ALARMRECONNECT = 0x8006;//报è¦æ—¶é‡è¿ž public static final int EXCEPTION_SERIALRECONNECT = 0x8007;//é€æ˜Žé€šé“é‡è¿ž public static final int EXCEPTION_PLAYBACK = 0x8010;//回放异常 public static final int EXCEPTION_DISKFMT = 0x8011;//ç¡¬ç›˜æ ¼å¼åŒ– /******************** * 预览回调函数 *********************/ public static final int NET_DVR_SYSHEAD = 1;//ç³»ç»Ÿå¤´æ•°æ® public static final int NET_DVR_STREAMDATA = 2;//视频æµæ•°æ®ï¼ˆåŒ…括å¤åˆæµå’ŒéŸ³è§†é¢‘分开的视频æµæ•°æ®ï¼‰ public static final int NET_DVR_AUDIOSTREAMDATA = 3;//音频æµæ•°æ® public static final int NET_DVR_STD_VIDEODATA = 4;//æ ‡å‡†è§†é¢‘æµæ•°æ® public static final int NET_DVR_STD_AUDIODATA = 5;//æ ‡å‡†éŸ³é¢‘æµæ•°æ® //回调预览ä¸çš„状æ€å’Œæ¶ˆæ¯ public static final int NET_DVR_REALPLAYEXCEPTION = 111;//预览异常 public static final int NET_DVR_REALPLAYNETCLOSE = 112;//预览时连接æ–å¼€ public static final int NET_DVR_REALPLAY5SNODATA = 113;//预览5sæ²¡æœ‰æ”¶åˆ°æ•°æ® public static final int NET_DVR_REALPLAYRECONNECT = 114;//预览é‡è¿ž /******************** * 回放回调函数 *********************/ public static final int NET_DVR_PLAYBACKOVER = 101;//回放数æ®æ’放完毕 public static final int NET_DVR_PLAYBACKEXCEPTION = 102;//回放异常 public static final int NET_DVR_PLAYBACKNETCLOSE = 103;//回放时候连接æ–å¼€ public static final int NET_DVR_PLAYBACK5SNODATA = 104; //回放5sæ²¡æœ‰æ”¶åˆ°æ•°æ® /********************* * 回调函数类型 end ************************/ //设备型å·(DVR类型) /* 设备类型 */ public static final int DVR = 1; /*对尚未定义的dvr类型返回NETRET_DVR*/ public static final int ATMDVR = 2; /*atm dvr*/ public static final int DVS = 3; /*DVS*/ public static final int DEC = 4; /* 6001D */ public static final int ENC_DEC = 5; /* 6001F */ public static final int DVR_HC = 6; /*8000HC*/ public static final int DVR_HT = 7; /*8000HT*/ public static final int DVR_HF = 8; /*8000HF*/ public static final int DVR_HS = 9; /* 8000HS DVR(no audio) */ public static final int DVR_HTS = 10; /* 8016HTS DVR(no audio) */ public static final int DVR_HB = 11; /* HB DVR(SATA HD) */ public static final int DVR_HCS = 12; /* 8000HCS DVR */ public static final int DVS_A = 13; /* 带ATA硬盘的DVS */ public static final int DVR_HC_S = 14; /* 8000HC-S */ public static final int DVR_HT_S = 15; /* 8000HT-S */ public static final int DVR_HF_S = 16; /* 8000HF-S */ public static final int DVR_HS_S = 17; /* 8000HS-S */ public static final int ATMDVR_S = 18; /* ATM-S */ public static final int LOWCOST_DVR = 19; /*7000H系列*/ public static final int DEC_MAT = 20; /*多路解ç 器*/ public static final int DVR_MOBILE = 21; /* mobile DVR */ public static final int DVR_HD_S = 22; /* 8000HD-S */ public static final int DVR_HD_SL = 23; /* 8000HD-SL */ public static final int DVR_HC_SL = 24; /* 8000HC-SL */ public static final int DVR_HS_ST = 25; /* 8000HS_ST */ public static final int DVS_HW = 26; /* 6000HW */ public static final int IPCAM = 30; /*IP æ‘„åƒæœº*/ public static final int MEGA_IPCAM = 31; /*X52MF系列,752MF,852MF*/ public static final int IPCAM_X62MF = 32; /*X62MF系列å¯æŽ¥å…¥9000设备,762MF,862MF*/ public static final int IPDOME = 40; /*IPæ ‡æ¸…å¿«çƒ*/ public static final int MEGA_IPDOME = 41; /*IP高清快çƒ*/ public static final int IPMOD = 50; /*IP 模å—*/ public static final int DS71XX_H = 71; /* DS71XXH_S */ public static final int DS72XX_H_S = 72; /* DS72XXH_S */ public static final int DS73XX_H_S = 73; /* DS73XXH_S */ public static final int DS81XX_HS_S = 81; /* DS81XX_HS_S */ public static final int DS81XX_HL_S = 82; /* DS81XX_HL_S */ public static final int DS81XX_HC_S = 83; /* DS81XX_HC_S */ public static final int DS81XX_HD_S = 84; /* DS81XX_HD_S */ public static final int DS81XX_HE_S = 85; /* DS81XX_HE_S */ public static final int DS81XX_HF_S = 86; /* DS81XX_HF_S */ public static final int DS81XX_AH_S = 87; /* DS81XX_AH_S */ public static final int DS81XX_AHF_S = 88; /* DS81XX_AHF_S */ public static final int DS90XX_HF_S = 90; /*DS90XX_HF_S*/ public static final int DS91XX_HF_S = 91; /*DS91XX_HF_S*/ public static final int DS91XX_HD_S = 92; /*91XXHD-S(MD)*/ /* æ“作 */ //主类型 public static final int MAJOR_OPERATION = 0x3; //次类型 public static final int MINOR_START_DVR = 0x41; /* 开机 */ public static final int MINOR_STOP_DVR = 0x42;/* 关机 */ public static final int MINOR_STOP_ABNORMAL = 0x43;/* 异常关机 */ public static final int MINOR_REBOOT_DVR = 0x44; /*本地é‡å¯è®¾å¤‡*/ public static final int MINOR_LOCAL_LOGIN = 0x50; /* 本地登陆 */ public static final int MINOR_LOCAL_LOGOUT = 0x51; /* 本地注销登陆 */ public static final int MINOR_LOCAL_CFG_PARM = 0x52; /* 本地é…ç½®å‚æ•° */ public static final int MINOR_LOCAL_PLAYBYFILE = 0x53; /* 本地按文件回放或下载 */ public static final int MINOR_LOCAL_PLAYBYTIME = 0x54; /* 本地按时间回放或下载*/ public static final int MINOR_LOCAL_START_REC = 0x55; /* æœ¬åœ°å¼€å§‹å½•åƒ */ public static final int MINOR_LOCAL_STOP_REC = 0x56; /* 本地åœæ¢å½•åƒ */ public static final int MINOR_LOCAL_PTZCTRL = 0x57; /* 本地云å°æŽ§åˆ¶ */ public static final int MINOR_LOCAL_PREVIEW = 0x58;/* 本地预览 (ä¿ç•™ä¸ä½¿ç”¨)*/ public static final int MINOR_LOCAL_MODIFY_TIME = 0x59;/* 本地修改时间(ä¿ç•™ä¸ä½¿ç”¨) */ public static final int MINOR_LOCAL_UPGRADE = 0x5a;/* 本地å‡çº§ */ public static final int MINOR_LOCAL_RECFILE_OUTPUT = 0x5b; /* 本地备份录象文件 */ public static final int MINOR_LOCAL_FORMAT_HDD = 0x5c; /* 本地åˆå§‹åŒ–硬盘 */ public static final int MINOR_LOCAL_CFGFILE_OUTPUT = 0x5d; /* 导出本地é…置文件 */ public static final int MINOR_LOCAL_CFGFILE_INPUT = 0x5e; /* 导入本地é…置文件 */ public static final int MINOR_LOCAL_COPYFILE = 0x5f; /* 本地备份文件 */ public static final int MINOR_LOCAL_LOCKFILE = 0x60; /* 本地é”定录åƒæ–‡ä»¶ */ public static final int MINOR_LOCAL_UNLOCKFILE = 0x61; /* 本地解é”录åƒæ–‡ä»¶ */ public static final int MINOR_LOCAL_DVR_ALARM = 0x62; /* 本地手动清除和触å‘报è¦*/ public static final int MINOR_IPC_ADD = 0x63; /* æœ¬åœ°æ·»åŠ IPC */ public static final int MINOR_IPC_DEL = 0x64; /* æœ¬åœ°åˆ é™¤IPC */ public static final int MINOR_IPC_SET = 0x65; /* 本地设置IPC */ public static final int MINOR_LOCAL_START_BACKUP = 0x66; /* 本地开始备份 */ public static final int MINOR_LOCAL_STOP_BACKUP = 0x67;/* 本地åœæ¢å¤‡ä»½*/ public static final int MINOR_LOCAL_COPYFILE_START_TIME = 0x68;/* 本地备份开始时间*/ public static final int MINOR_LOCAL_COPYFILE_END_TIME = 0x69; /* 本地备份结æŸæ—¶é—´*/ public static final int MINOR_REMOTE_LOGIN = 0x70;/* 远程登录 */ public static final int MINOR_REMOTE_LOGOUT = 0x71;/* 远程注销登陆 */ public static final int MINOR_REMOTE_START_REC = 0x72;/* è¿œç¨‹å¼€å§‹å½•åƒ */ public static final int MINOR_REMOTE_STOP_REC = 0x73;/* 远程åœæ¢å½•åƒ */ public static final int MINOR_START_TRANS_CHAN = 0x74;/* 开始é€æ˜Žä¼ 输 */ public static final int MINOR_STOP_TRANS_CHAN = 0x75; /* åœæ¢é€æ˜Žä¼ 输 */ public static final int MINOR_REMOTE_GET_PARM = 0x76;/* 远程获å–å‚æ•° */ public static final int MINOR_REMOTE_CFG_PARM = 0x77;/* 远程é…ç½®å‚æ•° */ public static final int MINOR_REMOTE_GET_STATUS = 0x78;/* 远程获å–çŠ¶æ€ */ public static final int MINOR_REMOTE_ARM = 0x79; /* 远程布防 */ public static final int MINOR_REMOTE_DISARM = 0x7a;/* 远程撤防 */ public static final int MINOR_REMOTE_REBOOT = 0x7b; /* 远程é‡å¯ */ public static final int MINOR_START_VT = 0x7c;/* 开始è¯éŸ³å¯¹è®² */ public static final int MINOR_STOP_VT = 0x7d;/* åœæ¢è¯éŸ³å¯¹è®² */ public static final int MINOR_REMOTE_UPGRADE = 0x7e; /* 远程å‡çº§ */ public static final int MINOR_REMOTE_PLAYBYFILE = 0x7f; /* 远程按文件回放 */ public static final int MINOR_REMOTE_PLAYBYTIME = 0x80; /* 远程按时间回放 */ public static final int MINOR_REMOTE_PTZCTRL = 0x81; /* 远程云å°æŽ§åˆ¶ */ public static final int MINOR_REMOTE_FORMAT_HDD = 0x82; /* è¿œç¨‹æ ¼å¼åŒ–硬盘 */ public static final int MINOR_REMOTE_STOP = 0x83; /* 远程关机 */ public static final int MINOR_REMOTE_LOCKFILE = 0x84;/* 远程é”定文件 */ public static final int MINOR_REMOTE_UNLOCKFILE = 0x85;/* 远程解é”文件 */ public static final int MINOR_REMOTE_CFGFILE_OUTPUT = 0x86; /* 远程导出é…置文件 */ public static final int MINOR_REMOTE_CFGFILE_INTPUT = 0x87; /* 远程导入é…置文件 */ public static final int MINOR_REMOTE_RECFILE_OUTPUT = 0x88; /* 远程导出录象文件 */ public static final int MINOR_REMOTE_DVR_ALARM = 0x89; /* 远程手动清除和触å‘报è¦*/ public static final int MINOR_REMOTE_IPC_ADD = 0x8a; /* è¿œç¨‹æ·»åŠ IPC */ public static final int MINOR_REMOTE_IPC_DEL = 0x8b;/* è¿œç¨‹åˆ é™¤IPC */ public static final int MINOR_REMOTE_IPC_SET = 0x8c; /* 远程设置IPC */ public static final int MINOR_REBOOT_VCA_LIB = 0x8d; /*é‡å¯æ™ºèƒ½åº“*/ /*æ—¥å¿—é™„åŠ ä¿¡æ¯*/ //主类型 public static final int MAJOR_INFORMATION = 0x4; /*é™„åŠ ä¿¡æ¯*/ //次类型 public static final int MINOR_HDD_INFO = 0xa1;/*硬盘信æ¯*/ public static final int MINOR_SMART_INFO = 0xa2; /*SMARTä¿¡æ¯*/ public static final int MINOR_REC_START = 0xa3; /*开始录åƒ*/ public static final int MINOR_REC_STOP = 0xa4;/*åœæ¢å½•åƒ*/ public static final int MINOR_REC_OVERDUE = 0xa5;/*过期录åƒåˆ 除*/ public static final int MINOR_LINK_START = 0xa6; // ivms多路解ç 器ç‰è¿žæŽ¥å‰ç«¯è®¾å¤‡ public static final int MINOR_LINK_STOP = 0xa7;// ivms多路解ç 器ç‰æ–å¼€å‰ç«¯è®¾å¤‡ã€€ //当日志的主类型为MAJOR_OPERATION=03,次类型为MINOR_LOCAL_CFG_PARM=0x52或者MINOR_REMOTE_GET_PARM=0x76或者MINOR_REMOTE_CFG_PARM=0x77时,dwParaType:å‚数类型有效,其å«ä¹‰å¦‚下: public static final int PARA_VIDEOOUT = 0x1; public static final int PARA_IMAGE = 0x2; public static final int PARA_ENCODE = 0x4; public static final int PARA_NETWORK = 0x8; public static final int PARA_ALARM = 0x10; public static final int PARA_EXCEPTION = 0x20; public static final int PARA_DECODER = 0x40; /*解ç 器*/ public static final int PARA_RS232 = 0x80; public static final int PARA_PREVIEW = 0x100; public static final int PARA_SECURITY = 0x200; public static final int PARA_DATETIME = 0x400; public static final int PARA_FRAMETYPE = 0x800; /*å¸§æ ¼å¼*/ public static final int PARA_VCA_RULE = 0x1000; //行为规则 //SDK_V222 //智能设备类型 public static final int DS6001_HF_B = 60;//行为分æžï¼šDS6001-HF/B public static final int DS6001_HF_P = 61;//车牌识别:DS6001-HF/P public static final int DS6002_HF_B = 62;//åŒæœºè·Ÿè¸ªï¼šDS6002-HF/B public static final int DS6101_HF_B = 63;//行为分æžï¼šDS6101-HF/B public static final int IVMS_2000 = 64;//智能分æžä»ª public static final int DS9000_IVS = 65;//9000系列智能DVR public static final int DS8004_AHL_A = 66;//智能ATM, DS8004AHL-S/A public static final int DS6101_HF_P = 67;//车牌识别:DS6101-HF/P //能力获å–命令 public static final int VCA_DEV_ABILITY = 0x100;//设备智能分æžçš„总能力 public static final int VCA_CHAN_ABILITY = 0x110;//行为分æžèƒ½åŠ› public static final int DEVICE_ABILITY_INFO = 0x011; //è®¾å¤‡é€šç”¨èƒ½åŠ›ç±»åž‹ï¼Œå…·ä½“èƒ½åŠ›æ ¹æ®å‘é€çš„能力节点æ¥åŒºåˆ† public static final int NET_DVR_CHECK_USER_STATUS = 20005; //检测设备是å¦åœ¨çº¿ /**********************设备类型 end***********************/ /************************************************* * å‚æ•°é…置结构ã€å‚æ•°(å…¶ä¸_V30为9000新增) **************************************************/ ///////////////////////////////////////////////////////////////////////// //æ ¡æ—¶ç»“æž„å‚æ•° public static class NET_DVR_TIME extends HIKSDKStructure {//æ ¡æ—¶ç»“æž„å‚æ•° public int dwYear; //å¹´ public int dwMonth; //月 public int dwDay; //æ—¥ public int dwHour; //æ—¶ public int dwMinute; //分 public int dwSecond; //秒 public String toString() { return "NET_DVR_TIME.dwYear: " + dwYear + "\n" + "NET_DVR_TIME.dwMonth: \n" + dwMonth + "\n" + "NET_DVR_TIME.dwDay: \n" + dwDay + "\n" + "NET_DVR_TIME.dwHour: \n" + dwHour + "\n" + "NET_DVR_TIME.dwMinute: \n" + dwMinute + "\n" + "NET_DVR_TIME.dwSecond: \n" + dwSecond; } //用于列表ä¸æ˜¾ç¤º public String toStringTime() { return String.format("%02d/%02d/%02d%02d:%02d:%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } //å˜å‚¨æ–‡ä»¶å使用 public String toStringTitle() { return String.format("Time%02d%02d%02d%02d%02d%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond); } } public static class NET_DVR_SCHEDTIME extends HIKSDKStructure { public byte byStartHour; //开始时间 public byte byStartMin; public byte byStopHour; //结æŸæ—¶é—´ public byte byStopMin; } public static class NET_DVR_HANDLEEXCEPTION_V30 extends HIKSDKStructure { public int dwHandleType; /*处ç†æ–¹å¼,处ç†æ–¹å¼çš„"或"结果*//*0x00: æ— å“应*//*0x01: 监视器上è¦å‘Š*//*0x02: 声音è¦å‘Š*//*0x04: ä¸Šä¼ ä¸å¿ƒ*/ /*0x08: 触å‘报è¦è¾“出*//*0x20: 触å‘抓图*/ //(JPEG定制) public byte[] byRelAlarmOut = new byte[MAX_ALARMOUT_V30]; //报è¦è§¦å‘的输出通é“,报è¦è§¦å‘的输出,为1表示触å‘该输出 } //报è¦å’Œå¼‚常处ç†ç»“æž„(å结构)(多处使用) public static class NET_DVR_HANDLEEXCEPTION extends HIKSDKStructure { public int dwHandleType; /*处ç†æ–¹å¼,处ç†æ–¹å¼çš„"或"结果*//*0x00: æ— å“应*//*0x01: 监视器上è¦å‘Š*//*0x02: 声音è¦å‘Š*//*0x04: ä¸Šä¼ ä¸å¿ƒ*/ /*0x08: 触å‘报è¦è¾“出*//*0x20: 触å‘抓图*/ //(JPEG定制) public byte[] byRelAlarmOut = new byte[MAX_ALARMOUT]; //报è¦è§¦å‘的输出通é“,报è¦è§¦å‘的输出,为1表示触å‘该输出 } //DVR设备å‚æ•° public static class NET_DVR_DEVICECFG extends HIKSDKStructure { public int dwSize; public byte[] sDVRName = new byte[NAME_LEN]; //DVRå称 public int dwDVRID; //DVR ID,用于é¥æŽ§å™¨ //V1.4(0-99), V1.5(0-255) public int dwRecycleRecord; //是å¦å¾ªçŽ¯å½•åƒ,0:ä¸æ˜¯; 1:是 //以下ä¸å¯æ›´æ”¹ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //åºåˆ—å· public int dwSoftwareVersion; //软件版本å·,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public int dwSoftwareBuildDate; //软件生æˆæ—¥æœŸ,0xYYYYMMDD public int dwDSPSoftwareVersion; //DSP软件版本,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public int dwDSPSoftwareBuildDate; // DSP软件生æˆæ—¥æœŸ,0xYYYYMMDD public int dwPanelVersion; // å‰é¢æ¿ç‰ˆæœ¬,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public int dwHardwareVersion; // 硬件版本,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public byte byAlarmInPortNum; //DVR报è¦è¾“入个数 public byte byAlarmOutPortNum; //DVR报è¦è¾“出个数 public byte byRS232Num; //DVR 232串å£ä¸ªæ•° public byte byRS485Num; //DVR 485串å£ä¸ªæ•° public byte byNetworkPortNum; //网络å£ä¸ªæ•° public byte byDiskCtrlNum; //DVR 硬盘控制器个数 public byte byDiskNum; //DVR 硬盘个数 public byte byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS ...... public byte byChanNum; //DVR 通é“个数 public byte byStartChan; //起始通é“å·,例如DVS-1,DVR - 1 public byte byDecordChans; //DVR 解ç 路数 public byte byVGANum; //VGAå£çš„个数 public byte byUSBNum; //USBå£çš„个数 public byte byAuxoutNum; //è¾…å£çš„个数 public byte byAudioNum; //è¯éŸ³å£çš„个数 public byte byIPChanNum; //最大数å—通é“æ•° } //DVR设备å‚æ•° public static class NET_DVR_DEVICECFG_V40 extends HIKSDKStructure { public int dwSize; public byte[] sDVRName = new byte[NAME_LEN]; //DVRå称 public int dwDVRID; //DVR ID,用于é¥æŽ§å™¨ //V1.4(0-99), V1.5(0-255) public int dwRecycleRecord; //是å¦å¾ªçŽ¯å½•åƒ,0:ä¸æ˜¯; 1:是 //以下ä¸å¯æ›´æ”¹ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //åºåˆ—å· public int dwSoftwareVersion; //软件版本å·,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public int dwSoftwareBuildDate; //软件生æˆæ—¥æœŸ,0xYYYYMMDD public int dwDSPSoftwareVersion; //DSP软件版本,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public int dwDSPSoftwareBuildDate; // DSP软件生æˆæ—¥æœŸ,0xYYYYMMDD public int dwPanelVersion; // å‰é¢æ¿ç‰ˆæœ¬,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public int dwHardwareVersion; // 硬件版本,高16ä½æ˜¯ä¸»ç‰ˆæœ¬,低16ä½æ˜¯æ¬¡ç‰ˆæœ¬ public byte byAlarmInPortNum; //DVR报è¦è¾“入个数 public byte byAlarmOutPortNum; //DVR报è¦è¾“出个数 public byte byRS232Num; //DVR 232串å£ä¸ªæ•° public byte byRS485Num; //DVR 485串å£ä¸ªæ•° public byte byNetworkPortNum; //网络å£ä¸ªæ•° public byte byDiskCtrlNum; //DVR 硬盘控制器个数 public byte byDiskNum; //DVR 硬盘个数 public byte byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS ...... public byte byChanNum; //DVR 通é“个数 public byte byStartChan; //起始通é“å·,例如DVS-1,DVR - 1 public byte byDecordChans; //DVR 解ç 路数 public byte byVGANum; //VGAå£çš„个数 public byte byUSBNum; //USBå£çš„个数 public byte byAuxoutNum; //è¾…å£çš„个数 public byte byAudioNum; //è¯éŸ³å£çš„个数 public byte byIPChanNum; //最大数å—通é“æ•° 低8ä½ï¼Œé«˜8ä½è§byHighIPChanNum public byte byZeroChanNum; //零通é“ç¼–ç 个数 public byte bySupport; //能力,ä½ä¸Žç»“果为0表示ä¸æ”¯æŒï¼Œ1表示支æŒï¼Œ public byte byEsataUseage; //Esata的默认用途,0-默认备份,1-é»˜è®¤å½•åƒ public byte byIPCPlug; //0-å…³é—å³æ’å³ç”¨ï¼Œ1-打开å³æ’å³ç”¨ public byte byStorageMode; //0-盘组模å¼,1-ç£ç›˜é…é¢, 2抽帧模å¼, 3-自动 public byte bySupport1; //能力,ä½ä¸Žç»“果为0表示ä¸æ”¯æŒï¼Œ1è¡¨ç¤ºæ”¯æŒ public short wDevType;//è®¾å¤‡åž‹å· public byte[] byDevTypeName = new byte[DEV_TYPE_NAME_LEN];//设备型å·å称 public byte bySupport2; //能力集扩展,ä½ä¸Žç»“果为0表示ä¸æ”¯æŒï¼Œ1è¡¨ç¤ºæ”¯æŒ //bySupport2 & 0x1, 表示是å¦æ”¯æŒæ‰©å±•çš„OSDå—符å åŠ (终端和抓æ‹æœºæ‰©å±•åŒºåˆ†) public byte byAnalogAlarmInPortNum; //模拟报è¦è¾“入个数 public byte byStartAlarmInNo; //模拟报è¦è¾“å…¥èµ·å§‹å· public byte byStartAlarmOutNo; //模拟报è¦è¾“å‡ºèµ·å§‹å· public byte byStartIPAlarmInNo; //IP报è¦è¾“å…¥èµ·å§‹å· public byte byStartIPAlarmOutNo; //IP报è¦è¾“å‡ºèµ·å§‹å· public byte byHighIPChanNum; //æ•°å—通é“个数,高8ä½ public byte byEnableRemotePowerOn;//是å¦å¯ç”¨åœ¨è®¾å¤‡ä¼‘çœ çš„çŠ¶æ€ä¸‹è¿œç¨‹å¼€æœºåŠŸèƒ½ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public short wDevClass; //设备大类备是属于哪个产å“线,0 ä¿ç•™ï¼Œ1-50 DVR,51-100 DVS,101-150 NVR,151-200 IPC,65534 其他,具体分类方法è§ã€Šè®¾å¤‡ç±»åž‹å¯¹åº”åºåˆ—å·å’Œç±»åž‹å€¼.docx》 public byte[] byRes2 = new byte[6]; //ä¿ç•™ } public static class NET_DVR_IPADDR extends HIKSDKStructure { public byte[] sIpV4 = new byte[16]; public byte[] byRes = new byte[128]; public String toString() { return "NET_DVR_IPADDR.sIpV4: " + new String(sIpV4) + "\n" + "NET_DVR_IPADDR.byRes: " + new String(byRes) + "\n"; } } //网络数æ®ç»“æž„(å结构)(9000扩展) public static class NET_DVR_ETHERNET_V30 extends HIKSDKStructure { public NET_DVR_IPADDR struDVRIP; public NET_DVR_IPADDR struDVRIPMask; public int dwNetInterface; public short wDVRPort; public short wMTU; public byte[] byMACAddr = new byte[6]; public String toString() { return "NET_DVR_ETHERNET_V30.struDVRIP: \n" + struDVRIP + "\n" + "NET_DVR_ETHERNET_V30.struDVRIPMask: \n" + struDVRIPMask + "\n" + "NET_DVR_ETHERNET_V30.dwNetInterface: " + dwNetInterface + "\n" + "NET_DVR_ETHERNET_V30.wDVRPort: " + wDVRPort + "\n" + "NET_DVR_ETHERNET_V30.wMTU: " + wMTU + "\n" + "NET_DVR_ETHERNET_V30.byMACAddr: " + new String(byMACAddr) + "\n"; } } public static class NET_DVR_ETHERNET extends HIKSDKStructure {//网络数æ®ç»“æž„(å结构) public byte[] sDVRIP = new byte[16]; //DVR IPåœ°å€ public byte[] sDVRIPMask = new byte[16]; //DVR IP地å€æŽ©ç public int dwNetInterface; //ç½‘ç»œæŽ¥å£ 1-10MBase-T 2-10MBase-Tå…¨åŒå·¥ 3-100MBase-TX 4-100Må…¨åŒå·¥ 5-10M/100M自适应 public short wDVRPort; //端å£å· public byte[] byMACAddr = new byte[MACADDR_LEN]; //æœåŠ¡å™¨çš„物ç†åœ°å€ } public static class NET_DVR_PPPOECFG extends HIKSDKStructure {//PPPoe public int dwPPPoE; public byte[] sPPPoEUser = new byte[32]; public byte[] sPPPoEPassword = new byte[16]; public NET_DVR_IPADDR struPPPoEIP; } public static class NET_DVR_NETCFG_V30 extends HIKSDKStructure { public int dwSize; public NET_DVR_ETHERNET_V30[] struEtherNet = new NET_DVR_ETHERNET_V30[2]; public NET_DVR_IPADDR[] struRes1 = new NET_DVR_IPADDR[2]; public NET_DVR_IPADDR struAlarmHostIpAddr; public short[] wRes2 = new short[2]; public short wAlarmHostIpPort; public byte byUseDhcp; public byte byRes3; public NET_DVR_IPADDR struDnsServer1IpAddr; public NET_DVR_IPADDR struDnsServer2IpAddr; public byte[] byIpResolver = new byte[64]; public short wIpResolverPort; public short wHttpPortNo; public NET_DVR_IPADDR struMulticastIpAddr; public NET_DVR_IPADDR struGatewayIpAddr; public NET_DVR_PPPOECFG struPPPoE; public byte[] byRes = new byte[64]; public String toString() { return "NET_DVR_NETCFG_V30.dwSize: " + dwSize + "\n" + "NET_DVR_NETCFG_V30.struEtherNet[0]: \n" + struEtherNet[0] + "\n" + "NET_DVR_NETCFG_V30.struAlarmHostIpAddr: \n" + struAlarmHostIpAddr + "\n" + "NET_DVR_NETCFG_V30.wAlarmHostIpPort: " + wAlarmHostIpPort + "\n" + "NET_DVR_NETCFG_V30.wHttpPortNo: " + wHttpPortNo + "\n" + "NET_DVR_NETCFG_V30.struGatewayIpAddr: \n" + struGatewayIpAddr + "\n"; } } public static class NET_DVR_NETCFG extends HIKSDKStructure {//网络é…置结构 public int dwSize; public NET_DVR_ETHERNET[] struEtherNet = new NET_DVR_ETHERNET[MAX_ETHERNET]; /* ä»¥å¤ªç½‘å£ */ public byte[] sManageHostIP = new byte[16]; //远程管ç†ä¸»æœºåœ°å€ public short wManageHostPort; //远程管ç†ä¸»æœºç«¯å£å· public byte[] sIPServerIP = new byte[16]; //IPServeræœåŠ¡å™¨åœ°å€ public byte[] sMultiCastIP = new byte[16]; //多æ’ç»„åœ°å€ public byte[] sGatewayIP = new byte[16]; //ç½‘å…³åœ°å€ public byte[] sNFSIP = new byte[16]; //NFS主机IPåœ°å€ public byte[] sNFSDirectory = new byte[PATHNAME_LEN];//NFS目录 public int dwPPPOE; //0-ä¸å¯ç”¨,1-å¯ç”¨ public byte[] sPPPoEUser = new byte[NAME_LEN]; //PPPoE用户å public byte[] sPPPoEPassword = new byte[PASSWD_LEN];// PPPoE密ç public byte[] sPPPoEIP = new byte[16]; //PPPoE IP地å€(åªè¯») } //通é“图象结构 public static class NET_DVR_SCHEDTIMEWEEK extends HIKSDKStructure { public NET_DVR_SCHEDTIME[] struAlarmTime = new NET_DVR_SCHEDTIME[8]; } public static class byte96 extends HIKSDKStructure { public byte[] byMotionScope = new byte[96]; } public static class NET_DVR_MOTION_V30 extends HIKSDKStructure {//移动侦测(å结构)(9000扩展) public byte96[] byMotionScope = new byte96[64]; /*侦测区域,0-96ä½,表示64è¡Œ,共有96*64个å°å®å—,为1表示是移动侦测区域,0-表示ä¸æ˜¯*/ public byte byMotionSensitive; /*移动侦测çµæ•åº¦, 0 - 5,越高越çµæ•,oxffå…³é—*/ public byte byEnableHandleMotion; /* 是å¦å¤„ç†ç§»åŠ¨ä¾¦æµ‹ 0ï¼å¦ 1ï¼æ˜¯*/ public byte byPrecision; /* 移动侦测算法的进度: 0--16*16, 1--32*32, 2--64*64 ... */ public byte reservedData; public NET_DVR_HANDLEEXCEPTION_V30 struMotionHandleType; /* 处ç†æ–¹å¼ */ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*布防时间*/ public byte[] byRelRecordChan = new byte[64]; /* 报è¦è§¦å‘的录象通é“*/ } public static class NET_DVR_MOTION extends HIKSDKStructure {//移动侦测(å结构) public byte[] byMotionScope = new byte[18 * 22]; /*侦测区域,共有22*18个å°å®å—,为1表示改å®å—是移动侦测区域,0-表示ä¸æ˜¯*/ public byte byMotionSensitive; /*移动侦测çµæ•åº¦, 0 - 5,越高越çµæ•,0xffå…³é—*/ public byte byEnableHandleMotion; /* 是å¦å¤„ç†ç§»åŠ¨ä¾¦æµ‹ */ public byte[] reservedData = new byte[2]; public NET_DVR_HANDLEEXCEPTION strMotionHandleType; /* 处ç†æ–¹å¼ */ public byte[] byRelRecordChan = new byte[MAX_CHANNUM]; //报è¦è§¦å‘的录象通é“,为1表示触å‘è¯¥é€šé“ } public static class NET_DVR_HIDEALARM_V30 extends HIKSDKStructure {//é®æŒ¡æŠ¥è¦ public int dwEnableHideAlarm; /* 是å¦å¯åŠ¨é®æŒ¡æŠ¥è¦ ,0-å¦,1-低çµæ•åº¦ 2-ä¸çµæ•åº¦ 3-高çµæ•åº¦*/ public short wHideAlarmAreaTopLeftX; /* é®æŒ¡åŒºåŸŸçš„xåæ ‡ */ public short wHideAlarmAreaTopLeftY; /* é®æŒ¡åŒºåŸŸçš„yåæ ‡ */ public short wHideAlarmAreaWidth; /* é®æŒ¡åŒºåŸŸçš„宽 */ public short wHideAlarmAreaHeight; /*é®æŒ¡åŒºåŸŸçš„高*/ public NET_DVR_HANDLEEXCEPTION_V30 strHideAlarmHandleType; /* 处ç†æ–¹å¼ */ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//布防时间 } public static class NET_DVR_HIDEALARM extends HIKSDKStructure {//é®æŒ¡æŠ¥è¦(å结构) 区域大å°704*576 public int dwEnableHideAlarm; /* 是å¦å¯åŠ¨é®æŒ¡æŠ¥è¦ ,0-å¦,1-低çµæ•åº¦ 2-ä¸çµæ•åº¦ 3-高çµæ•åº¦*/ public short wHideAlarmAreaTopLeftX; /* é®æŒ¡åŒºåŸŸçš„xåæ ‡ */ public short wHideAlarmAreaTopLeftY; /* é®æŒ¡åŒºåŸŸçš„yåæ ‡ */ public short wHideAlarmAreaWidth; /* é®æŒ¡åŒºåŸŸçš„宽 */ public short wHideAlarmAreaHeight; /*é®æŒ¡åŒºåŸŸçš„高*/ public NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType; /* 处ç†æ–¹å¼ */ } public static class NET_DVR_VILOST_V30 extends HIKSDKStructure { //ä¿¡å·ä¸¢å¤±æŠ¥è¦(å结构)(9000扩展) public byte byEnableHandleVILost; /* 是å¦å¤„ç†ä¿¡å·ä¸¢å¤±æŠ¥è¦ */ public NET_DVR_HANDLEEXCEPTION_V30 strVILostHandleType; /* 处ç†æ–¹å¼ */ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//布防时间 } public static class NET_DVR_VILOST extends HIKSDKStructure { //ä¿¡å·ä¸¢å¤±æŠ¥è¦(å结构) public byte byEnableHandleVILost; /* 是å¦å¤„ç†ä¿¡å·ä¸¢å¤±æŠ¥è¦ */ public NET_DVR_HANDLEEXCEPTION strVILostHandleType; /* 处ç†æ–¹å¼ */ } public static class NET_DVR_SHELTER extends HIKSDKStructure { //é®æŒ¡åŒºåŸŸ(å结构) public short wHideAreaTopLeftX; /* é®æŒ¡åŒºåŸŸçš„xåæ ‡ */ public short wHideAreaTopLeftY; /* é®æŒ¡åŒºåŸŸçš„yåæ ‡ */ public short wHideAreaWidth; /* é®æŒ¡åŒºåŸŸçš„宽 */ public short wHideAreaHeight; /* é®æŒ¡åŒºåŸŸçš„高*/ } public static class NET_DVR_COLOR extends HIKSDKStructure { public byte byBrightness; /*亮度,0-255*/ public byte byContrast; /*对比度,0-255*/ public byte bySaturation; /*饱和度,0-255*/ public byte byHue; /*色调,0-255*/ } public static class NET_DVR_VICOLOR extends HIKSDKStructure { public NET_DVR_COLOR[] struColor = new NET_DVR_COLOR[MAX_TIMESEGMENT_V30];/*图象å‚æ•°(第一个有效,其他三个ä¿ç•™)*/ public NET_DVR_SCHEDTIME[] struHandleTime = new NET_DVR_SCHEDTIME[MAX_TIMESEGMENT_V30];/*处ç†æ—¶é—´æ®µ(ä¿ç•™)*/ } //ä¿¡å·ä¸¢å¤± public static class NET_DVR_VILOST_V40 extends HIKSDKStructure { public int dwEnableVILostAlarm; /* 是å¦å¯åŠ¨ä¿¡å·ä¸¢å¤±æŠ¥è¦ ,0-å¦,1-是*/ /* ä¿¡å·ä¸¢å¤±è§¦å‘报è¦è¾“出 */ public int dwHandleType; //异常处ç†,异常处ç†æ–¹å¼çš„"或"结果 /*0x00: æ— å“应*/ /*0x01: 监视器上è¦å‘Š*/ /*0x02: 声音è¦å‘Š*/ /*0x04: ä¸Šä¼ ä¸å¿ƒ*/ /*0x08: 触å‘报è¦è¾“出*/ /*0x10: 触å‘JPRGæŠ“å›¾å¹¶ä¸Šä¼ Email*/ /*0x20: æ— çº¿å£°å…‰æŠ¥è¦å™¨è”动*/ /*0x40: è”动电å地图(ç›®å‰åªæœ‰PCNVR支æŒ)*/ /*0x200: æŠ“å›¾å¹¶ä¸Šä¼ FTP*/ /*0x1000:æŠ“å›¾ä¸Šä¼ åˆ°äº‘*/ public int dwMaxRelAlarmOutChanNum; //触å‘的报è¦è¾“出通é“数(åªè¯»ï¼‰æœ€å¤§æ”¯æŒæ•°é‡ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; /*触å‘报è¦è¾“出å·ï¼ŒæŒ‰å€¼è¡¨ç¤º,é‡‡ç”¨ç´§å‡‘åž‹æŽ’åˆ—ï¼Œä»Žä¸‹æ ‡0 - dwRelAlarmOut -1有效,如果ä¸é—´é‡åˆ°0xffffffff,则åŽç»æ— 效*/ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*布防时间*/ public byte byVILostAlarmThreshold; /*ä¿¡å·ä¸¢å¤±æŠ¥è¦é˜ˆå€¼ï¼Œå½“值低于阈值,认为信å·ä¸¢å¤±ï¼Œå–值0-99*/ public byte[] byRes = new byte[63]; //ä¿ç•™ } public static class NET_DVR_DNMODE extends HIKSDKStructure { public byte byObjectSize;//å 比å‚æ•°(0~100) public byte byMotionSensitive; /*移动侦测çµæ•åº¦, 0 - 5,越高越çµæ•,0xffå…³é—*/ public byte[] byRes = new byte[6]; } public static class NET_DVR_MOTION_MULTI_AREAPARAM extends HIKSDKStructure { public byte byAreaNo;//区域编å·(IPC- 1~8) public byte[] byRes = new byte[3]; public NET_VCA_RECT struRect = new NET_VCA_RECT();//å•ä¸ªåŒºåŸŸçš„åæ ‡ä¿¡æ¯(矩形) size = 16; public NET_DVR_DNMODE struDayNightDisable = new NET_DVR_DNMODE();//å…³é—æ¨¡å¼ public NET_DVR_DNMODE struDayModeParam = new NET_DVR_DNMODE();//ç™½å¤©æ¨¡å¼ public NET_DVR_DNMODE struNightModeParam = new NET_DVR_DNMODE();//å¤œæ™šæ¨¡å¼ public byte[] byRes1 = new byte[8]; } public static final int MAX_MULTI_AREA_NUM = 24; public static class NET_DVR_MOTION_MULTI_AREA extends HIKSDKStructure { public byte byDayNightCtrl;//日夜控制 0~å…³é—,1~自动切æ¢,2~定时切æ¢(默认关é—) public byte byAllMotionSensitive; /*移动侦测çµæ•åº¦, 0 - 5,越高越çµæ•,0xffå…³é—,全部区域的çµæ•åº¦èŒƒå›´*/ public byte[] byRes = new byte[2];// public NET_DVR_SCHEDULE_DAYTIME struScheduleTime = new NET_DVR_SCHEDULE_DAYTIME();//切æ¢æ—¶é—´ 16 public NET_DVR_MOTION_MULTI_AREAPARAM[] struMotionMultiAreaParam = new NET_DVR_MOTION_MULTI_AREAPARAM[MAX_MULTI_AREA_NUM];//最大支æŒ24个区域 public byte[] byRes1 = new byte[60]; } public static class NET_DVR_MOTION_SINGLE_AREA extends HIKSDKStructure { public byte[] byMotionScope = new byte[64 * 96]; /*侦测区域,0-96ä½,表示64è¡Œ,共有96*64个å°å®å—,ç›®å‰æœ‰æ•ˆçš„是22*18,为1表示是移动侦测区域,0-表示ä¸æ˜¯*/ public byte byMotionSensitive; /*移动侦测çµæ•åº¦, 0 - 5,越高越çµæ•,0xffå…³é—*/ public byte[] byRes = new byte[3]; } public static class NET_DVR_MOTION_MODE_PARAM extends HIKSDKStructure { public NET_DVR_MOTION_SINGLE_AREA struMotionSingleArea = new NET_DVR_MOTION_SINGLE_AREA(); //普通模å¼ä¸‹çš„å•åŒºåŸŸè®¾ public NET_DVR_MOTION_MULTI_AREA struMotionMultiArea = new NET_DVR_MOTION_MULTI_AREA(); //专家模å¼ä¸‹çš„多区域设置 } public static class NET_DVR_MOTION_V40 extends HIKSDKStructure { public NET_DVR_MOTION_MODE_PARAM struMotionMode = new NET_DVR_MOTION_MODE_PARAM(); //(5.1.0新增) public byte byEnableHandleMotion; /* 是å¦å¤„ç†ç§»åŠ¨ä¾¦æµ‹ 0ï¼å¦ 1ï¼æ˜¯*/ public byte byEnableDisplay; /*å¯ç”¨ç§»åŠ¨ä¾¦æµ‹é«˜äº®æ˜¾ç¤ºï¼Œ0-å¦ï¼Œ1-是*/ public byte byConfigurationMode; //0~普通,1~专家(5.1.0新增) public byte byKeyingEnable; //å¯ç”¨é”®æŽ§ç§»åŠ¨ä¾¦æµ‹ 0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ /* 异常处ç†æ–¹å¼ */ public int dwHandleType; //异常处ç†,异常处ç†æ–¹å¼çš„"或"结果 /*0x00: æ— å“应*/ /*0x01: 监视器上è¦å‘Š*/ /*0x02: 声音è¦å‘Š*/ /*0x04: ä¸Šä¼ ä¸å¿ƒ*/ /*0x08: 触å‘报è¦è¾“出*/ /*0x10: 触å‘JPRGæŠ“å›¾å¹¶ä¸Šä¼ Email*/ /*0x20: æ— çº¿å£°å…‰æŠ¥è¦å™¨è”动*/ /*0x40: è”动电å地图(ç›®å‰åªæœ‰PCNVR支æŒ)*/ /*0x200: æŠ“å›¾å¹¶ä¸Šä¼ FTP*/ /*0x1000: æŠ“å›¾ä¸Šä¼ åˆ°äº‘*/ public int dwMaxRelAlarmOutChanNum; //触å‘的报è¦è¾“出通é“数(åªè¯»ï¼‰æœ€å¤§æ”¯æŒæ•°é‡ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; //实际触å‘的报è¦è¾“出å·ï¼ŒæŒ‰å€¼è¡¨ç¤º,é‡‡ç”¨ç´§å‡‘åž‹æŽ’åˆ—ï¼Œä»Žä¸‹æ ‡0 - dwRelAlarmOut -1有效,如果ä¸é—´é‡åˆ°0xffffffff,则åŽç»æ— 效 public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*布防时间*/ /*触å‘的录åƒé€šé“*/ public int dwMaxRecordChanNum; //设备支æŒçš„最大关è”录åƒé€šé“æ•°-åªè¯» public int[] dwRelRecordChan = new int[MAX_CHANNUM_V40]; /* 实际触å‘录åƒé€šé“,按值表示,é‡‡ç”¨ç´§å‡‘åž‹æŽ’åˆ—ï¼Œä»Žä¸‹æ ‡0 - dwRelRecordChan -1有效,如果ä¸é—´é‡åˆ°0xffffffff,则åŽç»æ— 效*/ public byte byDiscardFalseAlarm; //å¯ç”¨åŽ»è¯¯æŠ¥ 0-æ— æ•ˆï¼Œ1-ä¸å¯ç”¨ï¼Œ2-å¯ç”¨ public byte[] byRes = new byte[127]; //ä¿ç•™å—节 } public static class NET_DVR_RGB_COLOR extends HIKSDKStructure { public byte byRed; //RGB颜色三分é‡ä¸çš„红色 public byte byGreen; //RGB颜色三分é‡ä¸çš„绿色 public byte byBlue; //RGB颜色三分é‡ä¸çš„è“色 public byte byRes; //ä¿ç•™ } public static class NET_DVR_HIDEALARM_V40 extends HIKSDKStructure { public int dwEnableHideAlarm; /* 是å¦å¯åŠ¨é®æŒ¡æŠ¥è¦ï¼Œ0-å¦ï¼Œ1-低çµæ•åº¦ï¼Œ2-ä¸çµæ•åº¦ï¼Œ3-高çµæ•åº¦*/ public short wHideAlarmAreaTopLeftX; /* é®æŒ¡åŒºåŸŸçš„xåæ ‡ */ public short wHideAlarmAreaTopLeftY; /* é®æŒ¡åŒºåŸŸçš„yåæ ‡ */ public short wHideAlarmAreaWidth; /* é®æŒ¡åŒºåŸŸçš„宽 */ public short wHideAlarmAreaHeight; /*é®æŒ¡åŒºåŸŸçš„高*/ /* ä¿¡å·ä¸¢å¤±è§¦å‘报è¦è¾“出 */ public int dwHandleType; //异常处ç†,异常处ç†æ–¹å¼çš„"或"结果 /*0x00: æ— å“应*/ /*0x01: 监视器上è¦å‘Š*/ /*0x02: 声音è¦å‘Š*/ /*0x04: ä¸Šä¼ ä¸å¿ƒ*/ /*0x08: 触å‘报è¦è¾“出*/ /*0x10: 触å‘JPRGæŠ“å›¾å¹¶ä¸Šä¼ Email*/ /*0x20: æ— çº¿å£°å…‰æŠ¥è¦å™¨è”动*/ /*0x40: è”动电å地图(ç›®å‰åªæœ‰PCNVR支æŒ)*/ /*0x200: æŠ“å›¾å¹¶ä¸Šä¼ FTP*/ /*0x1000:æŠ“å›¾ä¸Šä¼ åˆ°äº‘*/ public int dwMaxRelAlarmOutChanNum; //触å‘的报è¦è¾“出通é“数(åªè¯»ï¼‰æœ€å¤§æ”¯æŒæ•°é‡ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; /*触å‘报è¦è¾“出å·ï¼ŒæŒ‰å€¼è¡¨ç¤º,é‡‡ç”¨ç´§å‡‘åž‹æŽ’åˆ—ï¼Œä»Žä¸‹æ ‡0 - dwRelAlarmOut -1有效,如果ä¸é—´é‡åˆ°0xffffffff,则åŽç»æ— 效*/ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*布防时间*/ public byte[] byRes = new byte[64]; //ä¿ç•™ }//é®æŒ¡æŠ¥è¦ public static class NET_DVR_PICCFG_V40 extends HIKSDKStructure { public int dwSize; public byte[] sChanName = new byte[NAME_LEN]; public int dwVideoFormat; /* åªè¯» è§†é¢‘åˆ¶å¼ 1-NTSC 2-PAL */ public NET_DVR_VICOLOR struViColor = new NET_DVR_VICOLOR();// 图åƒå‚数按时间段设置 //显示通é“å public int dwShowChanName; // 预览的图象上是å¦æ˜¾ç¤ºé€šé“å称,0-ä¸æ˜¾ç¤º,1-显示 public short wShowNameTopLeftX; /* 通é“å称显示ä½ç½®çš„xåæ ‡ */ public short wShowNameTopLeftY; /* 通é“å称显示ä½ç½®çš„yåæ ‡ */ //éšç§é®æŒ¡ public int dwEnableHide; /* 是å¦å¯åŠ¨é®æŒ¡ ,0-å¦,1-是*/ public NET_DVR_SHELTER[] struShelter = new NET_DVR_SHELTER[MAX_SHELTERNUM]; //OSD public int dwShowOsd;// 预览的图象上是å¦æ˜¾ç¤ºOSD,0-ä¸æ˜¾ç¤º,1-显示 public short wOSDTopLeftX; /* OSDçš„xåæ ‡ */ public short wOSDTopLeftY; /* OSDçš„yåæ ‡ */ public byte byOSDType; /* OSD类型(主è¦æ˜¯å¹´æœˆæ—¥æ ¼å¼) */ /* 0: XXXX-XX-XX 年月日 */ /* 1: XX-XX-XXXX 月日年 */ /* 2: XXXXå¹´XX月XXæ—¥ */ /* 3: XX月XXæ—¥XXXXå¹´ */ /* 4: XX-XX-XXXX 日月年*/ /* 5: XXæ—¥XX月XXXXå¹´ */ /*6: xx/xx/xxxx(月/æ—¥/å¹´) */ /*7: xxxx/xx/xx(å¹´/月/æ—¥) */ /*8: xx/xx/xxxx(æ—¥/月/å¹´)*/ public byte byDispWeek; /* 是å¦æ˜¾ç¤ºæ˜ŸæœŸ */ public byte byOSDAttrib; /* OSD属性:é€æ˜Žï¼Œé—ªçƒ */ /* 0: ä¸æ˜¾ç¤ºOSD */ /* 1: é€æ˜Žï¼Œé—ªçƒ */ /* 2: é€æ˜Žï¼Œä¸é—ªçƒ */ /* 3: ä¸é€æ˜Žï¼Œé—ªçƒ */ /* 4: ä¸é€æ˜Žï¼Œä¸é—ªçƒ */ public byte byHourOSDType; /* OSDå°æ—¶åˆ¶:0-24å°æ—¶åˆ¶,1-12å°æ—¶åˆ¶ */ public byte byFontSize; //16*16(ä¸)/8*16(英),1-32*32(ä¸)/16*32(英),2-64*64(ä¸)/32*64(英) 3-48*48(ä¸)/24*48(英) 4-24*24(ä¸)/12*24(英) 5-96*96(ä¸)/48*96(英) 6-128*128(ä¸)/64*128(英) 7-80*80(ä¸)/40*80(英) 8-112*112(ä¸)/56*112(英) 0xff-自适应(adaptive) public byte byOSDColorType; //0-默认(黑白);1-自定义 public byte byAlignment;//对é½æ–¹å¼ 0-自适应,1-å³å¯¹é½, 2-左对é½ï¼Œ3-å›½æ ‡æ¨¡å¼ï¼Œ4-全部å³å¯¹é½(包å«å åŠ å—符ã€æ—¶é—´ä»¥åŠæ ‡é¢˜ç‰æ‰€æœ‰OSDå—符),5-全部左对é½(包å«å åŠ å—符ã€æ—¶é—´ä»¥åŠæ ‡é¢˜ç‰æ‰€æœ‰OSDå—符) public byte byOSDMilliSecondEnable;//视频å åŠ æ—¶é—´æ”¯æŒæ¯«ç§’ï¼›0~ä¸å åŠ , 1-å åŠ public NET_DVR_VILOST_V40 struVILost = new NET_DVR_VILOST_V40(); //视频信å·ä¸¢å¤±æŠ¥è¦ï¼ˆæ”¯æŒç»„) public NET_DVR_VILOST_V40 struAULost = new NET_DVR_VILOST_V40(); /*音频信å·ä¸¢å¤±æŠ¥è¦ï¼ˆæ”¯æŒç»„)*/ public NET_DVR_MOTION_V40 struMotion = new NET_DVR_MOTION_V40(); //移动侦测报è¦ï¼ˆæ”¯æŒç»„) public NET_DVR_HIDEALARM_V40 struHideAlarm = new NET_DVR_HIDEALARM_V40(); //é®æŒ¡æŠ¥è¦ï¼ˆæ”¯æŒç»„) public NET_DVR_RGB_COLOR struOsdColor = new NET_DVR_RGB_COLOR();//OSD颜色 public int dwBoundary; //边界值,左对é½ï¼Œå³å¯¹é½ä»¥åŠå›½æ ‡æ¨¡å¼çš„边界值,0-表示默认值,å•ä½ï¼šåƒç´ ;åœ¨å›½æ ‡æ¨¡å¼ä¸‹ï¼Œå•ä½ä¿®æ”¹ä¸ºå—符个数(范围是,0,1,2) public NET_DVR_RGB_COLOR struOsdBkColor = new NET_DVR_RGB_COLOR(); //自定义OSD背景色 public byte byOSDBkColorMode; //OSD背景色模å¼ï¼Œ0-默认,1-自定义OSD背景色 public byte byUpDownBoundary; //上下最å°è¾¹ç•Œå€¼é€‰é¡¹ï¼Œå•ä½ä¸ºå—符个数(范围是,0,1,2),å›½æ ‡æ¨¡å¼ä¸‹æ— 效。byAlignment=3该å—æ®µæ— æ•ˆï¼Œé€šè¿‡dwBoundary进行边界é…置,.byAlignmentä¸ç‰äºŽ3的情况下, byUpDownBoundary/byLeftRightBoundaryé…ç½®æˆåŠŸåŽï¼ŒdwBoundary值将ä¸ç”Ÿæ•ˆ public byte byLeftRightBoundary; //å·¦å³æœ€å°è¾¹ç•Œå€¼é€‰é¡¹ï¼Œå•ä½ä¸ºå—符个数(范围是,0,1,2), å›½æ ‡æ¨¡å¼ä¸‹æ— 效。byAlignment=3该å—æ®µæ— æ•ˆï¼Œé€šè¿‡dwBoundary进行边界é…置,.byAlignmentä¸ç‰äºŽ3的情况下, byUpDownBoundary/byLeftRightBoundaryé…ç½®æˆåŠŸåŽï¼ŒdwBoundary值将ä¸ç”Ÿæ•ˆ public byte[] byRes = new byte[113]; } public static class NET_DVR_PICCFG_V30 extends HIKSDKStructure { public int dwSize; public byte[] sChanName = new byte[NAME_LEN]; public int dwVideoFormat; /* åªè¯» è§†é¢‘åˆ¶å¼ 1-NTSC 2-PAL*/ public NET_DVR_VICOLOR struViColor; // 图åƒå‚数按时间段设置 public int dwShowChanName; // 预览的图象上是å¦æ˜¾ç¤ºé€šé“å称,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576 public short wShowNameTopLeftX; /* 通é“å称显示ä½ç½®çš„xåæ ‡ */ public short wShowNameTopLeftY; /* 通é“å称显示ä½ç½®çš„yåæ ‡ */ public NET_DVR_VILOST_V30 struVILost; //视频信å·ä¸¢å¤±æŠ¥è¦ public NET_DVR_VILOST_V30 struAULost; /*音频信å·ä¸¢å¤±æŠ¥è¦(ä¿ç•™)*/ public NET_DVR_MOTION_V30 struMotion; //移动侦测 public NET_DVR_HIDEALARM_V30 struHideAlarm;//é®æŒ¡æŠ¥è¦ public int dwEnableHide; /* 是å¦å¯åŠ¨é®ç›–(区域大å°704*576) ,0-å¦,1-是*/ public NET_DVR_SHELTER[] struShelter = new NET_DVR_SHELTER[4]; public int dwShowOsd; //预览的图象上是å¦æ˜¾ç¤ºOSD,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576 public short wOSDTopLeftX; /* OSDçš„xåæ ‡ */ public short wOSDTopLeftY; /* OSDçš„yåæ ‡ */ public byte byOSDType; /* OSD类型(主è¦æ˜¯å¹´æœˆæ—¥æ ¼å¼) */ public byte byDispWeek; /* 是å¦æ˜¾ç¤ºæ˜ŸæœŸ */ public byte byOSDAttrib; /* OSD属性:é€æ˜Žï¼Œé—ªçƒ */ public byte byHourOSDType; /* OSDå°æ—¶åˆ¶:0-24å°æ—¶åˆ¶,1-12å°æ—¶åˆ¶ */ public byte[] byRes = new byte[64]; } public static class NET_DVR_PICCFG_EX extends HIKSDKStructure {//通é“图象结构SDK_V14扩展 public int dwSize; public byte[] sChanName = new byte[NAME_LEN]; public int dwVideoFormat; /* åªè¯» è§†é¢‘åˆ¶å¼ 1-NTSC 2-PAL*/ public byte byBrightness; /*亮度,0-255*/ public byte byContrast; /*对比度,0-255*/ public byte bySaturation; /*饱和度,0-255 */ public byte byHue; /*色调,0-255*/ //显示通é“å public int dwShowChanName; // 预览的图象上是å¦æ˜¾ç¤ºé€šé“å称,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576 public short wShowNameTopLeftX; /* 通é“å称显示ä½ç½®çš„xåæ ‡ */ public short wShowNameTopLeftY; /* 通é“å称显示ä½ç½®çš„yåæ ‡ */ //ä¿¡å·ä¸¢å¤±æŠ¥è¦ public NET_DVR_VILOST struVILost; //移动侦测 public NET_DVR_MOTION struMotion; //é®æŒ¡æŠ¥è¦ public NET_DVR_HIDEALARM struHideAlarm; //é®æŒ¡ 区域大å°704*576 public int dwEnableHide; /* 是å¦å¯åŠ¨é®æŒ¡ ,0-å¦,1-是*/ public NET_DVR_SHELTER[] struShelter = new NET_DVR_SHELTER[MAX_SHELTERNUM]; //OSD public int dwShowOsd;// 预览的图象上是å¦æ˜¾ç¤ºOSD,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576 public short wOSDTopLeftX; /* OSDçš„xåæ ‡ */ public short wOSDTopLeftY; /* OSDçš„yåæ ‡ */ public byte byOSDType; /* OSD类型(主è¦æ˜¯å¹´æœˆæ—¥æ ¼å¼) */ /* 0: XXXX-XX-XX 年月日 */ /* 1: XX-XX-XXXX 月日年 */ /* 2: XXXXå¹´XX月XXæ—¥ */ /* 3: XX月XXæ—¥XXXXå¹´ */ /* 4: XX-XX-XXXX 日月年*/ /* 5: XXæ—¥XX月XXXXå¹´ */ public byte byDispWeek; /* 是å¦æ˜¾ç¤ºæ˜ŸæœŸ */ public byte byOSDAttrib; /* OSD属性:é€æ˜Žï¼Œé—ªçƒ */ /* 0: ä¸æ˜¾ç¤ºOSD */ /* 1: é€æ˜Ž,é—ªçƒ */ /* 2: é€æ˜Ž,ä¸é—ªçƒ */ /* 3: é—ªçƒ,ä¸é€æ˜Ž */ /* 4: ä¸é€æ˜Ž,ä¸é—ªçƒ */ public byte byHourOsdType; //å°æ—¶åˆ¶ï¼š0表示24å°æ—¶åˆ¶ï¼Œ1-12å°æ—¶åˆ¶æˆ–am/pm } public static class NET_DVR_PICCFG extends HIKSDKStructure { //通é“图象结构(SDK_V13åŠä¹‹å‰ç‰ˆæœ¬) public int dwSize; public byte[] sChanName = new byte[NAME_LEN]; public int dwVideoFormat; /* åªè¯» è§†é¢‘åˆ¶å¼ 1-NTSC 2-PAL*/ public byte byBrightness; /*亮度,0-255*/ public byte byContrast; /*对比度,0-255*/ public byte bySaturation; /*饱和度,0-255 */ public byte byHue; /*色调,0-255*/ //显示通é“å public int dwShowChanName; // 预览的图象上是å¦æ˜¾ç¤ºé€šé“å称,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576 public short wShowNameTopLeftX; /* 通é“å称显示ä½ç½®çš„xåæ ‡ */ public short wShowNameTopLeftY; /* 通é“å称显示ä½ç½®çš„yåæ ‡ */ //ä¿¡å·ä¸¢å¤±æŠ¥è¦ public NET_DVR_VILOST struVILost; //移动侦测 public NET_DVR_MOTION struMotion; //é®æŒ¡æŠ¥è¦ public NET_DVR_HIDEALARM struHideAlarm; //é®æŒ¡ 区域大å°704*576 public int dwEnableHide; /* 是å¦å¯åŠ¨é®æŒ¡ ,0-å¦,1-是*/ public short wHideAreaTopLeftX; /* é®æŒ¡åŒºåŸŸçš„xåæ ‡ */ public short wHideAreaTopLeftY; /* é®æŒ¡åŒºåŸŸçš„yåæ ‡ */ public short wHideAreaWidth; /* é®æŒ¡åŒºåŸŸçš„宽 */ public short wHideAreaHeight; /*é®æŒ¡åŒºåŸŸçš„高*/ //OSD public int dwShowOsd;// 预览的图象上是å¦æ˜¾ç¤ºOSD,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576 public short wOSDTopLeftX; /* OSDçš„xåæ ‡ */ public short wOSDTopLeftY; /* OSDçš„yåæ ‡ */ public byte byOSDType; /* OSD类型(主è¦æ˜¯å¹´æœˆæ—¥æ ¼å¼) */ /* 0: XXXX-XX-XX 年月日 */ /* 1: XX-XX-XXXX 月日年 */ /* 2: XXXXå¹´XX月XXæ—¥ */ /* 3: XX月XXæ—¥XXXXå¹´ */ /* 4: XX-XX-XXXX 日月年*/ /* 5: XXæ—¥XX月XXXXå¹´ */ byte byDispWeek; /* 是å¦æ˜¾ç¤ºæ˜ŸæœŸ */ byte byOSDAttrib; /* OSD属性:é€æ˜Žï¼Œé—ªçƒ */ /* 0: ä¸æ˜¾ç¤ºOSD */ /* 1: é€æ˜Ž,é—ªçƒ */ /* 2: é€æ˜Ž,ä¸é—ªçƒ */ /* 3: é—ªçƒ,ä¸é€æ˜Ž */ /* 4: ä¸é€æ˜Ž,ä¸é—ªçƒ */ public byte reservedData2; } public static class NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND extends HIKSDKStructure { public int dwSize; public NET_DVR_STREAM_INFO struStreamInfo = new NET_DVR_STREAM_INFO(); public int dwStreamType; public byte[] byRes = new byte[32]; } public static class NET_DVR_MULTI_STREAM_COMPRESSIONCFG extends HIKSDKStructure { public int dwSize; public int dwStreamType; public NET_DVR_COMPRESSION_INFO_V30 struStreamPara = new NET_DVR_COMPRESSION_INFO_V30(); public byte[] byRes = new byte[80]; } //ç æµåŽ‹ç¼©å‚æ•°(å结构)(9000扩展) public static class NET_DVR_COMPRESSION_INFO_V30 extends HIKSDKStructure { public byte byStreamType; //ç æµç±»åž‹ 0-视频æµ, 1-å¤åˆæµ public byte byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5(ä¿ç•™ï¼‰16-VGA(640*480) 17-UXGA(1600*1200) 18-SVGA (800*600)19-HD720p(1280*720)20-XVGA 21-HD900p public byte byBitrateType; //ç 率类型 0:定ç 率,1:å˜ç 率 public byte byPicQuality; //å›¾è±¡è´¨é‡ 0-最好 1-次好 2-较好 3-一般 4-较差 5-å·® public int dwVideoBitrate; //视频ç 率 0-ä¿ç•™ 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048最高ä½(31ä½)ç½®æˆ1表示是自定义ç æµ, 0-30ä½è¡¨ç¤ºç æµå€¼ã€‚ public int dwVideoFrameRate; //帧率 0-全部; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; V2.0版本ä¸æ–°åŠ 14-15; 15-18; 16-22; public short wIntervalFrameI; //I帧间隔 public byte byIntervalBPFrame;//0-BBP帧; 1-BP帧; 2-å•P帧 public byte byENumber; //E帧数é‡ï¼ˆä¿ç•™ï¼‰ public byte byVideoEncType;//视频编ç 类型 0 hik264;1æ ‡å‡†h264; 2æ ‡å‡†mpeg4; public byte byAudioEncType;//音频编ç 类型 0 G722 public byte[] byres = new byte[10]; } //通é“压缩å‚æ•°(9000扩展) public static class NET_DVR_COMPRESSIONCFG_V30 extends HIKSDKStructure { public int dwSize; public NET_DVR_COMPRESSION_INFO_V30 struNormHighRecordPara; //å½•åƒ å¯¹åº”8000的普通 public NET_DVR_COMPRESSION_INFO_V30 struRes; //ä¿ç•™ String[28]; public NET_DVR_COMPRESSION_INFO_V30 struEventRecordPara; //事件触å‘压缩å‚æ•° public NET_DVR_COMPRESSION_INFO_V30 struNetPara; //ç½‘ä¼ (åç æµ) } public static class NET_DVR_COMPRESSION_INFO extends HIKSDKStructure {//ç æµåŽ‹ç¼©å‚æ•°(å结构) public byte byStreamType; //ç æµç±»åž‹0-视频æµ,1-å¤åˆæµ,表示压缩å‚数时最高ä½è¡¨ç¤ºæ˜¯å¦å¯ç”¨åŽ‹ç¼©å‚æ•° public byte byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(车载专用) public byte byBitrateType; //ç 率类型0:å˜ç 率,1:定ç 率 public byte byPicQuality; //å›¾è±¡è´¨é‡ 0-最好 1-次好 2-较好 3-一般 4-较差 5-å·® public int dwVideoBitrate; //视频ç 率 0-ä¿ç•™ 1-16K(ä¿ç•™) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K //最高ä½(31ä½)ç½®æˆ1表示是自定义ç æµ, 0-30ä½è¡¨ç¤ºç æµå€¼(MIN-32K MAX-8192K)。 public int dwVideoFrameRate; //帧率 0-全部; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; } public static class NET_DVR_COMPRESSIONCFG extends HIKSDKStructure {//通é“压缩å‚æ•° public int dwSize; public NET_DVR_COMPRESSION_INFO struRecordPara; //录åƒ/事件触å‘å½•åƒ public NET_DVR_COMPRESSION_INFO struNetPara; //ç½‘ä¼ /ä¿ç•™ } public static class NET_DVR_COMPRESSION_INFO_EX extends HIKSDKStructure {//ç æµåŽ‹ç¼©å‚æ•°(å结构)(扩展) å¢žåŠ I帧间隔 public byte byStreamType; //ç æµç±»åž‹0-视频æµ, 1-å¤åˆæµ public byte byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(车载专用) public byte byBitrateType; //ç 率类型0:å˜ç 率,1:定ç 率 public byte byPicQuality; //å›¾è±¡è´¨é‡ 0-最好 1-次好 2-较好 3-一般 4-较差 5-å·® public int dwVideoBitrate; //视频ç 率 0-ä¿ç•™ 1-16K(ä¿ç•™) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K //最高ä½(31ä½)ç½®æˆ1表示是自定义ç æµ, 0-30ä½è¡¨ç¤ºç æµå€¼(MIN-32K MAX-8192K)。 public int dwVideoFrameRate; //帧率 0-全部; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.0å¢žåŠ 14-15, 15-18, 16-22; public short wIntervalFrameI; //I帧间隔 //2006-08-11 å¢žåŠ å•P帧的é…置接å£ï¼Œå¯ä»¥æ”¹å–„实时æµå»¶æ—¶é—®é¢˜ public byte byIntervalBPFrame;//0-BBP帧; 1-BP帧; 2-å•P帧 public byte byENumber;//Eå¸§æ•°é‡ } public static class NET_DVR_RECORDSCHED extends HIKSDKStructure //时间段录åƒå‚æ•°é…ç½®(å结构) { public NET_DVR_SCHEDTIME struRecordTime = new NET_DVR_SCHEDTIME(); public byte byRecordType; //0:定时录åƒï¼Œ1:移动侦测,2:报è¦å½•åƒï¼Œ3:动测|报è¦ï¼Œ4:动测&报è¦, 5:命令触å‘, 6: æ™ºèƒ½å½•åƒ public byte[] reservedData = new byte[3]; } public static class NET_DVR_RECORDDAY extends HIKSDKStructure //全天录åƒå‚æ•°é…ç½®(å结构) { public short wAllDayRecord; /* 是å¦å…¨å¤©å½•åƒ 0-å¦ 1-是*/ public byte byRecordType; /* 录象类型 0:定时录åƒï¼Œ1:移动侦测,2:报è¦å½•åƒï¼Œ3:动测|报è¦ï¼Œ4:动测&æŠ¥è¦ 5:命令触å‘, 6: 智能录åƒ*/ public byte reservedData; } public static class NET_DVR_RECORDSCHEDWEEK extends HIKSDKStructure { public NET_DVR_RECORDSCHED[] struRecordSched = new NET_DVR_RECORDSCHED[MAX_TIMESEGMENT_V30]; } public static class NET_DVR_RECORD_V30 extends HIKSDKStructure { //通é“录åƒå‚æ•°é…ç½®(9000扩展) public int dwSize; public int dwRecord; /*是å¦å½•åƒ 0-å¦ 1-是*/ public NET_DVR_RECORDDAY[] struRecAllDay = new NET_DVR_RECORDDAY[MAX_DAYS]; public NET_DVR_RECORDSCHEDWEEK[] struRecordSched = new NET_DVR_RECORDSCHEDWEEK[MAX_DAYS]; public int dwRecordTime; /* 录象延时长度 0-5秒, 1-20秒, 2-30秒, 3-1分钟, 4-2分钟, 5-5分钟, 6-10分钟*/ public int dwPreRecordTime; /* 预录时间 0-ä¸é¢„录 1-5秒 2-10秒 3-15秒 4-20秒 5-25秒 6-30秒 7-0xffffffff(å°½å¯èƒ½é¢„录) */ public int dwRecorderDuration; /* 录åƒä¿å˜çš„最长时间 */ public byte byRedundancyRec; /*是å¦å†—余录åƒ,é‡è¦æ•°æ®åŒå¤‡ä»½ï¼š0/1*/ public byte byAudioRec; /*录åƒæ—¶å¤åˆæµç¼–ç 时是å¦è®°å½•éŸ³é¢‘æ•°æ®ï¼šå›½å¤–有æ¤æ³•è§„*/ public byte[] byReserve = new byte[10]; } public static class NET_DVR_RECORD extends HIKSDKStructure { //通é“录åƒå‚æ•°é…ç½® public int dwSize; public int dwRecord; /*是å¦å½•åƒ 0-å¦ 1-是*/ public NET_DVR_RECORDDAY[] struRecAllDay = new NET_DVR_RECORDDAY[MAX_DAYS]; public NET_DVR_RECORDSCHEDWEEK[] struRecordSched = new NET_DVR_RECORDSCHEDWEEK[MAX_DAYS]; public int dwRecordTime; /* 录象时间长度 0-5秒, 1-20秒, 2-30秒, 3-1分钟, 4-2分钟, 5-5分钟, 6-10分钟*/ public int dwPreRecordTime; /* 预录时间 0-ä¸é¢„录 1-5秒 2-10秒 3-15秒 4-20秒 5-25秒 6-30秒 7-0xffffffff(å°½å¯èƒ½é¢„录) */ } public static class NET_DVR_STATFRAME extends HIKSDKStructure { //å•å¸§ç»Ÿè®¡å‚æ•° public int dwRelativeTime; public int dwAbsTime; /*统计ç»å¯¹æ—¶æ ‡*/ public byte[] byRes = new byte[92]; } public static class NET_DVR_STATTIME extends HIKSDKStructure { //å•å¸§ç»Ÿè®¡å‚æ•° public NET_DVR_TIME tmStart; //统计开始时间 public NET_DVR_TIME tmEnd; //统计结æŸæ—¶é—´ public byte[] byRes = new byte[92]; } public static class UNION_PDC_STATPARAM extends Union { // public byte[] byLen = new byte[140]; public NET_DVR_STATFRAME struStatFrame; public NET_DVR_STATTIME struStatTime; } public static class NET_DVR_PDC_ALRAM_INFO extends HIKSDKStructure { //通é“录åƒå‚æ•°é…ç½® public int dwSize; public byte byMode; /*0-å•å¸§ç»Ÿè®¡ç»“果,1-最å°æ—¶é—´æ®µç»Ÿè®¡ç»“æžœ*/ public byte byChannel; public byte bySmart; //专业智能返回0,Smart 返回 1 public byte byRes1; // ä¿ç•™å—节 public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public UNION_PDC_STATPARAM uStatModeParam = new UNION_PDC_STATPARAM(); public int dwLeaveNum; /* 离开人数 */ public int dwEnterNum; /* 进入人数 */ public byte byBrokenNetHttp; //æ–网ç»ä¼ æ ‡å¿—ä½ï¼Œ0-ä¸æ˜¯é‡ä¼ æ•°æ®ï¼Œ1-é‡ä¼ æ•°æ® public byte byRes3; public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannelå«ä¹‰ç›¸åŒï¼Œèƒ½è¡¨ç¤ºæ›´å¤§çš„值。è€å®¢æˆ·ç«¯ç”¨byIvmsChannel能继ç»å…¼å®¹ï¼Œä½†æ˜¯æœ€å¤§åˆ°255。新客户端版本请使用wDevInfoIvmsChannelEx public int dwPassingNum; // ç»è¿‡äººæ•°ï¼ˆè¿›å…¥åŒºåŸŸåŽå¾˜å¾Šæ²¡æœ‰è§¦å‘进入ã€ç¦»å¼€çš„人数) public byte[] byRes2 = new byte[32]; public void read() { super.read(); switch (byMode) { case 0: uStatModeParam.setType(NET_DVR_STATFRAME.class); break; case 1: uStatModeParam.setType(NET_DVR_STATTIME.class); break; default: break; } uStatModeParam.read(); } public void write() { super.write(); uStatModeParam.write(); } } //云å°å议表结构é…ç½® public static class NET_DVR_PTZ_PROTOCOL extends HIKSDKStructure { public int dwType; /*解ç 器类型值,从1开始连ç»é€’增*/ public byte[] byDescribe = new byte[DESC_LEN]; /*解ç 器的æ述符,和8000ä¸çš„一致*/ } public static class NET_DVR_PTZCFG extends HIKSDKStructure { public int dwSize; public NET_DVR_PTZ_PROTOCOL[] struPtz = new NET_DVR_PTZ_PROTOCOL[PTZ_PROTOCOL_NUM];/*最大200ä¸PTZåè®®*/ public int dwPtzNum; /*有效的ptzå议数目,从0开始(å³è®¡ç®—æ—¶åŠ 1)*/ public byte[] byRes = new byte[8]; } /*************************** * 云å°ç±»åž‹(end) ******************************/ public static class NET_DVR_DECODERCFG_V30 extends HIKSDKStructure {//通é“解ç 器(云å°)å‚æ•°é…ç½®(9000扩展) public int dwSize; public int dwBaudRate; //波特率(bps),0ï¼50,1ï¼75,2ï¼110,3ï¼150,4ï¼300,5ï¼600,6ï¼1200,7ï¼2400,8ï¼4800,9ï¼9600,10ï¼19200, 11ï¼38400,12ï¼57600,13ï¼76800,14ï¼115.2k; public byte byDataBit; // æ•°æ®æœ‰å‡ ä½ 0ï¼5ä½ï¼Œ1ï¼6ä½ï¼Œ2ï¼7ä½ï¼Œ3ï¼8ä½; public byte byStopBit; // åœæ¢ä½ 0ï¼1ä½ï¼Œ1ï¼2ä½; public byte byParity; // æ ¡éªŒ 0ï¼æ— æ ¡éªŒï¼Œ1ï¼å¥‡æ ¡éªŒï¼Œ2ï¼å¶æ ¡éªŒ; public byte byFlowcontrol; // 0ï¼æ— ,1ï¼è½¯æµæŽ§,2-硬æµæŽ§ public short wDecoderType; //解ç 器类型, 0ï¼YouLi,1ï¼LiLin-1016,2ï¼LiLin-820,3ï¼Pelco-p,4ï¼DM DynaColor,5ï¼HD600,6ï¼JC-4116,7ï¼Pelco-d WX,8ï¼Pelco-d PICO public short wDecoderAddress; /*解ç 器地å€:0 - 255*/ public byte[] bySetPreset = new byte[MAX_PRESET_V30]; /* 预置点是å¦è®¾ç½®,0-没有设置,1-设置*/ public byte[] bySetCruise = new byte[MAX_CRUISE_V30]; /* 巡航是å¦è®¾ç½®: 0-没有设置,1-设置 */ public byte[] bySetTrack = new byte[MAX_TRACK_V30]; /* 轨迹是å¦è®¾ç½®,0-没有设置,1-设置*/ } public static class NET_DVR_DECODERCFG extends HIKSDKStructure {//通é“解ç 器(云å°)å‚æ•°é…ç½® public int dwSize; public int dwBaudRate; //波特率(bps),0ï¼50,1ï¼75,2ï¼110,3ï¼150,4ï¼300,5ï¼600,6ï¼1200,7ï¼2400,8ï¼4800,9ï¼9600,10ï¼19200, 11ï¼38400,12ï¼57600,13ï¼76800,14ï¼115.2k; public byte byDataBit; // æ•°æ®æœ‰å‡ ä½ 0ï¼5ä½ï¼Œ1ï¼6ä½ï¼Œ2ï¼7ä½ï¼Œ3ï¼8ä½; public byte byStopBit; // åœæ¢ä½ 0ï¼1ä½ï¼Œ1ï¼2ä½; public byte byParity; // æ ¡éªŒ 0ï¼æ— æ ¡éªŒï¼Œ1ï¼å¥‡æ ¡éªŒï¼Œ2ï¼å¶æ ¡éªŒ; public byte byFlowcontrol; // 0ï¼æ— ,1ï¼è½¯æµæŽ§,2-硬æµæŽ§ public short wDecoderType; //解ç 器类型, 0ï¼YouLi,1ï¼LiLin-1016,2ï¼LiLin-820,3ï¼Pelco-p,4ï¼DM DynaColor,5ï¼HD600,6ï¼JC-4116,7ï¼Pelco-d WX,8ï¼Pelco-d PICO public short wDecoderAddress; /*解ç 器地å€:0 - 255*/ public byte[] bySetPreset = new byte[MAX_PRESET]; /* 预置点是å¦è®¾ç½®,0-没有设置,1-设置*/ public byte[] bySetCruise = new byte[MAX_CRUISE]; /* 巡航是å¦è®¾ç½®: 0-没有设置,1-设置 */ public byte[] bySetTrack = new byte[MAX_TRACK]; /* 轨迹是å¦è®¾ç½®,0-没有设置,1-设置*/ } public static class NET_DVR_PPPCFG_V30 extends HIKSDKStructure {//pppå‚æ•°é…ç½®(å结构) public NET_DVR_IPADDR struRemoteIP; //远端IPåœ°å€ public NET_DVR_IPADDR struLocalIP; //本地IPåœ°å€ public byte[] sLocalIPMask = new byte[16]; //本地IP地å€æŽ©ç public byte[] sUsername = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public byte byPPPMode; //PPP模å¼, 0ï¼ä¸»åŠ¨ï¼Œ1ï¼è¢«åŠ¨ public byte byRedial; //是å¦å›žæ‹¨ :0-å¦,1-是 public byte byRedialMode; //回拨模å¼,0-由拨入者指定,1-预置回拨å·ç public byte byDataEncrypt; //æ•°æ®åŠ 密,0-å¦,1-是 public int dwMTU; //MTU public byte[] sTelephoneNumber = new byte[PHONENUMBER_LEN]; //电è¯å·ç } public static class NET_DVR_PPPCFG extends HIKSDKStructure {//pppå‚æ•°é…ç½®(å结构) public byte[] sRemoteIP = new byte[16]; //远端IPåœ°å€ public byte[] sLocalIP = new byte[16]; //本地IPåœ°å€ public byte[] sLocalIPMask = new byte[16]; //本地IP地å€æŽ©ç public byte[] sUsername = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public byte byPPPMode; //PPP模å¼, 0ï¼ä¸»åŠ¨ï¼Œ1ï¼è¢«åŠ¨ public byte byRedial; //是å¦å›žæ‹¨ :0-å¦,1-是 public byte byRedialMode; //回拨模å¼,0-由拨入者指定,1-预置回拨å·ç public byte byDataEncrypt; //æ•°æ®åŠ 密,0-å¦,1-是 public int dwMTU; //MTU public byte[] sTelephoneNumber = new byte[PHONENUMBER_LEN]; //电è¯å·ç } public static class NET_DVR_SINGLE_RS232 extends HIKSDKStructure {//RS232串å£å‚æ•°é…ç½®(9000扩展) public int dwBaudRate; /*波特率(bps),0ï¼50,1ï¼75,2ï¼110,3ï¼150,4ï¼300,5ï¼600,6ï¼1200,7ï¼2400,8ï¼4800,9ï¼9600,10ï¼19200, 11ï¼38400,12ï¼57600,13ï¼76800,14ï¼115.2k;*/ public byte byDataBit; /* æ•°æ®æœ‰å‡ ä½ 0ï¼5ä½ï¼Œ1ï¼6ä½ï¼Œ2ï¼7ä½ï¼Œ3ï¼8ä½ */ public byte byStopBit; /* åœæ¢ä½ 0ï¼1ä½ï¼Œ1ï¼2ä½ */ public byte byParity; /* æ ¡éªŒ 0ï¼æ— æ ¡éªŒï¼Œ1ï¼å¥‡æ ¡éªŒï¼Œ2ï¼å¶æ ¡éªŒ */ public byte byFlowcontrol; /* 0ï¼æ— ,1ï¼è½¯æµæŽ§,2-硬æµæŽ§ */ public int dwWorkMode; /* 工作模å¼ï¼Œ0ï¼232串å£ç”¨äºŽPPP拨å·ï¼Œ1ï¼232串å£ç”¨äºŽå‚数控制,2ï¼é€æ˜Žé€šé“ */ } public static class NET_DVR_RS232CFG_V30 extends HIKSDKStructure {//RS232串å£å‚æ•°é…ç½®(9000扩展) public int dwSize; public NET_DVR_SINGLE_RS232 struRs232;/*ç›®å‰åªæœ‰ç¬¬ä¸€ä¸ªä¸²å£è®¾ç½®æœ‰æ•ˆï¼Œæ‰€æœ‰è®¾å¤‡éƒ½åªæ”¯æŒä¸€ä¸ªä¸²å£ï¼Œå…¶ä»–七个ä¿ç•™*/ public byte[] byRes = new byte[84]; public NET_DVR_PPPCFG_V30 struPPPConfig;/*pppå‚æ•°*/ } public static class NET_DVR_RS232CFG extends HIKSDKStructure {//RS232串å£å‚æ•°é…ç½® public int dwSize; public int dwBaudRate;//波特率(bps),0ï¼50,1ï¼75,2ï¼110,3ï¼150,4ï¼300,5ï¼600,6ï¼1200,7ï¼2400,8ï¼4800,9ï¼9600,10ï¼19200, 11ï¼38400,12ï¼57600,13ï¼76800,14ï¼115.2k; public byte byDataBit;// æ•°æ®æœ‰å‡ ä½ 0ï¼5ä½ï¼Œ1ï¼6ä½ï¼Œ2ï¼7ä½ï¼Œ3ï¼8ä½; public byte byStopBit;// åœæ¢ä½ 0ï¼1ä½ï¼Œ1ï¼2ä½; public byte byParity;// æ ¡éªŒ 0ï¼æ— æ ¡éªŒï¼Œ1ï¼å¥‡æ ¡éªŒï¼Œ2ï¼å¶æ ¡éªŒ; public byte byFlowcontrol;// 0ï¼æ— ,1ï¼è½¯æµæŽ§,2-硬æµæŽ§ public int dwWorkMode;// 工作模å¼ï¼Œ0ï¼çª„å¸¦ä¼ è¾“(232串å£ç”¨äºŽPPP拨å·),1ï¼æŽ§åˆ¶å°(232串å£ç”¨äºŽå‚数控制),2ï¼é€æ˜Žé€šé“ public NET_DVR_PPPCFG struPPPConfig; } public static class NET_DVR_ALARMINCFG_V30 extends HIKSDKStructure {//报è¦è¾“å…¥å‚æ•°é…ç½®(9000扩展) public int dwSize; public byte[] sAlarmInName = new byte[NAME_LEN]; /* å称 */ public byte byAlarmType; //报è¦å™¨ç±»åž‹,0:常开,1ï¼šå¸¸é— public byte byAlarmInHandle; /* 是å¦å¤„ç† 0-ä¸å¤„ç† 1-处ç†*/ public byte[] reservedData = new byte[2]; public NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* 处ç†æ–¹å¼ */ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//布防时间 public byte[] byRelRecordChan = new byte[MAX_CHANNUM_V30]; //报è¦è§¦å‘的录象通é“,为1表示触å‘è¯¥é€šé“ public byte[] byEnablePreset = new byte[MAX_CHANNUM_V30]; /* 是å¦è°ƒç”¨é¢„置点 0-å¦,1-是*/ public byte[] byPresetNo = new byte[MAX_CHANNUM_V30]; /* 调用的云å°é¢„置点åºå·,一个报è¦è¾“å…¥å¯ä»¥è°ƒç”¨å¤šä¸ªé€šé“的云å°é¢„置点, 0xff表示ä¸è°ƒç”¨é¢„置点。*/ public byte[] byEnablePresetRevert = new byte[MAX_CHANNUM_V30]; /* 是å¦æ¢å¤åˆ°è°ƒç”¨é¢„置点å‰çš„ä½ç½®(ä¿ç•™) */ public short[] wPresetRevertDelay = new short[MAX_CHANNUM_V30]; /* æ¢å¤é¢„置点延时(ä¿ç•™) */ public byte[] byEnableCruise = new byte[MAX_CHANNUM_V30]; /* 是å¦è°ƒç”¨å·¡èˆª 0-å¦,1-是*/ public byte[] byCruiseNo = new byte[MAX_CHANNUM_V30]; /* 巡航 */ public byte[] byEnablePtzTrack = new byte[MAX_CHANNUM_V30]; /* 是å¦è°ƒç”¨è½¨è¿¹ 0-å¦,1-是*/ public byte[] byPTZTrack = new byte[MAX_CHANNUM_V30]; /* 调用的云å°çš„轨迹åºå· */ public byte[] byRes = new byte[16]; } public static class NET_DVR_ALARMINCFG extends HIKSDKStructure {//报è¦è¾“å…¥å‚æ•°é…ç½® public int dwSize; public byte[] sAlarmInName = new byte[NAME_LEN]; /* å称 */ public byte byAlarmType; //报è¦å™¨ç±»åž‹,0:常开,1ï¼šå¸¸é— public byte byAlarmInHandle; /* 是å¦å¤„ç† 0-ä¸å¤„ç† 1-处ç†*/ public NET_DVR_HANDLEEXCEPTION struAlarmHandleType; /* 处ç†æ–¹å¼ */ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//布防时间 public byte[] byRelRecordChan = new byte[MAX_CHANNUM]; //报è¦è§¦å‘的录象通é“,为1表示触å‘è¯¥é€šé“ public byte[] byEnablePreset = new byte[MAX_CHANNUM]; /* 是å¦è°ƒç”¨é¢„置点 0-å¦,1-是*/ public byte[] byPresetNo = new byte[MAX_CHANNUM]; /* 调用的云å°é¢„置点åºå·,一个报è¦è¾“å…¥å¯ä»¥è°ƒç”¨å¤šä¸ªé€šé“的云å°é¢„置点, 0xff表示ä¸è°ƒç”¨é¢„置点。*/ public byte[] byEnableCruise = new byte[MAX_CHANNUM]; /* 是å¦è°ƒç”¨å·¡èˆª 0-å¦,1-是*/ public byte[] byCruiseNo = new byte[MAX_CHANNUM]; /* 巡航 */ public byte[] byEnablePtzTrack = new byte[MAX_CHANNUM]; /* 是å¦è°ƒç”¨è½¨è¿¹ 0-å¦,1-是*/ public byte[] byPTZTrack = new byte[MAX_CHANNUM]; /* 调用的云å°çš„轨迹åºå· */ } public static class NET_DVR_ADDIT_POSITION extends HIKSDKStructure {//车载GPSä¿¡æ¯ç»“æž„(2007-12-27) public byte[] sDevName = new byte[32]; /* 设备å称 */ public int dwSpeed; /*速度*/ public int dwLongitude; /* ç»åº¦*/ public int dwLatitude; /* 纬度*/ public byte[] direction = new byte[2]; /* direction[0]:'E'or'W'(东ç»/西ç»), direction[1]:'N'or'S'(北纬/å—纬) */ public byte[] res = new byte[2]; /* ä¿ç•™ä½ */ } public static class struRecordingHost extends HIKSDKStructure { public byte bySubAlarmType; public byte[] byRes1 = new byte[3]; public NET_DVR_TIME_EX struRecordEndTime = new NET_DVR_TIME_EX(); } public static class struAlarmHardDisk extends HIKSDKStructure { public int dwAlarmHardDiskNum; } public static class struAlarmChannel extends HIKSDKStructure { public int dwAlarmChanNum; public int dwPicLen;//Jpeg图片长度 public byte byPicURL; //图片数æ®é‡‡ç”¨URLæ–¹å¼ 0-二进制图片数æ®ï¼Œ1-图片数æ®èµ°URLæ–¹å¼ public byte byTarget; /*0-ä¸åŒºåˆ†è¯†åˆ«ç›®æ ‡ï¼Œ1-è¯†åˆ«ç›®æ ‡ä¸ºäººï¼Œ2-è¯†åˆ«ç›®æ ‡ä¸ºè½¦*/ public byte[] byRes1 = new byte[2]; //ä¿ç•™ public Pointer pDataBuff; //报è¦å›¾ç‰‡æˆ–者图片URL } public static class struIOAlarm extends HIKSDKStructure { public int dwAlarmInputNo; public int dwTrigerAlarmOutNum; public int dwTrigerRecordChanNum; } public static class NET_DVR_TIME_EX extends HIKSDKStructure { public short wYear; public byte byMonth; public byte byDay; public byte byHour; public byte byMinute; public byte bySecond; public byte byRes; } public static class uStruAlarm extends Union { public byte[] byUnionLen = new byte[116]; public struIOAlarm struioAlarm = new struIOAlarm(); public struAlarmHardDisk strualarmHardDisk = new struAlarmHardDisk(); public struAlarmChannel strualarmChannel = new struAlarmChannel(); public struRecordingHost strurecordingHost = new struRecordingHost(); } public static class NET_DVR_ALRAM_FIXED_HEADER extends HIKSDKStructure { public int dwAlarmType; public NET_DVR_TIME_EX struAlarmTime = new NET_DVR_TIME_EX(); public uStruAlarm ustruAlarm = new uStruAlarm(); public Pointer pRes; public byte byTimeDiffFlag; /*时差å—段是å¦æœ‰æ•ˆ 0-æ—¶å·®æ— æ•ˆï¼Œ 1-时差有效 */ public byte cTimeDifferenceH; /*与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, +表示东区,,byTimeDiffFlag为1时有效*/ public byte cTimeDifferenceM; /*与UTC的时差(分钟),-30, 30, 45, +表示东区,byTimeDiffFlag为1时有效*/ public byte byRes; //ä¿ç•™ public short wDevInfoIvmsChannel; //å¢žåŠ åŽç«¯é€ä¼ å‰ç«¯æ—¶çš„通é“å· public byte[] byRes2 = new byte[2]; //ä¿ç•™ } public static class NET_DVR_ALARMINFO_V40 extends HIKSDKStructure { public NET_DVR_ALRAM_FIXED_HEADER struAlarmFixedHeader = new NET_DVR_ALRAM_FIXED_HEADER(); public Pointer pAlarmData; } public static class NET_DVR_ALARMINFO_V30 extends HIKSDKStructure {//ä¸Šä¼ æŠ¥è¦ä¿¡æ¯(9000扩展) public int dwAlarmType;/*0-ä¿¡å·é‡æŠ¥è¦,1-硬盘满,2-ä¿¡å·ä¸¢å¤±,3ï¼ç§»åŠ¨ä¾¦æµ‹,4ï¼ç¡¬ç›˜æœªæ ¼å¼åŒ–,5-读写硬盘出错,6-é®æŒ¡æŠ¥è¦,7-制å¼ä¸åŒ¹é…, 8-éžæ³•è®¿é—®, 0xa-GPS定ä½ä¿¡æ¯(车载定制)*/ public int dwAlarmInputNumber;/*报è¦è¾“入端å£*/ public byte[] byAlarmOutputNumber = new byte[MAX_ALARMOUT_V30];/*触å‘的输出端å£ï¼Œä¸º1表示对应输出*/ public byte[] byAlarmRelateChannel = new byte[MAX_CHANNUM_V30];/*触å‘的录åƒé€šé“,为1表示对应录åƒ, dwAlarmRelateChannel[0]对应第1个通é“*/ public byte[] byChannel = new byte[MAX_CHANNUM_V30];/*dwAlarmType为2或3,6时,表示哪个通é“,dwChannel[0]对应第1个通é“*/ public byte[] byDiskNumber = new byte[MAX_DISKNUM_V30];/*dwAlarmType为1,4,5æ—¶,表示哪个硬盘, dwDiskNumber[0]对应第1个硬盘*/ } public static class NET_DVR_ALARMINFO extends HIKSDKStructure { public int dwAlarmType;/*0-ä¿¡å·é‡æŠ¥è¦,1-硬盘满,2-ä¿¡å·ä¸¢å¤±,3ï¼ç§»åŠ¨ä¾¦æµ‹,4ï¼ç¡¬ç›˜æœªæ ¼å¼åŒ–,5-读写硬盘出错,6-é®æŒ¡æŠ¥è¦,7-制å¼ä¸åŒ¹é…, 8-éžæ³•è®¿é—®, 9-串å£çŠ¶æ€, 0xa-GPS定ä½ä¿¡æ¯(车载定制)*/ public int dwAlarmInputNumber;/*报è¦è¾“入端å£, 当报è¦ç±»åž‹ä¸º9时该å˜é‡è¡¨ç¤ºä¸²å£çŠ¶æ€0表示æ£å¸¸ï¼Œ -1表示错误*/ public int[] dwAlarmOutputNumber = new int[MAX_ALARMOUT];/*触å‘的输出端å£ï¼Œä¸º1表示对应哪一个输出*/ public int[] dwAlarmRelateChannel = new int[MAX_CHANNUM];/*触å‘的录åƒé€šé“,dwAlarmRelateChannel[0]为1表示第1个通é“录åƒ*/ public int[] dwChannel = new int[MAX_CHANNUM];/*dwAlarmType为2或3,6时,表示哪个通é“,dwChannel[0]ä½å¯¹åº”第1个通é“*/ public int[] dwDiskNumber = new int[MAX_DISKNUM];/*dwAlarmType为1,4,5æ—¶,表示哪个硬盘, dwDiskNumber[0]ä½å¯¹åº”第1个硬盘*/ } public static class NET_DVR_ALARMINFO_EX extends HIKSDKStructure {//ä¸Šä¼ æŠ¥è¦ä¿¡æ¯(æ州竞天定制 2006-07-28) public int dwAlarmType;/*0-ä¿¡å·é‡æŠ¥è¦,1-硬盘满,2-ä¿¡å·ä¸¢å¤±,3ï¼ç§»åŠ¨ä¾¦æµ‹,4ï¼ç¡¬ç›˜æœªæ ¼å¼åŒ–,5-读写硬盘出错,6-é®æŒ¡æŠ¥è¦,7-制å¼ä¸åŒ¹é…, 8-éžæ³•è®¿é—®*/ public int dwAlarmInputNumber;/*报è¦è¾“入端å£*/ public int[] dwAlarmOutputNumber = new int[MAX_ALARMOUT];/*报è¦è¾“入端å£å¯¹åº”的输出端å£ï¼Œå“ªä¸€ä½ä¸º1表示对应哪一个输出*/ public int[] dwAlarmRelateChannel = new int[MAX_CHANNUM];/*报è¦è¾“入端å£å¯¹åº”的录åƒé€šé“,哪一ä½ä¸º1表示对应哪一路录åƒ,dwAlarmRelateChannel[0]对应第1个通é“*/ public int[] dwChannel = new int[MAX_CHANNUM];/*dwAlarmType为2或3,6时,表示哪个通é“,dwChannel[0]ä½å¯¹åº”第0个通é“*/ public int[] dwDiskNumber = new int[MAX_DISKNUM];/*dwAlarmType为1,4,5æ—¶,表示哪个硬盘*/ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //åºåˆ—å· public byte[] sRemoteAlarmIP = new byte[16]; //远程报è¦IP地å€ï¼› } ////////////////////////////////////////////////////////////////////////////////////// //IPC接入å‚æ•°é…ç½® public static class NET_DVR_IPDEVINFO extends HIKSDKStructure {/* IP设备结构 */ public int dwEnable; /* 该IP设备是å¦å¯ç”¨ */ public byte[] sUserName = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR(); /* IPåœ°å€ */ public short wDVRPort; /* 端å£å· */ public byte[] byres = new byte[34]; /* ä¿ç•™ */ } public static class NET_DVR_IPCHANINFO extends HIKSDKStructure {/* IP通é“匹é…å‚æ•° */ public byte byEnable; /* 该通é“是å¦å¯ç”¨ */ public byte byIPID; /* IP设备ID å–值1- MAX_IP_DEVICE */ public byte byChannel; /* 通é“å· */ public byte[] byres = new byte[33]; /* ä¿ç•™ */ } public static class NET_DVR_IPPARACFG extends HIKSDKStructure {/* IP接入é…置结构 */ public int dwSize; /* ç»“æž„å¤§å° */ public NET_DVR_IPDEVINFO[] struIPDevInfo = new NET_DVR_IPDEVINFO[MAX_IP_DEVICE]; /* IP设备 */ public byte[] byAnalogChanEnable = new byte[MAX_ANALOG_CHANNUM]; /* 模拟通é“是å¦å¯ç”¨ï¼Œä»Žä½Žåˆ°é«˜è¡¨ç¤º1-32通é“,0è¡¨ç¤ºæ— æ•ˆ 1有效 */ public NET_DVR_IPCHANINFO[] struIPChanInfo = new NET_DVR_IPCHANINFO[MAX_IP_CHANNEL]; /* IPé€šé“ */ } public class NET_DVR_IPDEVINFO_V31 extends HIKSDKStructure { public byte byEnable;/* 该通é“是å¦å¯ç”¨ */ public byte byProType;//å议类型(默认为ç§æœ‰åè®®),0- ç§æœ‰å议,1- æ¾ä¸‹å议,2- 索尼,更多å议通过NET_DVR_GetIPCProtoList获å–。 public byte byEnableQuickAdd;//0-ä¸æ”¯æŒå¿«é€Ÿæ·»åŠ ï¼›1-ä½¿ç”¨å¿«é€Ÿæ·»åŠ public byte byRes1;//ä¿ç•™ï¼Œç½®ä¸º0 public byte[] sUserName = new byte[HCNetSDK.NAME_LEN];//用户å public byte[] sPassword = new byte[HCNetSDK.PASSWD_LEN];//密ç public byte[] byDomain = new byte[HCNetSDK.MAX_DOMAIN_NAME];//设备域å public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR();//IPåœ°å€ public short wDVRPort;//端å£å· public byte[] szDeviceID = new byte[32]; public byte[] byRes2 = new byte[2];//ä¿ç•™ï¼Œç½®ä¸º0 } public class NET_DVR_STREAM_MODE extends HIKSDKStructure { public byte byGetStreamType;//å–æµæ–¹å¼ï¼š0- 直接从设备å–æµï¼›1- 从æµåª’体å–æµï¼›2- 通过IPServer获得IP地å€åŽå–æµï¼› //3- 通过IPServer找到设备,å†é€šè¿‡æµåª’体å–设备的æµï¼› 4- 通过æµåª’体由URL去å–æµï¼›5- 通过hiDDNS域å连接设备然åŽä»Žè®¾å¤‡å–æµ public byte[] byRes = new byte[3];//ä¿ç•™ï¼Œç½®ä¸º0 public NET_DVR_GET_STREAM_UNION uGetStream = new NET_DVR_GET_STREAM_UNION();//ä¸åŒå–æµæ–¹å¼è”åˆä½“ public void read() { super.read(); switch (byGetStreamType) { case 0: uGetStream.setType(NET_DVR_IPCHANINFO.class); break; case 6: uGetStream.setType(NET_DVR_IPCHANINFO_V40.class); break; default: break; } } } public class NET_DVR_IPSERVER_STREAM extends HIKSDKStructure { public byte byEnable; public byte[] byRes = new byte[3]; public NET_DVR_IPADDR struIPServer = new NET_DVR_IPADDR(); public short wPort; public short wDvrNameLen; public byte[] byDVRName = new byte[HCNetSDK.NAME_LEN]; public short wDVRSerialLen; public short[] byRes1 = new short[2]; public byte[] byDVRSerialNumber = new byte[HCNetSDK.SERIALNO_LEN]; public byte[] byUserName = new byte[HCNetSDK.NAME_LEN]; public byte[] byPassWord = new byte[HCNetSDK.PASSWD_LEN]; public byte byChannel; public byte[] byRes2 = new byte[11]; } public class NET_DVR_STREAM_MEDIA_SERVER_CFG extends HIKSDKStructure { public byte byValid;//是å¦å¯ç”¨æµåª’体æœåŠ¡å™¨å–æµï¼š0-ä¸å¯ç”¨ï¼Œéž0-å¯ç”¨ public byte[] byRes1 = new byte[3];//ä¿ç•™ï¼Œç½®ä¸º0 public NET_DVR_IPADDR struDevIP = new NET_DVR_IPADDR();//æµåª’体æœåŠ¡å™¨çš„IPåœ°å€ public short wDevPort;//æµåª’体æœåŠ¡å™¨ç«¯å£ public byte byTransmitType;//ä¼ è¾“å议类型:0-TCP,1-UDP public byte[] byRes2 = new byte[69]; } public class NET_DVR_DEV_CHAN_INFO extends HIKSDKStructure { public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR();//设备IPåœ°å€ public short wDVRPort;//设备端å£å· public byte byChannel;//通é“å·,ç›®å‰è®¾å¤‡çš„模拟通é“å·æ˜¯ä»Ž1开始的,对于9000ç‰è®¾å¤‡çš„IPC接入,数å—通é“å·ä»Ž33开始 public byte byTransProtocol;//ä¼ è¾“å议类型:0-TCP,1-UDP,2-多æ’æ–¹å¼ï¼Œ3-RTP public byte byTransMode;//ä¼ è¾“ç æµæ¨¡å¼ï¼š0ï¼ä¸»ç æµï¼Œ1ï¼åç æµ public byte byFactoryType;//å‰ç«¯è®¾å¤‡åŽ‚家类型, 通过接å£NET_DVR_GetIPCProtoListèŽ·å– public byte byDeviceType;//设备类型(视频综åˆå¹³å°ä½¿ç”¨):1- IPC,2- ENCODER public byte byDispChan;// 显示通é“å·ï¼ˆæ™ºèƒ½é…ç½®ä½¿ç”¨ï¼‰ï¼Œæ ¹æ®èƒ½åŠ›é›†å†³å®šä½¿ç”¨è§£ç 通é“è¿˜æ˜¯æ˜¾ç¤ºé€šé“ public byte bySubDispChan;//显示通é“å通é“å·ï¼ˆæ™ºèƒ½é…置时使用) public byte byResolution;//分辨率:1- CIF,2- 4CIF,3- 720P,4- 1080P,5- 500W,用于多å±æŽ§åˆ¶å™¨ï¼Œå¤šå±æŽ§åˆ¶å™¨ä¼šæ ¹æ®è¯¥å‚数分é…解ç èµ„æº public byte[] byRes = new byte[2];//ä¿ç•™ï¼Œç½®ä¸º0 public byte[] byDomain = new byte[HCNetSDK.MAX_DOMAIN_NAME];//设备域å public byte[] sUserName = new byte[HCNetSDK.NAME_LEN];//设备登陆å¸å· public byte[] sPassword = new byte[HCNetSDK.PASSWD_LEN];//设备密ç } public class NET_DVR_PU_STREAM_CFG extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg = new NET_DVR_STREAM_MEDIA_SERVER_CFG(); public NET_DVR_DEV_CHAN_INFO struDevChanInfo = new NET_DVR_DEV_CHAN_INFO(); } public class NET_DVR_PU_STREAM_CFG_V41 extends HIKSDKStructure { public int dwSize; public byte byStreamMode;/*å–æµæ¨¡å¼ï¼Œ0-æ— æ•ˆï¼Œ1-通过IP或域åå–æµï¼Œ2-通过URLå–æµ,3-通过动æ€åŸŸå解æžå‘设备å–æµ*/ public byte byStreamEncrypt; //是å¦è¿›è¡Œç æµåŠ 密处ç†,0-ä¸æ”¯æŒ,1-æ”¯æŒ public byte[] byRes1 = new byte[2]; public NET_DVR_DEC_STREAM_MODE uDecStreamMode;//å–æµä¿¡æ¯ public int dwDecDelayTime;//解ç 延时时间,å•ä½ï¼šæ¯«ç§’ public byte[] sStreamPassword = new byte[STREAM_PASSWD_LEN]; //ç æµåŠ 密密ç ,需æ•æ„Ÿä¿¡æ¯åŠ 密 public byte[] byRes2 = new byte[48]; } public class NET_DVR_DDNS_STREAM_CFG extends HIKSDKStructure { public byte byEnable; public byte[] byRes1 = new byte[3]; public NET_DVR_IPADDR struStreamServer = new NET_DVR_IPADDR(); public short wStreamServerPort; public byte byStreamServerTransmitType; public byte byRes2; public NET_DVR_IPADDR struIPServer = new NET_DVR_IPADDR(); public short wIPServerPort; public byte[] byRes3 = new byte[2]; public byte[] sDVRName = new byte[HCNetSDK.NAME_LEN]; public short wDVRNameLen; public short wDVRSerialLen; public byte[] sDVRSerialNumber = new byte[HCNetSDK.SERIALNO_LEN]; public byte[] sUserName = new byte[HCNetSDK.NAME_LEN]; public byte[] sPassWord = new byte[HCNetSDK.PASSWD_LEN]; public short wDVRPort; public byte[] byRes4 = new byte[2]; public byte byChannel; public byte byTransProtocol; public byte byTransMode; public byte byFactoryType; } public class NET_DVR_PU_STREAM_URL extends HIKSDKStructure { public byte byEnable;//是å¦å¯ç”¨ï¼š0- ç¦ç”¨ï¼Œ1- å¯ç”¨ public byte[] strURL = new byte[240];//å–æµURL路径 public byte byTransPortocol;//ä¼ è¾“å议类型:0-TCP,1-UDP public short wIPID;//设备IDå·ï¼ŒwIPID = iDevInfoIndex + iGroupNO*64 +1 public byte byChannel;//设备通é“å· public byte[] byRes = new byte[7];//ä¿ç•™ï¼Œç½®ä¸º0 } public class NET_DVR_HKDDNS_STREAM extends HIKSDKStructure { public byte byEnable;//是å¦å¯ç”¨ public byte[] byRes = new byte[3];//ä¿ç•™ public byte[] byDDNSDomain = new byte[64];//hiDDNSæœåŠ¡å™¨åœ°å€ public short wPort;//hiDDNS端å£ï¼Œé»˜è®¤ï¼š80 public short wAliasLen;//别å长度 public byte[] byAlias = new byte[HCNetSDK.NAME_LEN];//别å public short wDVRSerialLen;//åºåˆ—å·é•¿åº¦ public byte[] byRes1 = new byte[2];//ä¿ç•™ public byte[] byDVRSerialNumber = new byte[HCNetSDK.SERIALNO_LEN];//设备åºåˆ—å· public byte[] byUserName = new byte[HCNetSDK.NAME_LEN];//设备登录用户å public byte[] byPassWord = new byte[HCNetSDK.PASSWD_LEN];//设备登录密ç public byte byChannel;//设备通é“å· public byte[] byRes2 = new byte[11];//ä¿ç•™ } public class NET_DVR_IPCHANINFO_V40 extends HIKSDKStructure { public byte byEnable;//IP通é“在线状æ€ï¼Œæ˜¯ä¸€ä¸ªåªè¯»çš„属性; //0表示HDVR或者NVR设备的数å—通é“连接对应的IP设备失败,该通é“ä¸åœ¨çº¿ï¼›1表示连接æˆåŠŸï¼Œè¯¥é€šé“在线 public byte byRes1;//ä¿ç•™ï¼Œç½®ä¸º0 public short wIPID;//IP设备ID public int dwChannel;//IP设备的通é“å·ï¼Œä¾‹å¦‚设备A(HDVR或者NVR设备)的IP通é“01,对应的是设备B(DVS)里的通é“04,则byChannel=4,如果å‰ç«¯æŽ¥çš„是IPC则byChannel=1。 public byte byTransProtocol;//ä¼ è¾“å议类型:0- TCP,1- UDP,2- 多æ’,0xff- auto(自动) public byte byTransMode;//ä¼ è¾“ç æµæ¨¡å¼ï¼š0- 主ç æµï¼Œ1- åç æµ public byte byFactoryType;//å‰ç«¯è®¾å¤‡åŽ‚家类型 public byte[] byRes = new byte[241];//ä¿ç•™ï¼Œç½®ä¸º0 } public static class NET_DVR_GET_STREAM_UNION extends Union { public NET_DVR_IPCHANINFO struChanInfo = new NET_DVR_IPCHANINFO(); /*IP通é“ä¿¡æ¯*/ public NET_DVR_IPCHANINFO_V40 struIPChan = new NET_DVR_IPCHANINFO_V40(); //直接从设备å–æµï¼ˆæ‰©å±•ï¼‰ public byte[] byUnionLen = new byte[492]; //直接从设备å–æµï¼ˆæ‰©å±•ï¼‰ } public static class NET_DVR_IPPARACFG_V40 extends HIKSDKStructure {/* IP接入é…置结构V40 */ public int dwSize; /* ç»“æž„å¤§å° */ public int dwGroupNum;//设备支æŒçš„总组数(åªè¯»ï¼‰ã€‚ public int dwAChanNum;//最大模拟通é“个数(åªè¯»ï¼‰ public int dwDChanNum;//æ•°å—通é“个数(åªè¯»ï¼‰ public int dwStartDChan;//起始数å—通é“(åªè¯»ï¼‰ public byte[] byAnalogChanEnable = new byte[MAX_CHANNUM_V30]; //模拟通é“资æºæ˜¯å¦å¯ç”¨ï¼Œä»Žä½Žåˆ°é«˜è¡¨ç¤º1-64通é“:0-ç¦ç”¨ï¼Œ1-å¯ç”¨ã€‚ public NET_DVR_IPDEVINFO_V31[] struIPDevInfo = new NET_DVR_IPDEVINFO_V31[MAX_IP_DEVICE_V40];//IP设备信æ¯ï¼Œä¸‹æ ‡0对应设备IP ID为1 public NET_DVR_STREAM_MODE[] struStreamMode = new NET_DVR_STREAM_MODE[MAX_CHANNUM_V30];//å–æµæ¨¡å¼ public byte[] byRes2 = new byte[20];//ä¿ç•™ï¼Œç½®ä¸º0 } public static class NET_DVR_IPALARMOUTINFO extends HIKSDKStructure {/* 报è¦è¾“出å‚æ•° */ public byte byIPID; /* IP设备IDå–值1- MAX_IP_DEVICE */ public byte byAlarmOut; /* 报è¦è¾“å‡ºå· */ public byte[] byRes = new byte[18]; /* ä¿ç•™ */ } public static class NET_DVR_IPALARMOUTCFG extends HIKSDKStructure {/* IP报è¦è¾“出é…置结构 */ public int dwSize; /* ç»“æž„å¤§å° */ public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo = new NET_DVR_IPALARMOUTINFO[MAX_IP_ALARMOUT];/* IP报è¦è¾“出 */ } public static class NET_DVR_IPALARMININFO extends HIKSDKStructure {/* 报è¦è¾“å…¥å‚æ•° */ public byte byIPID; /* IP设备IDå–值1- MAX_IP_DEVICE */ public byte byAlarmIn; /* 报è¦è¾“å…¥å· */ public byte[] byRes = new byte[18]; /* ä¿ç•™ */ } public static class NET_DVR_IPALARMINCFG extends HIKSDKStructure {/* IP报è¦è¾“å…¥é…置结构 */ public int dwSize; /* ç»“æž„å¤§å° */ public NET_DVR_IPALARMININFO[] struIPAlarmInInfo = new NET_DVR_IPALARMININFO[MAX_IP_ALARMIN];/* IP报è¦è¾“å…¥ */ } public static class NET_DVR_IPALARMINFO extends HIKSDKStructure {//ipc alarm info public NET_DVR_IPDEVINFO[] struIPDevInfo = new NET_DVR_IPDEVINFO[MAX_IP_DEVICE]; /* IP设备 */ public byte[] byAnalogChanEnable = new byte[MAX_ANALOG_CHANNUM]; /* 模拟通é“是å¦å¯ç”¨ï¼Œ0-未å¯ç”¨ 1-å¯ç”¨ */ public NET_DVR_IPCHANINFO[] struIPChanInfo = new NET_DVR_IPCHANINFO[MAX_IP_CHANNEL]; /* IPé€šé“ */ public NET_DVR_IPALARMININFO[] struIPAlarmInInfo = new NET_DVR_IPALARMININFO[MAX_IP_ALARMIN]; /* IP报è¦è¾“å…¥ */ public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo = new NET_DVR_IPALARMOUTINFO[MAX_IP_ALARMOUT]; /* IP报è¦è¾“出 */ } public static class NET_DVR_SINGLE_HD extends HIKSDKStructure {//本地硬盘信æ¯é…ç½® public int dwHDNo; /*硬盘å·, å–值0~MAX_DISKNUM_V30-1*/ public int dwCapacity; /*硬盘容é‡(ä¸å¯è®¾ç½®)*/ public int dwFreeSpace; /*硬盘剩余空间(ä¸å¯è®¾ç½®)*/ public int dwHdStatus; /*硬盘状æ€(ä¸å¯è®¾ç½®) 0-æ£å¸¸, 1-æœªæ ¼å¼åŒ–, 2-错误, 3-SMART状æ€, 4-ä¸åŒ¹é…, 5-ä¼‘çœ */ public byte byHDAttr; /*0-默认, 1-冗余; 2-åªè¯»*/ public byte[] byRes1 = new byte[3]; public int dwHdGroup; /*属于哪个盘组 1-MAX_HD_GROUP*/ public byte[] byRes2 = new byte[120]; } public static class NET_DVR_HDCFG extends HIKSDKStructure { public int dwSize; public int dwHDCount; /*硬盘数(ä¸å¯è®¾ç½®)*/ public NET_DVR_SINGLE_HD[] struHDInfo = new NET_DVR_SINGLE_HD[MAX_DISKNUM_V30];//硬盘相关æ“作都需è¦é‡å¯æ‰èƒ½ç”Ÿæ•ˆï¼› } public static class NET_DVR_SINGLE_HDGROUP extends HIKSDKStructure {//本地盘组信æ¯é…ç½® public int dwHDGroupNo; /*盘组å·(ä¸å¯è®¾ç½®) 1-MAX_HD_GROUP*/ public byte[] byHDGroupChans = new byte[64]; /*盘组对应的录åƒé€šé“, 0-表示该通é“ä¸å½•è±¡åˆ°è¯¥ç›˜ç»„,1-表示录象到该盘组*/ public byte[] byRes = new byte[8]; } public static class NET_DVR_HDGROUP_CFG extends HIKSDKStructure { public int dwSize; public int dwHDGroupCount; /*盘组总数(ä¸å¯è®¾ç½®)*/ public NET_DVR_SINGLE_HDGROUP[] struHDGroupAttr = new NET_DVR_SINGLE_HDGROUP[MAX_HD_GROUP];//硬盘相关æ“作都需è¦é‡å¯æ‰èƒ½ç”Ÿæ•ˆï¼› } public static class NET_DVR_SCALECFG extends HIKSDKStructure {//é…置缩放å‚数的结构 public int dwSize; public int dwMajorScale; /* 主显示 0-ä¸ç¼©æ”¾ï¼Œ1-缩放*/ public int dwMinorScale; /* 辅显示 0-ä¸ç¼©æ”¾ï¼Œ1-缩放*/ public int[] dwRes = new int[2]; } public static class NET_DVR_ALARMOUTCFG_V30 extends HIKSDKStructure {//DVR报è¦è¾“出(9000扩展) public int dwSize; public byte[] sAlarmOutName = new byte[NAME_LEN]; /* å称 */ public int dwAlarmOutDelay; /* 输出ä¿æŒæ—¶é—´(-1ä¸ºæ— é™ï¼Œæ‰‹åŠ¨å…³é—) */ //0-5秒,1-10秒,2-30秒,3-1分钟,4-2分钟,5-5分钟,6-10分钟,7-手动 public NET_DVR_SCHEDTIMEWEEK[] struAlarmOutTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];/* 报è¦è¾“出激活时间段 */ public byte[] byRes = new byte[16]; } public static class NET_DVR_ALARMOUTCFG extends HIKSDKStructure {//DVR报è¦è¾“出 public int dwSize; public byte[] sAlarmOutName = new byte[NAME_LEN]; /* å称 */ public int dwAlarmOutDelay; /* 输出ä¿æŒæ—¶é—´(-1ä¸ºæ— é™ï¼Œæ‰‹åŠ¨å…³é—) */ //0-5秒,1-10秒,2-30秒,3-1分钟,4-2分钟,5-5分钟,6-10分钟,7-手动 public NET_DVR_SCHEDTIMEWEEK[] struAlarmOutTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];/* 报è¦è¾“出激活时间段 */ } public static class NET_DVR_PREVIEWCFG_V30 extends HIKSDKStructure {//DVR本地预览å‚æ•°(9000扩展) public int dwSize; public byte byPreviewNumber;//预览数目,0-1ç”»é¢,1-4ç”»é¢,2-9ç”»é¢,3-16ç”»é¢, 4-6ç”»é¢, 5-8ç”»é¢, 0xff:æœ€å¤§ç”»é¢ public byte byEnableAudio;//是å¦å£°éŸ³é¢„览,0-ä¸é¢„览,1-预览 public short wSwitchTime;//切æ¢æ—¶é—´,0-ä¸åˆ‡æ¢,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s public byte[][] bySwitchSeq = new byte[MAX_PREVIEW_MODE][MAX_WINDOW_V30];//切æ¢é¡ºåº,如果lSwitchSeq[i]为 0xff表示ä¸ç”¨ public byte[] byRes = new byte[24]; } public static class NET_DVR_PREVIEWCFG extends HIKSDKStructure {//DVR本地预览å‚æ•° public int dwSize; public byte byPreviewNumber;//预览数目,0-1ç”»é¢,1-4ç”»é¢,2-9ç”»é¢,3-16ç”»é¢,0xff:æœ€å¤§ç”»é¢ public byte byEnableAudio;//是å¦å£°éŸ³é¢„览,0-ä¸é¢„览,1-预览 public short wSwitchTime;//切æ¢æ—¶é—´,0-ä¸åˆ‡æ¢,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s public byte[] bySwitchSeq = new byte[MAX_WINDOW];//切æ¢é¡ºåº,如果lSwitchSeq[i]为 0xff表示ä¸ç”¨ } public static class NET_DVR_VGAPARA extends HIKSDKStructure {//DVR视频输出 public short wResolution; /* 分辨率 */ public short wFreq; /* 刷新频率 */ public int dwBrightness; /* 亮度 */ } /* * MATRIX输出å‚数结构 */ public static class NET_DVR_MATRIXPARA_V30 extends HIKSDKStructure { public short[] wOrder = new short[MAX_ANALOG_CHANNUM]; /* 预览顺åº, 0xff表示相应的窗å£ä¸é¢„览 */ public short wSwitchTime; /* 预览切æ¢æ—¶é—´ */ public byte[] res = new byte[14]; } public static class NET_DVR_MATRIXPARA extends HIKSDKStructure { public short wDisplayLogo; /* 显示视频通é“å·(ä¿ç•™) */ public short wDisplayOsd; /* 显示时间(ä¿ç•™) */ } public static class NET_DVR_VOOUT extends HIKSDKStructure { public byte byVideoFormat; /* 输出制å¼,0-PAL,1-NTSC */ public byte byMenuAlphaValue; /* èœå•ä¸ŽèƒŒæ™¯å›¾è±¡å¯¹æ¯”度 */ public short wScreenSaveTime; /* å±å¹•ä¿æŠ¤æ—¶é—´ 0-从ä¸,1-1分钟,2-2分钟,3-5分钟,4-10分钟,5-20分钟,6-30分钟 */ public short wVOffset; /* 视频输出å移 */ public short wBrightness; /* 视频输出亮度 */ public byte byStartMode; /* å¯åŠ¨åŽè§†é¢‘输出模å¼(0:èœå•,1:预览)*/ public byte byEnableScaler; /* 是å¦å¯åŠ¨ç¼©æ”¾ (0-ä¸å¯åŠ¨, 1-å¯åŠ¨)*/ } public static class NET_DVR_VIDEOOUT_V30 extends HIKSDKStructure {//DVR视频输出(9000扩展) public int dwSize; public NET_DVR_VOOUT[] struVOOut = new NET_DVR_VOOUT[MAX_VIDEOOUT_V30]; public NET_DVR_VGAPARA[] struVGAPara = new NET_DVR_VGAPARA[MAX_VGA_V30]; /* VGAå‚æ•° */ public NET_DVR_MATRIXPARA_V30[] struMatrixPara = new NET_DVR_MATRIXPARA_V30[MAX_MATRIXOUT]; /* MATRIXå‚æ•° */ public byte[] byRes = new byte[16]; } public static class NET_DVR_VIDEOOUT extends HIKSDKStructure {//DVR视频输出 public int dwSize; public NET_DVR_VOOUT[] struVOOut = new NET_DVR_VOOUT[MAX_VIDEOOUT]; public NET_DVR_VGAPARA[] struVGAPara = new NET_DVR_VGAPARA[MAX_VGA]; /* VGAå‚æ•° */ public NET_DVR_MATRIXPARA struMatrixPara; /* MATRIXå‚æ•° */ } public static class NET_DVR_USER_INFO_V30 extends HIKSDKStructure {//å•ç”¨æˆ·å‚æ•°(å结构)(9000扩展) public byte[] sUserName = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public byte[] byLocalRight = new byte[MAX_RIGHT]; /* 本地æƒé™ */ /*数组0: 本地控制云å°*/ /*数组1: 本地手动录象*/ /*数组2: 本地回放*/ /*数组3: 本地设置å‚æ•°*/ /*数组4: 本地查看状æ€ã€æ—¥å¿—*/ /*数组5: 本地高级æ“作(å‡çº§ï¼Œæ ¼å¼åŒ–,é‡å¯ï¼Œå…³æœº)*/ /*数组6: 本地查看å‚æ•° */ /*数组7: 本地管ç†æ¨¡æ‹Ÿå’ŒIP camera */ /*数组8: 本地备份 */ /*数组9: 本地关机/é‡å¯ */ public byte[] byRemoteRight = new byte[MAX_RIGHT];/* 远程æƒé™ */ /*数组0: 远程控制云å°*/ /*数组1: 远程手动录象*/ /*数组2: 远程回放 */ /*数组3: 远程设置å‚æ•°*/ /*数组4: 远程查看状æ€ã€æ—¥å¿—*/ /*数组5: 远程高级æ“作(å‡çº§ï¼Œæ ¼å¼åŒ–,é‡å¯ï¼Œå…³æœº)*/ /*数组6: 远程å‘èµ·è¯éŸ³å¯¹è®²*/ /*数组7: 远程预览*/ /*数组8: 远程请求报è¦ä¸Šä¼ ã€æŠ¥è¦è¾“出*/ /*数组9: 远程控制,本地输出*/ /*数组10: 远程控制串å£*/ /*数组11: 远程查看å‚æ•° */ /*数组12: 远程管ç†æ¨¡æ‹Ÿå’ŒIP camera */ /*数组13: 远程关机/é‡å¯ */ public byte[] byNetPreviewRight = new byte[MAX_CHANNUM_V30]; /* 远程å¯ä»¥é¢„è§ˆçš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byLocalPlaybackRight = new byte[MAX_CHANNUM_V30]; /* 本地å¯ä»¥å›žæ”¾çš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byNetPlaybackRight = new byte[MAX_CHANNUM_V30]; /* 远程å¯ä»¥å›žæ”¾çš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byLocalRecordRight = new byte[MAX_CHANNUM_V30]; /* 本地å¯ä»¥å½•åƒçš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byNetRecordRight = new byte[MAX_CHANNUM_V30]; /* 远程å¯ä»¥å½•åƒçš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byLocalPTZRight = new byte[MAX_CHANNUM_V30]; /* 本地å¯ä»¥PTZçš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byNetPTZRight = new byte[MAX_CHANNUM_V30]; /* 远程å¯ä»¥PTZçš„é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public byte[] byLocalBackupRight = new byte[MAX_CHANNUM_V30]; /* 本地备份æƒé™é€šé“ 0-有æƒé™ï¼Œ1-æ— æƒé™*/ public NET_DVR_IPADDR struUserIP; /* 用户IP地å€(为0时表示å…许任何地å€) */ public byte[] byMACAddr = new byte[MACADDR_LEN]; /* 物ç†åœ°å€ */ public byte byPriority; /* 优先级,0xff-æ— ï¼Œ0--低,1--ä¸ï¼Œ2--高 */ /* æ— â€¦â€¦è¡¨ç¤ºä¸æ”¯æŒä¼˜å…ˆçº§çš„设置 低……默认æƒé™:包括本地和远程回放,本地和远程查看日志和状æ€,本地和远程关机/é‡å¯ ä¸â€¦â€¦åŒ…括本地和远程控制云å°,本地和远程手动录åƒ,本地和远程回放,è¯éŸ³å¯¹è®²å’Œè¿œç¨‹é¢„览 本地备份,本地/远程关机/é‡å¯ 高……管ç†å‘˜ */ public byte[] byRes = new byte[17]; } public static class NET_DVR_USER_INFO_EX extends HIKSDKStructure {//å•ç”¨æˆ·å‚æ•°(SDK_V15扩展)(å结构) public byte[] sUserName = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public int[] dwLocalRight = new int[MAX_RIGHT]; /* æƒé™ */ /*数组0: 本地控制云å°*/ /*数组1: 本地手动录象*/ /*数组2: 本地回放*/ /*数组3: 本地设置å‚æ•°*/ /*数组4: 本地查看状æ€ã€æ—¥å¿—*/ /*数组5: 本地高级æ“作(å‡çº§ï¼Œæ ¼å¼åŒ–,é‡å¯ï¼Œå…³æœº)*/ public int dwLocalPlaybackRight; /* 本地å¯ä»¥å›žæ”¾çš„é€šé“ bit0 -- channel 1*/ public int[] dwRemoteRight = new int[MAX_RIGHT]; /* æƒé™ */ /*数组0: 远程控制云å°*/ /*数组1: 远程手动录象*/ /*数组2: 远程回放 */ /*数组3: 远程设置å‚æ•°*/ /*数组4: 远程查看状æ€ã€æ—¥å¿—*/ /*数组5: 远程高级æ“作(å‡çº§ï¼Œæ ¼å¼åŒ–,é‡å¯ï¼Œå…³æœº)*/ /*数组6: 远程å‘èµ·è¯éŸ³å¯¹è®²*/ /*数组7: 远程预览*/ /*数组8: 远程请求报è¦ä¸Šä¼ ã€æŠ¥è¦è¾“出*/ /*数组9: 远程控制,本地输出*/ /*数组10: 远程控制串å£*/ public int dwNetPreviewRight; /* 远程å¯ä»¥é¢„è§ˆçš„é€šé“ bit0 -- channel 1*/ public int dwNetPlaybackRight; /* 远程å¯ä»¥å›žæ”¾çš„é€šé“ bit0 -- channel 1*/ public byte[] sUserIP = new byte[16]; /* 用户IP地å€(为0时表示å…许任何地å€) */ public byte[] byMACAddr = new byte[MACADDR_LEN]; /* 物ç†åœ°å€ */ } public static class NET_DVR_USER_INFO extends HIKSDKStructure {//å•ç”¨æˆ·å‚æ•°(å结构) public byte[] sUserName = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public int[] dwLocalRight = new int[MAX_RIGHT]; /* æƒé™ */ /*数组0: 本地控制云å°*/ /*数组1: 本地手动录象*/ /*数组2: 本地回放*/ /*数组3: 本地设置å‚æ•°*/ /*数组4: 本地查看状æ€ã€æ—¥å¿—*/ /*数组5: 本地高级æ“作(å‡çº§ï¼Œæ ¼å¼åŒ–,é‡å¯ï¼Œå…³æœº)*/ public int[] dwRemoteRight = new int[MAX_RIGHT]; /* æƒé™ */ /*数组0: 远程控制云å°*/ /*数组1: 远程手动录象*/ /*数组2: 远程回放 */ /*数组3: 远程设置å‚æ•°*/ /*数组4: 远程查看状æ€ã€æ—¥å¿—*/ /*数组5: 远程高级æ“作(å‡çº§ï¼Œæ ¼å¼åŒ–,é‡å¯ï¼Œå…³æœº)*/ /*数组6: 远程å‘èµ·è¯éŸ³å¯¹è®²*/ /*数组7: 远程预览*/ /*数组8: 远程请求报è¦ä¸Šä¼ ã€æŠ¥è¦è¾“出*/ /*数组9: 远程控制,本地输出*/ /*数组10: 远程控制串å£*/ public byte[] sUserIP = new byte[16]; /* 用户IP地å€(为0时表示å…许任何地å€) */ public byte[] byMACAddr = new byte[MACADDR_LEN]; /* 物ç†åœ°å€ */ } public static class NET_DVR_USER_V30 extends HIKSDKStructure {//DVR用户å‚æ•°(9000扩展) public int dwSize; public NET_DVR_USER_INFO_V30[] struUser = new NET_DVR_USER_INFO_V30[MAX_USERNUM_V30]; } public static class NET_DVR_USER_EX extends HIKSDKStructure {//DVR用户å‚æ•°(SDK_V15扩展) public int dwSize; public NET_DVR_USER_INFO_EX[] struUser = new NET_DVR_USER_INFO_EX[MAX_USERNUM]; } public static class NET_DVR_USER extends HIKSDKStructure {//DVR用户å‚æ•° public int dwSize; public NET_DVR_USER_INFO[] struUser = new NET_DVR_USER_INFO[MAX_USERNUM]; } public static class NET_DVR_EXCEPTION_V30 extends HIKSDKStructure {//DVR异常å‚æ•°(9000扩展) public int dwSize; public NET_DVR_HANDLEEXCEPTION_V30[] struExceptionHandleType = new NET_DVR_HANDLEEXCEPTION_V30[MAX_EXCEPTIONNUM_V30]; /*数组0-盘满,1- 硬盘出错,2-网线æ–,3-局域网内IP 地å€å†²çª,4-éžæ³•è®¿é—®, 5-输入/输出视频制å¼ä¸åŒ¹é…, 6-行车超速(车载专用), 7-视频信å·å¼‚常(9000)*/ } public static class NET_DVR_EXCEPTION extends HIKSDKStructure {//DVR异常å‚æ•° public int dwSize; public NET_DVR_HANDLEEXCEPTION[] struExceptionHandleType = new NET_DVR_HANDLEEXCEPTION[MAX_EXCEPTIONNUM]; /*数组0-盘满,1- 硬盘出错,2-网线æ–,3-局域网内IP 地å€å†²çª,4-éžæ³•è®¿é—®, 5-输入/输出视频制å¼ä¸åŒ¹é…, 6-行车超速(车载专用)*/ } public static class NET_DVR_CHANNELSTATE_V30 extends HIKSDKStructure {//通é“状æ€(9000扩展) public byte byRecordStatic; //通é“是å¦åœ¨å½•åƒ,0-ä¸å½•åƒ,1-å½•åƒ public byte bySignalStatic; //连接的信å·çŠ¶æ€,0-æ£å¸¸,1-ä¿¡å·ä¸¢å¤± public byte byHardwareStatic;//通é“硬件状æ€,0-æ£å¸¸,1-异常,例如DSPæ»æŽ‰ public byte byRes1; //ä¿ç•™ public int dwBitRate;//实际ç 率 public int dwLinkNum;//客户端连接的个数 public NET_DVR_IPADDR[] struClientIP = new NET_DVR_IPADDR[MAX_LINK];//客户端的IPåœ°å€ public int dwIPLinkNum;//如果该通é“为IP接入,那么表示IP接入当å‰çš„连接数 public byte byExceedMaxLink; // 是å¦è¶…出了å•è·¯6路连接数 0 - 未超出, 1-超出 public byte[] byRes = new byte[3]; // ä¿ç•™å—节 public int dwAllBitRate; //所有实际ç 率之和 public int dwChannelNo; //当å‰çš„通é“å·ï¼Œ0xffffffffè¡¨ç¤ºæ— æ•ˆ } public static class NET_DVR_CHANNELSTATE extends HIKSDKStructure {//通é“çŠ¶æ€ public byte byRecordStatic; //通é“是å¦åœ¨å½•åƒ,0-ä¸å½•åƒ,1-å½•åƒ public byte bySignalStatic; //连接的信å·çŠ¶æ€,0-æ£å¸¸,1-ä¿¡å·ä¸¢å¤± public byte byHardwareStatic;//通é“硬件状æ€,0-æ£å¸¸,1-异常,例如DSPæ»æŽ‰ public byte reservedData; //ä¿ç•™ public int dwBitRate;//实际ç 率 public int dwLinkNum;//客户端连接的个数 public int[] dwClientIP = new int[MAX_LINK];//客户端的IPåœ°å€ } public static class NET_DVR_DISKSTATE extends HIKSDKStructure {//ç¡¬ç›˜çŠ¶æ€ public int dwVolume;//ç¡¬ç›˜çš„å®¹é‡ public int dwFreeSpace;//硬盘的剩余空间 public int dwHardDiskStatic; //硬盘的状æ€,按ä½:1-ä¼‘çœ ,2-ä¸æ£å¸¸,3-ä¼‘çœ ç¡¬ç›˜å‡ºé”™ } public static class NET_DVR_WORKSTATE_V30 extends HIKSDKStructure {//DVR工作状æ€(9000扩展) public int dwDeviceStatic; //设备的状æ€,0-æ£å¸¸,1-CPUå 用率太高,超过85%,2-硬件错误,例如串å£æ»æŽ‰ public NET_DVR_DISKSTATE[] struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM_V30]; public NET_DVR_CHANNELSTATE_V30[] struChanStatic = new NET_DVR_CHANNELSTATE_V30[MAX_CHANNUM_V30];//通é“çš„çŠ¶æ€ public byte[] byAlarmInStatic = new byte[MAX_ALARMIN_V30]; //报è¦ç«¯å£çš„状æ€,0-没有报è¦,1-æœ‰æŠ¥è¦ public byte[] byAlarmOutStatic = new byte[MAX_ALARMOUT_V30]; //报è¦è¾“出端å£çš„状æ€,0-没有输出,1-有报è¦è¾“出 public int dwLocalDisplay;//本地显示状æ€,0-æ£å¸¸,1-ä¸æ£å¸¸ public byte[] byAudioChanStatus = new byte[MAX_AUDIO_V30];//表示è¯éŸ³é€šé“çš„çŠ¶æ€ 0-未使用,1-使用ä¸, 0xffæ— æ•ˆ public byte[] byRes = new byte[10]; } public static class NET_DVR_WORKSTATE extends HIKSDKStructure {//DVRå·¥ä½œçŠ¶æ€ public int dwDeviceStatic; //设备的状æ€,0-æ£å¸¸,1-CPUå 用率太高,超过85%,2-硬件错误,例如串å£æ»æŽ‰ public NET_DVR_DISKSTATE[] struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM]; public NET_DVR_CHANNELSTATE[] struChanStatic = new NET_DVR_CHANNELSTATE[MAX_CHANNUM];//通é“çš„çŠ¶æ€ public byte[] byAlarmInStatic = new byte[MAX_ALARMIN]; //报è¦ç«¯å£çš„状æ€,0-没有报è¦,1-æœ‰æŠ¥è¦ public byte[] byAlarmOutStatic = new byte[MAX_ALARMOUT]; //报è¦è¾“出端å£çš„状æ€,0-没有输出,1-有报è¦è¾“出 public int dwLocalDisplay;//本地显示状æ€,0-æ£å¸¸,1-ä¸æ£å¸¸ } public static class NET_DVR_LOG_V30 extends HIKSDKStructure {//日志信æ¯(9000扩展) public NET_DVR_TIME strLogTime; public int dwMajorType; //主类型 1-报è¦; 2-异常; 3-æ“作; 0xff-全部 public int dwMinorType;//次类型 0-全部; public byte[] sPanelUser = new byte[MAX_NAMELEN]; //æ“作é¢æ¿çš„用户å public byte[] sNetUser = new byte[MAX_NAMELEN];//网络æ“作的用户å public NET_DVR_IPADDR struRemoteHostAddr;//??ç¨‹ä¸»æœºåœ°å€ public int dwParaType;//å‚数类型 public int dwChannel;//通é“å· public int dwDiskNumber;//ç¡¬ç›˜å· public int dwAlarmInPort;//报è¦è¾“å…¥ç«¯å£ public int dwAlarmOutPort;//报è¦è¾“å‡ºç«¯å£ public int dwInfoLen; public byte[] sInfo = new byte[LOG_INFO_LEN]; } //æ—¥å¿—ä¿¡æ¯ public static class NET_DVR_LOG extends HIKSDKStructure { public NET_DVR_TIME strLogTime; public int dwMajorType; //主类型 1-报è¦; 2-异常; 3-æ“作; 0xff-全部 public int dwMinorType;//次类型 0-全部; public byte[] sPanelUser = new byte[MAX_NAMELEN]; //æ“作é¢æ¿çš„用户å public byte[] sNetUser = new byte[MAX_NAMELEN];//网络æ“作的用户å public byte[] sRemoteHostAddr = new byte[16];//è¿œç¨‹ä¸»æœºåœ°å€ public int dwParaType;//å‚数类型 public int dwChannel;//通é“å· public int dwDiskNumber;//ç¡¬ç›˜å· public int dwAlarmInPort;//报è¦è¾“å…¥ç«¯å£ public int dwAlarmOutPort;//报è¦è¾“å‡ºç«¯å£ } /************************ * DVR日志 end ***************************/ public static class NET_DVR_ALARMOUTSTATUS_V30 extends HIKSDKStructure {//报è¦è¾“出状æ€(9000扩展) public byte[] Output = new byte[MAX_ALARMOUT_V30]; } public static class NET_DVR_ALARMOUTSTATUS extends HIKSDKStructure {//报è¦è¾“å‡ºçŠ¶æ€ public byte[] Output = new byte[MAX_ALARMOUT]; } public static class NET_DVR_TRADEINFO extends HIKSDKStructure {//äº¤æ˜“ä¿¡æ¯ public short m_Year; public short m_Month; public short m_Day; public short m_Hour; public short m_Minute; public short m_Second; public byte[] DeviceName = new byte[24]; //设备å称 public int dwChannelNumer; //通é“å· public byte[] CardNumber = new byte[32]; //å¡å· public byte[] cTradeType = new byte[12]; //交易类型 public int dwCash; //äº¤æ˜“é‡‘é¢ } public static class NET_DVR_FRAMETYPECODE extends HIKSDKStructure {/*å¸§æ ¼å¼*/ public byte[] code = new byte[12]; /* 代ç */ } public static class NET_DVR_FRAMEFORMAT_V30 extends HIKSDKStructure {//ATMå‚æ•°(9000扩展) public int dwSize; public NET_DVR_IPADDR struATMIP; /* ATM IPåœ°å€ */ public int dwATMType; /* ATM类型 */ public int dwInputMode; /* è¾“å…¥æ–¹å¼ 0-ç½‘ç»œä¾¦å¬ 1-网络接收 2-串å£ç›´æŽ¥è¾“å…¥ 3-串å£ATM命令输入*/ public int dwFrameSignBeginPos; /* æŠ¥æ–‡æ ‡å¿—ä½çš„起始ä½ç½®*/ public int dwFrameSignLength; /* æŠ¥æ–‡æ ‡å¿—ä½çš„长度 */ public byte[] byFrameSignContent = new byte[12]; /* æŠ¥æ–‡æ ‡å¿—ä½çš„内容 */ public int dwCardLengthInfoBeginPos; /* å¡å·é•¿åº¦ä¿¡æ¯çš„起始ä½ç½® */ public int dwCardLengthInfoLength; /* å¡å·é•¿åº¦ä¿¡æ¯çš„长度 */ public int dwCardNumberInfoBeginPos; /* å¡å·ä¿¡æ¯çš„起始ä½ç½® */ public int dwCardNumberInfoLength; /* å¡å·ä¿¡æ¯çš„长度 */ public int dwBusinessTypeBeginPos; /* 交易类型的起始ä½ç½® */ public int dwBusinessTypeLength; /* 交易类型的长度 */ public NET_DVR_FRAMETYPECODE[] frameTypeCode = new NET_DVR_FRAMETYPECODE[10]; /* 类型 */ public short wATMPort; /* å¡å·æ•æ‰ç«¯å£å·(网络å议方å¼) (ä¿ç•™)0xffffè¡¨ç¤ºè¯¥å€¼æ— æ•ˆ*/ public short wProtocolType; /* 网络å议类型(ä¿ç•™) 0xffffè¡¨ç¤ºè¯¥å€¼æ— æ•ˆ*/ public byte[] byRes = new byte[24]; } public static class NET_DVR_FRAMEFORMAT extends HIKSDKStructure {//ATMå‚æ•° public int dwSize; public byte[] sATMIP = new byte[16]; /* ATM IPåœ°å€ */ public int dwATMType; /* ATM类型 */ public int dwInputMode; /* è¾“å…¥æ–¹å¼ 0-ç½‘ç»œä¾¦å¬ 1-网络接收 2-串å£ç›´æŽ¥è¾“å…¥ 3-串å£ATM命令输入*/ public int dwFrameSignBeginPos; /* æŠ¥æ–‡æ ‡å¿—ä½çš„起始ä½ç½®*/ public int dwFrameSignLength; /* æŠ¥æ–‡æ ‡å¿—ä½çš„长度 */ public byte[] byFrameSignContent = new byte[12]; /* æŠ¥æ–‡æ ‡å¿—ä½çš„内容 */ public int dwCardLengthInfoBeginPos; /* å¡å·é•¿åº¦ä¿¡æ¯çš„起始ä½ç½® */ public int dwCardLengthInfoLength; /* å¡å·é•¿åº¦ä¿¡æ¯çš„长度 */ public int dwCardNumberInfoBeginPos; /* å¡å·ä¿¡æ¯çš„起始ä½ç½® */ public int dwCardNumberInfoLength; /* å¡å·ä¿¡æ¯çš„长度 */ public int dwBusinessTypeBeginPos; /* 交易类型的起始ä½ç½® */ public int dwBusinessTypeLength; /* 交易类型的长度 */ public NET_DVR_FRAMETYPECODE[] frameTypeCode = new NET_DVR_FRAMETYPECODE[10];/* 类型 */ } public static class NET_DVR_FTPTYPECODE extends HIKSDKStructure { public byte[] sFtpType = new byte[32]; /*客户定义的æ“作类型*/ public byte[] sFtpCode = new byte[8]; /*客户定义的æ“作类型的对应的ç */ } public static class NET_DVR_FRAMEFORMAT_EX extends HIKSDKStructure {//ATMå‚æ•°æ·»åŠ FTPä¸Šä¼ å‚æ•°, 俄罗斯银行定制, 2006-11-17 public int dwSize; public byte[] sATMIP = new byte[16]; /* ATM IPåœ°å€ */ public int dwATMType; /* ATM类型 */ public int dwInputMode; /* è¾“å…¥æ–¹å¼ 0-ç½‘ç»œä¾¦å¬ 1-网络接收 2-串å£ç›´æŽ¥è¾“å…¥ 3-串å£ATM命令输入*/ public int dwFrameSignBeginPos; /* æŠ¥æ–‡æ ‡å¿—ä½çš„起始ä½ç½®*/ public int dwFrameSignLength; /* æŠ¥æ–‡æ ‡å¿—ä½çš„长度 */ public byte[] byFrameSignContent = new byte[12]; /* æŠ¥æ–‡æ ‡å¿—ä½çš„内容 */ public int dwCardLengthInfoBeginPos; /* å¡å·é•¿åº¦ä¿¡æ¯çš„起始ä½ç½® */ public int dwCardLengthInfoLength; /* å¡å·é•¿åº¦ä¿¡æ¯çš„长度 */ public int dwCardNumberInfoBeginPos; /* å¡å·ä¿¡æ¯çš„起始ä½ç½® */ public int dwCardNumberInfoLength; /* å¡å·ä¿¡æ¯çš„长度 */ public int dwBusinessTypeBeginPos; /* 交易类型的起始ä½ç½® */ public int dwBusinessTypeLength; /* 交易类型的长度 */ public NET_DVR_FRAMETYPECODE[] frameTypeCode = new NET_DVR_FRAMETYPECODE[10];/* 类型 */ public byte[] sFTPIP = new byte[16]; /* FTP IP */ public byte[] byFtpUsername = new byte[NAME_LEN]; /* 用户å */ public byte[] byFtpPasswd = new byte[PASSWD_LEN]; /* 密ç */ public byte[] sDirName = new byte[NAME_LEN]; /*æœåŠ¡å™¨ç›®å½•å*/ public int dwATMSrvType; /*ATMæœåŠ¡å™¨ç±»åž‹ï¼Œ0--wincor ,1--diebold*/ public int dwTimeSpace; /*å–值为1.2.3.4.5.10*/ public NET_DVR_FTPTYPECODE[] sFtpTypeCodeOp = new NET_DVR_FTPTYPECODE[300]; /*æ–°åŠ çš„*/ public int dwADPlay; /* 1 表示在æ’放广告,0 表示没有æ’放广告*/ public int dwNewPort; //ç«¯å£ } /****************************ATM(end)***************************/ /***************************** * DS-6001D/F(begin) ***************************/ //DS-6001D Decoder public static class NET_DVR_DECODERINFO extends HIKSDKStructure { public byte[] byEncoderIP = new byte[16]; //解ç 设备连接的æœåŠ¡å™¨IP public byte[] byEncoderUser = new byte[16]; //解ç 设备连接的æœåŠ¡å™¨çš„用户å public byte[] byEncoderPasswd = new byte[16]; //解ç 设备连接的æœåŠ¡å™¨çš„密ç public byte bySendMode; //解ç 设备连接æœåŠ¡å™¨çš„è¿žæŽ¥æ¨¡å¼ public byte byEncoderChannel; //解ç 设备连接的æœåŠ¡å™¨çš„通é“å· public short wEncoderPort; //解ç 设备连接的æœåŠ¡å™¨çš„端å£å· public byte[] reservedData = new byte[4]; //ä¿ç•™ } public static class NET_DVR_DECODERSTATE extends HIKSDKStructure { public byte[] byEncoderIP = new byte[16]; //解ç 设备连接的æœåŠ¡å™¨IP public byte[] byEncoderUser = new byte[16]; //解ç 设备连接的æœåŠ¡å™¨çš„用户å public byte[] byEncoderPasswd = new byte[16]; //解ç 设备连接的æœåŠ¡å™¨çš„密ç public byte byEncoderChannel; //解ç 设备连接的æœåŠ¡å™¨çš„通é“å· public byte bySendMode; //解ç 设备连接的æœåŠ¡å™¨çš„è¿žæŽ¥æ¨¡å¼ public short wEncoderPort; //解ç 设备连接的æœåŠ¡å™¨çš„端å£å· public int dwConnectState; //解ç 设备连接æœåŠ¡å™¨çš„çŠ¶æ€ public byte[] reservedData = new byte[4]; //ä¿ç•™ } public static class NET_DVR_DECCHANINFO extends HIKSDKStructure { public byte[] sDVRIP = new byte[16]; /* DVR IPåœ°å€ */ public short wDVRPort; /* 端å£å· */ public byte[] sUserName = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public byte byChannel; /* 通é“å· */ public byte byLinkMode; /* è¿žæŽ¥æ¨¡å¼ */ public byte byLinkType; /* 连接类型 0ï¼ä¸»ç æµ 1ï¼åç æµ */ } public static class NET_DVR_DECINFO extends HIKSDKStructure {/*æ¯ä¸ªè§£ç 通é“çš„é…ç½®*/ public byte byPoolChans; /*æ¯è·¯è§£ç 通é“上的循环通é“æ•°é‡, 最多4é€šé“ 0表示没有解ç */ public NET_DVR_DECCHANINFO[] struchanConInfo = new NET_DVR_DECCHANINFO[MAX_DECPOOLNUM]; public byte byEnablePoll; /*是å¦è½®å·¡ 0-å¦ 1-是*/ public byte byPoolTime; /*轮巡时间 0-ä¿ç•™ 1-10秒 2-15秒 3-20秒 4-30秒 5-45秒 6-1分钟 7-2分钟 8-5分钟 */ } public static class NET_DVR_DECCFG extends HIKSDKStructure {/*整个设备解ç é…ç½®*/ public int dwSize; public int dwDecChanNum; /*解ç 通é“çš„æ•°é‡*/ public NET_DVR_DECINFO[] struDecInfo = new NET_DVR_DECINFO[MAX_DECNUM]; } //2005-08-01 public static class NET_DVR_PORTINFO extends HIKSDKStructure {/* 解ç 设备é€æ˜Žé€šé“设置 */ public int dwEnableTransPort; /* 是å¦å¯åŠ¨é€æ˜Žé€šé“ 0ï¼ä¸å¯ç”¨ 1ï¼å¯ç”¨*/ public byte[] sDecoderIP = new byte[16]; /* DVR IPåœ°å€ */ public short wDecoderPort; /* 端å£å· */ public short wDVRTransPort; /* é…ç½®å‰ç«¯DVR是从485/232输出,1表示232串å£,2表示485ä¸²å£ */ public byte[] cReserve = new byte[4]; } public static class NET_DVR_PORTCFG extends HIKSDKStructure { public int dwSize; public NET_DVR_PORTINFO[] struTransPortInfo = new NET_DVR_PORTINFO[MAX_TRANSPARENTNUM]; /* 数组0表示232 数组1表示485 */ } /*https://jna.dev.java.net/javadoc/com/sun/jna/Union.html#setType(java.lang.Class) see how to use the JNA Union*/ public static class NET_DVR_PLAYREMOTEFILE extends HIKSDKStructure {/* 控制网络文件回放 */ public int dwSize; public byte[] sDecoderIP = new byte[16]; /* DVR IPåœ°å€ */ public short wDecoderPort; /* 端å£å· */ public short wLoadMode; /* å›žæ”¾ä¸‹è½½æ¨¡å¼ 1ï¼æŒ‰åå— 2ï¼æŒ‰æ—¶é—´ */ public byte[] byFile = new byte[100]; public static class mode_size extends Union { public byte[] byFile = new byte[100]; // 回放的文件å public static class bytime extends HIKSDKStructure { public int dwChannel; public byte[] sUserName = new byte[NAME_LEN]; //请求视频用户å public byte[] sPassword = new byte[PASSWD_LEN]; // 密ç public NET_DVR_TIME struStartTime; //按时间回放的开始时间 public NET_DVR_TIME struStopTime; // 按时间回放的结æŸæ—¶é—´ } } } public static class NET_DVR_DECCHANSTATUS extends HIKSDKStructure {/*当å‰è®¾å¤‡è§£ç 连接状æ€*/ public int dwWorkType; /*工作方å¼ï¼š1:轮巡ã€2:动æ€è¿žæŽ¥è§£ç ã€3:文件回放下载 4:按时间回放下载*/ public byte[] sDVRIP = new byte[16]; /*连接的设备ip*/ public short wDVRPort; /*连接端å£å·*/ public byte byChannel; /* 通é“å· */ public byte byLinkMode; /* è¿žæŽ¥æ¨¡å¼ */ public int dwLinkType; /*连接类型 0ï¼ä¸»ç æµ 1ï¼åç æµ*/ public byte[] sUserName = new byte[NAME_LEN]; /*请求视频用户å*/ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public byte[] cReserve = new byte[52]; public static class objectInfo extends Union { public static class userInfo extends HIKSDKStructure { public byte[] sUserName = new byte[NAME_LEN]; //请求视频用户å public byte[] sPassword = new byte[PASSWD_LEN]; // 密ç public byte[] cReserve = new byte[52]; } public static class fileInfo extends HIKSDKStructure { public byte[] fileName = new byte[100]; } public static class timeInfo extends HIKSDKStructure { public int dwChannel; public byte[] sUserName = new byte[NAME_LEN]; //请求视频用户å public byte[] sPassword = new byte[PASSWD_LEN]; // 密ç public NET_DVR_TIME struStartTime; // 按时间回放的开始时间 public NET_DVR_TIME struStopTime; //按时间回放的结æŸæ—¶é—´ } } } public static class NET_DVR_DECSTATUS extends HIKSDKStructure { public int dwSize; public NET_DVR_DECCHANSTATUS[] struDecState = new NET_DVR_DECCHANSTATUS[MAX_DECNUM]; } /***************************** * DS-6001D/F(end) ***************************/ public static class NET_DVR_SHOWSTRINGINFO extends HIKSDKStructure {//å•å—符å‚æ•°(å结构) public short wShowString; // 预览的图象上是å¦æ˜¾ç¤ºå—符,0-ä¸æ˜¾ç¤º,1-显示 区域大å°704*576,å•ä¸ªå—符的大å°ä¸º32*32 public short wStringSize; /* 该行å—符的长度,ä¸èƒ½å¤§äºŽ44个å—符 */ public short wShowStringTopLeftX; /* å—符显示ä½ç½®çš„xåæ ‡ */ public short wShowStringTopLeftY; /* å—符å称显示ä½ç½®çš„yåæ ‡ */ public byte[] sString = new byte[44]; /* è¦æ˜¾ç¤ºçš„å—符内容 */ } //å åŠ å—符(9000扩展) public static class NET_DVR_SHOWSTRING_V30 extends HIKSDKStructure { public int dwSize; public NET_DVR_SHOWSTRINGINFO[] struStringInfo = new NET_DVR_SHOWSTRINGINFO[MAX_STRINGNUM_V30]; /* è¦æ˜¾ç¤ºçš„å—符内容 */ } //å åŠ å—符扩展(8æ¡å—符) public static class NET_DVR_SHOWSTRING_EX extends HIKSDKStructure { public int dwSize; public NET_DVR_SHOWSTRINGINFO[] struStringInfo = new NET_DVR_SHOWSTRINGINFO[MAX_STRINGNUM_EX]; /* è¦æ˜¾ç¤ºçš„å—符内容 */ } //å åŠ å—符 public static class NET_DVR_SHOWSTRING extends HIKSDKStructure { public int dwSize; public NET_DVR_SHOWSTRINGINFO[] struStringInfo = new NET_DVR_SHOWSTRINGINFO[MAX_STRINGNUM]; /* è¦æ˜¾ç¤ºçš„å—符内容 */ } /**************************** * DS9000新增结构(begin) ******************************/ /* EMAILå‚数结构 */ public static class NET_DVR_SENDER extends HIKSDKStructure { public byte[] sName = new byte[NAME_LEN]; /* å‘件人姓å */ public byte[] sAddress = new byte[MAX_EMAIL_ADDR_LEN]; /* å‘ä»¶äººåœ°å€ */ } public static class NET_DVRRECEIVER extends HIKSDKStructure { public byte[] sName = new byte[NAME_LEN]; /* 收件人姓å */ public byte[] sAddress = new byte[MAX_EMAIL_ADDR_LEN]; /* æ”¶ä»¶äººåœ°å€ */ } public static class NET_DVR_EMAILCFG_V30 extends HIKSDKStructure { public int dwSize; public byte[] sAccount = new byte[NAME_LEN]; /* è´¦å·*/ public byte[] sPassword = new byte[MAX_EMAIL_PWD_LEN]; /*密ç */ public NET_DVR_SENDER struSender; public byte[] sSmtpServer = new byte[MAX_EMAIL_ADDR_LEN]; /* smtpæœåŠ¡å™¨ */ public byte[] sPop3Server = new byte[MAX_EMAIL_ADDR_LEN]; /* pop3æœåŠ¡å™¨ */ public NET_DVRRECEIVER[] struReceiver = new NET_DVRRECEIVER[3]; /* 最多å¯ä»¥è®¾ç½®3个收件人 */ public byte byAttachment; /* 是å¦å¸¦é™„件 */ public byte bySmtpServerVerify; /* å‘é€æœåŠ¡å™¨è¦æ±‚èº«ä»½éªŒè¯ */ public byte byMailInterval; /* mail interval */ public byte[] res = new byte[77]; } /* DVR实现巡航数æ®ç»“æž„ */ public static class NET_DVR_CRUISE_PARA extends HIKSDKStructure { public int dwSize; public byte[] byPresetNo = new byte[CRUISE_MAX_PRESET_NUMS]; /* é¢„ç½®ç‚¹å· */ public byte[] byCruiseSpeed = new byte[CRUISE_MAX_PRESET_NUMS]; /* 巡航速度 */ public short[] wDwellTime = new short[CRUISE_MAX_PRESET_NUMS]; /* åœç•™æ—¶é—´ */ public byte[] byEnableThisCruise; /* 是å¦å¯ç”¨ */ public byte[] res = new byte[15]; } /**************************** * DS9000新增结构(end) ******************************/ //时间点 public static class NET_DVR_TIMEPOINT extends HIKSDKStructure { public int dwMonth; //月 0-11表示1-12个月 public int dwWeekNo; //ç¬¬å‡ å‘¨ 0ï¼ç¬¬1周 1ï¼ç¬¬2周 2ï¼ç¬¬3周 3ï¼ç¬¬4周 4ï¼æœ€åŽä¸€å‘¨ public int dwWeekDate; //æ˜ŸæœŸå‡ 0ï¼æ˜ŸæœŸæ—¥ 1ï¼æ˜ŸæœŸä¸€ 2ï¼æ˜ŸæœŸäºŒ 3ï¼æ˜ŸæœŸä¸‰ 4ï¼æ˜ŸæœŸå›› 5ï¼æ˜ŸæœŸäº” 6ï¼æ˜ŸæœŸå… public int dwHour; //å°æ—¶ 开始时间0ï¼23 结æŸæ—¶é—´1ï¼23 public int dwMin; //分 0ï¼59 } //å¤ä»¤æ—¶å‚æ•° public static class NET_DVR_ZONEANDDST extends HIKSDKStructure { public int dwSize; public byte[] byRes1 = new byte[16]; //ä¿ç•™ public int dwEnableDST; //是å¦å¯ç”¨å¤æ—¶åˆ¶ 0ï¼ä¸å¯ç”¨ 1ï¼å¯ç”¨ public byte byDSTBias; //å¤ä»¤æ—¶å移值,30min, 60min, 90min, 120min, ä»¥åˆ†é’Ÿè®¡ï¼Œä¼ é€’åŽŸå§‹æ•°å€¼ public byte[] byRes2 = new byte[3]; public NET_DVR_TIMEPOINT struBeginPoint; //å¤æ—¶åˆ¶å¼€å§‹æ—¶é—´ public NET_DVR_TIMEPOINT struEndPoint; //å¤æ—¶åˆ¶åœæ¢æ—¶é—´ } //å›¾ç‰‡è´¨é‡ public static class NET_DVR_JPEGPARA extends HIKSDKStructure { /*注æ„:当图åƒåŽ‹ç¼©åˆ†è¾¨çŽ‡ä¸ºVGA时,支æŒ0=CIF, 1=QCIF, 2=D1抓图, 当分辨率为3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p 仅支æŒå½“å‰åˆ†è¾¨çŽ‡çš„抓图*/ public short wPicSize; /* 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA*/ public short wPicQuality; /* 图片质é‡ç³»æ•° 0-最好 1-较好 2-一般 */ } /* aux video out parameter */ //辅助输出å‚æ•°é…ç½® public static class NET_DVR_AUXOUTCFG extends HIKSDKStructure { public int dwSize; public int dwAlarmOutChan; /* 选择报è¦å¼¹å‡ºå¤§æŠ¥è¦é€šé“切æ¢æ—¶é—´ï¼š1ç”»é¢çš„输出通é“: 0:主输出/1:è¾…1/2:è¾…2/3:è¾…3/4:è¾…4 */ public int dwAlarmChanSwitchTime; /* :1秒 - 10:10秒 */ public int[] dwAuxSwitchTime = new int[MAX_AUXOUT]; /* 辅助输出切æ¢æ—¶é—´: 0-ä¸åˆ‡æ¢,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */ public byte[][] byAuxOrder = new byte[MAX_AUXOUT][MAX_WINDOW]; /* 辅助输出预览顺åº, 0xff表示相应的窗å£ä¸é¢„览 */ } //ntp public static class NET_DVR_NTPPARA extends HIKSDKStructure { public byte[] sNTPServer = new byte[64]; /* Domain Name or IP addr of NTP server */ public short wInterval; /* adjust time interval(hours) */ public byte byEnableNTP; /* enable NPT client 0-no,1-yes*/ public byte cTimeDifferenceH; /* ä¸Žå›½é™…æ ‡å‡†æ—¶é—´çš„ å°æ—¶å移-12 ... +13 */ public byte cTimeDifferenceM;/* ä¸Žå›½é™…æ ‡å‡†æ—¶é—´çš„ 分钟å移0, 30, 45*/ public byte res1; public short wNtpPort; /* ntp server port 9000新增 设备默认为123*/ public byte[] res2 = new byte[8]; } //ddns public static class NET_DVR_DDNSPARA extends HIKSDKStructure { public byte[] sUsername = new byte[NAME_LEN]; /* DDNSè´¦å·ç”¨æˆ·å/密ç */ public byte[] sPassword = new byte[PASSWD_LEN]; public byte[] sDomainName = new byte[64]; /* 域å */ public byte byEnableDDNS; /*是å¦åº”用 0-å¦ï¼Œ1-是*/ public byte[] res = new byte[15]; } public static class NET_DVR_DDNSPARA_EX extends HIKSDKStructure { public byte byHostIndex; /* 0-Hikvision DNS 1ï¼Dyndns 2ï¼PeanutHull(花生壳), 3-希网3322*/ public byte byEnableDDNS; /*是å¦åº”用DDNS 0-å¦ï¼Œ1-是*/ public short wDDNSPort; /* DDNS端å£å· */ public byte[] sUsername = new byte[NAME_LEN]; /* DDNS用户å*/ public byte[] sPassword = new byte[PASSWD_LEN]; /* DDNS密ç */ public byte[] sDomainName = new byte[MAX_DOMAIN_NAME]; /* 设备é…备的域ååœ°å€ */ public byte[] sServerName = new byte[MAX_DOMAIN_NAME]; /* DDNS 对应的æœåŠ¡å™¨åœ°å€ï¼Œå¯ä»¥æ˜¯IP地å€æˆ–域å */ public byte[] byRes = new byte[16]; } public static class NET_DVR_DDNS extends HIKSDKStructure { public byte[] sUsername = new byte[NAME_LEN]; /* DDNSè´¦å·ç”¨æˆ·å*/ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public byte[] sDomainName = new byte[MAX_DOMAIN_NAME]; /* 设备é…备的域ååœ°å€ */ public byte[] sServerName = new byte[MAX_DOMAIN_NAME]; /* DDNSå议对应的æœåŠ¡å™¨åœ°å€ï¼Œå¯ä»¥æ˜¯IP地å€æˆ–域å */ public short wDDNSPort; /* 端å£å· */ public byte[] byRes = new byte[10]; } //9000扩展 public static class NET_DVR_DDNSPARA_V30 extends HIKSDKStructure { public byte byEnableDDNS; public byte byHostIndex;/* 0-Hikvision DNS(ä¿ç•™) 1ï¼Dyndns 2ï¼PeanutHull(花生壳) 3ï¼å¸Œç½‘3322 */ public byte[] byRes1 = new byte[2]; public NET_DVR_DDNS[] struDDNS = new NET_DVR_DDNS[MAX_DDNS_NUMS];//9000ç›®å‰åªæ”¯æŒå‰3个é…置,其他é…ç½®ä¿ç•™ public byte[] byRes2 = new byte[16]; } //email public static class NET_DVR_EMAILPARA extends HIKSDKStructure { public byte[] sUsername = new byte[64]; /* 邮件账å·/密ç */ public byte[] sPassword = new byte[64]; public byte[] sSmtpServer = new byte[64]; public byte[] sPop3Server = new byte[64]; public byte[] sMailAddr = new byte[64]; /* email */ public byte[] sEventMailAddr1 = new byte[64]; /* ä¸Šä¼ æŠ¥è¦/异常ç‰çš„email */ public byte[] sEventMailAddr2 = new byte[64]; public byte[] res = new byte[16]; } public static class NET_DVR_NETAPPCFG extends HIKSDKStructure {//网络å‚æ•°é…ç½® public int dwSize; public byte[] sDNSIp = new byte[16]; /* DNSæœåŠ¡å™¨åœ°å€ */ public NET_DVR_NTPPARA struNtpClientParam; /* NTPå‚æ•° */ public NET_DVR_DDNSPARA struDDNSClientParam; /* DDNSå‚æ•° */ //NET_DVR_EMAILPARA struEmailParam; /* EMAILå‚æ•° */ public byte[] res = new byte[464]; /* ä¿ç•™ */ } public static class NET_DVR_SINGLE_NFS extends HIKSDKStructure {//nfs结构é…ç½® public byte[] sNfsHostIPAddr = new byte[16]; public byte[] sNfsDirectory = new byte[PATHNAME_LEN]; // PATHNAME_LEN = 128 } public static class NET_DVR_NFSCFG extends HIKSDKStructure { public int dwSize; public NET_DVR_SINGLE_NFS[] struNfsDiskParam = new NET_DVR_SINGLE_NFS[MAX_NFS_DISK]; } //巡航点é…ç½®(HIK IPå¿«çƒä¸“用) public static class NET_DVR_CRUISE_POINT extends HIKSDKStructure { public byte PresetNum; //预置点 public byte Dwell; //åœç•™æ—¶é—´ public byte Speed; //速度 public byte Reserve; //ä¿ç•™ } public static class NET_DVR_CRUISE_RET extends HIKSDKStructure { public NET_DVR_CRUISE_POINT[] struCruisePoint = new NET_DVR_CRUISE_POINT[32]; //最大支æŒ32个巡航点 } /************************************ * 多路解ç 器(begin) ***************************************/ //多路解ç 器扩展 added by zxy 2007-05-23 public static class NET_DVR_NETCFG_OTHER extends HIKSDKStructure { public int dwSize; public byte[] sFirstDNSIP = new byte[16]; public byte[] sSecondDNSIP = new byte[16]; public byte[] sRes = new byte[32]; } public static class NET_DVR_MATRIX_DECINFO extends HIKSDKStructure { public byte[] sDVRIP = new byte[16]; /* DVR IPåœ°å€ */ public short wDVRPort; /* 端å£å· */ public byte byChannel; /* 通é“å· */ public byte byTransProtocol; /* ä¼ è¾“å议类型 0-TCP 1-UDP */ public byte byTransMode; /* ä¼ è¾“ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ*/ public byte[] byRes = new byte[3]; public byte[] sUserName = new byte[NAME_LEN]; /* 监控主机登陆å¸å· */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 监控主机密ç */ } public static class NET_DVR_MATRIX_DYNAMIC_DEC extends HIKSDKStructure {//å¯åŠ¨/åœæ¢åŠ¨æ€è§£ç public int dwSize; public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 动æ€è§£ç 通é“ä¿¡æ¯ */ } public static class NET_DVR_MATRIX_DEC_CHAN_STATUS extends HIKSDKStructure {//2007-12-13 modified by zxy 修改多路解ç 器的NET_DVR_MATRIX_DEC_CHAN_STATUS结构 public int dwSize;//2008-1-16 modified by zxy dwIsLinked的状æ€ç”±åŽŸæ¥çš„0ï¼æœªé“¾æŽ¥ 1ï¼è¿žæŽ¥ä¿®æ”¹æˆä»¥ä¸‹ä¸‰ç§çŠ¶æ€ã€‚ public int dwIsLinked; /* 解ç 通é“çŠ¶æ€ 0ï¼ä¼‘çœ 1ï¼æ£åœ¨è¿žæŽ¥ 2ï¼å·²è¿žæŽ¥ 3-æ£åœ¨è§£ç */ public int dwStreamCpRate; /* Stream copy rate, X kbits/second */ public byte[] cRes = new byte[64]; /* ä¿ç•™ */ } //end 2007-12-13 modified by zxy public static class NET_DVR_MATRIX_DEC_CHAN_INFO extends HIKSDKStructure { public int dwSize; public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 解ç 通é“ä¿¡æ¯ */ public int dwDecState; /* 0-动æ€è§£ç 1ï¼å¾ªçŽ¯è§£ç 2ï¼æŒ‰æ—¶é—´å›žæ”¾ 3ï¼æŒ‰æ–‡ä»¶å›žæ”¾ */ public NET_DVR_TIME StartTime; /* 按时间回放开始时间 */ public NET_DVR_TIME StopTime; /* 按时间回放åœæ¢æ—¶é—´ */ public byte[] sFileName = new byte[128]; /* 按文件回放文件å */ } //连接的通é“é…ç½® 2007-11-05 public static class NET_DVR_MATRIX_DECCHANINFO extends HIKSDKStructure { public int dwEnable; /* 是å¦å¯ç”¨ 0ï¼å¦ 1ï¼å¯ç”¨*/ public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 轮循解ç 通é“ä¿¡æ¯ */ } //2007-11-05 新增æ¯ä¸ªè§£ç 通é“çš„é…ç½® public static class NET_DVR_MATRIX_LOOP_DECINFO extends HIKSDKStructure { public int dwSize; public int dwPoolTime; /*轮巡时间 */ public NET_DVR_MATRIX_DECCHANINFO[] struchanConInfo = new NET_DVR_MATRIX_DECCHANINFO[MAX_CYCLE_CHAN]; } //2007-05-25 多路解ç 器数å—矩阵é…ç½® //çŸ©é˜µè¡Œä¿¡æ¯ 2007-12-28 public static class NET_DVR_MATRIX_ROW_ELEMENT extends HIKSDKStructure { public byte[] sSurvChanName = new byte[128]; /* 监控通é“å称,支æŒä¸æ–‡ */ public int dwRowNum; /* è¡Œå· */ public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* çŸ©é˜µè¡Œä¿¡æ¯ */ } public static class NET_DVR_MATRIX_ROW_INDEX extends HIKSDKStructure { public byte[] sSurvChanName = new byte[128]; /* 监控通é“å称,支æŒä¸æ–‡ */ public int dwRowNum; /* è¡Œå· */ } //çŸ©é˜µåˆ—ä¿¡æ¯ 2007-12-28 public static class NET_DVR_MATRIX_COLUMN_ELEMENT extends HIKSDKStructure { public int dwLocalDispChanNum; /* 本地显示通é“å· */ public int dwGlobalDispChanNum; /* 全局显示通é“å· */ public int dwRes; /* ä¿ç•™ */ } public static class NET_DVR_MATRIX_GLOBAL_COLUMN_ELEMENT extends HIKSDKStructure { public int dwConflictTag; /* 冲çªæ ‡è®°ï¼Œ0ï¼šæ— å†²çªï¼Œ1ï¼šå†²çª */ public int dwConflictGloDispChan; /* 与之冲çªçš„全局通é“å· */ public NET_DVR_MATRIX_COLUMN_ELEMENT struColumnInfo;/* çŸ©é˜µåˆ—å…ƒç´ ç»“æž„ä½“ */ } //手动查看 2007-12-28 public static class NET_DVR_MATRIX_ROW_COLUMN_LINK extends HIKSDKStructure { public int dwSize; /* * 以下三个å‚æ•°åªéœ€è¦æŒ‡å®šå…¶ä¸ä¸€ä¸ªä¾¿å¯æŒ‡å®šæ•°å—矩阵里的æŸä¸€è¡Œ * 所代表的远程监控通é“。 * 如果指定了多个域并有冲çªï¼Œè®¾å¤‡å°†æŒ‰ç…§åŸŸçš„å…ˆåŽé¡ºåºä¸ºå‡†å–最先定义者。 */ public int dwRowNum; /* -1ä»£è¡¨æ— æ•ˆåŸŸ,大于0è€…æ–¹ä¸ºæœ‰æ•ˆçš„çŸ©é˜µè¡Œå· */ public byte[] sSurvChanName = new byte[128]; /* 监控通é“å,是å¦æ— 效按å—ç¬¦ä¸²çš„æœ‰æ•ˆæ€§åˆ¤æ– */ public int dwSurvNum; /* 监控通é“å·,按矩阵行列表的顺åºæŒ‡å®šï¼Œä¸€èˆ¬æƒ…况下与行å·ä¸€è‡´ */ /* * 以下两项åªéœ€è¦æŒ‡å®šå…¶ä¸ä¸€é¡¹ä¾¿å¯ï¼Œå¦‚果两项都有效默认选择第一项 */ public int dwGlobalDispChanNum; /* ç”µè§†å¢™ä¸Šçš„ç”µè§†æœºç¼–å· */ public int dwLocalDispChanNum; /* * 0代表æ’放å³æ—¶ç æµï¼Œ * 1表示按时间回访远程监控设备的文件 * 2表示按文件å回访 */ public int dwTimeSel; public NET_DVR_TIME StartTime; public NET_DVR_TIME StopTime; public byte[] sFileName = new byte[128]; } public static class NET_DVR_MATRIX_PREVIEW_DISP_CHAN extends HIKSDKStructure { public int dwSize; public int dwGlobalDispChanNum; /* ç”µè§†å¢™ä¸Šçš„ç”µè§†æœºç¼–å· */ public int dwLocalDispChanNum; /* 解ç é€šé“ */ } public static class NET_DVR_MATRIX_LOOP_PLAY_SET extends HIKSDKStructure {//轮循功能 2007-12-28 public int dwSize; /* ä»»æ„指定一个,-1ä¸ºæ— æ•ˆ,如果都指定则以LocalDispChanNum为准 */ public int dwLocalDispChanNum; /* 解ç é€šé“ */ public int dwGlobalDispChanNum; /* ç”µè§†å¢™ä¸Šçš„ç”µè§†æœºç¼–å· */ public int dwCycTimeInterval; /* 轮循时间间隔 */ } public static class NET_DVR_MATRIX_LOCAL_HOST_INFO extends HIKSDKStructure {//矩阵ä¸å¿ƒé…ç½® 2007-12-28 public int dwSize; public int dwLocalHostProperty; /* 本地主机类型 0ï¼æœåŠ¡å™¨ 1ï¼å®¢æˆ·ç«¯*/ public int dwIsIsolated; /* 本地主机是å¦ç‹¬ç«‹äºŽç³»ç»Ÿï¼Œ0:è”网,1:独立 */ public int dwLocalMatrixHostPort; /* æœ¬åœ°ä¸»æœºè®¿é—®ç«¯å£ */ public byte[] byLocalMatrixHostUsrName = new byte[NAME_LEN]; /* 本地主机登录用户å */ public byte[] byLocalMatrixHostPasswd = new byte[PASSWD_LEN]; /* 本地主机登录密ç */ public int dwLocalMatrixCtrlMedia; /* æŽ§åˆ¶æ–¹å¼ 0x1串å£é”®ç›˜æŽ§åˆ¶ 0x2网络键盘控制 0x4矩阵ä¸å¿ƒæŽ§åˆ¶ 0x8PC客户端控制*/ public byte[] sMatrixCenterIP = new byte[16]; /* 矩阵ä¸å¿ƒIPåœ°å€ */ public int dwMatrixCenterPort; /* 矩阵ä¸å¿ƒç«¯å£å· */ public byte[] byMatrixCenterUsrName = new byte[NAME_LEN]; /* 矩阵ä¸å¿ƒç™»å½•ç”¨æˆ·å */ public byte[] byMatrixCenterPasswd = new byte[PASSWD_LEN]; /* 矩阵ä¸å¿ƒç™»å½•å¯†ç */ } //2007-12-22 public static class TTY_CONFIG extends HIKSDKStructure { public byte baudrate; /* 波特率 */ public byte databits; /* æ•°æ®ä½ */ public byte stopbits; /* åœæ¢ä½ */ public byte parity; /* 奇å¶æ ¡éªŒä½ */ public byte flowcontrol; /* æµæŽ§ */ public byte[] res = new byte[3]; } public static class NET_DVR_MATRIX_TRAN_CHAN_INFO extends HIKSDKStructure { public byte byTranChanEnable; /* 当å‰é€æ˜Žé€šé“是å¦æ‰“å¼€ 0ï¼šå…³é— 1:打开 */ /* * 多路解ç 器本地有1个485串å£ï¼Œ1个232串å£éƒ½å¯ä»¥ä½œä¸ºé€æ˜Žé€šé“,设备å·åˆ†é…如下: * 0 RS485 * 1 RS232 Console */ public byte byLocalSerialDevice; /* Local serial device */ /* * 远程串å£è¾“出还是两个,一个RS232,一个RS485 * 1表示232ä¸²å£ * 2表示485ä¸²å£ */ public byte byRemoteSerialDevice; /* Remote output serial device */ public byte res1; /* ä¿ç•™ */ public byte[] sRemoteDevIP = new byte[16]; /* Remote Device IP */ public short wRemoteDevPort; /* Remote Net Communication Port */ public byte[] res2 = new byte[2]; /* ä¿ç•™ */ public TTY_CONFIG RemoteSerialDevCfg; } public static class NET_DVR_MATRIX_TRAN_CHAN_CONFIG extends HIKSDKStructure { public int dwSize; public byte by232IsDualChan; /* 设置哪路232é€æ˜Žé€šé“是全åŒå·¥çš„ å–值1到MAX_SERIAL_NUM */ public byte by485IsDualChan; /* 设置哪路485é€æ˜Žé€šé“是全åŒå·¥çš„ å–值1到MAX_SERIAL_NUM */ public byte[] res = new byte[2]; /* ä¿ç•™ */ public NET_DVR_MATRIX_TRAN_CHAN_INFO[] struTranInfo = new NET_DVR_MATRIX_TRAN_CHAN_INFO[MAX_SERIAL_NUM];/*åŒæ—¶æ”¯æŒå»ºç«‹MAX_SERIAL_NUM个é€æ˜Žé€šé“*/ } //2007-12-24 Merry Christmas Eve... public static class NET_DVR_MATRIX_DEC_REMOTE_PLAY extends HIKSDKStructure { public int dwSize; public byte[] sDVRIP = new byte[16]; /* DVR IPåœ°å€ */ public short wDVRPort; /* 端å£å· */ public byte byChannel; /* 通é“å· */ public byte byReserve; public byte[] sUserName = new byte[NAME_LEN]; /* 用户å */ public byte[] sPassword = new byte[PASSWD_LEN]; /* 密ç */ public int dwPlayMode; /* 0ï¼æŒ‰æ–‡ä»¶ 1ï¼æŒ‰æ—¶é—´*/ public NET_DVR_TIME StartTime; public NET_DVR_TIME StopTime; public byte[] sFileName = new byte[128]; } public static class NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL extends HIKSDKStructure { public int dwSize; public int dwPlayCmd; /* æ’放命令 è§æ–‡ä»¶æ’放命令*/ public int dwCmdParam; /* æ’放命令å‚æ•° */ } public static class NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS extends HIKSDKStructure { public int dwSize; public int dwCurMediaFileLen; /* 当å‰æ’放的媒体文件长度 */ public int dwCurMediaFilePosition; /* 当å‰æ’放文件的æ’放ä½ç½® */ public int dwCurMediaFileDuration; /* 当å‰æ’放文件的总时间 */ public int dwCurPlayTime; /* ½“å‰å·²ç»æ’放的时间 */ public int dwCurMediaFIleFrames; /* 当å‰æ’放文件的总帧数 */ public int dwCurDataType; /* 当å‰ä¼ 输的数æ®ç±»åž‹ï¼Œ19-文件头,20-æµæ•°æ®ï¼Œ 21-æ’放结æŸæ ‡å¿— */ public byte[] res = new byte[72]; } public static class NET_DVR_MATRIX_PASSIVEMODE extends HIKSDKStructure { public short wTransProtol; //ä¼ è¾“å议,0-TCP, 1-UDP, 2-MCAST public short wPassivePort; //TCP,UDP时为TCP,UDP端å£, MCAST时为MCASTç«¯å£ public NET_DVR_IPADDR struMcastIP; //TCP,UDPæ—¶æ— æ•ˆ, MCAST时为多æ’åœ°å€ public byte byStreamType; //æ•°æ®æ’放模å¼ï¼š1- 实时æµï¼Œ2- æ–‡ä»¶æµ public byte[] res = new byte[7]; } /************************************多路解ç 器(end)***************************************/ /************************************ * 拼控(Start) ***************************************/ public static final int NET_DVR_GET_SUBWND_DECODE_OSD = 9183; //获å–å窗å£è§£ç OSDä¿¡æ¯ public static final int NET_DVR_GET_SUBWND_DECODE_OSD_ALL = 9184; //获å–所有å窗å£è§£ç OSDä¿¡æ¯ public static final int NET_DVR_SET_SUBWND_DECODE_OSD = 9185; //设置å窗å£è§£ç OSDä¿¡æ¯ public static final int NET_DVR_GET_SUBWND_DECODE_OSD_CAP = 9186; //获å–å窗å£è§£ç OSDä¿¡æ¯èƒ½åŠ›é›† public static final int NET_DVR_GET_DECODE_CHANNEL_OSD = 9187; //获å–解ç 通é“OSDä¿¡æ¯ public static final int NET_DVR_SET_DECODE_CHANNEL_OSD = 9188; //设置解ç 通é“OSDä¿¡æ¯ public static final int MAX_PLAN_ACTION_NUM = 32; //预案动作个数 public static final int DAYS_A_WEEK = 7; //一周7天 public static final int MAX_PLAN_COUNT = 16; //预案个数 public static final int MAX_LEN_OSD_CONTENT = 256; //OSDä¿¡æ¯æœ€å¤§é•¿åº¦ public static final int MAX_NUM_OSD_ONE_SUBWND = 8; //å•ä¸ªå窗å£æ”¯æŒçš„最大OSDæ•°é‡ public static final int MAX_NUM_SPLIT_WND = 64; //å•ä¸ªçª—å£æ”¯æŒçš„最大分å±çª—å£æ•°é‡ï¼ˆå³å窗å£æ•°é‡ï¼‰ public static final int MAX_NUM_OSD = 8; public static final int MAX_CYCLE_CHAN_V30 = 64; //最大轮巡通é“数(扩展) public static final int STREAM_PASSWD_LEN = 12; //ç æµåŠ 密密钥最大长度 public static class NET_DVR_VIDEO_WALL_INFO extends HIKSDKStructure { public int dwSize; //窗å£å·ï¼š1å—节墙å·+1å—节ä¿ç•™+2å—节窗å£å· public int dwWindowNo; public int dwSceneNo;//åœºæ™¯å· public int dwDestWallNo; //ç›®çš„å¢™å· public int dwDestSceneNo;//ç›®çš„åœºæ™¯å· public byte[] byRes = new byte[12]; } public static class NET_DVR_SCENE_CONTROL_INFO extends HIKSDKStructure { public int dwSize; public NET_DVR_VIDEO_WALL_INFO struVideoWallInfo; //ç”µè§†å¢™ä¿¡æ¯ public int dwCmd; //场景控制命令,1-场景模å¼åˆ‡æ¢ï¼ˆå¦‚æžœè¦åˆ‡æ¢çš„是当å‰åœºæ™¯ï¼Œåˆ™ä¸è¿›è¡Œåˆ‡æ¢ï¼‰ï¼Œ2-åˆå§‹åŒ–场景(将æ¤åœºæ™¯çš„é…置清空,如果是当å‰åœºæ™¯ï¼Œåˆ™åŒæ—¶å¯¹å½“å‰åœºæ™¯è¿›è¡Œæ¸…å±æ“作),3-强制切æ¢ï¼ˆæ— 论是å¦æ˜¯å½“å‰åœºæ™¯ï¼Œå¼ºåˆ¶åˆ‡æ¢ï¼‰ï¼Œ4-ä¿å˜å½“å‰æ¨¡å¼åˆ°æŸåœºæ™¯ 5-åˆ é™¤åœºæ™¯ ,6-场景å¤åˆ¶ public byte[] byRes = new byte[4]; } public static class NET_DVR_BUF_INFO extends HIKSDKStructure { public Pointer pBuf; public int nLen; } public static class NET_DVR_IN_PARAM extends HIKSDKStructure { public NET_DVR_BUF_INFO struCondBuf; public NET_DVR_BUF_INFO struInParamBuf; public int dwRecvTimeout; //接收数æ®è¶…时时间,å•ä½ï¼šms,ç½®0采用接å£é»˜è®¤è¶…æ—¶ public byte[] byRes = new byte[32]; } public static class NET_DVR_OUT_PARAM extends HIKSDKStructure { public NET_DVR_BUF_INFO struOutBuf; public Pointer lpStatusList; public byte[] byRes = new byte[32]; } public static class NET_DVR_RECTCFG_EX extends HIKSDKStructure { public int dwXCoordinate; /*矩形左上角起始点Xåæ ‡*/ public int dwYCoordinate; /*矩形左上角Yåæ ‡*/ public int dwWidth; /*矩形宽度*/ public int dwHeight; /*矩形高度*/ public byte[] byRes = new byte[4]; } public static class NET_DVR_VIDEOWALLWINDOWPOSITION extends HIKSDKStructure { public int dwSize; public byte byEnable; //窗å£ä½¿èƒ½,0-ä¸ä½¿èƒ½ï¼Œ1-使能 public byte byWndOperateMode; //窗å£æ“作模å¼ï¼Œ0-统一åæ ‡ï¼Œ1-分辨率åæ ‡ public byte[] byRes1 = new byte[6]; public int dwWindowNo;//窗å£å· public int dwLayerIndex;//窗å£ç›¸å¯¹åº”的图层å·ï¼Œå›¾å±‚å·åˆ°æœ€å¤§å³ç½®é¡¶ï¼Œç½®é¡¶æ“作 public NET_DVR_RECTCFG_EX struRect; //目的窗å£ç»Ÿä¸€åæ ‡(相对显示墙),获å–或按统一åæ ‡è®¾ç½®æ—¶æœ‰æ•ˆ public NET_DVR_RECTCFG_EX struResolution; //目的窗å£åˆ†è¾¨çŽ‡åæ ‡ï¼ŒèŽ·å–或按分辨率åæ ‡è®¾ç½®æœ‰æ•ˆ public int dwXCoordinate; //LED区域左上角Xåæ ‡ï¼ˆç»Ÿä¸€åæ ‡ï¼‰ï¼ŒèŽ·å–或按分辨率åæ ‡è®¾ç½®æœ‰æ•ˆ public int dwYCoordinate; //LED区域左上角Yåæ ‡ï¼ˆç»Ÿä¸€åæ ‡ï¼‰ï¼ŒèŽ·å–或按分辨率åæ ‡è®¾ç½®æœ‰æ•ˆ public byte[] byRes2 = new byte[36]; } public static class VIDEOWALLWINDOWPOSITION_ARRAY extends HIKSDKStructure { public NET_DVR_VIDEOWALLWINDOWPOSITION[] strVideoWinPostion; public VIDEOWALLWINDOWPOSITION_ARRAY(int iLen) { strVideoWinPostion = new NET_DVR_VIDEOWALLWINDOWPOSITION[iLen]; } } public static class NET_DVR_WALLWINPARAM extends HIKSDKStructure { public int dwSize; public byte byTransparency; //使能é€æ˜Žåº¦ï¼Œ0-关,éž0-å¼€ public byte byWinMode;//窗å£åˆ†å±æ¨¡å¼ï¼Œèƒ½åŠ›é›†èŽ·å– public byte byEnableSpartan;//畅显使能,0-关,1-å¼€ public byte byDecResource; //为窗å£åˆ†é…的解ç 资æºï¼Œ1-D1,2-720P,3-1080P public byte byWndShowMode; //窗å£æ˜¾ç¤ºæ¨¡å¼ï¼Œ0-æ¤å—段ä¸ç”¨ï¼Œ1-å窗å£æ¨¡å¼ï¼Œ2-å窗å£å…¨å±æ¨¡å¼ public byte byEnabledFeature; //是å¦å¯ç”¨åœºæ™¯ç‰¹å†™ï¼Œ0-ä¸å¯ç”¨ï¼Œ!0-å¯ç”¨ public byte byFeatureMode; //特写模å¼ï¼Œå¯ç”¨åœºæ™¯ç‰¹å†™æ—¶æœ‰æ•ˆï¼Œ0-æ— æ•ˆï¼Œ1-“1+5â€æ¨¡å¼ public byte byRes1; public int dwAmplifyingSubWndNo; //å…¨å±å窗å£å·ï¼ˆ1å—节墙å·+1å—节å窗å£å·+2å—节窗å£å·ï¼‰ //当byWndShowMode为2时有效,表示当å‰å…¨å±æ˜¾ç¤ºçš„åçª—å£ public byte byWndTopKeep; //窗å£ç½®é¡¶ä¿æŒï¼Œ0-ä¸ä¿æŒï¼Œ1-ä¿æŒ public byte byWndOpenKeep; //窗å£æ‰“å¼€ä¿æŒï¼Œ0-ä¸ä¿æŒï¼Œ1-ä¿æŒ public byte[] byRes = new byte[22]; } public static class NET_DVR_PLAN_LIST extends HIKSDKStructure { public int dwSize; public int dwPlanNums; //设备输入信å·æºæ•°é‡ public Pointer pBuffer; //指å‘dwInputSignalNums个NET_DVR_PLAN_CFG结构大å°çš„缓冲区 public byte byWallNo; //墙å·ï¼Œä»Ž1开始 public byte[] byRes1 = new byte[2]; public int dwBufLen; //所分é…缓冲区长度,输入å‚数(大于ç‰äºŽdwInputSignalNums个NET_DVR_PLAN_CFG结构大å°ï¼‰ public byte[] byRes2 = new byte[64]; } /*预案项信æ¯*/ public static class NET_DVR_PLAN_INFO extends HIKSDKStructure { public byte byValid; // 该项是å¦æœ‰æ•ˆ public byte byType; // è§å®šä¹‰NET_DVR_PLAN_OPERATE_TYPE public short wLayoutNo; // å¸ƒå±€å· public byte byScreenStyle; //å±å¹•åž‹å·ï¼Œå¼€å…³æœºæ‰€ç”¨ï¼Œ1是低亮,2是高亮 public byte byBaseMapType; //底图类型,1-图片底图,2-超高清输入底图,底图切æ¢æ—¶æœ‰æ•ˆ public byte[] byRes1 = new byte[2]; public int dwDelayTime; // 一个项的è¿è¡Œæ—¶é—´, å•ä½ç§’ public int dwSerialNo; //串å£å·ï¼Œå±å¹•æŽ§åˆ¶æ—¶ä½¿ç”¨ public int dwBaseMapWndNo; //底图窗å£å·ï¼Œåº•å›¾åˆ‡æ¢æ—¶æœ‰æ•ˆ public int dwBaseMapNo; //底图å·ï¼Œåº•å›¾åˆ‡æ¢æ—¶æœ‰æ•ˆï¼›åº•å›¾ç±»åž‹ä¸º1时,æ¤å‚数为图片åºå·ï¼Œåº•å›¾ç±»åž‹ä¸º2æ—¶æ¤å‚数为超高清输入å系统输入å·ï¼ˆ1å—节设备å·+1å—节åæ¿å·+2å—节显示输入åºå·ï¼‰ public byte[] byRes2 = new byte[20]; } public static class NET_DVR_CYCLE_TIME extends HIKSDKStructure { public byte byValid; public byte[] byRes = new byte[3]; public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX(); } /*预案管ç†*/ public static class NET_DVR_PLAN_CFG extends HIKSDKStructure { public int dwSize; public byte byValid; // 该预案是å¦æœ‰æ•ˆ public byte byWorkMode; // é¢„æ¡ˆå·¥ä½œæ¨¡å¼ 1表示手动,2自动,3预案循环 public byte byWallNo; //电视墙å·ï¼Œä»Ž1开始 public byte byPlanNo; //预案å·ï¼ŒèŽ·å–预案列表时有效,0-æ— æ•ˆæˆ–ä¸æ”¯æŒ public byte[] byPlanName = new byte[NAME_LEN/*32*/]; //预案å称 public NET_DVR_TIME_EX struTime; // 工作模å¼ä¸ºè‡ªåŠ¨æ—¶ä½¿ç”¨ public NET_DVR_CYCLE_TIME[] struTimeCycle = new NET_DVR_CYCLE_TIME[DAYS_A_WEEK/*7*/]; /*循环时间,周期为一个星期,年ã€æœˆã€æ—¥ä¸‰ä¸ªå‚æ•°ä¸ä½¿ç”¨ã€‚如:struTimeCycle[0]ä¸çš„byValid的值是1,表示星期天执行该预案。星期å–值区间为[0,6],其ä¸0代表星期天,1代表星期一,以æ¤ç±»æŽ¨*/ public int dwWorkCount; // 预案内容执行次数 public NET_DVR_PLAN_INFO[] strPlanEntry = new NET_DVR_PLAN_INFO[MAX_PLAN_ACTION_NUM/*32*/]; // 预案执行的内容 public int dwPlanNo; //4å—节预案å·ï¼Œå®¢æˆ·ç«¯ç»Ÿä¸€ä½¿ç”¨4å—节的预案å·ï¼Œå•å—节的预案å·ä¸å†ä½¿ç”¨ public byte[] byRes2 = new byte[60]; } public static class NET_DVR_WALLSCENECFG extends HIKSDKStructure { public int dwSize; public byte[] sSceneName = new byte[NAME_LEN]; //场景å称 public byte byEnable; //场景是å¦æœ‰æ•ˆï¼Œ0-æ— æ•ˆï¼Œ1-有效 public byte bySceneIndex; //场景å·ï¼Œåªèƒ½èŽ·å–。获å–所有场景时使用该å‚æ•° public byte[] byRes = new byte[78]; } public static class NET_DVR_SUBWND_DECODE_OSD extends HIKSDKStructure { public int dwSize = 0; public int dwSubWndNo = 0; //å窗å£å·ï¼ˆ4å—节组åˆæ–¹å¼ï¼‰ public int dwOSDNums = 0; //该å窗å£é…置的OSDä¿¡æ¯çš„个数 public NET_DVR_OSD_INFO[] struOSDList = new NET_DVR_OSD_INFO[MAX_NUM_OSD_ONE_SUBWND]; //OSDä¿¡æ¯åˆ—表 public byte[] byRes = new byte[32]; } public static class NET_DVR_OSD_INFO extends HIKSDKStructure { public byte byEnabled = 1; //是å¦ä½¿èƒ½ï¼Œé›¶-ä¸ä½¿èƒ½ï¼Œéžé›¶-使能 public byte byEnabledFlash = 0; //是å¦é—ªçƒï¼Œé›¶-ä¸é—ªçƒï¼Œéžé›¶-é—ªçƒ public byte byFontSize = 1; //å—体大å°ï¼Œ1-大,2-ä¸ï¼Œ3-å° public byte byTransparent = 0; //é€æ˜Žåº¦ï¼Œå–值范围0-100 public NET_DVR_RGB_COLOR struColor = new NET_DVR_RGB_COLOR(); //å—体颜色 public short wCoordinateX = 0; //OSD左上角Xåæ ‡ public short wCoordinateY = 0; //OSD左上角Yåæ ‡ public byte[] byContent = new byte[MAX_LEN_OSD_CONTENT]; //OSDä¿¡æ¯ public byte[] byRes = new byte[32]; } public static class NET_DVR_DEV_CHAN_INFO_EX extends HIKSDKStructure { public byte byChanType; //通é“类型,0-普通通é“,1-零通é“,2-æµID,3-本地输入æºï¼Œ4-虚拟å±æœåŠ¡å™¨é€šé“,5-拼接通é“,6-å±å¹•æœåŠ¡å™¨ï¼Œ7-分布å¼ç½‘络æºï¼Œ8-多相机èžåˆé€šé“,9-ç½‘ç»œè¾“å…¥æº public byte[] byStreamId = new byte[STREAM_ID_LEN]; //æµID,当byChanType=2ã€9时,该å—段用于指定æµæˆ–者网络ipcçš„IDå· public byte[] byRes1 = new byte[3]; public int dwChannel; //通é“å·ï¼Œé€šé“类型为普通通é“,零通é“,本地输入æºï¼Œè™šæ‹Ÿå±æœåŠ¡å™¨é€šé“,拼接通é“,å±å¹•æœåŠ¡å™¨ï¼Œåˆ†å¸ƒå¼ç½‘络æºæ—¶å¡«æ¤å—段 public byte[] byRes2 = new byte[24]; public byte[] byAddress = new byte[MAX_DOMAIN_NAME]; //设备域å public short wDVRPort; //端å£å· public byte byChannel; //通é“å·,dwChannelä¸ä¸º0æ—¶æ¤å—æ®µæ— æ•ˆ public byte byTransProtocol; //ä¼ è¾“å议类型0-TCP,1-UDP public byte byTransMode; //ä¼ è¾“ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ public byte byFactoryType; /*å‰ç«¯è®¾å¤‡åŽ‚家类型,通过接å£èŽ·å–*/ public byte byDeviceType; //设备类型(视频综åˆå¹³å°æ™ºèƒ½æ¿ä½¿ç”¨),1-解ç 器(æ¤æ—¶æ ¹æ®è§†é¢‘综åˆå¹³å°èƒ½åŠ›é›†ä¸byVcaSupportChanModeå—段æ¥å†³å®šæ˜¯ä½¿ç”¨è§£ç 通é“还是显示通é“),2-ç¼–ç 器 public byte byDispChan;//显示通é“å·,智能é…置使用 public byte bySubDispChan;//显示通é“å通é“å·ï¼Œæ™ºèƒ½é…置时使用 public byte byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500w大å±æŽ§åˆ¶å™¨ä½¿ç”¨ï¼Œå¤§å±æŽ§åˆ¶å™¨ä¼šæ ¹æ®è¯¥å‚数分é…解ç èµ„æº public byte[] byRes = new byte[2]; public byte[] sUserName = new byte[NAME_LEN]; //监控主机登陆å¸å· public byte[] sPassword = new byte[PASSWD_LEN]; //监控主机密ç } public static class NET_DVR_STREAM_MEDIA_SERVER extends HIKSDKStructure { public byte byValid; //是å¦å¯ç”¨ï¼Œ0-å¦ï¼Œ1-是 public byte[] byRes1 = new byte[3]; public byte[] byAddress = new byte[MAX_DOMAIN_NAME]; //IP或者域å public short wDevPort; /*æµåª’体æœåŠ¡å™¨ç«¯å£*/ public byte byTransmitType; /*ä¼ è¾“å议类型 0-TCP,1-UDP*/ public byte[] byRes2 = new byte[5]; } public static class NET_DVR_DEV_DDNS_INFO extends HIKSDKStructure { public byte[] byDevAddress = new byte[MAX_DOMAIN_NAME]; //域å(IPServer或hiDDNSæ—¶å¯å¡«åºåˆ—å·æˆ–者别å) public byte byTransProtocol; //ä¼ è¾“å议类型0-TCP,1-UDP, 2-MCAST public byte byTransMode; //ä¼ è¾“ç æµæ¨¡å¼ 0ï¼ä¸»ç æµ 1ï¼åç æµ public byte byDdnsType; //域åæœåŠ¡å™¨ç±»åž‹ï¼Œ0-IPServer 1ï¼Dyndns 2ï¼PeanutHull(花生壳),3- NO-IP, 4- hiDDNS public byte byRes1; public byte[] byDdnsAddress = new byte[MAX_DOMAIN_NAME]; //DDNSæœåŠ¡å™¨åœ°å€ public short wDdnsPort; //DDNSæœåŠ¡å™¨ç«¯å£å· public byte byChanType; //0-普通通é“,1-零通é“,2-æµID public byte byFactoryType; //å‰ç«¯è®¾å¤‡åŽ‚家类型,通过接å£èŽ·å– public int dwChannel; //通é“å· public byte[] byStreamId = new byte[STREAM_ID_LEN]; //æµID public byte[] sUserName = new byte[NAME_LEN]; //监控主机登陆å¸å· public byte[] sPassword = new byte[PASSWD_LEN]; //监控主机密ç public short wDevPort; //å‰ç«¯è®¾å¤‡é€šä¿¡ç«¯å£ public byte[] byRes2 = new byte[2]; } public static class NET_DVR_DEC_STREAM_DEV_EX extends HIKSDKStructure { public NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg = new NET_DVR_STREAM_MEDIA_SERVER(); public NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo = new NET_DVR_DEV_CHAN_INFO_EX(); } //DDNSæ–¹å¼å–æµ public static class NET_DVR_DEC_DDNS_DEV extends HIKSDKStructure { public NET_DVR_DEV_DDNS_INFO struDdnsInfo; public NET_DVR_STREAM_MEDIA_SERVER struMediaServer; } public static class NET_DVR_DEC_STREAM_MODE extends Union { public NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev = new NET_DVR_DEC_STREAM_DEV_EX(); public NET_DVR_PU_STREAM_URL struUrlInfo = new NET_DVR_PU_STREAM_URL(); public NET_DVR_DEC_DDNS_DEV struDdnsDecInfo = new NET_DVR_DEC_DDNS_DEV(); public byte[] byRes = new byte[300]; } public static class NET_DVR_MATRIX_CHAN_INFO_V41 extends HIKSDKStructure { public byte byEnable; //是å¦å¯ç”¨ï¼Œ0-å¦ï¼Œ1-是 public byte byStreamMode;/*å–æµæ¨¡å¼ï¼Œ0-æ— æ•ˆï¼Œ1-通过IP或域åå–æµï¼Œ2-通过URLå–æµ,3-通过动æ€åŸŸå解æžå‘设备å–æµ*/ public byte[] byRes = new byte[2]; public NET_DVR_DEC_STREAM_MODE uDecStreamMode = new NET_DVR_DEC_STREAM_MODE();//å–æµä¿¡æ¯ } public static class NET_DVR_MATRIX_LOOP_DECINFO_V41 extends HIKSDKStructure { public int dwSize; public int dwPoolTime; /*轮巡间隔*/ public NET_DVR_MATRIX_CHAN_INFO_V41[] struchanConInfo = new NET_DVR_MATRIX_CHAN_INFO_V41[MAX_CYCLE_CHAN_V30]; public byte byStreamEncrypt; //是å¦è¿›è¡Œç æµåŠ 密处ç†,0-ä¸æ”¯æŒ,1-æ”¯æŒ public byte[] byRes = new byte[3]; public byte[] sStreamPassword = new byte[STREAM_PASSWD_LEN]; //ç æµåŠ 密密ç ,需æ•æ„Ÿä¿¡æ¯åŠ 密 } /************************************ * 拼控(End) ***************************************/ public static class NET_DVR_EMAILCFG extends HIKSDKStructure { /* 12 bytes */ public int dwSize; public byte[] sUserName = new byte[32]; public byte[] sPassWord = new byte[32]; public byte[] sFromName = new byte[32]; /* Sender *///å—符串ä¸çš„第一个å—符和最åŽä¸€ä¸ªå—符ä¸èƒ½æ˜¯"@",并且å—符串ä¸è¦æœ‰"@"å—符 public byte[] sFromAddr = new byte[48]; /* Sender address */ public byte[] sToName1 = new byte[32]; /* Receiver1 */ public byte[] sToName2 = new byte[32]; /* Receiver2 */ public byte[] sToAddr1 = new byte[48]; /* Receiver address1 */ public byte[] sToAddr2 = new byte[48]; /* Receiver address2 */ public byte[] sEmailServer = new byte[32]; /* Email server address */ public byte byServerType; /* Email server type: 0-SMTP, 1-POP, 2-IMTP…*/ public byte byUseAuthen; /* Email server authentication method: 1-enable, 0-disable */ public byte byAttachment; /* enable attachment */ public byte byMailinterval; /* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/ } public static class NET_DVR_COMPRESSIONCFG_NEW extends HIKSDKStructure { public int dwSize; public NET_DVR_COMPRESSION_INFO_EX struLowCompression; //å®šÂšÂšæ—¶å½•åƒ public NET_DVR_COMPRESSION_INFO_EX struEventCompression; //事件触å‘å½•åƒ } //çƒæœºä½ç½®ä¿¡æ¯ public static class NET_DVR_PTZPOS extends HIKSDKStructure { public short wAction;//获å–时该å—æ®µæ— æ•ˆ public short wPanPos;//æ°´å¹³å‚æ•° public short wTiltPos;//åž‚ç›´å‚æ•° public short wZoomPos;//å˜å€å‚æ•° } //çƒæœºèŒƒå›´ä¿¡æ¯ public static class NET_DVR_PTZSCOPE extends HIKSDKStructure { public short wPanPosMin;//æ°´å¹³å‚æ•°min public short wPanPosMax;//æ°´å¹³å‚æ•°max public short wTiltPosMin;//åž‚ç›´å‚æ•°min public short wTiltPosMax;//åž‚ç›´å‚æ•°max public short wZoomPosMin;//å˜å€å‚æ•°min public short wZoomPosMax;//å˜å€å‚æ•°max } public static class NET_DVR_PTZABSOLUTEEX_CFG extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public NET_PTZ_INFO struPTZCtrl = new NET_PTZ_INFO();//设备PTZFä¿¡æ¯ public int dwFocalLen;//焦è·èŒƒå›´ï¼š0-100000MM public float fHorizontalSpeed;//水平转动速度:0.01-1000.00度/S public float fVerticalSpeed;//垂直转动速度:0.01-1000.00度/S /*镜头å˜å€é…置类型;absoluteZoom:通过å˜å€å‚数进行é…置,选择为该类型时struPTZCtrlä¸çš„fZoomå‚数生效。focalLen:通过焦è·å‚数进行é…置,选择为该类型时,dwFocalLenå‚数生效。*/ public byte byZoomType;// 镜头å˜å€é…置类型0~ absoluteZoom,1~ focalLen public byte[] byRes = new byte[123]; } //rtspé…ç½® ipcamera专用 public static class NET_DVR_RTSPCFG extends HIKSDKStructure { public int dwSize; //长度 public short wPort; //rtspæœåŠ¡å™¨ä¾¦å¬ç«¯å£ public byte[] byReserve = new byte[54]; //预留 } /******************************** * 接å£å‚数结构(begin) *********************************/ //NET_DVR_Login()å‚数结构 public static class NET_DVR_DEVICEINFO extends HIKSDKStructure { public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //åºåˆ—å· public byte byAlarmInPortNum; //DVR报è¦è¾“入个数 public byte byAlarmOutPortNum; //DVR报è¦è¾“出个数 public byte byDiskNum; //DVR硬盘个数 public byte byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS ...... public byte byChanNum; //DVR 通é“个数 public byte byStartChan; //起始通é“å·,例如DVS-1,DVR - 1 } //NET_DVR_Login_V30()å‚数结构 public static class NET_DVR_DEVICEINFO_V30 extends HIKSDKStructure { public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //åºåˆ—å· public byte byAlarmInPortNum; //报è¦è¾“入个数 public byte byAlarmOutPortNum; //报è¦è¾“出个数 public byte byDiskNum; //硬盘个数 public byte byDVRType; //设备类型, 1:DVR 2:ATM DVR 3:DVS ...... public byte byChanNum; //模拟通é“个数 public byte byStartChan; //起始通é“å·,例如DVS-1,DVR - 1 public byte byAudioChanNum; //è¯éŸ³é€šé“æ•° public byte byIPChanNum; //最大数å—通é“ä¸ªæ•°ï¼Œä½Žä½ public byte byZeroChanNum; //零通é“ç¼–ç 个数 //2010-01-16 public byte byMainProto; //主ç æµä¼ 输å议类型 0-private, 1-rtsp,2-åŒæ—¶æ”¯æŒprivateå’Œrtsp public byte bySubProto; //åç æµä¼ 输å议类型0-private, 1-rtsp,2-åŒæ—¶æ”¯æŒprivateå’Œrtsp public byte bySupport; //能力,ä½ä¸Žç»“果为0表示ä¸æ”¯æŒï¼Œ1表示支æŒï¼Œ public byte bySupport1; // 能力集扩充,ä½ä¸Žç»“果为0表示ä¸æ”¯æŒï¼Œ1è¡¨ç¤ºæ”¯æŒ public byte bySupport2; /*能力*/ public short wDevType; //è®¾å¤‡åž‹å· public byte bySupport3; //能力集扩展 public byte byMultiStreamProto;//是å¦æ”¯æŒå¤šç æµ,按ä½è¡¨ç¤º,0-ä¸æ”¯æŒ,1-支æŒ,bit1-ç æµ3,bit2-ç æµ4,bit7-主ç æµï¼Œbit-8åç æµ public byte byStartDChan; //起始数å—通é“å·,0è¡¨ç¤ºæ— æ•ˆ public byte byStartDTalkChan; //起始数å—对讲通é“å·ï¼ŒåŒºåˆ«äºŽæ¨¡æ‹Ÿå¯¹è®²é€šé“å·ï¼Œ0è¡¨ç¤ºæ— æ•ˆ public byte byHighDChanNum; //æ•°å—通é“ä¸ªæ•°ï¼Œé«˜ä½ public byte bySupport4; //能力集扩展 public byte byLanguageType;// 支æŒè¯ç§èƒ½åŠ›,按ä½è¡¨ç¤º,æ¯ä¸€ä½0-ä¸æ”¯æŒ,1-æ”¯æŒ // byLanguageType ç‰äºŽ0 表示 è€è®¾å¤‡ // byLanguageType & 0x1表示支æŒä¸æ–‡ // byLanguageType & 0x2表示支æŒè‹±æ–‡ public byte byVoiceInChanNum; //音频输入通é“æ•° public byte byStartVoiceInChanNo; //音频输入起始通é“å· 0è¡¨ç¤ºæ— æ•ˆ public byte bySupport5; public byte bySupport6; //能力 public byte byMirrorChanNum; //é•œåƒé€šé“个数,<录æ’主机ä¸ç”¨äºŽè¡¨ç¤ºå¯¼æ’通é“> public short wStartMirrorChanNo; //起始镜åƒé€šé“å· public byte bySupport7; //能力 public byte byRes2; //ä¿ç•™ } public static final int NET_DVR_DEV_ADDRESS_MAX_LEN = 129; public static final int NET_DVR_LOGIN_USERNAME_MAX_LEN = 64; public static final int NET_DVR_LOGIN_PASSWD_MAX_LEN = 64; public static interface FLoginResultCallBack extends Callback { public int invoke(int lUserID, int dwResult, NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser); } //NET_DVR_Login_V40()å‚æ•° public static class NET_DVR_USER_LOGIN_INFO extends HIKSDKStructure { public byte[] sDeviceAddress = new byte[NET_DVR_DEV_ADDRESS_MAX_LEN]; public byte byUseTransport; public short wPort; public byte[] sUserName = new byte[NET_DVR_LOGIN_USERNAME_MAX_LEN]; public byte[] sPassword = new byte[NET_DVR_LOGIN_PASSWD_MAX_LEN]; public FLoginResultCallBack cbLoginResult; public Pointer pUser; public boolean bUseAsynLogin; public byte byProxyType; //0:ä¸ä½¿ç”¨ä»£ç†ï¼Œ1ï¼šä½¿ç”¨æ ‡å‡†ä»£ç†ï¼Œ2:使用EHomeä»£ç† public byte byUseUTCTime; //0-ä¸è¿›è¡Œè½¬æ¢ï¼Œé»˜è®¤,1-接å£ä¸Šè¾“入输出全部使用UTC时间,SDK完æˆUTC时间与设备时区的转æ¢,2-接å£ä¸Šè¾“入输出全部使用平å°æœ¬åœ°æ—¶é—´ï¼ŒSDK完æˆå¹³å°æœ¬åœ°æ—¶é—´ä¸Žè®¾å¤‡æ—¶åŒºçš„è½¬æ¢ public byte byLoginMode; //0-Private 1-ISAPI 2-自适应 public byte byHttps; //0-ä¸é€‚用tls,1-使用tls 2-自适应 public int iProxyID; //代ç†æœåŠ¡å™¨åºå·ï¼Œæ·»åŠ 代ç†æœåŠ¡å™¨ä¿¡æ¯æ—¶ï¼Œç›¸å¯¹åº”çš„æœåŠ¡å™¨æ•°ç»„下表值 public byte byVerifyMode; //认è¯æ–¹å¼ï¼Œ0-ä¸è®¤è¯ï¼Œ1-åŒå‘认è¯ï¼Œ2-å•å‘认è¯ï¼›è®¤è¯ä»…在使用TLS的时候生效; public byte[] byRes2 = new byte[119]; } //NET_DVR_Login_V40()å‚æ•° public static class NET_DVR_DEVICEINFO_V40 extends HIKSDKStructure { public NET_DVR_DEVICEINFO_V30 struDeviceV30 = new NET_DVR_DEVICEINFO_V30(); public byte bySupportLock; public byte byRetryLoginTime; public byte byPasswordLevel; public byte byRes1; public int dwSurplusLockTime; public byte byCharEncodeType;//å—符编ç 类型:0- æ— å—符编ç ä¿¡æ¯(è€è®¾å¤‡),1- GB2312(简体ä¸æ–‡),2- GBK,3- BIG5(ç¹ä½“ä¸æ–‡),4- Shift_JIS(日文),5- EUC-KR(韩文),6- UTF-8,7- ISO8859-1,8- ISO8859-2,9- ISO8859-3,…,ä¾æ¬¡ç±»æŽ¨ï¼Œ21- ISO8859-15(西欧) public byte bySupportDev5; //支æŒv50版本的设备å‚数获å–,设备å称和设备类型å称长度扩展为64å—节 public byte bySupport; //能力集扩展,ä½ä¸Žç»“果:0- ä¸æ”¯æŒï¼Œ1- æ”¯æŒ public byte byLoginMode; //ç™»å½•æ¨¡å¼ 0-Private登录 1-ISAPI登录 public int dwOEMCode; public int iResidualValidity; //该用户密ç 剩余有效天数,å•ä½ï¼šå¤©ï¼Œè¿”回负值,表示密ç å·²ç»è¶…期使用,例如“-3表示密ç å·²ç»è¶…期使用3天†public byte byResidualValidity; // iResidualValidityå—段是å¦æœ‰æ•ˆï¼Œ0-æ— æ•ˆï¼Œ1-有效 public byte bySingleStartDTalkChan; //独立音轨接入的设备,起始接入通é“å·ï¼Œ0-为ä¿ç•™å—èŠ‚ï¼Œæ— å®žé™…å«ä¹‰ï¼ŒéŸ³è½¨é€šé“å·ä¸èƒ½ä»Ž0开始 public byte bySingleDTalkChanNums; //独立音轨接入的设备的通é“总数,0-表示ä¸æ”¯æŒ public byte byPassWordResetLevel; //0-æ— æ•ˆï¼Œ1-管ç†å‘˜åˆ›å»ºä¸€ä¸ªéžç®¡ç†å‘˜ç”¨æˆ·ä¸ºå…¶è®¾ç½®å¯†ç ,该éžç®¡ç†å‘˜ç”¨æˆ·æ£ç¡®ç™»å½•è®¾å¤‡åŽè¦æ示“请修改åˆå§‹ç™»å½•å¯†ç â€ï¼Œæœªä¿®æ”¹çš„情况下,用户æ¯æ¬¡ç™»å…¥éƒ½ä¼šè¿›è¡Œæ醒;2-当éžç®¡ç†å‘˜ç”¨æˆ·çš„密ç 被管ç†å‘˜ä¿®æ”¹ï¼Œè¯¥éžç®¡ç†å‘˜ç”¨æˆ·å†æ¬¡æ£ç¡®ç™»å½•è®¾å¤‡åŽï¼Œéœ€è¦æ示“请é‡æ–°è®¾ç½®ç™»å½•å¯†ç â€ï¼Œæœªä¿®æ”¹çš„情况下,用户æ¯æ¬¡ç™»å…¥éƒ½ä¼šè¿›è¡Œæ醒。 public byte bySupportStreamEncrypt; //能力集扩展,ä½ä¸Žç»“果:0- ä¸æ”¯æŒï¼Œ1- æ”¯æŒ bySupportStreamEncrypt & 0x1:表示是å¦æ”¯æŒRTP/TLSå–æµ bySupportStreamEncrypt & 0x2: 表示是å¦æ”¯æŒSRTP/UDPå–æµ bySupportStreamEncrypt & 0x4: 表示是å¦æ”¯æŒSRTP/MULTICASTå–æµ public byte byMarketType;//0-æ— æ•ˆï¼ˆæœªçŸ¥ç±»åž‹ï¼‰,1-ç»é”€åž‹ï¼Œ2-行业型 public byte[] byRes2 = new byte[238]; } //sdk网络环境枚举å˜é‡ï¼Œç”¨äºŽè¿œç¨‹å‡çº§ enum _SDK_NET_ENV { LOCAL_AREA_NETWORK, WIDE_AREA_NETWORK } //æ˜¾ç¤ºæ¨¡å¼ enum DISPLAY_MODE { NORMALMODE, OVERLAYMODE } //å‘é€æ¨¡å¼ enum SEND_MODE { PTOPTCPMODE, PTOPUDPMODE, MULTIMODE, RTPMODE, RESERVEDMODE } ; //æŠ“å›¾æ¨¡å¼ enum CAPTURE_MODE { BMP_MODE, //BMPæ¨¡å¼ JPEG_MODE //JPEGæ¨¡å¼ } ; //å®žæ—¶å£°éŸ³æ¨¡å¼ enum REALSOUND_MODE { NONE, //SDKä¸æ— æ¤æ¨¡å¼,åªæ˜¯ä¸ºäº†å¡«è¡¥0这个ä½ç½® MONOPOLIZE_MODE, //独å æ¨¡å¼ 1 SHARE_MODE //å…±äº«æ¨¡å¼ 2 } ; //软解ç 预览å‚æ•° public static class NET_DVR_CLIENTINFO extends HIKSDKStructure { public int lChannel; public int lLinkMode; public HWND hPlayWnd; public String sMultiCastIP; } //预览V40æŽ¥å£ public static class NET_DVR_PREVIEWINFO extends HIKSDKStructure { public int lChannel;//通é“å· public int dwStreamType; // ç æµç±»åž‹ï¼Œ0-主ç æµï¼Œ1-åç æµï¼Œ2-ç æµ3,3-ç æµ4, 4-ç æµ5,5-ç æµ6,7-ç æµ7,8-ç æµ8,9-ç æµ9,10-ç æµ10 public int dwLinkMode;// 0:TCPæ–¹å¼,1:UDPæ–¹å¼,2:多æ’æ–¹å¼,3 - RTPæ–¹å¼ï¼Œ4-RTP/RTSP,5-RSTP/HTTP ,6- HRUDP(å¯é ä¼ è¾“ï¼‰ ,7-RTSP/HTTPS public HWND hPlayWnd;//æ’放窗å£çš„å¥æŸ„,为NULL表示ä¸æ’放图象 public int bBlocked; //0-éžé˜»å¡žå–æµ, 1-阻塞å–æµ, 如果阻塞SDK内部connect失败将会有5s的超时æ‰èƒ½å¤Ÿè¿”回,ä¸é€‚åˆäºŽè½®è¯¢å–æµæ“作. public int bPassbackRecord; //0-ä¸å¯ç”¨å½•åƒå›žä¼ ,1å¯ç”¨å½•åƒå›žä¼ public byte byPreviewMode;//预览模å¼ï¼Œ0-æ£å¸¸é¢„览,1-延迟预览 public byte[] byStreamID = new byte[32];//æµID,lChannel为0xffffffffæ—¶å¯ç”¨æ¤å‚æ•° public byte byProtoType; //应用层å–æµå议,0-ç§æœ‰å议,1-RTSPåè®® public byte byRes1; public byte byVideoCodingType; //ç æµæ•°æ®ç¼–解ç 类型 0-通用编ç æ•°æ® 1-çƒæˆåƒæŽ¢æµ‹å™¨äº§ç”Ÿçš„原始数æ®ï¼ˆæ¸©åº¦æ•°æ®çš„åŠ å¯†ä¿¡æ¯ï¼Œé€šè¿‡åŽ»åŠ 密è¿ç®—,将原始数æ®ç®—出真实的温度值) public int dwDisplayBufNum; //æ’放库æ’放缓冲区最大缓冲帧数,范围1-50,置0时默认为1 public byte byNPQMode; //NPQ是直连模å¼ï¼Œè¿˜æ˜¯è¿‡æµåª’体 0-ç›´è¿ž 1-过æµåª’体 public byte[] byRes = new byte[215]; } public static class NET_DVR_STREAM_INFO extends HIKSDKStructure { public int dwSize; public byte[] byID = new byte[32]; public int dwChannel; public byte[] byRes = new byte[32]; } //é…ç½®æ¡ä»¶ public static class NET_DVR_CLOUDSTORAGE_COND extends HIKSDKStructure { public int dwSize; public int dwChannel; public byte[] byRes1 = new byte[64]; } public static class NET_DVR_STREAM_RECORD_STATUS extends HIKSDKStructure { public int dwSize; public byte byRecord; public byte byOffLineRecord; public byte[] byRes1 = new byte[2]; public int dwRelatedHD; public byte[] byRes2 = new byte[8]; } //SDK状æ€ä¿¡æ¯(9000新增) public static class NET_DVR_SDKSTATE extends HIKSDKStructure { public int dwTotalLoginNum; //当å‰login用户数 public int dwTotalRealPlayNum; //当å‰realplay路数 public int dwTotalPlayBackNum; //当å‰å›žæ”¾æˆ–下载路数 public int dwTotalAlarmChanNum; //当å‰å»ºç«‹æŠ¥è¦é€šé“路数 public int dwTotalFormatNum; //当å‰ç¡¬ç›˜æ ¼å¼åŒ–路数 public int dwTotalFileSearchNum; //当å‰æ—¥å¿—或文件æœç´¢è·¯æ•° public int dwTotalLogSearchNum; //当å‰æ—¥å¿—或文件æœç´¢è·¯æ•° public int dwTotalSerialNum; //当å‰é€æ˜Žé€šé“路数 public int dwTotalUpgradeNum; //当å‰å‡çº§è·¯æ•° public int dwTotalVoiceComNum; //当å‰è¯éŸ³è½¬å‘路数 public int dwTotalBroadCastNum; //当å‰è¯éŸ³å¹¿æ’路数 public int[] dwRes = new int[10]; } //SDK功能支æŒä¿¡æ¯(9000新增) public static class NET_DVR_SDKABL extends HIKSDKStructure { public int dwMaxLoginNum; //最大login用户数 MAX_LOGIN_USERS public int dwMaxRealPlayNum; //最大realplay路数 WATCH_NUM public int dwMaxPlayBackNum; //最大回放或下载路数 WATCH_NUM public int dwMaxAlarmChanNum; //最大建立报è¦é€šé“路数 ALARM_NUM public int dwMaxFormatNum; //æœ€å¤§ç¡¬ç›˜æ ¼å¼åŒ–路数 SERVER_NUM public int dwMaxFileSearchNum; //最大文件æœç´¢è·¯æ•° SERVER_NUM public int dwMaxLogSearchNum; //最大日志æœç´¢è·¯æ•° SERVER_NUM public int dwMaxSerialNum; //最大é€æ˜Žé€šé“路数 SERVER_NUM public int dwMaxUpgradeNum; //最大å‡çº§è·¯æ•° SERVER_NUM public int dwMaxVoiceComNum; //最大è¯éŸ³è½¬å‘路数 SERVER_NUM public int dwMaxBroadCastNum; //最大è¯éŸ³å¹¿æ’路数 MAX_CASTNUM public int[] dwRes = new int[10]; } //报è¦è®¾å¤‡ä¿¡æ¯ public static class NET_DVR_ALARMER extends HIKSDKStructure { public byte byUserIDValid; /* userid是å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte bySerialValid; /* åºåˆ—å·æ˜¯å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte byVersionValid; /* 版本å·æ˜¯å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte byDeviceNameValid; /* 设备åå—是å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte byMacAddrValid; /* MAC地å€æ˜¯å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte byLinkPortValid; /* login端å£æ˜¯å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte byDeviceIPValid; /* 设备IP是å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public byte bySocketIPValid; /* socket ip是å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ1-有效 */ public int lUserID; /* NET_DVR_Login()返回值, 布防时有效 */ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; /* åºåˆ—å· */ public int dwDeviceVersion; /* ç‰ˆæœ¬ä¿¡æ¯ é«˜16ä½è¡¨ç¤ºä¸»ç‰ˆæœ¬ï¼Œä½Ž16ä½è¡¨ç¤ºæ¬¡ç‰ˆæœ¬*/ public byte[] sDeviceName = new byte[NAME_LEN]; /* 设备åå— */ public byte[] byMacAddr = new byte[MACADDR_LEN]; /* MACåœ°å€ */ public short wLinkPort; /* link port */ public byte[] sDeviceIP = new byte[128]; /* IPåœ°å€ */ public byte[] sSocketIP = new byte[128]; /* 报è¦ä¸»åŠ¨ä¸Šä¼ 时的socket IPåœ°å€ */ public byte byIpProtocol; /* Ipåè®® 0-IPV4, 1-IPV6 */ public byte[] byRes2 = new byte[11]; } //硬解ç 显示区域å‚æ•°(å结构) public static class NET_DVR_DISPLAY_PARA extends HIKSDKStructure { public int bToScreen; public int bToVideoOut; public int nLeft; public int nTop; public int nWidth; public int nHeight; public int nReserved; } //硬解ç 预览å‚æ•° public static class NET_DVR_CARDINFO extends HIKSDKStructure { public int lChannel;//通é“å· public int lLinkMode; //最高ä½(31)为0表示主ç æµï¼Œä¸º1表示å,0ï¼30ä½è¡¨ç¤ºç æµè¿žæŽ¥æ–¹å¼:0:TCPæ–¹å¼,1:UDPæ–¹å¼,2:多æ’æ–¹å¼,3 - RTPæ–¹å¼ï¼Œ4-电è¯çº¿ï¼Œ5ï¼128k宽带,6ï¼256k宽带,7ï¼384k宽带,8ï¼512k宽带; public String sMultiCastIP; public NET_DVR_DISPLAY_PARA struDisplayPara; } //录象文件å‚æ•° public static class NET_DVR_FIND_DATA extends HIKSDKStructure { public byte[] sFileName = new byte[100];//文件å public NET_DVR_TIME struStartTime;//文件的开始时间 public NET_DVR_TIME struStopTime;//文件的结æŸæ—¶é—´ public int dwFileSize;//æ–‡ä»¶çš„å¤§å° } //录象文件å‚æ•°(9000) public static class NET_DVR_FINDDATA_V30 extends HIKSDKStructure { public byte[] sFileName = new byte[100];//文件å public NET_DVR_TIME struStartTime;//文件的开始时间 public NET_DVR_TIME struStopTime;//文件的结æŸæ—¶é—´ public int dwFileSize;//æ–‡ä»¶çš„å¤§å° public byte[] sCardNum = new byte[32]; public byte byLocked;//9000设备支æŒ,1表示æ¤æ–‡ä»¶å·²ç»è¢«é”定,0表示æ£å¸¸çš„文件 public byte[] byRes = new byte[3]; } //录象文件å‚æ•°(带å¡å·) public static class NET_DVR_FINDDATA_CARD extends HIKSDKStructure { public byte[] sFileName = new byte[100];//文件å public NET_DVR_TIME struStartTime;//文件的开始时间 public NET_DVR_TIME struStopTime;//文件的结æŸæ—¶é—´ public int dwFileSize;//æ–‡ä»¶çš„å¤§å° public byte[] sCardNum = new byte[32]; } public static class NET_DVR_FILECOND_V40 extends HIKSDKStructure { public int lChannel; public int dwFileType; public int dwIsLocked; public int dwUseCardNo;//是å¦å¸¦ATMä¿¡æ¯è¿›è¡ŒæŸ¥è¯¢ï¼š0-ä¸å¸¦ATMä¿¡æ¯ï¼Œ1-按交易å¡å·æŸ¥è¯¢ï¼Œ2-按交易类型查询,3-按交易金é¢æŸ¥è¯¢ï¼Œ4-按å¡å·ã€äº¤æ˜“类型åŠäº¤æ˜“金é¢çš„组åˆæŸ¥è¯¢ 5-按课程å称查找,æ¤æ—¶å¡å·è¡¨ç¤ºè¯¾ç¨‹å称 public byte[] sCardNumber = new byte[CARDNUM_LEN_OUT]; public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); public NET_DVR_TIME struStopTime = new NET_DVR_TIME(); public byte byDrawFrame; //0:ä¸æŠ½å¸§ï¼Œ1:抽帧 public byte byFindType; //0:查询普通å·ï¼Œ1:查询å˜æ¡£å· public byte byQuickSearch; //0:普通查询,1:快速(日历)查询 public byte bySpecialFindInfoType; //专有查询æ¡ä»¶ç±»åž‹ 0-æ— æ•ˆï¼Œ 1-带ATM查询æ¡ä»¶ public int dwVolumeNum; //å˜æ¡£å·å· public byte[] byWorkingDeviceGUID = new byte[GUID_LEN]; //工作机GUID,通过获å–N+1得到 public NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo = new NET_DVR_SPECIAL_FINDINFO_UNION(); //专有查询æ¡ä»¶ public byte byStreamType; //0-åŒä¸€ä¸ªæ—¶é—´æ®µåªè¿”回一ç§å½•åƒï¼Œä¼˜å…ˆçº§é¡ºåºä¸ºï¼šä¸»ç æµã€åç æµã€ä¸‰ç æµï¼Œ1-åç æµï¼Œ2-三ç æµï¼Œ3-主ç æµï¼Œ254-åŒç æµæœç´¢(优先返回主ç æµå½•åƒï¼Œæ²¡æœ‰ä¸»ç æµå½•åƒæ—¶è¿”回åç æµå½•åƒ) public byte byAudioFile; //音频文件 0-éžéŸ³é¢‘文件,1-音频文件 public byte[] byRes2 = new byte[30]; //ä¿ç•™ } public static class NET_DVR_SPECIAL_FINDINFO_UNION extends Union { public byte[] byLenth = new byte[8]; public NET_DVR_ATMFINDINFO struATMFindInfo = new NET_DVR_ATMFINDINFO(); //ATM查询 } public static class NET_DVR_ATMFINDINFO extends HIKSDKStructure { public byte byTransactionType; //交易类型 0-全部,1-查询, 2-å–款, 3-å˜æ¬¾ï¼Œ 4-修改密ç ,5-转账, 6-æ— å¡æŸ¥è¯¢ 7-æ— å¡å˜æ¬¾ï¼Œ 8-åžé’ž 9-åžå¡ 10-自定义 public byte[] byRes = new byte[3]; //ä¿ç•™ public int dwTransationAmount; //äº¤æ˜“é‡‘é¢ ; } //录åƒæ–‡ä»¶æŸ¥æ‰¾æ¡ä»¶ç»“æž„V50 public static class NET_DVR_FILECOND_V50 extends HIKSDKStructure { public NET_DVR_STREAM_INFO struStreamID; //æµID或通é“å· public NET_DVR_TIME_SEARCH_COND struStartTime = new NET_DVR_TIME_SEARCH_COND(); //开始时间 public NET_DVR_TIME_SEARCH_COND struStopTime = new NET_DVR_TIME_SEARCH_COND(); //结æŸæ—¶é—´ public byte byFindType; //0-查询普通å·ï¼Œ1-查询å˜æ¡£å· 2-查询N+1录åƒæ–‡ä»¶ public byte byDrawFrame; //是å¦æŠ½å¸§ 0-ä¸æŠ½å¸§ 1-抽帧 public byte byQuickSearch; //0-普通查询,1-快速(日历)查询 public byte byStreamType; //0-主ç æµï¼Œ1-åç æµï¼Œ2-3ç æµï¼Œ0xff-全部 public int dwFileType; // 文件类型 public int dwVolumeNum; //å˜æ¡£å·å·ï¼ŒbyFindType为1时有效 public byte byIsLocked; //是å¦é”定 0-æ£å¸¸æ–‡ä»¶,1-é”定文件, 0xff表示所有文件 public byte byNeedCard; //是å¦éœ€è¦æŸ¥è¯¢å¡ï¼Œ0-ä¸éœ€è¦ 1-éœ€è¦ public byte byOnlyAudioFile; //音频文件 0-视频文件 1-音频文件 public byte bySpecialFindInfoType; //0-æ— æ•ˆï¼Œ 1-带ATM查询æ¡ä»¶ public byte[] szCardNum = new byte[32]; //å¡å·ï¼ŒbyNeedCard为1时有效 public byte[] szWorkingDeviceGUID = new byte[16]; //工作机GUID,通过获å–N+1得到,byFindType为2时有效 public NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo = new NET_DVR_SPECIAL_FINDINFO_UNION(); //专有查询æ¡ä»¶è”åˆä½“ public int dwTimeout; //查找超时时间(指定NET_DVR_FindNextFile_V30/NET_DVR_FindNextFile_V40/NET_DVR_FindNextFile_V50接å£çš„超时时间返回);å•ä½ï¼šæ¯«ç§’,ä¸å¡«å†™ï¼ˆé»˜è®¤ä¸º0时),接å£è¡Œä¸ºè·Ÿä»¥å‰ä¸€æ · ;有效值:0, [5000 – 15000] public byte[] byRes = new byte[252]; } public static class NET_DVR_FINDDATA_V40 extends HIKSDKStructure { public byte[] sFileName = new byte[100];//文件å public NET_DVR_TIME struStartTime = new NET_DVR_TIME();//文件的开始时间 public NET_DVR_TIME struStopTime = new NET_DVR_TIME();//文件的结æŸæ—¶é—´ public int dwFileSize;//æ–‡ä»¶çš„å¤§å° public byte[] sCardNum = new byte[32]; public byte byLocked;//9000设备支æŒ,1表示æ¤æ–‡ä»¶å·²ç»è¢«é”定,0表示æ£å¸¸çš„文件 public byte byFileType; //文件类型:0ï¼å®šæ—¶å½•åƒ,1-移动侦测 ,2ï¼æŠ¥è¦è§¦å‘, //3-报è¦|移动侦测 4-报è¦&移动侦测 5-å‘½ä»¤è§¦å‘ 6-手动录åƒ,7ï¼éœ‡åŠ¨æŠ¥è¦ï¼Œ8-环境报è¦ï¼Œ9-智能报è¦ï¼Œ10-PIR报è¦ï¼Œ11-æ— çº¿æŠ¥è¦ï¼Œ12-呼救报è¦,14-智能交通事件 public byte byQuickSearch; //0:普通查询结果,1:快速(日历)查询结果 public byte byRes; public int dwFileIndex; //æ–‡ä»¶ç´¢å¼•å· public byte byStreamType; public byte[] byRes1 = new byte[127]; } public static class NET_DVR_TIME_SEARCH extends HIKSDKStructure { public short wYear; //年,设备OSD时间 public byte byMonth; //月,设备OSD时间 public byte byDay; //日,设备OSD时间 public byte byHour; //时,设备OSD时间 public byte byMinute; //分,设备OSD时间 public byte bySecond; //秒,设备OSD时间 public byte cTimeDifferenceH; //ä¸Žå›½é™…æ ‡å‡†æ—¶é—´çš„æ—¶å·®ï¼ˆå°æ—¶ï¼‰ï¼Œ-12 ... +14 public byte cTimeDifferenceM; //ä¸Žå›½é™…æ ‡å‡†æ—¶é—´çš„æ—¶å·®ï¼ˆåˆ†é’Ÿï¼‰ï¼Œ-30, 0, 30, 45 public byte byLocalOrUTC; //0-æ—¶å·®æ— æ•ˆï¼Œè®¾å¤‡æœ¬åœ°æ—¶é—´ï¼Œå³è®¾å¤‡OSD时间 1-时差有效 public short wMillisecond; //毫秒,精度ä¸å¤Ÿï¼Œé»˜è®¤ä¸º0 } public static class NET_DVR_ADDRESS extends HIKSDKStructure { public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR(); //IPåœ°å€ public short wPort; //端å£å· public byte[] byRes = new byte[2]; } public static class NET_DVR_FINDDATA_V50 extends HIKSDKStructure { public byte[] sFileName = new byte[100]; public NET_DVR_TIME_SEARCH struStartTime = new NET_DVR_TIME_SEARCH(); public NET_DVR_TIME_SEARCH struStopTime = new NET_DVR_TIME_SEARCH(); public NET_DVR_ADDRESS struAddr = new NET_DVR_ADDRESS(); //片段所在的地å€ä¿¡æ¯ï¼Œé›†ç¾¤å›žæ”¾æ—¶ç”¨åˆ° public int dwFileSize; //æ–‡ä»¶å¤§å° public byte byLocked; //文件是å¦è¢«é”定,1ï¼æ–‡ä»¶å·²é”定;0ï¼æ–‡ä»¶æœªé”定 public byte byFileType; //文件类型,与V40ç›¸åŒ public byte byQuickSearch; //0- 普通查询结果,1- 快速(日历)查询结果 public byte byStreamType; //ç æµç±»åž‹ï¼š0- 主ç æµï¼Œ1- åç æµï¼Œ2- ç æµä¸‰ public int dwFileIndex; //æ–‡ä»¶ç´¢å¼•å· public byte[] sCardNum = new byte[32]; //å¡å· public int dwTotalLenH; // 对于大文件æœç´¢ï¼Œæ—¶é—´æ®µå†…æ•°æ®æ€»é•¿åº¦ï¼Œé«˜32å—节 public int dwTotalLenL; // 对于大文件æœç´¢ï¼Œæ—¶é—´æ®µå†…æ•°æ®æ€»é•¿åº¦ï¼Œä½Ž32å—节 public byte byBigFileType; // 0为普通片段æœç´¢ï¼Œ1为大文件æœç´¢ public byte[] byRes = new byte[247]; } public static class NET_DVR_FILECOND extends HIKSDKStructure //录象文件查找æ¡ä»¶ç»“æž„ { public int lChannel;//通é“å· public int dwFileType;//录象文件类型0xffï¼å…¨éƒ¨ï¼Œ0ï¼å®šæ—¶å½•åƒ,1-移动侦测 ,2ï¼æŠ¥è¦è§¦å‘,3-报è¦|移动侦测 4-报è¦&移动侦测 5-å‘½ä»¤è§¦å‘ 6-æ‰‹åŠ¨å½•åƒ public int dwIsLocked;//是å¦é”定 0-æ£å¸¸æ–‡ä»¶,1-é”定文件, 0xff表示所有文件 public int dwUseCardNo;//是å¦ä½¿ç”¨å¡å· public byte[] sCardNumber = new byte[32];//å¡å· public NET_DVR_TIME struStartTime;//开始时间 public NET_DVR_TIME struStopTime;//结æŸæ—¶é—´ } public static class NET_DVR_PLAYCOND extends HIKSDKStructure //回放或者下载信æ¯ç»“构体 { public int dwChannel;//通é“å· public NET_DVR_TIME struStartTime; public NET_DVR_TIME struStopTime; public byte byDrawFrame; //0:ä¸æŠ½å¸§ï¼Œ1:抽帧 public byte byStreamType; //ç æµç±»åž‹ï¼Œ0-主ç æµ 1-åç æµ 2-ç æµä¸‰ public byte[] byStreamID = new byte[STREAM_ID_LEN]; public byte[] byRes = new byte[30];//ä¿ç•™ } public static class NET_DVR_VOD_PARA extends HIKSDKStructure //回放或者下载信æ¯ç»“构体 { public int dwSize; public NET_DVR_STREAM_INFO struIDInfo; public NET_DVR_TIME struBeginTime; public NET_DVR_TIME struEndTime; public HWND hWnd; public byte byDrawFrame; //0:ä¸æŠ½å¸§ï¼Œ1:抽帧 public byte byVolumeType; //0-普通录åƒå· 1-å˜æ¡£å· public byte byVolumeNum; //å·å·ï¼Œç›®å‰æŒ‡å˜æ¡£å·å· public byte byStreamType; //ç æµç±»åž‹ 0-主ç æµï¼Œ 1-åç æµï¼Œ2-ç æµä¸‰ public int dwFileIndex; //å˜æ¡£å·ä¸Šçš„录åƒæ–‡ä»¶ç´¢å¼•ï¼Œæœç´¢å˜æ¡£å·å½•åƒæ—¶è¿”回的值 public byte byAudioFile; //音频文件0-å¦ï¼Œ1-是 public byte byCourseFile; //课程文件0-å¦ï¼Œ1-是 public byte byDownload; //是å¦ä¸‹è½½ 0-å¦ï¼Œ1-是 public byte byOptimalStreamType; //是å¦æŒ‰æœ€ä¼˜ç æµç±»åž‹å›žæ”¾ 0-å¦ï¼Œ1-是(对于åŒç æµè®¾å¤‡ï¼ŒæŸä¸€æ®µæ—¶é—´å†…的录åƒæ–‡ä»¶ä¸ŽæŒ‡å®šç æµç±»åž‹ä¸åŒï¼Œåˆ™è¿”回实际ç æµç±»åž‹çš„录åƒï¼‰ public byte[] byRes2 = new byte[20]; } //图片查找æ¡ä»¶ public static class NET_DVR_FIND_PICTURE_PARAM extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public int lChannel; // 通é“å· public byte byFileType; //图片查找类型 public byte byNeedCard; // 是å¦éœ€è¦å¡å· /* 0-ä¿ç•™ï¼Œ1-澳,2-京,3-æ¸ï¼Œ4-闽,5-甘,6-粤,7-桂, 8-贵,9-ç¼ï¼Œ10-冀,11-豫,12-黑,13-鄂,14-湘, 15-å‰ï¼Œ16-è‹ï¼Œ17-赣,18-辽,19-蒙,20-å®ï¼Œ21-é’, 22-é²ï¼Œ23-晋,24-陕,25-沪,26-å·ï¼Œ27-å°ï¼Œ28-津, 29-è—,30-港,31-新,32-云,33-浙,34-皖,0xff-全部 */ public byte byProvince; //çœä»½ç´¢å¼•å€¼ public byte byEventType; // 事件类型:0ä¿ç•™ï¼Œ1-交通事件;2-è¿ç« å–è¯ï¼›3-其他事件 public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; // å¡å· public NET_DVR_TIME struStartTime = new NET_DVR_TIME();//查找图片的开始时间 public NET_DVR_TIME struStopTime = new NET_DVR_TIME();// 查找图片的结æŸæ—¶é—´ //ITC3.7 新增 public int dwTrafficType; //图片检索生效项 å‚考 VCA_OPERATE _TYPE public int dwVehicleType; //车辆类型 å‚考 VCA_VEHICLE_TYPE //è¿è§„检测类型å‚考 VCA_ILLEGAL_TYPE 当å‰ä¸æ”¯æŒå¤é€‰ public int dwIllegalType; public byte byLaneNo; //车é“å·(1~99) public byte bySubHvtType;//0-ä¿ç•™,1-机动车(机动车å类型ä¸æ”¯æŒè½¦ç‰Œæ£€ç´¢ï¼Œçœä»½æ£€ç´¢),2-éžæœºåŠ¨è½¦,3-行人 public byte[] byRes2 = new byte[2]; public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //车牌å·ç public byte byRegion; // 区域索引值 0-ä¿ç•™ï¼Œ1-欧洲(Europe Region),2-ä¿„è¯åŒºåŸŸ(Russian Region),3-欧洲&ä¿„ç½—æ–¯(EU&CIS), 4-ä¸ä¸œ(Middle East),0xff-所有 public byte byCountry; // 国家索引值,å‚照:COUNTRY_INDEX public byte byArea; //地区 public byte byISO8601; //是å¦æ˜¯8601çš„æ—¶é—´æ ¼å¼ï¼Œå³æ—¶å·®å—段是å¦æœ‰æ•ˆ0-æ—¶å·®æ— æ•ˆï¼Œå¹´æœˆæ—¥æ—¶åˆ†ç§’ä¸ºè®¾å¤‡æœ¬åœ°æ—¶é—´ 1-时差有效 public byte cStartTimeDifferenceH; //开始时间与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, æ£æ•°è¡¨ç¤ºä¸œæ—¶åŒº public byte cStartTimeDifferenceM; //开始时间与UTC的时差(分钟),-30, 0, 30, 45,æ£æ•°è¡¨ç¤ºä¸œæ—¶åŒº public byte cStopTimeDifferenceH; //结æŸæ—¶é—´ä¸ŽUTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14,æ£æ•°è¡¨ç¤ºä¸œæ—¶åŒº public byte cStopTimeDifferenceM; //结æŸæ—¶é—´ä¸ŽUTC的时差(分钟),-30, 0, 30, 45,æ£æ•°è¡¨ç¤ºä¸œæ—¶åŒº } public static class NET_DVR_FIND_PICTURE extends HIKSDKStructure { public byte[] sFileName = new byte[PICTURE_NAME_LEN];//图片å public NET_DVR_TIME struTime;//图片的时间 public int dwFileSize;//å›¾ç‰‡çš„å¤§å° public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; //å¡å· public byte byPlateColor;//å‚考结构 VCA_PLATE_COLOR public byte byVehicleLogo;//å‚考结构 VLR_VEHICLE_CLASS public byte byEventSearchStatus; //è¿žç»å›¾ç‰‡è¡¨ç¤ºåŒä¸€æŸ¥æ‰¾ç»“果的时候,0-表示åŽé¢æ²¡æœ‰å›¾ç‰‡ä¿¡æ¯ï¼Œ1-表示åŽé¢è¿˜æœ‰å›¾ç‰‡ä¿¡æ¯ã€‚总共图片信æ¯åŒ…括最åŽä¸€å¼ 状æ€ä¸º0的图片。 public byte byRecogResult;//识别结果å‚考结构VTR_RESULT public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //车牌å·ç public byte[] byRes = new byte[12]; } public class NET_DVR_FIND_PICTURE_V50 extends HIKSDKStructure { public byte[] sFileName = new byte[PICTURE_NAME_LEN];//图片å public NET_DVR_TIME struTime = new NET_DVR_TIME();//图片的时间 public int dwFileSize;//å›¾ç‰‡çš„å¤§å° public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; //å¡å· public byte byPlateColor;//å‚考结构 VCA_PLATE_COLOR public byte byVehicleLogo;//å‚考结构 VLR_VEHICLE_CLASS public byte byFileType; //文件类型, :0定时抓图1 移动侦测抓图 2 报è¦æŠ“图3 æŠ¥è¦ | 移动侦测抓图 4 æŠ¥è¦ & 移动侦测抓图 6 手动抓图 ,9-智能图片,10- PIR报è¦ï¼Œ11- æ— çº¿æŠ¥è¦ï¼Œ12- 呼救报è¦, 0xa 预览时截图,0xd 人脸侦测, 0xe 越界侦测,0xf 入侵区域侦测,0x10 场景å˜æ›´ä¾¦æµ‹, 0x11-设备本地回放时截图, 0x12-智能侦测 public byte byRecogResult;//识别结果å‚考结构VTR_RESULT public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //车牌å·ç public byte byEventSearchStatus; //è¿žç»å›¾ç‰‡è¡¨ç¤ºåŒä¸€æŸ¥æ‰¾ç»“果的时候,0-表示åŽé¢æ²¡æœ‰å›¾ç‰‡ä¿¡æ¯ï¼Œ1-表示åŽé¢è¿˜æœ‰å›¾ç‰‡ä¿¡æ¯ã€‚总共图片信æ¯åŒ…括最åŽä¸€å¼ 状æ€ä¸º0的图片。 public NET_DVR_ADDRESS struAddr; //图片所在的地å€ä¿¡æ¯ï¼Œå›¾ç‰‡ä¸‹è½½æ—¶ç”¨åˆ° public byte[] byRes = new byte[256]; // ä¿ç•™å—节 public NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //å›¾ç‰‡é™„ä»¶ä¿¡æ¯ } public class NET_DVR_PIC_PARAM extends HIKSDKStructure { public Pointer pDVRFileName; public Pointer pSavedFileBuf; public int dwBufLen; public IntByReference lpdwRetLen; public NET_DVR_ADDRESS struAddr; public byte[] byRes = new byte[256]; } //查找结果结构体 public static class NET_DVR_FIND_PICTURE_V40 extends HIKSDKStructure { public byte[] sFileName = new byte[PICTURE_NAME_LEN];//图片å public NET_DVR_TIME struTime = new NET_DVR_TIME();//图片的时间 public int dwFileSize;//å›¾ç‰‡çš„å¤§å° public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; //å¡å· public byte byPlateColor;//å‚考结构 VCA_PLATE_COLOR public byte byVehicleLogo;//å‚考结构 VLR_VEHICLE_CLASS public byte byFileType; //文件类型, :0定时抓图1 移动侦测抓图 2 报è¦æŠ“图3 æŠ¥è¦ | 移动侦测抓图 4 æŠ¥è¦ & 移动侦测抓图 6 手动抓图 ,9-智能图片,10- PIR报è¦ï¼Œ11- æ— çº¿æŠ¥è¦ï¼Œ12- 呼救报è¦, 0xa 预览时截图,0xd 人脸侦测, 0xe 越界侦测,0xf 入侵区域侦测,0x10 场景å˜æ›´ä¾¦æµ‹, 0x11-设备本地回放时截图, 0x12-智能侦测, 0x32-防区报è¦, 0x33-紧急求助, 0x34-业务咨询 public byte byRecogResult;//识别结果å‚考结构VTR_RESULT public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //车牌å·ç public byte byEventSearchStatus; //è¿žç»å›¾ç‰‡è¡¨ç¤ºåŒä¸€æŸ¥æ‰¾ç»“果的时候,0-表示åŽé¢æ²¡æœ‰å›¾ç‰‡ä¿¡æ¯ï¼Œ1-表示åŽé¢è¿˜æœ‰å›¾ç‰‡ä¿¡æ¯ã€‚总共图片信æ¯åŒ…括最åŽä¸€å¼ 状æ€ä¸º0的图片。 public byte[] byRes = new byte[75]; // ä¿ç•™å—节 public NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //å›¾ç‰‡é™„ä»¶ä¿¡æ¯ } public static class NET_DVR_FACE_EXTRA_INFO extends Union { public NET_VCA_RECT[] struVcaRect = new NET_VCA_RECT[MAX_FACE_PIC_NUM]; //人脸å图åæ ‡ä¿¡æ¯ public byte[] byRes = new byte[64]; } //图片附件信æ¯è”åˆä½“ public static class NET_DVR_PIC_EXTRA_INFO_UNION extends Union { public byte[] byUnionLen = new byte[544]; //è”åˆä½“é•¿åº¦ï¼Œæ— å®žé™…æ„义 public NET_DVR_FACE_EXTRA_INFO struFaceExtraInfo; //äººè„¸ä¾¦æµ‹ä¿¡æ¯ } public static class NET_DVR_PACKET_INFO_EX extends Union { public short wWidth; //width public short wHeight; //height public int dwTimeStamp; //lower time stamp public int dwTimeStampHigh;//higher time stamp public int dwYear; //year public int dwMonth; //month public int dwDay; //day public int dwHour; //hour public int dwMinute; //minute public int dwSecond; //second public int dwMillisecond; //millisecond public int dwFrameNum; //frame num public int dwFrameRate; //frame rate,当帧率å°äºŽ0时,0x80000002:表示1/2帧率,åŒç†å¯æŽ¨0x80000010为1/16帧率 public int dwFlag; //flag Eå¸§æ ‡è®° public int dwFilePos; //file pos public int dwPacketType; //Packet type:0 -file head,1 -video I frame,2- video B frame, 3- video P frame, 10- audio packet, 11- private packet public int dwPacketSize; //packet size public Pointer pPacketBuffer; //packet buffer public byte[] byRes1 = new byte[4]; public int dwPacketMode; //打包方å¼:0-ä¿ç•™ï¼Œ1-FU_Aæ‰“åŒ…æ–¹å¼ public byte[] byRes2 = new byte[16]; public int[] dwReserved = new int[6]; //reserved[0] 表示ç§æœ‰æ•°æ®ç±»åž‹ } //云å°åŒºåŸŸé€‰æ‹©æ”¾å¤§ç¼©å°(HIK å¿«çƒä¸“用) public static class NET_DVR_POINT_FRAME extends HIKSDKStructure { public int xTop; //方框起始点的xåæ ‡ public int yTop; //方框结æŸç‚¹çš„yåæ ‡ public int xBottom; //方框结æŸç‚¹çš„xåæ ‡ public int yBottom; //方框结æŸç‚¹çš„yåæ ‡ public int bCounter; //ä¿ç•™ } //è¯éŸ³å¯¹è®²å‚æ•° public static class NET_DVR_COMPRESSION_AUDIO extends HIKSDKStructure { public byte byAudioEncType; //音频编ç 类型 0-G722; 1-G711 public byte[] byres = new byte[7];//这里ä¿ç•™éŸ³é¢‘的压缩å‚æ•° } public static class NET_DVR_AUDIODEC_INFO extends HIKSDKStructure { public int nchans; /* 声é“æ•° */ public int sample_rate; /* é‡‡æ ·çŽ‡ */ public int aacdec_profile; /* ç¼–ç 用的框架 */ public int[] reserved = new int[16]; /* ä¿ç•™ */ } //音频解ç public static class NET_DVR_AUDIODEC_PROCESS_PARAM extends HIKSDKStructure { public Pointer in_buf; /* 输入数æ®buf */ public Pointer out_buf; /* 输出数æ®buf */ public int in_data_size; /* 输入in_buf内数æ®byteæ•° */ public int proc_data_size; /* 输出解ç 库处ç†in_bufä¸æ•°æ®å¤§å°bytes */ public int out_frame_size; /* 解ç 一帧åŽæ•°æ®BYTEæ•° */ public NET_DVR_AUDIODEC_INFO dec_info = new NET_DVR_AUDIODEC_INFO(); /* 输出解ç ä¿¡æ¯ */ public int g726dec_reset; /* é‡ç½®å¼€å…³ */ public int g711_type; /* g711ç¼–ç 类型,0 - U law, 1- A law */ public int[] reserved = new int[16]; /* ä¿ç•™ */ } public static class NET_DVR_AUDIOENC_INFO extends HIKSDKStructure { public int in_frame_size; /* 输入一帧数æ®å¤§å°(BYTES),由GetInfoParam函数返回 */ public int[] reserved = new int[16]; /* ä¿ç•™ */ } //音频编ç public static class NET_DVR_AUDIOENC_PROCESS_PARAM extends HIKSDKStructure { public Pointer in_buf; /* 输入buf */ public Pointer out_buf; /* 输出buf */ public int out_frame_size; /* ç¼–ç 一帧åŽçš„BYTEæ•° */ public int g726enc_reset; /* é‡ç½®å¼€å…³ */ public int g711_type; /* g711ç¼–ç 类型,0 - U law, 1- A law */ public int enc_mode; /* 音频编ç 模å¼ï¼ŒAMRç¼–ç é…ç½® */ public int[] reserved = new int[16]; /* ä¿ç•™ */ } //用于接收报è¦ä¿¡æ¯çš„缓å˜åŒº public static class RECV_ALARM extends HIKSDKStructure { public byte[] RecvBuffer = new byte[4000];//æ¤å¤„çš„400应ä¸å°äºŽæœ€å¤§æŠ¥è¦æŠ¥æ–‡é•¿åº¦ } //布防å‚æ•° public static class NET_DVR_SETUPALARM_PARAM extends HIKSDKStructure { public int dwSize; public byte byLevel; //布防优先级,0-一ç‰çº§ï¼ˆé«˜ï¼‰ï¼Œ1-二ç‰çº§ï¼ˆä¸ï¼‰ï¼Œ2-三ç‰çº§ï¼ˆä½Žï¼‰ public byte byAlarmInfoType; //ä¸Šä¼ æŠ¥è¦ä¿¡æ¯ç±»åž‹ï¼ˆæŠ“æ‹æœºæ”¯æŒï¼‰ï¼Œ0-è€æŠ¥è¦ä¿¡æ¯ï¼ˆNET_DVR_PLATE_RESULT),1-新报è¦ä¿¡æ¯(NET_ITS_PLATE_RESULT)2012-9-28 public byte byRetAlarmTypeV40; //0--返回NET_DVR_ALARMINFO_V30或NET_DVR_ALARMINFO, 1--设备支æŒNET_DVR_ALARMINFO_V40则返回NET_DVR_ALARMINFO_V40,ä¸æ”¯æŒåˆ™è¿”回NET_DVR_ALARMINFO_V30或NET_DVR_ALARMINFO public byte byRetDevInfoVersion; //CVRä¸Šä¼ æŠ¥è¦ä¿¡æ¯å›žè°ƒç»“æž„ä½“ç‰ˆæœ¬å· 0-COMM_ALARM_DEVICE, 1-COMM_ALARM_DEVICE_V40 public byte byRetVQDAlarmType; //VQD报è¦ä¸Šä¼ 类型,0-ä¸Šä¼ æŠ¥æŠ¥è¦NET_DVR_VQD_DIAGNOSE_INFO,1-ä¸Šä¼ æŠ¥è¦NET_DVR_VQD_ALARM public byte byFaceAlarmDetection; public byte bySupport; public byte byBrokenNetHttp; public short wTaskNo; //任务处ç†å· å’Œ (ä¸Šä¼ æ•°æ®NET_DVR_VEHICLE_RECOG_RESULTä¸çš„å—段dwTaskNo对应 åŒæ—¶ 下å‘任务结构 NET_DVR_VEHICLE_RECOG_CONDä¸çš„å—段dwTaskNo对应) public byte byDeployType; //布防类型:0-客户端布防,1-实时布防 public byte[] byRes1 = new byte[3]; public byte byAlarmTypeURL;//bit0-表示人脸抓æ‹æŠ¥è¦ä¸Šä¼ (INTER_FACESNAP_RESULT);0-è¡¨ç¤ºäºŒè¿›åˆ¶ä¼ è¾“ï¼Œ1-表示URLä¼ è¾“ï¼ˆè®¾å¤‡æ”¯æŒçš„情况下,设备支æŒèƒ½åŠ›æ ¹æ®å…·ä½“报è¦èƒ½åŠ›é›†åˆ¤æ–,åŒæ—¶è®¾å¤‡éœ€è¦æ”¯æŒURL的相关æœåŠ¡ï¼Œå½“å‰æ˜¯â€äº‘å˜å‚¨â€œï¼‰ public byte byCustomCtrl;//Bit0- 表示支æŒå‰¯é©¾é©¶äººè„¸åå›¾ä¸Šä¼ : 0-ä¸ä¸Šä¼ ,1-ä¸Šä¼ ,(注:åªåœ¨å…¬å¸å†…部8600/8200ç‰å¹³å°å¼€æ”¾) } public static class NET_DVR_SETUPALARM_PARAM_V50 extends HIKSDKStructure { public int dwSize; public byte byLevel; //布防优先级,0-一ç‰çº§ï¼ˆé«˜ï¼‰ï¼Œ1-二ç‰çº§ï¼ˆä¸ï¼‰ï¼Œ2-三ç‰çº§ï¼ˆä½Žï¼‰ public byte byAlarmInfoType; //ä¸Šä¼ æŠ¥è¦ä¿¡æ¯ç±»åž‹ï¼ˆæŠ“æ‹æœºæ”¯æŒï¼‰ï¼Œ0-è€æŠ¥è¦ä¿¡æ¯ï¼ˆNET_DVR_PLATE_RESULT),1-新报è¦ä¿¡æ¯(NET_ITS_PLATE_RESULT)2012-9-28 public byte byRetAlarmTypeV40; //0--返回NET_DVR_ALARMINFO_V30或NET_DVR_ALARMINFO, 1--设备支æŒNET_DVR_ALARMINFO_V40则返回NET_DVR_ALARMINFO_V40,ä¸æ”¯æŒåˆ™è¿”回NET_DVR_ALARMINFO_V30或NET_DVR_ALARMINFO public byte byRetDevInfoVersion; //CVRä¸Šä¼ æŠ¥è¦ä¿¡æ¯å›žè°ƒç»“æž„ä½“ç‰ˆæœ¬å· 0-COMM_ALARM_DEVICE, 1-COMM_ALARM_DEVICE_V40 public byte byRetVQDAlarmType; //VQD报è¦ä¸Šä¼ 类型,0-ä¸Šä¼ æŠ¥æŠ¥è¦NET_DVR_VQD_DIAGNOSE_INFO,1-ä¸Šä¼ æŠ¥è¦NET_DVR_VQD_ALARM //1-表示人脸侦测报è¦æ‰©å±•(INTER_FACE_DETECTION),0-表示原先支æŒç»“æž„(INTER_FACESNAP_RESULT) public byte byFaceAlarmDetection; //Bit0- 表示二级布防是å¦ä¸Šä¼ 图片: 0-ä¸Šä¼ ï¼Œ1-ä¸ä¸Šä¼ //Bit1- 表示开å¯æ•°æ®ä¸Šä¼ 确认机制;0-ä¸å¼€å¯ï¼Œ1-å¼€å¯ //Bit6- 表示雷达检测报è¦(eventType:radarDetection)是å¦å¼€å¯å®žæ—¶ä¸Šä¼ ï¼›0-ä¸å¼€å¯ï¼Œ1-å¼€å¯ï¼ˆç”¨äºŽwebæ’ä»¶å®žæ—¶æ˜¾ç¤ºé›·è¾¾ç›®æ ‡è½¨è¿¹ï¼‰ public byte bySupport; //æ–网ç»ä¼ 类型 //bit0-车牌检测(IPC) (0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit1-客æµç»Ÿè®¡ï¼ˆIPC) (0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit2-çƒåº¦å›¾ç»Ÿè®¡ï¼ˆIPC) (0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit3-人脸抓æ‹ï¼ˆIPC) (0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit4-人脸对比(IPC) (0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit5-JSON报è¦é€ä¼ (IPC) (0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit6-çƒåº¦å›¾æŒ‰äººå‘˜åœç•™æ—¶é—´ç»Ÿè®¡æ•°æ®ä¸Šä¼ 事件(0-ä¸ç»ä¼ ,1-ç»ä¼ ) //bit7-çƒåº¦å›¾æŒ‰äººæ•°ç»Ÿè®¡æ•°æ®ä¸Šä¼ 事件的确认机制(0-ä¸ç»ä¼ ,1-ç»ä¼ ) public byte byBrokenNetHttp; public short wTaskNo; //任务处ç†å· å’Œ (ä¸Šä¼ æ•°æ®NET_DVR_VEHICLE_RECOG_RESULTä¸çš„å—段dwTaskNo对应 åŒæ—¶ 下å‘任务结构 NET_DVR_VEHICLE_RECOG_CONDä¸çš„å—段dwTaskNo对应) public byte byDeployType; //布防类型:0-客户端布防,1-实时布防 public byte bySubScription; //订阅,按ä½è¡¨ç¤ºï¼Œæœªå¼€å¯è®¢é˜…ä¸ä¸ŠæŠ¥ //å ä½ //Bit7-移动侦测人车分类是å¦ä¼ 图;0-ä¸ä¼ 图(V30上报),1-ä¼ å›¾(V40上报) public byte[] byRes1 = new byte[2]; public byte byAlarmTypeURL;//bit0-表示人脸抓æ‹æŠ¥è¦ä¸Šä¼ (INTER_FACESNAP_RESULT);0-è¡¨ç¤ºäºŒè¿›åˆ¶ä¼ è¾“ï¼Œ1-表示URLä¼ è¾“ï¼ˆè®¾å¤‡æ”¯æŒçš„情况下,设备支æŒèƒ½åŠ›æ ¹æ®å…·ä½“报è¦èƒ½åŠ›é›†åˆ¤æ–,åŒæ—¶è®¾å¤‡éœ€è¦æ”¯æŒURL的相关æœåŠ¡ï¼Œå½“å‰æ˜¯â€äº‘å˜å‚¨â€œï¼‰ //bit1-表示EVENT_JSONä¸å›¾ç‰‡æ•°æ®é•¿ä¼ 类型;0-è¡¨ç¤ºäºŒè¿›åˆ¶ä¼ è¾“ï¼Œ1-表示URLä¼ è¾“ï¼ˆè®¾å¤‡æ”¯æŒçš„情况下,设备支æŒèƒ½åŠ›æ ¹æ®å…·ä½“报è¦èƒ½åŠ›é›†åˆ¤æ–) //bit2 - 人脸比对(报è¦ç±»åž‹ä¸ºCOMM_SNAP_MATCH_ALARM)ä¸å›¾ç‰‡æ•°æ®ä¸Šä¼ 类型:0 - äºŒè¿›åˆ¶ä¼ è¾“ï¼Œ1 - URLä¼ è¾“ //bit3 - 行为分æž(报è¦ç±»åž‹ä¸ºCOMM_ALARM_RULE)ä¸å›¾ç‰‡æ•°æ®ä¸Šä¼ 类型:0 - äºŒè¿›åˆ¶ä¼ è¾“ï¼Œ1 - URLä¼ è¾“ï¼Œæœ¬å—段设备是å¦æ”¯æŒï¼Œå¯¹åº”软硬件能力集ä¸<isSupportBehaviorUploadByCloudStorageURL>节点是å¦è¿”回且为true public byte byCustomCtrl;//Bit0- 表示支æŒå‰¯é©¾é©¶äººè„¸åå›¾ä¸Šä¼ : 0-ä¸ä¸Šä¼ ,1-ä¸Šä¼ public byte[] byRes4 = new byte[128]; } //区域框å‚æ•° public static class NET_VCA_RECT extends HIKSDKStructure { public float fX; public float fY; public float fWidth; public float fHeight; } //报è¦ç›®æ ‡ä¿¡æ¯ public static class NET_VCA_TARGET_INFO extends HIKSDKStructure { public int dwID; public NET_VCA_RECT struRect; public byte[] byRes = new byte[4]; } //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public static class NET_VCA_DEV_INFO extends HIKSDKStructure { public NET_DVR_IPADDR struDevIP; public short wPort; public byte byChannel; public byte byIvmsChannel; } //äº‹ä»¶è§„åˆ™ä¿¡æ¯ public static class NET_VCA_RULE_INFO extends HIKSDKStructure { public byte byRuleID; public byte byRes; public short wEventTypeEx; public byte[] byRuleName = new byte[NAME_LEN]; public int dwEventType; public NET_VCA_EVENT_UNION uEventParam; public void read() { super.read(); switch (wEventTypeEx) { case 1: uEventParam.setType(NET_VCA_TRAVERSE_PLANE.class); break; case 2: case 3: uEventParam.setType(NET_VCA_AREA.class); break; default: break; } uEventParam.read(); } public void write() { super.write(); uEventParam.write(); } } //è¦æˆ’规则å‚æ•°è”åˆä½“ public static class NET_VCA_EVENT_UNION extends Union { public int[] uLen = new int[23]; public NET_VCA_TRAVERSE_PLANE struTraversePlane; public NET_VCA_AREA struArea; } //穿越è¦æˆ’é¢å‚æ•° public static class NET_VCA_TRAVERSE_PLANE extends HIKSDKStructure { public NET_VCA_LINE struPlaneBottom; public int dwCrossDirection; public byte bySensitivity; public byte byPlaneHeight; public byte byDetectionTarget;/*æ£€æµ‹ç›®æ ‡ï¼š0- æ‰€æœ‰ç›®æ ‡ï¼Œ1- 人,2- 车 */ public byte[] byRes2 = new byte[37]; } public static class NET_DVR_HANDLEEXCEPTION_V40 extends HIKSDKStructure { public int dwHandleType;/*处ç†æ–¹å¼ï¼Œå„ç§å¼‚常处ç†æ–¹å¼çš„"或"结果,异常处ç†æ–¹å¼ï¼š 0x00: æ— å“应 0x01: 监视器上è¦å‘Š 0x02: 声音è¦å‘Š 0x04: ä¸Šä¼ ä¸å¿ƒ 0x08: 触å‘报è¦è¾“出 0x10: JpegæŠ“å›¾å¹¶ä¸Šä¼ EMail 0x20: æ— çº¿å£°å…‰æŠ¥è¦å™¨è”动 0x40: è”动电å地图(ç›®å‰ä»…PCNVR支æŒ) 0x200ï¼šæŠ“å›¾å¹¶ä¸Šä¼ ftp 0x400: 虚焦侦测è”动èšç„¦ 0x800: PTZè”动跟踪(çƒæœºè·Ÿè¸ªç›®æ ‡) E.g. dwHandleType==0x01|0x04 表示é…置报è¦å‘生时è”动监视器上è¦å‘Šå¹¶ä¸”将报è¦ä¿¡æ¯ä¸Šä¼ ä¸å¿ƒã€‚ */ public int dwMaxRelAlarmOutChanNum;/*设备最大支æŒçš„触å‘报è¦è¾“出通é“数(åªè¯»ï¼‰ */ public int dwRelAlarmOutChanNum;/*å·²é…置的触å‘的报è¦è¾“出通é“个数,决定dwRelAlarmOutå–å‰å¤šå°‘ä¸ªæ•°ç»„ä¸‹æ ‡ */ public int[] dwRelAlarmOut = new int[MAX_CHANNUM_V30];/*触å‘报è¦è¾“出通é“,å–数组å‰dwRelAlarmOutChanNum个值, 其值表示报è¦è¾“出通é“å·(从1开始),åˆå§‹å€¼æ˜¯0xfffffffff(ä¸å…³è”通é“)。 例如,dwRelAlarmOutChanNum=5,则å¯ä»¥é…置触å‘报è¦è¾“出通é“dwRelAlarmOut[0]~dwRelAlarmOut[4]。 */ public byte[] byRes = new byte[64]; /*ä¿ç•™ï¼Œç½®ä¸º0 */ } public static final int MAX_ALERTLINE_NUM = 8; public static class NET_VCA_TRAVERSE_PLANE_DETECTION extends HIKSDKStructure { public int dwSize; public byte byEnable;//使能 public byte byEnableDualVca;// å¯ç”¨æ”¯æŒæ™ºèƒ½åŽæ£€ç´¢ 0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte[] byRes1 = new byte[2]; public NET_VCA_TRAVERSE_PLANE[] struAlertParam = new NET_VCA_TRAVERSE_PLANE[MAX_ALERTLINE_NUM]; //è¦æˆ’线å‚æ•° public NET_DVR_SCHEDTIMEWEEK[] struAlarmSched = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; public NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //异常处ç†æ–¹å¼ public int dwMaxRelRecordChanNum; //报è¦è§¦å‘çš„å½•è±¡é€šé“ æ•°ï¼ˆåªè¯»ï¼‰æœ€å¤§æ”¯æŒæ•°é‡ public int dwRelRecordChanNum; //报è¦è§¦å‘çš„å½•è±¡é€šé“ æ•° 实际支æŒçš„æ•°é‡ public int[] byRelRecordChan = new int[MAX_CHANNUM_V30];//触å‘录åƒçš„通é“å· public NET_DVR_SCHEDTIME[] struHolidayTime = new NET_DVR_SCHEDTIME[MAX_TIMESEGMENT_V30]; //å‡æ—¥å¸ƒé˜²æ—¶é—´ public byte[] byRes2 = new byte[100]; } public static class NET_VCA_INTRUSION extends HIKSDKStructure { public NET_VCA_POLYGON struRegion;//区域范围 public short wDuration; //行为事件触å‘时间阈值: 1-120秒,建议5秒,判æ–是有效报è¦çš„时间 在ATM系统ä¸è§¦å‘文件阈值为 1-1000秒 public byte bySensitivity; //çµæ•åº¦å‚数,范围[1-100] public byte byRate; //å 比:区域内所有未报è¦ç›®æ ‡å°ºå¯¸ç›®æ ‡å 区域é¢ç§¯çš„比é‡ï¼Œå½’一化为ï¼ï¼› /* æ£€æµ‹ç›®æ ‡ï¼Œå¯æ”¯æŒå¤šé€‰ï¼Œå…·ä½“定义为: 0~æ‰€æœ‰ç›®æ ‡ï¼ˆè¡¨ç¤ºä¸é”å®šæ£€æµ‹ç›®æ ‡ï¼Œæ‰€æœ‰ç›®æ ‡éƒ½å°†è¿›è¡Œæ£€æµ‹ï¼‰ 0x01 ~ 人, 0x02 ~ 车, 0x04 ~ 其他 */ public byte byDetectionTarget; public byte byPriority;//优先级,0~低,1~ä¸,2~高 public byte[] byRes = new byte[2]; //ä¿ç•™ } //快速移动å‚æ•° public static class NET_VCA_RUN extends HIKSDKStructure { public NET_VCA_POLYGON struRegion;//区域范围 public float fRunDistance; //人快速移动最大è·ç¦», 范围: [0.1, 1.00] åƒç´ æ¨¡å¼ å®žé™…æ¨¡å¼(1,20)m/s public byte bySensitivity; //çµæ•åº¦å‚数,范围[1,5] public byte byMode; // 0 åƒç´ æ¨¡å¼ 1 å®žé™…æ¨¡å¼ /* æ£€æµ‹ç›®æ ‡ï¼Œå¯æ”¯æŒå¤šé€‰ï¼Œå…·ä½“定义为: 0~æ‰€æœ‰ç›®æ ‡ï¼ˆè¡¨ç¤ºä¸é”å®šæ£€æµ‹ç›®æ ‡ï¼Œæ‰€æœ‰ç›®æ ‡éƒ½å°†è¿›è¡Œæ£€æµ‹ï¼‰ 0x01 ~ 人, 0x02 ~ 车,, 0x04 ~ 其他, 该å—段支æŒå¤šé€‰ï¼ŒæŒ‰ä½å–值,例如3表示1+2. */ public byte byDetectionTarget; public byte byRes; } //奔跑检测 public static class NET_VCA_RUNNING extends HIKSDKStructure { public NET_VCA_POLYGON struRegion; //区域范围 public int dwSpeed; //奔跑速度,范围[1,10] public short wDuration; // 触å‘报è¦æ—¶é—´é˜ˆå€¼ public byte byRunMode; //奔跑模å¼ï¼Œ0-ä¿ç•™,1:å•äººå¥”è·‘,2:多人奔跑 public byte byRes; } //倒地å‚æ•° public static class NET_VCA_FALL_DOWN extends HIKSDKStructure { public NET_VCA_POLYGON struRegion;//区域范围 public short wDuration; /* 触å‘事件阈值 1-60s*/ public short bySensitivity; /* çµæ•åº¦å‚数,范围[1,5] */ public short byHeightThreshold; //高度阈值,范围[0,250],默认90,å•ä½ï¼šåŽ˜ç±³ public byte[] byRes = new byte[4]; } public static final int MAX_INTRUSIONREGION_NUM = 8; //最大区域数数 public static class NET_VCA_FIELDDETECION extends HIKSDKStructure { public int dwSize; public byte byEnable; //使能,是å¦å¼€å¯ public byte byEnableDualVca;// å¯ç”¨æ”¯æŒæ™ºèƒ½åŽæ£€ç´¢ 0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byEnableHumanMisinfoFilter;// å¯ç”¨äººä½“去误报 0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byEnableVehicleMisinfoFilter;// å¯ç”¨è½¦è¾†åŽ»è¯¯æŠ¥ 0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public NET_VCA_INTRUSION[] struIntrusion = new NET_VCA_INTRUSION[MAX_INTRUSIONREGION_NUM];//æ¯ä¸ªåŒºåŸŸçš„å‚数设置 public NET_DVR_SCHEDTIMEWEEK[] struAlarmSched = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; //布防时间 public NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //异常处ç†æ–¹å¼ public int dwMaxRelRecordChanNum; //报è¦è§¦å‘çš„å½•è±¡é€šé“ æ•°ï¼ˆåªè¯»ï¼‰æœ€å¤§æ”¯æŒæ•°é‡ public int dwRelRecordChanNum; //报è¦è§¦å‘çš„å½•è±¡é€šé“ æ•° 实际支æŒçš„æ•°é‡ public int[] byRelRecordChan = new int[MAX_CHANNUM_V30];//触å‘录åƒé€šé“ public NET_DVR_SCHEDTIME[] struHolidayTime = new NET_DVR_SCHEDTIME[MAX_TIMESEGMENT_V30]; //å‡æ—¥å¸ƒé˜²æ—¶é—´ public byte[] byRes2 = new byte[100]; } public static class NET_DVR_CHANNEL_GROUP extends HIKSDKStructure { public int dwSize; public int dwChannel; public int dwGroup; public byte byID; public byte[] byRes1 = new byte[3]; public int dwPositionNo; public byte[] byRes = new byte[56]; } //线结构å‚æ•° public static class NET_VCA_LINE extends HIKSDKStructure { public NET_VCA_POINT struStart; public NET_VCA_POINT struEnd; } //点åæ ‡å‚æ•° public static class NET_VCA_POINT extends HIKSDKStructure { public float fX; public float fY; } //进入/离开区域å‚æ•° public static class NET_VCA_AREA extends HIKSDKStructure { public NET_VCA_POLYGON struRegion; public byte[] byRes = new byte[8]; } //多边形结构体 public static class NET_VCA_POLYGON extends HIKSDKStructure { public int dwPointNum; public NET_VCA_POINT[] struPos = new NET_VCA_POINT[VCA_MAX_POLYGON_POINT_NUM]; } public static class NET_VCA_SIZE_FILTER extends HIKSDKStructure { public byte byActive; //是å¦æ¿€æ´»å°ºå¯¸è¿‡æ»¤å™¨ 0-å¦ éž0-是 public byte byMode; //过滤器模å¼SIZE_FILTER_MODE public byte[] byRes = new byte[2]; //ä¿ç•™ï¼Œç½®0 public NET_VCA_RECT struMiniRect; //最å°ç›®æ ‡æ¡†,å…¨0表示ä¸è®¾ç½® public NET_VCA_RECT struMaxRect; //æœ€å¤§ç›®æ ‡æ¡†,å…¨0表示ä¸è®¾ç½® } //尺寸过滤ç–ç•¥ public static class NET_VCA_FILTER_STRATEGY extends HIKSDKStructure { public byte byStrategy; //尺寸过滤ç–ç•¥ 0 - ä¸å¯ç”¨ 1-高度和宽度过滤,2-é¢ç§¯è¿‡æ»¤ public byte[] byRes = new byte[11]; //ä¿ç•™ } //行为分æžæŠ¥è¦ public static class NET_VCA_RULE_ALARM extends HIKSDKStructure { public int dwSize; public int dwRelativeTime; public int dwAbsTime; public NET_VCA_RULE_INFO struRuleInfo; public NET_VCA_TARGET_INFO struTargetInfo; public NET_VCA_DEV_INFO struDevInfo; public int dwPicDataLen; public byte byPicType; public byte byRelAlarmPicNum; //å…³è”通é“报è¦å›¾ç‰‡æ•°é‡ public byte bySmart;//IDS设备返回0(默认值),Smart Functiom Return 1 public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public int dwAlarmID; //报è¦IDï¼Œç”¨ä»¥æ ‡è¯†é€šé“é—´å…³è”产生的组åˆæŠ¥è¦ï¼Œ0è¡¨ç¤ºæ— æ•ˆ public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannelå«ä¹‰ç›¸åŒï¼Œèƒ½è¡¨ç¤ºæ›´å¤§çš„值。è€å®¢æˆ·ç«¯ç”¨byIvmsChannel能继ç»å…¼å®¹ï¼Œä½†æ˜¯æœ€å¤§åˆ°255。新客户端版本请使用wDevInfoIvmsChannelEx。 public byte byRelativeTimeFlag; //dwRelativeTimeå—段是å¦æœ‰æ•ˆ 0-æ— æ•ˆï¼Œ 1-有效,dwRelativeTime表示UTC时间 public byte byAppendInfoUploadEnabled; //é™„åŠ ä¿¡æ¯ä¸Šä¼ 使能 0-ä¸ä¸Šä¼ 1-ä¸Šä¼ public Pointer pAppendInfo; //指å‘é™„åŠ ä¿¡æ¯NET_VCA_APPEND_INFO的指针,byAppendInfoUploadEnabled为1时或者byTimeDiffFlag为1时有效 public Pointer pImage; } public static class NET_DVR_SYSTEM_TIME extends HIKSDKStructure { public short wYear; //å¹´ public short wMonth; //月 public short wDay; //æ—¥ public short wHour; //æ—¶ public short wMinute; //分 public short wSecond; //秒 public short wMilliSec; //毫秒 public byte[] byRes = new byte[2]; } //设备支æŒAI开放平å°æŽ¥å…¥ï¼Œä¸Šä¼ è§†é¢‘æ£€æµ‹æ•°æ® public static class NET_AIOP_VIDEO_HEAD extends HIKSDKStructure { public int dwSize; //dwSize = sizeof(NET_AIOP_VIDEO_HEAD) public int dwChannel; //设备分æžé€šé“的通é“å·ï¼› public NET_DVR_SYSTEM_TIME struTime = new NET_DVR_SYSTEM_TIME(); //时间 public byte[] szTaskID = new byte[64]; //视频任务ID,æ¥è‡ªäºŽè§†é¢‘ä»»åŠ¡æ´¾å‘ public int dwAIOPDataSize; //对应AIOPDdataæ•°æ®é•¿åº¦ public int dwPictureSize; //对应分æžå›¾ç‰‡é•¿åº¦ public byte[] szMPID = new byte[64]; //检测模型包ID,用于匹é…AIOP的检测数æ®è§£æžï¼›å¯ä»¥é€šè¿‡URI(GET /ISAPI/Intelligent/AIOpenPlatform/algorithmModel/management?format=json)获å–当å‰è®¾å¤‡åŠ 载的模型包的label descriptionä¿¡æ¯ï¼› public Pointer pBufferAIOPData; //AIOPDdataæ•°æ® public Pointer pBufferPicture;//对应分æžå›¾ç‰‡æ•°æ® public byte byPictureMode;//图片数æ®ä¼ è¾“æ¨¡å¼ 0-二进制,1-æ¦æ±‰äº‘云å˜å‚¨ï¼Œå½“byPictureMode为0æ—¶pBufferPicture为二进制数æ®ï¼Œå½“byPictureMode为1æ—¶pBufferPicture为æ¦æ±‰äº‘URL public byte[] byRes2 = new byte[3];//ä¿ç•™å—节 public int dwPresetIndex; //预置点åºå· public byte[] byRes = new byte[176]; } //设备支æŒAI开放平å°æŽ¥å…¥ï¼Œä¸Šä¼ å›¾ç‰‡æ£€æµ‹æ•°æ® public static class NET_AIOP_PICTURE_HEAD extends HIKSDKStructure { public int dwSize; //dwSize = sizeof(NET_AIOP_PICTURE_HEAD) public NET_DVR_SYSTEM_TIME struTime = new NET_DVR_SYSTEM_TIME(); //时间 public byte[] szPID = new byte[64]; //é€ä¼ 下å‘的图片ID,æ¥è‡ªäºŽå›¾ç‰‡ä»»åŠ¡æ´¾å‘ public int dwAIOPDataSize; //对应AIOPDdataæ•°æ®é•¿åº¦ public byte byStatus; //状æ€å€¼ï¼š0-æˆåŠŸï¼Œ1-图片大å°é”™è¯¯ public byte[] byRes1 = new byte[3]; public byte[] szMPID = new byte[64]; //检测模型包ID,用于匹é…AIOP的检测数æ®è§£æžï¼› public Pointer pBufferAIOPData;//AIOPDdataæ•°æ® public int dwPresetIndex; //预置点åºå· public byte[] byRes = new byte[180]; } public static class NET_DVR_AI_PICTUR_UPLOAD extends HIKSDKStructure { public int dwSize; public byte[] szTaskID = new byte[64]; //任务id,strlen.max = 64,业务平å°ç»Ÿä¸€ç»´æŠ¤ç®¡ç† public byte[] szPID = new byte[64]; //图片id,strlen.max = 64,业务平å°ç»Ÿä¸€ç»´æŠ¤ç®¡ç† public byte[] byRes = new byte[128]; } // AI开放平å°æŽ¥å…¥è½®è¯¢è§†é¢‘检测报è¦ç»“构体。 public static class NET_AIOP_POLLING_SNAP_HEAD extends HIKSDKStructure { public int dwSize; //dwSize = sizeof(NET_AIOP_POLLING_SNAP_HEAD) public int dwChannel; //设备分æžé€šé“的通é“å·(èµ°SDKåè®®)ï¼› public NET_DVR_SYSTEM_TIME struTime = new NET_DVR_SYSTEM_TIME(); //时间 public byte[] szTaskID = new byte[64]; //轮询抓图任务ID,æ¥è‡ªäºŽè½®è¯¢æŠ“å›¾ä»»åŠ¡æ´¾å‘ public int dwAIOPDataSize; //对应AIOPDdataæ•°æ®é•¿åº¦ public int dwPictureSize; //对应分æžå›¾ç‰‡é•¿åº¦ public byte[] szMPID = new byte[64]; //检测模型包ID,用于匹é…AIOP的检测数æ®è§£æžï¼› public Pointer pBufferAIOPData;//AIOPDdataæ•°æ® public Pointer pBufferPicture;//分æžå›¾ç‰‡æ•°æ® public byte byPictureMode;//图片数æ®ä¼ è¾“æ¨¡å¼ 0-二进制,1-æ¦æ±‰äº‘云å˜å‚¨ï¼Œå½“byPictureMode为0æ—¶pBufferPicture为二进制数æ®ï¼Œå½“byPictureMode为1æ—¶pBufferPicture为æ¦æ±‰äº‘URL public byte[] byRes2 = new byte[3];//ä¿ç•™å—节 public int dwPresetIndex; //预置点åºå· public byte[] byRes = new byte[176]; } // AI开放平å°æŽ¥å…¥è½®è¯¢è§†é¢‘检测报è¦ç»“构体。 public static class NET_AIOP_POLLING_VIDEO_HEAD extends HIKSDKStructure { public int dwSize; //dwSize = sizeof(NET_AIOP_POLLING_VIDEO_HEAD) public int dwChannel; //设备分æžé€šé“的通é“å·(èµ°SDKåè®®)ï¼› public NET_DVR_SYSTEM_TIME struTime; //时间 public byte[] szTaskID = new byte[64]; //轮询抓图任务ID,æ¥è‡ªäºŽè½®è¯¢æŠ“å›¾ä»»åŠ¡æ´¾å‘ public int dwAIOPDataSize; //对应AIOPDdataæ•°æ®é•¿åº¦ public int dwPictureSize; //对应分æžå›¾ç‰‡é•¿åº¦ public byte[] szMPID = new byte[64]; //检测模型包ID,用于匹é…AIOP的检测数æ®è§£æžï¼› public Pointer pBufferAIOPData;//AIOPDdataæ•°æ® public Pointer pBufferPicture;//对应分æžå›¾ç‰‡æ•°æ® public byte byPictureMode;//图片数æ®ä¼ è¾“æ¨¡å¼ 0-二进制,1-æ¦æ±‰äº‘云å˜å‚¨ï¼Œå½“byPictureMode为0æ—¶pBufferPicture为二进制数æ®ï¼Œå½“byPictureMode为1æ—¶pBufferPicture为æ¦æ±‰äº‘URL public byte[] byRes2 = new byte[3];//ä¿ç•™å—节 public int dwPresetIndex; //预置点åºå· public byte[] byRes = new byte[176]; } //规则触å‘å‚æ•° public static class NET_VCA_RULE_TRIGGER_PARAM extends HIKSDKStructure { public byte byTriggerMode; //规则的触å‘æ–¹å¼ï¼Œ0- ä¸å¯ç”¨ï¼Œ1- 轨迹点 2- ç›®æ ‡é¢ç§¯ public byte byTriggerPoint; //触å‘点,触å‘æ–¹å¼ä¸ºè½¨è¿¹ç‚¹æ—¶æœ‰æ•ˆ 0- ä¸,1-上,2-下 public byte[] byRes1 = new byte[2]; //ä¿ç•™ public float fTriggerArea; //触å‘ç›®æ ‡é¢ç§¯ç™¾åˆ†æ¯” [0,100],触å‘æ–¹å¼ä¸ºç›®æ ‡é¢ç§¯æ—¶æœ‰æ•ˆ public byte[] byRes2 = new byte[4]; //ä¿ç•™ } public static class NET_VCA_ONE_RULE_V42 extends HIKSDKStructure { public byte byActive; //是å¦æ¿€æ´»è§„则, 0-å¦ï¼Œéž0-是 public byte byEventPriority;//事件优先级 0-低,1-ä¸ï¼Œ2-高 public byte[] byRes1 = new byte[4]; //ä¿ç•™ï¼Œè®¾ç½®ä¸º0å—段 public short wEventType; //行为事件类型,å‚考VCA_RULE_EVENT_TYPE_EX public byte[] byRuleName = new byte[NAME_LEN/*32*/]; //规则å称 public NET_VCA_EVENT_UNION uEventParam; //行为分æžäº‹ä»¶å‚æ•° public NET_VCA_SIZE_FILTER struSizeFilter; //尺寸过滤器 public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//布防时间 public NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*处ç†æ–¹å¼*/ //异常处ç†æ–¹å¼ä¸æŠ¥è¦è¾“出å·ä¸Žç»„å·ç»‘定,å³ç»„å·ä¸º0时,表示关è”的报è¦è¾“出å·èŒƒå›´ä¸º1-64,当组å·ä¸º1时,表示关è”的报è¦è¾“出å·èŒƒå›´ä¸º65-128, 且是组内紧凑排列,如果é‡åˆ°0xffffffff表示本组 当å‰çš„åŠç»„内åŽç»çš„报è¦å‡ºå·æ— 效 public int[] dwRelRecordChan = new int[MAX_CHANNUM_V30]; /* 报è¦è§¦å‘的录象通é“(四å—节的通é“å·ï¼Œåˆå§‹å€¼æ˜¯ 0xffffffff)*/ //å…³è”的录åƒé€šé“å·ä¸Žç»„å·ç»‘定,å³ç»„å·ä¸º0时,表示关è”的通é“å·èŒƒå›´ä¸º1-64,当组å·ä¸º1时,表示关è”的通é“å·èŒƒå›´ä¸º65-128, 且是组内紧凑排列,如果é‡åˆ°0xffffffff表示本组 当å‰çš„åŠç»„内åŽç»çš„å…³è”通é“å·æ— 效 public short wAlarmDelay; //智能报è¦å»¶æ—¶ï¼Œ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s public byte[] byRes2 = new byte[2]; //ä¿ç•™ public NET_VCA_FILTER_STRATEGY struFilterStrategy; //尺寸过滤ç–ç•¥ public NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //规则触å‘å‚æ•° public byte[] byRes = new byte[32]; } public static class NET_DVR_PTZ_POSITION extends HIKSDKStructure { // 是å¦å¯ç”¨åœºæ™¯ï¼Œåœ¨è®¾ç½®åœºæ™¯è¡Œä¸ºè§„则的时候该å—æ®µæ— æ•ˆï¼Œåœ¨è®¾ç½®çƒæœºæœ¬åœ°é…置场景ä½ç½®ä¿¡æ¯æ—¶ä½œä¸ºä½¿èƒ½ä½ public byte byEnable; public byte[] byRes1 = new byte[3]; //ä¿ç•™ public byte[] byPtzPositionName = new byte[NAME_LEN]; //场景ä½ç½®å称 public NET_DVR_PTZPOS struPtzPos; //ptz åæ ‡ public byte[] byRes2 = new byte[40]; } //行为分æžé…置结构体 public static class NET_VCA_RULECFG_V42 extends HIKSDKStructure { public int dwSize; //ç»“æž„å›¾å¤§å° public byte byPicProType; //报è¦æ—¶å›¾ç‰‡å¤„ç†æ–¹å¼ 0-ä¸å¤„ç† 1-ä¸Šä¼ public byte byUpLastAlarm; //是å¦å…ˆä¸Šä¼ 最近一次的报è¦ï¼Œ0-å¦ï¼Œ1-是 public byte byPicRecordEnable; //是å¦å¯ç”¨å›¾ç‰‡å˜å‚¨, 0-ä¸å¯ç”¨, 1-å¯ç”¨ public byte byRes1; public NET_DVR_JPEGPARA struPicParam; //å›¾ç‰‡è§„æ ¼ç»“æž„ public NET_VCA_ONE_RULE_V42[] struRule = new NET_VCA_ONE_RULE_V42[16]; /* 规则数组*/ public short[] wRelSnapChan = new short[3]; //å…³è”抓图通é“,当主通é“报è¦æ—¶ï¼ŒåŒæ—¶ä¼šä¸Šä¼ å…³è”通é“的抓æ‹å›¾ç‰‡ï¼Œ0表示ä¸å…³è”,其他值为关è”通é“å· public byte byTrackEnable; //是å¦å¯ç”¨è·Ÿè¸ª public byte byRes2; public NET_DVR_PTZ_POSITION struPTZPosition; //场景ä½ç½®ä¿¡æ¯ public short wTrackDuration; //跟踪æŒç»æ—¶é—´ï¼Œå•ä½s public short wIntervalTime; //å•æ¬¡æŠ¥è¦é—´éš”时间(秒)[1-7200](ˆ默认为600) public short wHeightLimit;//ç›®æ ‡æ£€æµ‹é«˜åº¦ä¸‹é™ï¼ˆåŽ˜ç±³ï¼‰[0-250](默认为80cm),å°äºŽæ¤é«˜åº¦çš„ç›®æ ‡å°†ä¸ä½œä¸ºç›®æ ‡è¿›è¡Œæ£€æµ‹ public byte[] byRes = new byte[58];//ä¿ç•™ } public static final int CID_CODE_LEN = 4; public static final int DEV_SERIAL_LEN = 9; public static final int ACCOUNTNUM_LEN = 6; public static final int ACCOUNTNUM_LEN_32 = 32; public static class NET_DVR_CID_ALARM extends HIKSDKStructure { public int dwSize; public byte[] sCIDCode = new byte[CID_CODE_LEN/*4*/]; //CIDäº‹ä»¶å· public byte[] sCIDDescribe = new byte[NAME_LEN/*32*/]; //CID事件å public NET_DVR_TIME_EX struTriggerTime = new NET_DVR_TIME_EX(); //触å‘报è¦çš„时间点 public NET_DVR_TIME_EX struUploadTime = new NET_DVR_TIME_EX(); //ä¸Šä¼ æŠ¥è¦çš„时间点 public byte[] sCenterAccount = new byte[ACCOUNTNUM_LEN/*6*/]; //ä¸å¿ƒå¸å· public byte byReportType; //è§å®šä¹‰NET_DVR_ALARMHOST_REPORT_TYPE public byte byUserType; //用户类型,0-网络用户 1-键盘用户,2-手机用户,3-系统用户 public byte[] sUserName = new byte[NAME_LEN/*32*/]; //网络用户用户å public short wKeyUserNo; //é”®ç›˜ç”¨æˆ·å· 0xFFFFè¡¨ç¤ºæ— æ•ˆ public byte byKeypadNo; //é”®ç›˜å· 0xFFè¡¨ç¤ºæ— æ•ˆ public byte bySubSysNo; //åç³»ç»Ÿå· 0xFFè¡¨ç¤ºæ— æ•ˆ public short wDefenceNo; //é˜²åŒºå· 0xFFFFè¡¨ç¤ºæ— æ•ˆ public byte byVideoChanNo; //视频通é“å· 0xFFè¡¨ç¤ºæ— æ•ˆ public byte byDiskNo; //ç¡¬ç›˜å· 0xFFè¡¨ç¤ºæ— æ•ˆ public short wModuleAddr; //模å—åœ°å€ 0xFFFFè¡¨ç¤ºæ— æ•ˆ public byte byCenterType; //0-æ— æ•ˆ, 1-ä¸å¿ƒè´¦å·(长度6),2-扩展的ä¸å¿ƒè´¦å·(长度9) public byte byRes1; public byte[] sCenterAccountV40 = new byte[ACCOUNTNUM_LEN_32/*32*/]; //ä¸å¿ƒè´¦å·V40,使用æ¤å—段时sCenterAccountæ— æ•ˆ public byte[] byDevSerialNo = new byte[DEV_SERIAL_LEN]; /*产å“åºåˆ—å·*/ public byte byRepeaterNo; //ä¸ç»§å™¨å·ï¼Œä¸º0æ— æ•ˆ public short wRemoteCtrllerUserNo; //é¥æŽ§å™¨ç”¨æˆ·å·ï¼Œä¸º0æ— æ•ˆ public int dwIOTChannelNo; //IOT通é“å· public byte[] byRes2 = new byte[12]; } public static class NET_DVR_SENSOR_ALARM extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public int dwAbsTime; // ç»å¯¹æ—¶æ ‡ä¿¡æ¯ OSDæ˜¾ç¤ºä¿¡æ¯ public byte[] byName = new byte[NAME_LEN]; // sensor å称 public byte bySensorChannel; // 模拟é‡é€šé“ public byte byType; // 模拟é‡ç±»åž‹ public byte byAlarmType; // 1-上4ã€2-上3ã€3-上2ã€4-上1ã€5-下1ã€6-下2ã€7-下3ã€8-下4 和当å‰æ¨¡å¼æœ‰å…³ // 例如当为1000æ—¶,有上1下1,2,3报è¦å››ç§æŠ¥è¦ public byte byAlarmMode; //报è¦æ¨¡å¼ï¼Œäº”ç§ï¼Œ-HHHHã€-HHHLã€-HHLLã€HLLLã€-LLLL, 作为平å°æŠ¥è¦ç¨‹åº¦åˆ¤æ–功能,å³ï¼š1111(上上上上),1110(上上上下),1100(上上下下),1000(上下下下),0000(下下下下) public float fValue; // 但å‰æ¨¡æ‹Ÿé‡çš„值 public float fOriginalValue; //原始电æµç”µåŽ‹å€¼ï¼Œä¿ç•™å°æ•°ç‚¹åŽä¸‰ä½ï¼Œå…·ä½“值表示电æµè¿˜æ˜¯ç”µåŽ‹æ ¹æ®NET_DVR_SENSOR_INFOçš„bySensorStandard类型 public byte[] byRes2 = new byte[28]; // ä¿ç•™å—节 } //开关é‡æŠ¥è¦ä¸Šä¼ public static class NET_DVR_SWITCH_ALARM extends HIKSDKStructure { public int dwSize; public byte[] byName = new byte[NAME_LEN]; // switch å称 public short wSwitchChannel; // 开关é‡é€šé“, 0-255 public byte byAlarmType; // 报è¦ç±»åž‹ 0--æ£å¸¸ï¼Œ1--çŸè·¯ï¼Œ2--æ–è·¯,3-异常 public byte[] byRes = new byte[41]; // ä¿ç•™å—节 } public static class NET_DVR_ALARMHOST_EXCEPTION_ALARM extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° // 异常å‚æ•° 1-è®¾å¤‡é˜²æ‹†æŠ¥è¦ 2-设备防拆åŽåŽæ¢å¤æ£å¸¸ 3-主电æºæŽ‰ç”µæŠ¥è¦ 4-主电æºæŽ‰ç”µåŽæ¢å¤æ£å¸¸ 5-å†…éƒ¨é€šä¿¡æ•…éšœæŠ¥è¦ // 6-内部通信故障åŽæ¢å¤æ£å¸¸ 7-电è¯çº¿æ–线 8-电è¯çº¿æ–线æ¢å¤ 9-è‡ªæ£€å¤±è´¥æŠ¥è¦ 10-自检失败åŽæ¢å¤æ£å¸¸ // 11è“„ç”µæ± æ¬ åŽ‹ 12è“„ç”µæ± ç”µåŽ‹æ¢å¤æ£å¸¸ï¼Œ13-è“„ç”µæ± æ•…éšœï¼›14-MBUS模å—掉线;15-MBUS模å—掉线æ¢å¤ï¼›16-键盘掉线; //17-键盘掉线æ¢å¤ï¼›18-设备被移动;19-设备被移动å¤ä½ 20-485外设线路æ–æŠ¥è¦ 21-485外设线路æ–åŽæ¢å¤æ£å¸¸ //25-åæ¿1æ’上,26-åæ¿1拔出, 27-åæ¿2æ’上,28-åæ¿2拔出 public int dwExceptionType; public byte[] byRes = new byte[36]; // ä¿ç•™ } public static class NET_DVR_ALARMHOST_POINT_VALUE extends HIKSDKStructure { public byte byChanType; //接入类型,1-本地模拟é‡é€šé“,2-本地开关é‡é€šé“,3-485通é“,4-ç½‘ç»œé€šé“ public byte byPointType; //点类型,1-é¥æµ‹ï¼ˆæ¨¡æ‹Ÿé‡ï¼‰ï¼Œ2-é¥ä¿¡ï¼ˆå¼€å…³é‡ï¼‰ public byte[] byRes1 = new byte[2]; //ä¿ç•™ public int dwChanNo; //485通é“å·ï¼Œ0xffffffffè¡¨ç¤ºæ— æ•ˆï¼Œé€šé“类型为1时:表示本地模拟é‡é€šé“å·ï¼Œé€šé“类型为2时表示本地开关é‡é€šé“å·ï¼Œé€šé“类型为3时表示485通é“å·ã€‚ public int dwSubChanNo; //槽ä½å·ï¼Œ 0xffffffffè¡¨ç¤ºæ— æ•ˆï¼Œé€šé“类型为3时使用 public int dwVariableNo; //å˜é‡ç¼–å·ï¼Œ0xffffffffè¡¨ç¤ºæ— æ•ˆ public int dwPointNo; //104点å·ï¼Œ0xffffffffè¡¨ç¤ºæ— æ•ˆ public int iValue; //监测点的值,表示低32ä½ public int iValueEx; //监测点的值,表示高32ä½ public byte[] byRes = new byte[12]; } public static class NET_DVR_ALARMHOST_DATA_UNION extends HIKSDKStructure { public byte[] byLength = new byte[40]; public NET_DVR_ALARMHOST_POINT_VALUE struPointValue; //ç›‘æµ‹ç‚¹å®žæ—¶æ•°æ® } public static class NET_DVR_ALARMHOST_DATA_UPLOAD extends HIKSDKStructure { public int dwSize; public byte byDataType; //æ•°æ®ç±»åž‹ï¼Œ1-监测点实时数æ®ä¸Šä¼ public byte[] byRes1 = new byte[3]; public NET_DVR_ALARMHOST_DATA_UNION struAlarmData; public byte[] byRes2 = new byte[32]; } //车牌识别结果å结构 public static class NET_DVR_PLATE_INFO extends HIKSDKStructure { public byte byPlateType; //车牌类型 public byte byColor; //车牌颜色 public byte byBright; //车牌亮度 public byte byLicenseLen; //车牌å—符个数 public byte byEntireBelieve; //整个车牌的置信度,-100 public byte byRegion; // 区域索引值 0-ä¿ç•™ï¼Œ1-欧洲(EU),2-ä¿„è¯åŒºåŸŸ(ER),3-欧洲&ä¿„ç½—æ–¯(EU&CIS) ,4-ä¸ä¸œ(ME),0xff-所有 public byte byCountry; // 国家索引值,å‚照枚举COUNTRY_INDEX(ä¸æ”¯æŒ"COUNTRY_ALL = 0xff, //ALL 全部") public byte byArea; //区域(çœä»½ï¼‰ï¼Œå„国家内部区域枚举,阿è”é…‹å‚ç…§ EMI_AREA public byte byPlateSize; //车牌尺寸,0~未知,1~long, 2~short(ä¸ä¸œè½¦ç‰Œä½¿ç”¨) public byte byAddInfoFlag; public short wCRIndex;//国家/地区索引,索引值å‚考_CR_ INDEX_ public byte[] byRes = new byte[12]; //ä¿ç•™ public byte[] sPlateCategory = new byte[8];//è½¦ç‰Œé™„åŠ ä¿¡æ¯, å³ä¸ä¸œè½¦ç‰Œä¸è½¦ç‰Œå·ç æ—边的å°å—ä¿¡æ¯ï¼Œ(ç›®å‰åªæœ‰ä¸ä¸œåœ°åŒºæ”¯æŒ) public int dwXmlLen; //XML报è¦ä¿¡æ¯é•¿åº¦ public Pointer pXmlBuf; // XML报è¦ä¿¡æ¯æŒ‡é’ˆ,报è¦ç±»åž‹ä¸º COMM_ITS_PLATE_RESUL时有效,其XML对应到EventNotificationAlert XML Block public NET_VCA_RECT struPlateRect = new NET_VCA_RECT(); //车牌ä½ç½® public byte[] sLicense = new byte[MAX_LICENSE_LEN]; //车牌å·ç ,注:ä¸ä¸œè½¦ç‰Œéœ€æ±‚把å°å—也纳入车牌å·ç ,å°å—和车牌å·ä¸é—´ç”¨ç©ºæ ¼åˆ†éš” public byte[] byBelieve = new byte[MAX_LICENSE_LEN]; //å„个识别å—符的置信度,如检测到车牌"æµ™A12345", 置信度为,20,30,40,50,60,70,则表示"æµ™"å—æ£ç¡®çš„å¯èƒ½æ€§åªæœ‰%,"A"å—çš„æ£ç¡®çš„å¯èƒ½æ€§æ˜¯% } public static class NET_DVR_VEHICLE_INFO extends HIKSDKStructure { public int dwIndex; //车辆åºå· public byte byVehicleType; //车辆类型 0 表示其它车型,1 表示å°åž‹è½¦ï¼Œ2 表示大型车 ,3è¡¨ç¤ºè¡Œäººè§¦å‘ ,4è¡¨ç¤ºäºŒè½®è½¦è§¦å‘ 5表示三轮车触å‘(3.5Ver) public byte byColorDepth; //车身颜色深浅 public byte byColor; //车身颜色,å‚考VCR_CLR_CLASS /*雷达异常状æ€ï¼š 0~é›·è¾¾æ£å¸¸ï¼Œ 1~雷达故障 2~雷达一直å‘é€æŸä¸€ä¸ªç›¸åŒé€Ÿåº¦å€¼ 3~é›·è¾¾é€å‡ºæ•°æ®ä¸º0 4~é›·è¾¾é€å‡ºæ•°æ®è¿‡å¤§æˆ–è€…è¿‡å° */ public byte byRadarState; public short wSpeed; //å•ä½km/h public short wLength; //å‰ä¸€è¾†è½¦çš„车身长度 /*è¿è§„类型,0-æ£å¸¸ï¼Œ1-低速,2-超速,3-逆行,4-闯红ç¯,5-压车é“线,6-ä¸æŒ‰å¯¼å‘,7-è·¯å£æ»žç•™ï¼Œ 8-机å éžï¼Œ9-è¿æ³•å˜é“,10-ä¸æŒ‰è½¦é“ 11-è¿åç¦ä»¤ï¼Œ12-è·¯å£åœè½¦ï¼Œ13-绿ç¯åœè½¦, 14-未礼让行人(è¿æ³•ä»£ç 1357), 15-è¿ç« åœè½¦ï¼Œ16-è¿ç« 掉头,17-å 用应急车é“,18-ç¦å³,19-ç¦å·¦,20-压黄线,21-未系安全带,22-行人闯红ç¯,23-åŠ å¡ž,24-è¿æ³•ä½¿ç”¨è¿œå…‰ç¯ï¼Œ 25-驾驶时拨打接å¬æ‰‹æŒç”µè¯ï¼Œ26-左转ä¸è®©ç›´è¡Œï¼Œ27-å³è½¬ä¸è®©å·¦è½¬ï¼Œ28-掉头ä¸è®©ç›´è¡Œï¼Œ29-大弯å°è½¬, 30-闯绿ç¯ï¼Œ31-未带头盔, 32-éžæœºåŠ¨è½¦è½½äººï¼Œ33-éžæœºåŠ¨è½¦å 用机动车é“,34-éžæœºåŠ¨è½¦æ‰“伞棚, 35-黑烟车, 36-鸣笛*/ public byte byIllegalType; public byte byVehicleLogoRecog; //å‚考枚举类型 VLR_VEHICLE_CLASS public byte byVehicleSubLogoRecog; //车辆å“牌å类型识别;å‚考VSB_VOLKSWAGEN_CLASSç‰å类型枚举。 public byte byVehicleModel; //车辆åå“牌年款,0-未知,å‚考"车辆åå“牌年款.xlsx" public byte[] byCustomInfo = new byte[16]; //è‡ªå®šä¹‰ä¿¡æ¯ public short wVehicleLogoRecog; //车辆主å“牌,å‚考"车辆主å“牌.xlsx" (该å—段兼容byVehicleLogoRecog); public byte byIsParking;//是å¦åœè½¦ 0-æ— æ•ˆï¼Œ1-åœè½¦ï¼Œ2-未åœè½¦ public byte byRes;//ä¿ç•™å—节 public int dwParkingTime; //åœè½¦æ—¶é—´ï¼Œå•ä½ï¼šs public byte[] byRes3 = new byte[8]; } //æ‰‹åŠ¨æŠ“æ‹ public static class NET_DVR_MANUALSNAP extends HIKSDKStructure { public byte byOSDEnable;//0-ä¸å…³é—(默认),1-å…³é— public byte byLaneNo;//车é“å·, 范围为1-6,默认为1(抓æ‹æœºå†…部测试使用) public byte byChannel;//通é“å· public byte[] byRes = new byte[21]; //ä¿ç•™ } //交通抓æ‹ç»“æžœä¿¡æ¯ public static class NET_DVR_PLATE_RESULT extends HIKSDKStructure { public int dwSize; public byte byResultType; public byte byChanIndex; public short wAlarmRecordID; public int dwRelativeTime; public byte[] byAbsTime = new byte[32]; public int dwPicLen; public int dwPicPlateLen; public int dwVideoLen; public byte byTrafficLight; public byte byPicNum; public byte byDriveChan; public byte byVehicleType; public int dwBinPicLen; public int dwCarPicLen; public int dwFarCarPicLen; public Pointer pBuffer3; public Pointer pBuffer4; public Pointer pBuffer5; public byte[] byRes3 = new byte[8]; public NET_DVR_PLATE_INFO struPlateInfo; public NET_DVR_VEHICLE_INFO struVehicleInfo; public Pointer pBuffer1; public Pointer pBuffer2; } public static class NET_DVR_TIME_V30 extends HIKSDKStructure { public short wYear; public byte byMonth; public byte byDay; public byte byHour; public byte byMinute; public byte bySecond; public byte byRes; public short wMilliSec; public byte[] byRes1 = new byte[2]; } public static class NET_ITS_PICTURE_INFO extends HIKSDKStructure { public int dwDataLen; public byte byType; public byte byDataType; public byte byCloseUpType; public byte byPicRecogMode; public int dwRedLightTime; public byte[] byAbsTime = new byte[32]; public NET_VCA_RECT struPlateRect = new NET_VCA_RECT(); public NET_VCA_RECT struPlateRecgRect = new NET_VCA_RECT(); public Pointer pBuffer; public int dwUTCTime;//UTC时间 public byte byCompatibleAblity;//兼容能力å—段,按ä½è¡¨ç¤ºï¼Œå€¼ï¼š0- æ— æ•ˆï¼Œ1- 有效 public byte byTimeDiffFlag; /*时差å—段是å¦æœ‰æ•ˆ 0-æ—¶å·®æ— æ•ˆï¼Œ 1-时差有效 */ public byte cTimeDifferenceH; /*与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, +表示东区,,byTimeDiffFlag为1时有效*/ public byte cTimeDifferenceM; /*与UTC的时差(分钟),-30, 30, 45, +表示东区,byTimeDiffFlag为1时有效*/ public byte[] byRes2 = new byte[4]; } public static class NET_ITS_PLATE_RESULT extends HIKSDKStructure { public int dwSize; public int dwMatchNo; public byte byGroupNum; public byte byPicNo; public byte bySecondCam; public byte byFeaturePicNo; public byte byDriveChan; public byte byVehicleType; public byte byDetSceneID; public byte byVehicleAttribute; public short wIllegalType; public byte[] byIllegalSubType = new byte[8]; public byte byPostPicNo; public byte byChanIndex; public short wSpeedLimit; public byte byChanIndexEx; //byChanIndexEx*256+byChanIndex表示真实通é“å·ã€‚ public byte byRes2; public NET_DVR_PLATE_INFO struPlateInfo = new NET_DVR_PLATE_INFO(); public NET_DVR_VEHICLE_INFO struVehicleInfo = new NET_DVR_VEHICLE_INFO(); public byte[] byMonitoringSiteID = new byte[48]; public byte[] byDeviceID = new byte[48]; public byte byDir; public byte byDetectType; public byte byRelaLaneDirectionType; public byte byCarDirectionType; public int dwCustomIllegalType; public Pointer pIllegalInfoBuf; public byte byIllegalFromatType; public byte byPendant; public byte byDataAnalysis; public byte byYellowLabelCar; public byte byDangerousVehicles; public byte byPilotSafebelt; public byte byCopilotSafebelt; public byte byPilotSunVisor; public byte byCopilotSunVisor; public byte byPilotCall; public byte byBarrierGateCtrlType; public byte byAlarmDataType; public NET_DVR_TIME_V30 struSnapFirstPicTime = new NET_DVR_TIME_V30(); public int dwIllegalTime; public int dwPicNum; public NET_ITS_PICTURE_INFO[] struPicInfo = new NET_ITS_PICTURE_INFO[6]; } public int MAX_PARKNO_LEN = 16; //车ä½ç¼–å·é•¿åº¦ public int MAX_ID_LEN = 48; //ç¼–å·æœ€å¤§é•¿åº¦ //åœè½¦åœºæ•°æ®ä¸Šä¼ public static class NET_ITS_PARK_VEHICLE extends HIKSDKStructure { public int dwSize; //结构长度 public byte byGroupNum; //图片组数é‡ï¼ˆå•æ¬¡è½®è¯¢æŠ“æ‹çš„图片数é‡ï¼‰ public byte byPicNo; //è¿žæ‹çš„å›¾ç‰‡ç»„ä¸Šä¼ å›¾ç‰‡åºå·ï¼ˆæŽ¥æ”¶åˆ°å›¾ç‰‡ç»„æ•°é‡åŽï¼Œè¡¨ç¤ºæŽ¥æ”¶å®Œæˆ //接收超时ä¸è¶³å›¾ç‰‡ç»„æ•°é‡æ—¶ï¼Œæ ¹æ®éœ€è¦ä¿ç•™æˆ–åˆ é™¤ï¼‰ public byte byLocationNum; //å•å¼ 图片所管ç†çš„车ä½æ•° public byte byParkError; //åœè½¦å¼‚常,0-æ£å¸¸ 1 异常 public byte[] byParkingNo = new byte[MAX_PARKNO_LEN];//车ä½ç¼–å· public byte byLocationStatus; //车ä½è½¦è¾†çŠ¶æ€ï¼Œ0-æ— è½¦ï¼Œ1有车 public byte bylogicalLaneNum;//逻辑车ä½å·ï¼Œ0-3,一个相机最大能管4ä¸ªè½¦ä½ ï¼ˆ0代表最左边,3代表最å³è¾¹ï¼‰ public short wUpLoadType;//第零ä½è¡¨ç¤ºï¼š0~è½®è®ä¸Šä¼ ã€1~å˜åŒ–ä¸Šä¼ public byte[] byRes1 = new byte[4]; //ä¿ç•™å—节 public int dwChanIndex; //通é“å·æ•°å—é€šé“ public NET_DVR_PLATE_INFO struPlateInfo; //车牌信æ¯ç»“æž„ public NET_DVR_VEHICLE_INFO struVehicleInfo; //è½¦è¾†ä¿¡æ¯ public byte[] byMonitoringSiteID = new byte[MAX_ID_LEN]; //ç›‘æµ‹ç‚¹ç¼–å· public byte[] byDeviceID = new byte[MAX_ID_LEN]; //è®¾å¤‡ç¼–å· public int dwPicNum; //图片数é‡ï¼ˆä¸ŽpicGroupNumä¸åŒï¼Œä»£è¡¨æœ¬æ¡ä¿¡æ¯é™„带的图片数é‡ï¼Œå›¾ç‰‡ä¿¡æ¯ç”±struVehicleInfoEx定义 public NET_ITS_PICTURE_INFO[] struPicInfo = new NET_ITS_PICTURE_INFO[2]; //图片信æ¯,å•å¼ 回调,最多2å¼ å›¾ï¼Œç”±åºå·åŒºåˆ† public byte[] byRes2 = new byte[256]; } public static class NET_DVR_SNAPCFG extends HIKSDKStructure { public int dwSize; public byte byRelatedDriveWay;//触å‘IOå…³è”的车é“å· public byte bySnapTimes; //线圈抓æ‹æ¬¡æ•°ï¼Œ0-ä¸æŠ“æ‹ï¼Œéž0-è¿žæ‹æ¬¡æ•°ï¼Œç›®å‰æœ€å¤§5次 public short wSnapWaitTime; //抓æ‹ç‰å¾…时间,å•ä½ms,å–值范围[0,60000] public short[] wIntervalTime = new short[MAX_INTERVAL_NUM];//è¿žæ‹é—´éš”时间,ms public int dwSnapVehicleNum; //抓æ‹è½¦è¾†åºå·ã€‚ public NET_DVR_JPEGPARA struJpegPara;//抓æ‹å›¾ç‰‡å‚æ•° public byte[] byRes2 = new byte[16]; } // é“闸控制 public static class NET_DVR_BARRIERGATE_CFG extends HIKSDKStructure { public int dwSize; public int dwChannel; //通é“å· public byte byLaneNo; //é“é—¸å·ï¼ˆ0-è¡¨ç¤ºæ— æ•ˆå€¼(设备需è¦åšæœ‰æ•ˆå€¼åˆ¤æ–),1-é“é—¸1) /* è‹¥è€çš„å¹³å°ä¸æ”¯æŒbyUnlockå—段,该å—段将赋值为0,通过“0-å…³é—é“é—¸,1-å¼€å¯é“é—¸,2-åœæ¢é“é—¸â€ä¸çš„任何一ç§æ“作皆å¯è¿›è¡Œè§£é”。 若新平å°æ”¯æŒbyUnlockå—段,需byUnlockå—段赋值为1,并结åˆ4~解é”é“é—¸æ¥è¿›è¡Œè§£é”。byUnlockå—段赋值为1åŽï¼Œâ€œ0-å…³é—é“é—¸,1-å¼€å¯é“é—¸,2-åœæ¢é“é—¸â€æ“作将ä¸å¯ç”¨äºŽè§£é”。 */ public byte byBarrierGateCtrl;//0-å…³é—é“é—¸,1-å¼€å¯é“é—¸,2-åœæ¢é“é—¸ 3-é”定é“é—¸,4~解é”é“é—¸ public byte byEntranceNo;//出入å£ç¼–å· [1,8] public byte byUnlock;//å¯ç”¨è§£é”使能,0~为ä¸å¯ç”¨ï¼Œ1~å¯ç”¨ public byte[] byRes = new byte[12]; } public static class NET_DVR_AGEGROUP_PARAM extends HIKSDKStructure { public int dwTeenage;//少年(人数) public int dwYouth;//é’年(人数) public int dwMidLife;//ä¸å¹´ï¼ˆäººæ•°ï¼‰ public int dwElderly;//è€å¹´ï¼ˆäººæ•°ï¼‰ public int dwChild;//儿童(人数) public int dwAdolescent;//é’少年(人数) public int dwPrime;//壮年(人数) public int dwMidage;//ä¸è€å¹´ï¼ˆäººæ•°ï¼‰ public byte[] byRes = new byte[48]; } public static class NET_DVR_SEXGROUP_PARAM extends HIKSDKStructure { public int dwMale;//男(人数) public int dwFemale;//女(人数) public byte[] byRes = new byte[64]; } public static class NET_DVR_PROGRAM_INFO extends HIKSDKStructure { public int dwProgramNo; //èŠ‚ç›®ç¼–å· public byte[] sProgramName = new byte[NAME_LEN]; //节目å称 public byte[] byRes = new byte[16]; } public static class NET_DVR_FACECAPTURE_STATISTICS_RESULT extends HIKSDKStructure { public int dwSize; public NET_DVR_TIME_EX struStartTime;/*间隔开始时间*/ public NET_DVR_TIME_EX struEndTime;/*间隔结æŸæ—¶é—´*/ public byte byStatType;//æ•°æ®ç±»åž‹ç»Ÿè®¡ï¼šBit0-年龄段有效,Bit1-性别有效,Bit2-人数有效 public byte[] byRes = new byte[7]; public int dwPeopleNum;//人数统计 public NET_DVR_AGEGROUP_PARAM struAgeGroupParam;//年龄段人数统计 public NET_DVR_SEXGROUP_PARAM struSexGroupParam;//性别人数统计 public NET_DVR_PROGRAM_INFO struProgramInfo; //èŠ‚ç›®ä¿¡æ¯ public byte[] byRes1 = new byte[76]; } //获å–交通数æ®æ¡ä»¶ç»“æž„ public static class NET_DVR_TRAFFIC_DATA_QUERY_COND extends HIKSDKStructure { public int dwSize; /* Bit0-通é“有效 Bit1-时间有效 Bit2-车牌å·æœ‰æ•ˆ Bit3-车牌类型有效 Bit4-车牌颜色有效 Bit5-车身颜色有效 Bit6-车辆类型有效 Bit7-车辆å“牌有效 Bit8-车é“å·æœ‰æ•ˆ Bit9-监测方å‘有效 Bit10-最低速度有效 Bit11-最高速度有效 Bit12-æ•°æ®ç±»åž‹æœ‰æ•ˆ Bit13-布控方å¼ç±»åž‹æœ‰æ•ˆ Bit14-è¿æ³•å–è¯æœ‰æ•ˆ Bit15-事件类型有效 Bit16-å–è¯ç±»åž‹æœ‰æ•ˆ */ public int dwQueryCond;//查询æ¡ä»¶ 0è¡¨ç¤ºæ— æ•ˆï¼Œ1表示有效 public int dwChannel;//默认是1([1~32],bit0表示通é“1,ä¾æ¬¡ç±»æŽ¨bit31表示通é“32) public NET_DVR_TIME_V30 struStartTime;//开始时间 public NET_DVR_TIME_V30 struEndTime;//结æŸæ—¶é—´ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/];//(设备支æŒæ¨¡ç³ŠæŸ¥è¯¢, GB2312ç¼–ç ) /* Bit0-未知(其他) Bit1-æ ‡å‡†æ°‘ç”¨è½¦ä¸Žå†›è½¦ Bit2-02å¼æ°‘用车牌 Bit3-æ¦è¦è½¦ Bit4-è¦è½¦ Bit5-民用车åŒè¡Œå°¾ç‰Œ Bit6-使馆车牌 Bit7-农用车 Bit8-摩托车 */ public int dwPlateType;//车牌类型(支æŒæŒ‰ä½è¡¨ç¤ºï¼Œå¯ä»¥å¤é€‰ï¼‰ /* Bit0-未知(其他) Bit1-黄色 Bit2-白色 Bit3-黑色 Bit4-绿色 Bit5-è“色 */ public int dwPlateColor;//车牌颜色(支æŒæŒ‰ä½è¡¨ç¤ºï¼Œå¯ä»¥å¤é€‰ï¼‰ /* Bit0-未ª知(其他) Bit1-白色 Bit2-银色 Bit3-ç°è‰² Bit4-黑色 Bit5-红色 Bit6-æ·±è“色 Bit7-è“色 Bit8-黄色 Bit9-绿色 Bit10-棕色 Bit11-粉色 Bit12-紫色 Bit13-æ·±ç°è‰² */ public int dwVehicleColor;//车身颜色(支æŒæŒ‰ä½è¡¨ç¤ºï¼Œå¯ä»¥å¤é€‰ï¼‰ /* Bit0-未知(其他) Bit1-客车 Bit2-大货车 Bit3-轿车 Bit4-é¢åŒ…车 Bit5-å°è´§è½¦ Bit6-行人 Bit7-二轮车 Bit8-三轮车 Bit9-SUV/MPV Bit10-ä¸åž‹å®¢è½¦ */ public int dwVehicleType;//车辆类型(支æŒæŒ‰ä½è¡¨ç¤ºï¼Œå¯ä»¥å¤é€‰ï¼‰ /** * Bit0-其他(ä¿ç•™ï¼‰ * Bit1-低速 * Bit2-超速 * Bit3-逆行 * Bit4-é—¯çº¢ç¯ * Bit5-压车é“线 * Bit6-ä¸æŒ‰å¯¼å‘ * Bit7-è·¯å£æ»žç•™ * Bit8-机å éž * Bit9-è¿æ³•å˜é“ * Bit10-ä¸æŒ‰è½¦é“ * Bit11-è¿åç¦ä»¤ * Bit12-è·¯å£åœè½¦ * Bit13-绿ç¯åœè½¦ * Bit14-未礼让行人 * Bit15-è¿ç« åœè½¦ * Bit16-è¿ç« 掉头 * Bit17-å ç”¨åº”æ€¥è½¦é“ * Bit18-未系安全带 */ public int dwIllegalType; /** * Bit0-其他(ä¿ç•™ï¼‰ * Bit1-æ‹¥å µ * Bit2-åœè½¦ * Bit3-逆行 * Bit4-行人 * Bit5-抛洒物 * Bit6-烟雾 * Bit7-压线 * Bit8-ç¦æ¢åå• * Bit9-超速 * Bit10-å˜é“ * Bit11-掉头 * Bit12-机å éž * Bit13-åŠ å¡ž */ public int dwEventType; /** * Bit0-其他(ä¿ç•™ï¼‰ * Bit1-城市公路è¿æ³•åœè½¦ * Bit2-高速公路è¿æ³•åœè½¦ * Bit3-压线 * Bit4-逆行 * Bit5-è¿æ³•å˜é“ * Bit6-机å éž */ public int dwForensiceType; public short wVehicleLogoRecog; //车辆主å“牌,å‚考"车辆主å“牌.xlsx" (仅å•é€‰ï¼‰ public byte byLaneNo;//车é“å·ï¼ˆ0~255,0å·è½¦é“ 表示 车é“å·æœªçŸ¥ï¼‰ public byte byDirection;//监测方å‘,1-上行,2-下行,3-åŒå‘,4-由东å‘西,5-ç”±å—å‘北,6-由西å‘东,7-由北å‘å— public short wMinSpeed;//最低速度(0~999)å•ä½km/h public short wMaxSpeed;//最高速度(0~999)å•ä½km/h public byte byDataType;//æ•°æ®ç±»åž‹ 0-å¡å£æ•°æ®ï¼Œ1-è¿æ³•æ•°æ®ï¼Œ2-交通事件,3-å–è¯æ•°æ® (仅å•é€‰ï¼‰ public byte byExecuteCtrl;//布控 0-å…许åå•ï¼Œ1-ç¦æ¢åå•ï¼Œ0xff-其他 public byte[] byRes = new byte[254]; } public static final int MAX_TRAFFIC_PICTURE_NUM = 8; //äº¤é€šå›¾ç‰‡æ•°é‡ //交通数æ®ç»“构体 public static class NET_DVR_TRAFFIC_DATA_QUERY_RESULT extends HIKSDKStructure { public int dwSize; public int dwChannel;//默认是1([1~32]) public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; /* Bit0-未知(其他) Bit1-æ ‡å‡†æ°‘ç”¨è½¦ä¸Žå†›è½¦ Bit2-02å¼æ°‘用车牌 Bit3-æ¦è¦è½¦ Bit4-è¦è½¦ Bit5-民用车åŒè¡Œå°¾ç‰Œ Bit6-使馆车牌 Bit7-农用车 Bit8-摩托车 */ public int dwPlateType;//车牌类型 /* Bit0-未知(其他) Bit1-黄色 Bit2-白色 Bit3-黑色 Bit4-绿色 Bit5-è“色 */ public int dwPlateColor;//车牌颜色 /* Bit0-未知(其他) Bit1-白色 Bit2-银色 Bit3-ç°è‰² Bit4-黑色 Bit5-红色 Bit6-æ·±è“色 Bit7-è“色 Bit8-黄色 Bit9-绿色 Bit10-棕色 Bit11-粉色 Bit12-紫色 Bit13-æ·±ç°è‰² */ public int dwVehicleColor;//车身颜色 /* Bit0-未知(其他) Bit1-客车 Bit2-大货车 Bit3-轿车 Bit4-é¢åŒ…车 Bit5-å°è´§è½¦ Bit6-行人 Bit7-二轮车 Bit8-三轮车 Bit9-SUV/MPV Bit10-ä¸åž‹å®¢è½¦ Bit11-机动车 Bit12-éžæœºåŠ¨è½¦ Bit13-å°åž‹è½¿è½¦ Bit14-微型轿车 Bit15-çš®å¡è½¦ Bit16-集装箱å¡è½¦ Bit17-å¾®å¡ï¼Œæ æ¿å¡ Bit18-渣土车 Bit19-åŠè½¦ï¼Œå·¥ç¨‹è½¦ Bit20-æ²¹ç½è½¦ Bit21-æ··å‡åœŸæ…拌车 Bit22-å¹³æ¿æ‹–车 Bit23-两厢轿车 Bit24-三厢轿车 Bit25-轿跑 Bit26-å°åž‹å®¢è½¦ */ public int dwVehicleType;//车辆类型 /** * Bit0-其他(ä¿ç•™ï¼‰ * Bit1-低速 * Bit2-超速 * Bit3-逆行 * Bit4-é—¯çº¢ç¯ * Bit5-压车é“线 * Bit6-ä¸æŒ‰å¯¼å‘ * Bit7-è·¯å£æ»žç•™ * Bit8-机å éž * Bit9-è¿æ³•å˜é“ * Bit10-ä¸æŒ‰è½¦é“ * Bit11-è¿åç¦ä»¤ * Bit12-è·¯å£åœè½¦ * Bit13-绿ç¯åœè½¦ * Bit14-未礼让行人 * Bit15-è¿ç« åœè½¦ * Bit16-è¿ç« 掉头 * Bit17-å ç”¨åº”æ€¥è½¦é“ * Bit18-未系安全带 */ public int dwIllegalType; /** * Bit0-其他(ä¿ç•™ï¼‰ * Bit1-æ‹¥å µ * Bit2-åœè½¦ * Bit3-逆行 * Bit4-行人 * Bit5-抛洒物 * Bit6-烟雾 * Bit7-压线 * Bit8-ç¦æ¢åå• * Bit9-超速 * Bit10-å˜é“ * Bit11-掉头 * Bit12-机å éž * Bit13-åŠ å¡ž */ public int dwEventType; /** * Bit0-其他(ä¿ç•™ï¼‰ * Bit1-城市公路è¿æ³•åœè½¦ * Bit2-高速公路è¿æ³•åœè½¦ * Bit3-压线 * Bit4-逆行 * Bit5-è¿æ³•å˜é“ * Bit6-机å éž */ public int dwForensiceType; public short wVehicleLogoRecog; //车辆主å“牌,å‚考"车辆主å“牌.xlsx" public byte byLaneNo;//车é“å·ï¼ˆ0~255,0å·è½¦é“ 表示 车é“å·æœªçŸ¥ï¼‰ public byte byDirection;//监测方å‘,1-上行,2-下行,3-åŒå‘,4-由东å‘西,5-ç”±å—å‘北,6-由西å‘东,7-由北å‘å— public short wSpeed;//速度(0~999)å•ä½km/h public byte byDataType;//æ•°æ®ç±»åž‹: 0-å¡å£ 1-è¿æ³• 2-事件 3-å–è¯ public byte[] byRes = new byte[253]; public NET_DVR_TRAFFIC_PICTURE_PARAM[] struTrafficPic = new NET_DVR_TRAFFIC_PICTURE_PARAM[MAX_TRAFFIC_PICTURE_NUM/*8*/]; } //交通图片å‚æ•°å结构 public static final int PICTURE_NAME_LEN = 64; public static class NET_DVR_TRAFFIC_PICTURE_PARAM extends HIKSDKStructure { public NET_DVR_TIME_V30 struRelativeTime = new NET_DVR_TIME_V30(); //抓æ‹ç›¸å¯¹æ—¶æ ‡ public NET_DVR_TIME_V30 struAbsTime = new NET_DVR_TIME_V30(); //抓æ‹ç»å¯¹æ—¶æ ‡ public byte[] szPicName = new byte[PICTURE_NAME_LEN/*64*/]; public byte byPicType;//图片类型 0-车牌图,1-抓æ‹åŽŸå›¾ï¼Œ2-åˆæˆå›¾ï¼Œ3-特写图 public byte[] byRes = new byte[63]; } public static class NET_DVR_VEHICLE_CONTROL_COND extends HIKSDKStructure { public int dwChannel; public int dwOperateType; public byte[] sLicense = new byte[MAX_LICENSE_LEN]; public byte[] sCardNo = new byte[48]; public byte byListType; public byte[] byRes1 = new byte[3]; public int dwDataIndex; public byte[] byRes = new byte[116]; } public static class NET_DVR_VEHICLE_CONTROL_LIST_INFO extends HIKSDKStructure { public int dwSize; public int dwChannel; public int dwDataIndex; public byte[] sLicense = new byte[16]; public byte byListType; public byte byPlateType; public byte byPlateColor; public byte[] byRes = new byte[21]; public byte[] sCardNo = new byte[48]; public NET_DVR_TIME_V30 struStartTime = new NET_DVR_TIME_V30(); public NET_DVR_TIME_V30 struStopTime = new NET_DVR_TIME_V30(); public byte[] sOperateIndex = new byte[32]; public byte[] byRes1 = new byte[224]; } //è½¦è¾†æŠ¥è¦ public static class NET_DVR_VEHICLE_CONTROL_ALARM extends HIKSDKStructure { public int dwSize; public byte byListType; //åå•å±žæ€§ï¼š0-å…许åå•ï¼Œ1-ç¦æ¢åå•ï¼Œ2-临时åå• public byte byPlateType; //车牌类型 public byte byPlateColor; //车牌颜色 public byte byRes1; public byte[] sLicense = new byte[MAX_LICENSE_LEN];//车牌å·ç public byte[] sCardNo = new byte[MAX_CARDNO_LEN]; // å¡å· public NET_DVR_TIME_V30 struAlarmTime = new NET_DVR_TIME_V30(); //报è¦æ—¶é—´ public int dwChannel; //设备通é“å·ï¼Œå¦‚果直连的是IPC,则为ipc通é“å·ï¼›å¦‚果连的DVR\nvr,则为DVR\NVR的通é“å· public int dwPicDataLen; //图片数æ®å¤§å°ï¼Œ0è¡¨ç¤ºæ— å›¾ç‰‡ï¼Œä¸ä¸º0是表示åŽé¢å¸¦å›¾ç‰‡æ•°æ® public byte byPicType; //图片类型,0-JPEG public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public byte[] byRes3 = new byte[2]; public Pointer pPicData; public byte[] byRes2 = new byte[48]; } public int MAX_LED_INFO_LEN = 512; public int MAX_VOICE_INFO_LEN = 128; //LEDå±å¹•æ˜¾ç¤ºå‚æ•° public static class NET_DVR_LEDDISPLAY_CFG extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public byte[] sDisplayInfo = new byte[MAX_LED_INFO_LEN/*512*/]; // LED显示内容 public byte byDisplayMode;//显示方å¼:0~左移,1~å³ç§»,2~ç«‹å³æ˜¾ç¤º public byte bySpeedType;//速度类型:0~å¿«,1~ä¸,2~æ…¢ public byte byShowPlateEnable;//显示车牌使能,0~å…³é—,1~å¯ç”¨ public byte byRes1; public int dwShowTime;//显示时长,1~60秒 public byte[] byRes = new byte[128]; } //è¯éŸ³æ’报控制å‚æ•° public static class NET_DVR_VOICEBROADCAST_CFG extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public byte[] sInfo = new byte[MAX_VOICE_INFO_LEN/*128*/]; //è¯éŸ³æ’报内容 public byte byBroadcastNum;// è¯éŸ³æ’报次数, 1~10次 public byte byIntervalTime;// è¯éŸ³æ’报间隔时间,1~5s public byte[] byRes = new byte[126]; } //缴费金é¢ä¿¡æ¯ public static class NET_DVR_CHARGEACCOUNT_CFG extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public float fAccount;//å®žé™…æ”¶è´¹é‡‘é¢ public byte[] byRes = new byte[128]; } public static final int DOOR_NAME_LEN = 32; //é—¨å称 public static final int STRESS_PASSWORD_LEN = 8; //èƒè¿«å¯†ç 长度 public static final int SUPER_PASSWORD_LEN = 8; //èƒè¿«å¯†ç 长度 public static final int UNLOCK_PASSWORD_LEN = 8; // 解除密ç 长度 public static class NET_DVR_DOOR_CFG extends HIKSDKStructure { public int dwSize; public byte[] byDoorName = new byte[DOOR_NAME_LEN]; //é—¨å称 public byte byMagneticType; //é—¨ç£ç±»åž‹ï¼Œ0-常é—,1-常开 public byte byOpenButtonType; //开门按钮类型,0-常é—,1-常开 public byte byOpenDuration; //开门æŒç»æ—¶é—´ï¼Œ1-255s(楼层继电器动作时间) public byte byDisabledOpenDuration; //残障人士å¡å¼€é—¨æŒç»æ—¶é—´ï¼Œ1-255s public byte byMagneticAlarmTimeout; //é—¨ç£æ£€æµ‹è¶…时报è¦æ—¶é—´ï¼Œ0-255s,0表示ä¸æŠ¥è¦ public byte byEnableDoorLock; //是å¦å¯ç”¨é—门回é”,0-å¦ï¼Œ1-是 public byte byEnableLeaderCard; //是å¦å¯ç”¨é¦–å¡å¸¸å¼€åŠŸèƒ½ï¼Œ0-å¦ï¼Œ1-是 public byte byLeaderCardMode; //首å¡æ¨¡å¼ï¼Œ0-ä¸å¯ç”¨é¦–å¡åŠŸèƒ½ï¼Œ1-首å¡å¸¸å¼€æ¨¡å¼ï¼Œ2-首å¡æŽˆæƒæ¨¡å¼ï¼ˆä½¿ç”¨äº†æ¤å—段,则byEnableLeaderCardæ— æ•ˆï¼‰ public int dwLeaderCardOpenDuration; //首å¡å¸¸å¼€æŒç»æ—¶é—´ï¼Œ1-1440min public byte[] byStressPassword = new byte[STRESS_PASSWORD_LEN]; //èƒè¿«å¯†ç public byte[] bySuperPassword = new byte[SUPER_PASSWORD_LEN]; //超级密ç public byte[] byUnlockPassword = new byte[UNLOCK_PASSWORD_LEN]; //解除ç NET_DVR_LOCAL_CONTROLLER_STATUS public byte byUseLocalController; //åªè¯»ï¼Œæ˜¯å¦è¿žæŽ¥åœ¨å°±åœ°æŽ§åˆ¶å™¨ä¸Šï¼Œ0-å¦ï¼Œ1-是 public byte byRes1; public short wLocalControllerID; //åªè¯»ï¼Œå°±åœ°æŽ§åˆ¶å™¨åºå·ï¼Œ1-64,0代表未注册 public short wLocalControllerDoorNumber; //åªè¯»ï¼Œå°±åœ°æŽ§åˆ¶å™¨çš„门编å·ï¼Œ1-4,0代表未注册 public short wLocalControllerStatus; //åªè¯»ï¼Œå°±åœ°æŽ§åˆ¶å™¨åœ¨çº¿çŠ¶æ€ï¼š0-离线,1-网络在线,2-环路1上的RS485串å£1,3-环路1上的RS485串å£2,4-环路2上的RS485串å£1,5-环路2上的RS485串å£2,6-环路3上的RS485串å£1,7-环路3上的RS485串å£2,8-环路4上的RS485串å£1,9-环路4上的RS485串å£2(åªè¯»ï¼‰ public byte byLockInputCheck; //是å¦å¯ç”¨é—¨é”输入检测(1å—节,0ä¸å¯ç”¨ï¼Œ1å¯ç”¨ï¼Œé»˜è®¤ä¸å¯ç”¨) public byte byLockInputType; //é—¨é”输入类型(1å—节,0常é—,1常开,默认常é—) public byte byDoorTerminalMode; //门相关端å工作模å¼(1å—节,0防剪防çŸï¼Œ1普通,默认防剪防çŸ) public byte byOpenButton; //是å¦å¯ç”¨å¼€é—¨æŒ‰é’®(1å—节,0是,1å¦ï¼Œé»˜è®¤æ˜¯) public byte byLadderControlDelayTime; //梯控访客延迟时间,1-255min public byte[] byRes2 = new byte[43]; } public static class NET_DVR_DOOR_STATUS_PLAN extends HIKSDKStructure { public int dwSize; public int dwTemplateNo; //计划模æ¿ç¼–å·ï¼Œä¸º0表示å–消关è”,æ¢å¤é»˜è®¤çŠ¶æ€ï¼ˆæ™®é€šçŠ¶æ€ï¼‰ public byte[] byRes = new byte[64]; } public static class NET_DVR_EVENT_CARD_LINKAGE_COND extends HIKSDKStructure { public int dwSize; public int dwEventID; //事件ID public short wLocalControllerID; //就地控制器åºå·[1,64] public byte[] byRes = new byte[106]; } public static final int MAX_ALARMHOST_ALARMIN_NUM = 512;//网络报è¦ä¸»æœºæœ€å¤§æŠ¥è¦è¾“å…¥å£æ•° public static final int MAX_ALARMHOST_ALARMOUT_NUM = 512;//网络报è¦ä¸»æœºæœ€å¤§æŠ¥è¦è¾“出å£æ•° public static class NET_DVR_EVENT_CARD_LINKAGE_CFG_V50 extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public byte byProMode; //è”动方å¼ï¼Œ0-事件,1-å¡å·, 2-MACåœ°å€ public byte[] byRes1 = new byte[3]; public int dwEventSourceID; //事件æºIDï¼Œå½“ä¸»ç±»åž‹ä¸ºè®¾å¤‡äº‹ä»¶æ—¶æ— æ•ˆï¼Œ 当主类型是门事件时为门编å·;当主类型为读å¡å™¨äº‹ä»¶æ—¶ï¼Œä¸ºè¯»å¡å™¨ID;当为报è¦è¾“入事件时为防区报è¦è¾“å…¥ID或事件报è¦è¾“å…¥ID。0xffffffff表示è”动全部 public NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo = new NET_DVR_EVETN_CARD_LINKAGE_UNION(); //è”动方å¼å‚æ•° public byte[] byAlarmout = new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //å…³è”的报è¦è¾“出å·ï¼ŒæŒ‰ä½è¡¨ç¤ºï¼Œä¸º0表示ä¸å…³è”,为1è¡¨ç¤ºå…³è” public byte[] byRes2 = new byte[32]; //ä¿ç•™ public byte[] byOpenDoor = new byte[MAX_DOOR_NUM_256]; //按ä½è¡¨ç¤º,是å¦è”动开门,0-ä¸è”动,1-è”动 public byte[] byCloseDoor = new byte[MAX_DOOR_NUM_256]; //按ä½è¡¨ç¤º,是å¦è”动关门,0-ä¸è”动,1-è”动 public byte[] byNormalOpen = new byte[MAX_DOOR_NUM_256]; //按ä½è¡¨ç¤º,是å¦è”动常开,0-ä¸è”动,1-è”动 public byte[] byNormalClose = new byte[MAX_DOOR_NUM_256]; //按ä½è¡¨ç¤º,是å¦è”动常关,0-ä¸è”动,1-è”动 public byte byMainDevBuzzer; //主机蜂鸣器 0-ä¸è”动,1-è”动输出 public byte byCapturePic; //是å¦è”动抓æ‹ï¼Œ0-ä¸è”动抓æ‹ï¼Œ1-è”åŠ¨æŠ“æ‹ public byte byRecordVideo; //是å¦è”动录åƒï¼Œ0-ä¸è”动录åƒï¼Œ1-è”åŠ¨å½•åƒ public byte[] byRes3 = new byte[29]; //ä¿ç•™ public byte[] byReaderBuzzer = new byte[MAX_CARD_READER_NUM_512]; //è”动读å¡å™¨èœ‚鸣器,按ä½è¡¨ç¤ºï¼Œ0-ä¸è”动,1-è”动 public byte[] byAlarmOutClose = new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //å…³è”报è¦è¾“出关é—,按å—节表示,为0表示ä¸å…³è”,为1è¡¨ç¤ºå…³è” public byte[] byAlarmInSetup = new byte[MAX_ALARMHOST_ALARMIN_NUM]; //å…³è”防区布防,按å—节表示,为0表示ä¸å…³è”,为1è¡¨ç¤ºå…³è” public byte[] byAlarmInClose = new byte[MAX_ALARMHOST_ALARMIN_NUM]; //å…³è”防区撤防,按å—节表示,为0表示ä¸å…³è”,为1è¡¨ç¤ºå…³è” public byte[] byRes = new byte[500]; //ä¿ç•™ } public static class NET_DVR_EVENT_LINKAGE_INFO extends HIKSDKStructure { public short wMainEventType; //事件主类型,0-设备事件,1-报è¦è¾“入事件,2-门事件,3-读å¡å™¨äº‹ä»¶ public short wSubEventType; //事件次类型 public byte[] byRes = new byte[28]; } public static class NET_DVR_EVETN_CARD_LINKAGE_UNION extends Union { public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //å¡å· public NET_DVR_EVENT_LINKAGE_INFO struEventLinkage; //事件è”动时å‚æ•° public byte[] byMACAddr = new byte[MACADDR_LEN]; //物ç†MACåœ°å€ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) } //å¡å‚æ•°é…ç½®æ¡ä»¶ public static class NET_DVR_CARD_CFG_COND extends HIKSDKStructure { public int dwSize; public int dwCardNum; public byte byCheckCardNo; public byte[] ibyRes = new byte[31]; } //获å–å¡å‚æ•°çš„å‘é€æ•°æ® public static class NET_DVR_CARD_CFG_SEND_DATA extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[32]; public byte[] byRes = new byte[16]; } public static class CARDRIGHTPLAN extends HIKSDKStructure { public byte[] byRightPlan = new byte[4]; } //å¡å‚æ•° public static class NET_DVR_CARD_CFG extends HIKSDKStructure { public int dwSize; public int dwModifyParamType; public byte[] byCardNo = new byte[32]; public byte byCardValid; public byte byCardType; public byte byLeaderCard; public byte byRes1; public int dwDoorRight; public NET_DVR_VALID_PERIOD_CFG struValid; public int dwBelongGroup; public byte[] byCardPassword = new byte[8]; public CARDRIGHTPLAN[] byCardRightPlan = new CARDRIGHTPLAN[32]; public int dwMaxSwipeTime; public int dwSwipeTime; public short wRoomNumber; public short wFloorNumber; public byte[] byRes2 = new byte[20]; } public int ACS_CARD_NO_LEN = 32; //é—¨ç¦å¡å·é•¿åº¦ public int MAX_GROUP_NUM_128 = 128; //最大群组数 public int MAX_DOOR_NUM_256 = 256; //最大门数 public int CARD_PASSWORD_LEN = 8; //å¡å¯†ç 长度 public int MAX_CARD_READER_NUM = 64; //最大读å¡å™¨æ•° public int MAX_DOOR_CODE_LEN = 8; //房间代ç 长度 public int MAX_LOCK_CODE_LEN = 8; //é”代ç 长度 public int MAX_CARD_RIGHT_PLAN_NUM = 4; //å¡æƒé™æœ€å¤§è®¡åˆ’个数 public int MAX_CASE_SENSOR_NUM = 8; //最大case sensor触å‘器数 public static class CARDRIGHTPLAN_WORD extends HIKSDKStructure { public short[] wRightPlan = new short[MAX_CARD_RIGHT_PLAN_NUM]; } public static class NET_DVR_CARD_CFG_V50 extends HIKSDKStructure { public int dwSize; public int dwModifyParamType;//需è¦ä¿®æ”¹çš„å¡å‚数,设置å¡å‚数时有效,按ä½è¡¨ç¤ºï¼Œæ¯ä½ä»£è¡¨ä¸€ç§å‚数,1为需è¦ä¿®æ”¹ï¼Œ0为ä¸ä¿®æ”¹ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //å¡å· public byte byCardValid; //å¡æ˜¯å¦æœ‰æ•ˆï¼Œ0-æ— æ•ˆï¼Œ1-æœ‰æ•ˆï¼ˆç”¨äºŽåˆ é™¤å¡ï¼Œè®¾ç½®æ—¶ç½®ä¸º0è¿›è¡Œåˆ é™¤ï¼ŒèŽ·å–æ—¶æ¤å—段始终为1) public byte byCardType; //å¡ç±»åž‹ï¼Œ1-普通å¡ï¼Œ2-残障人士å¡ï¼Œ3-ç¦æ¢åå•å¡ï¼Œ4-å·¡æ›´å¡ï¼Œ5-èƒè¿«å¡ï¼Œ6-超级å¡ï¼Œ7-æ¥å®¾å¡ï¼Œ8-解除å¡ï¼Œ9-员工å¡ï¼Œ10-应急å¡ï¼Œ11-应急管ç†å¡ï¼Œé»˜è®¤æ™®é€šå¡ public byte byLeaderCard; //是å¦ä¸ºé¦–å¡ï¼Œ1-是,0-å¦ public byte byRes1; public byte[] byDoorRight = new byte[MAX_DOOR_NUM_256]; //é—¨æƒé™(楼层æƒé™),按ä½è¡¨ç¤ºï¼Œ1为有æƒé™ï¼Œ0ä¸ºæ— æƒé™ï¼Œä»Žä½Žä½åˆ°é«˜ä½è¡¨ç¤ºå¯¹é—¨1-N是å¦æœ‰æƒé™ public NET_DVR_VALID_PERIOD_CFG struValid; //有效期å‚æ•° public byte[] byBelongGroup = new byte[MAX_GROUP_NUM_128]; //所属群组,按å—节表示,1-属于,0-ä¸å±žäºŽ public byte[] byCardPassword = new byte[CARD_PASSWORD_LEN]; //å¡å¯†ç public CARDRIGHTPLAN_WORD[] wCardRightPlan = new CARDRIGHTPLAN_WORD[MAX_DOOR_NUM_256]; //å¡æƒé™è®¡åˆ’,å–值为计划模æ¿ç¼–å·ï¼ŒåŒä¸ªé—¨ä¸åŒè®¡åˆ’模æ¿é‡‡ç”¨æƒé™æˆ–çš„æ–¹å¼å¤„ç† public int dwMaxSwipeTime; //最大刷å¡æ¬¡æ•°ï¼Œ0ä¸ºæ— æ¬¡æ•°é™åˆ¶ï¼ˆå¼€é”次数) public int dwSwipeTime; //已刷å¡æ¬¡æ•° public short wRoomNumber; //æˆ¿é—´å· public short wFloorNumber; //å±‚å· public int dwEmployeeNo; //å·¥å· public byte[] byName = new byte[NAME_LEN]; //姓å public short wDepartmentNo; //éƒ¨é—¨ç¼–å· public short wSchedulePlanNo; //排çè®¡åˆ’ç¼–å· public byte bySchedulePlanType; //排ç计划类型:0-æ— æ„义ã€1-个人ã€2-部门 public byte byRightType; //下å‘æƒé™ç±»åž‹ï¼š0-普通å‘å¡æƒé™ã€1-二维ç æƒé™ã€2-è“牙æƒé™ï¼ˆå¯è§†å¯¹è®²è®¾å¤‡äºŒç»´ç æƒé™é…置项:房间å·ã€å¡å·ï¼ˆè™šæ‹Ÿå¡å·ï¼‰ã€æœ€å¤§åˆ·å¡æ¬¡æ•°ï¼ˆå¼€é”次数)ã€æœ‰æ•ˆæœŸå‚æ•°ï¼›è“牙æƒé™ï¼šå¡å·ï¼ˆè¤çŸ³APPè´¦å·ï¼‰ã€å…¶ä»–å‚æ•°é…置与普通å‘å¡æƒé™ä¸€è‡´ï¼‰ public byte[] byRes2 = new byte[2]; public int dwLockID; //é”ID public byte[] byLockCode = new byte[MAX_LOCK_CODE_LEN]; //é”代ç public byte[] byRoomCode = new byte[MAX_DOOR_CODE_LEN]; //房间代ç public int dwCardRight; //å¡æƒé™ public int dwPlanTemplate; //计划模æ¿(æ¯å¤©)å„时间段是å¦å¯ç”¨ï¼ŒæŒ‰ä½è¡¨ç¤ºï¼Œ0--ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public int dwCardUserId; //æŒå¡äººID public byte byCardModelType; //0-空,1- MIFARE S50,2- MIFARE S70,3- FM1208 CPUå¡ï¼Œ4- FM1216 CPUå¡ï¼Œ5-国密CPUå¡ï¼Œ6-身份è¯ï¼Œ7- NFC public byte[] byRes3 = new byte[83]; } //有效期å‚数结构体 public static class NET_DVR_VALID_PERIOD_CFG extends HIKSDKStructure { public byte byEnable; public byte[] byRes1 = new byte[3]; public NET_DVR_TIME_EX struBeginTime; public NET_DVR_TIME_EX struEndTime; public byte byTimeType; //时间类型 public byte[] byRes2 = new byte[31]; } //æ‰©å±•ç»“æž„ä½“ä¿¡æ¯ public static class NET_DVR_ID_CARD_INFO_EXTEND extends HIKSDKStructure { public byte byRemoteCheck; //是å¦éœ€è¦è¿œç¨‹æ ¸éªŒï¼ˆ0-æ— æ•ˆï¼Œ1-ä¸éœ€è¦ï¼ˆé»˜è®¤ï¼‰ï¼Œ2-需è¦ï¼‰ public byte byThermometryUnit; //测温å•ä½ï¼ˆ0-æ‘„æ°åº¦ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-åŽæ°åº¦ï¼Œ2-开尔文) public byte byIsAbnomalTemperature; //人脸抓æ‹æµ‹æ¸©æ˜¯å¦æ¸©åº¦å¼‚常:1-是,0-å¦ public byte byRes2; public float fCurrTemperature; //人脸温度(精确到å°æ•°ç‚¹åŽä¸€ä½ï¼‰ public NET_VCA_POINT struRegionCoordinates = new NET_VCA_POINT(); //人脸温度åæ ‡ public int dwQRCodeInfoLen; //二维ç ä¿¡æ¯é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public int dwVisibleLightDataLen; //çƒæˆåƒç›¸æœºå¯è§å…‰å›¾ç‰‡é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public int dwThermalDataLen; //çƒæˆåƒå›¾ç‰‡é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pQRCodeInfo; //二维ç ä¿¡æ¯æŒ‡é’ˆ public Pointer pVisibleLightData; //çƒæˆåƒç›¸æœºå¯è§å…‰å›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalData; //çƒæˆåƒå›¾ç‰‡æŒ‡é’ˆ public byte[] byRes = new byte[1024]; } //身份è¯ä¿¡æ¯æŠ¥è¦ public static class NET_DVR_ID_CARD_INFO_ALARM extends HIKSDKStructure { public int dwSize; //结构长度 public NET_DVR_ID_CARD_INFO struIDCardCfg = new NET_DVR_ID_CARD_INFO();//身份è¯ä¿¡æ¯ public int dwMajor; //报è¦ä¸»ç±»åž‹ï¼Œå‚考å®å®šä¹‰ public int dwMinor; //报è¦æ¬¡ç±»åž‹ï¼Œå‚考å®å®šä¹‰ public NET_DVR_TIME_V30 struSwipeTime = new NET_DVR_TIME_V30(); //时间 public byte[] byNetUser = new byte[MAX_NAMELEN];//网络æ“作的用户å public NET_DVR_IPADDR struRemoteHostAddr = new NET_DVR_IPADDR();//è¿œç¨‹ä¸»æœºåœ°å€ public int dwCardReaderNo; //读å¡å™¨ç¼–å·ï¼Œä¸º0æ— æ•ˆ public int dwDoorNo; //门编å·ï¼Œä¸º0æ— æ•ˆ public int dwPicDataLen; //图片数æ®å¤§å°ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pPicData; public byte byCardType; //å¡ç±»åž‹ï¼Œ1-普通å¡ï¼Œ2-残障人士å¡ï¼Œ3-ç¦æ¢åå•å¡ï¼Œ4-å·¡æ›´å¡ï¼Œ5-èƒè¿«å¡ï¼Œ6-超级å¡ï¼Œ7-æ¥å®¾å¡ï¼Œ8-解除å¡ï¼Œä¸º0æ— æ•ˆ public byte byDeviceNo; // 设备编å·ï¼Œä¸º0æ—¶æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byMask; //是å¦å¸¦å£ç½©ï¼š0-ä¿ç•™ï¼Œ1-未知,2-ä¸æˆ´å£ç½©ï¼Œ3-戴å£ç½© public byte byCurrentEvent; //是å¦ä¸ºå®žæ—¶äº‹ä»¶ï¼š0-æ— æ•ˆï¼Œ1-是(实时事件),2-å¦ï¼ˆç¦»çº¿äº‹ä»¶ï¼‰ public int dwFingerPrintDataLen; // 指纹数æ®å¤§å°ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pFingerPrintData; public int dwCapturePicDataLen; // 抓æ‹å›¾ç‰‡æ•°æ®å¤§å°ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pCapturePicData; public int dwCertificatePicDataLen; //è¯ä»¶æŠ“æ‹å›¾ç‰‡æ•°æ®å¤§å°ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pCertificatePicData; public byte byCardReaderKind; //读å¡å™¨å±žäºŽå“ªä¸€ç±»ï¼Œ0-æ— æ•ˆï¼Œ1-IC读å¡å™¨ï¼Œ2-身份è¯è¯»å¡å™¨ï¼Œ3-二维ç 读å¡å™¨,4-指纹头 public byte[] byRes3 = new byte[2]; public byte byIDCardInfoExtend; //pIDCardInfoExtend是å¦æœ‰æ•ˆï¼š0-æ— æ•ˆï¼Œ1-有效 public Pointer pIDCardInfoExtend; //byIDCardInfoExtend为1时,表示指å‘一个NET_DVR_ID_CARD_INFO_EXTEND结构体 public int dwSerialNo; //事件æµæ°´å·ï¼Œä¸º0æ— æ•ˆ public byte[] byRes = new byte[168]; } public static final int CARD_READER_DESCRIPTION = 32; //读å¡å™¨æè¿° public static class NET_DVR_CARD_READER_CFG_V50 extends HIKSDKStructure { public int dwSize; public byte byEnable; //是å¦ä½¿èƒ½ï¼Œ1-使能,0-ä¸ä½¿èƒ½ public byte byCardReaderType; //读å¡å™¨ç±»åž‹ï¼Œ1-DS-K110XM/MK/C/CK,2-DS-K192AM/AMP,3-DS-K192BM/BMP,4-DS-K182AM/AMP,5-DS-K182BM/BMP,6-DS-K182AMF/ACF,7-éŸ¦æ ¹æˆ–485ä¸åœ¨çº¿ï¼Œ8- DS-K1101M/MK,9- DS-K1101C/CK,10- DS-K1102M/MK/M-A,11- DS-K1102C/CK,12- DS-K1103M/MK,13- DS-K1103C/CK,14- DS-K1104M/MK,15- DS-K1104C/CK,16- DS-K1102S/SK/S-A,17- DS-K1102G/GK,18- DS-K1100S-B,19- DS-K1102EM/EMK,20- DS-K1102E/EK,21- DS-K1200EF,22- DS-K1200MF,23- DS-K1200CF,24- DS-K1300EF,25- DS-K1300MF,26- DS-K1300CF,27- DS-K1105E,28- DS-K1105M,29- DS-K1105C,30- DS-K182AMF,31- DS-K196AMF,32-DS-K194AMP,33-DS-K1T200EF/EF-C/MF/MF-C/CF/CF-C,34-DS-K1T300EF/EF-C/MF/MF-C/CF/CF-C,35-DS-K1T105E/E-C/M/M-C/C/C-C,36-DS-K1T803F/F-M/F-S/F-E,37-DS-K1A801F/F-M/F-S/F-E,38-DS-K1107M/MK,39-DS-K1107E/EK,40-DS-K1107S/SK,41-DS-K1108M/MK,42-DS-K1108E/EK,43-DS-K1108S/SK,44-DS-K1200F,45-DS-K1S110-I,46-DS-K1T200M-PG/PGC,47-DS-K1T200M-PZ/PZC,48-DS-K1109H public byte byOkLedPolarity; //OK LEDæžæ€§ï¼Œ0-阴æžï¼Œ1-é˜³æž public byte byErrorLedPolarity; //Error LEDæžæ€§ï¼Œ0-阴æžï¼Œ1-é˜³æž public byte byBuzzerPolarity; //蜂鸣器æžæ€§ï¼Œ0-阴æžï¼Œ1-é˜³æž public byte bySwipeInterval; //é‡å¤åˆ·å¡é—´éš”时间,å•ä½ï¼šç§’ public byte byPressTimeout; //按键超时时间,å•ä½ï¼šç§’ public byte byEnableFailAlarm; //是å¦å¯ç”¨è¯»å¡å¤±è´¥è¶…次报è¦ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byMaxReadCardFailNum; //最大读å¡å¤±è´¥æ¬¡æ•° public byte byEnableTamperCheck; //是å¦æ”¯æŒé˜²æ‹†æ£€æµ‹ï¼Œ0-disable ,1-enable public byte byOfflineCheckTime; //掉线检测时间 å•ä½ç§’ public byte byFingerPrintCheckLevel; //指纹识别ç‰çº§ï¼Œ1-1/10误认率,2-1/100误认率,3-1/1000误认率,4-1/10000误认率,5-1/100000误认率,6-1/1000000误认率,7-1/10000000误认率,8-1/100000000误认率,9-3/100误认率,10-3/1000误认率,11-3/10000误认率,12-3/100000误认率,13-3/1000000误认率,14-3/10000000误认率,15-3/100000000误认率,16-Automatic Normal,17-Automatic Secure,18-Automatic More Secure(目å‰é—¨ç¦ä¸æ”¯æŒï¼‰ public byte byUseLocalController; //åªè¯»ï¼Œæ˜¯å¦è¿žæŽ¥åœ¨å°±åœ°æŽ§åˆ¶å™¨ä¸Šï¼Œ0-å¦ï¼Œ1-是 public byte byRes1; public short wLocalControllerID; //åªè¯»ï¼Œå°±åœ°æŽ§åˆ¶å™¨åºå·, byUseLocalController=1时有效,1-64,0代表未注册 public short wLocalControllerReaderID; //åªè¯»ï¼Œå°±åœ°æŽ§åˆ¶å™¨çš„读å¡å™¨ID,byUseLocalController=1时有效,0代表未注册 public short wCardReaderChannel; //åªè¯»ï¼Œè¯»å¡å™¨é€šä¿¡é€šé“å·ï¼ŒbyUseLocalController=1时有效,0éŸ¦æ ¹æˆ–ç¦»çº¿ï¼Œ1-RS485A,2-RS485B public byte byFingerPrintImageQuality; //指纹图åƒè´¨é‡ï¼Œ0-æ— æ•ˆï¼Œ1-低质é‡(V1),2-ä¸ç‰è´¨é‡(V1),3-高质é‡(V1),4-最高质é‡(V1),5-低质é‡(V2),6-ä¸ç‰è´¨é‡(V2),7-高质é‡(V2),8-最高质é‡(V2) public byte byFingerPrintContrastTimeOut; //指纹对比超时时间,0-æ— æ•ˆï¼ŒèŒƒå›´1-20代表:1s-20s,0xff-æ— é™å¤§ public byte byFingerPrintRecogizeInterval; //指纹连ç»è¯†åˆ«é—´éš”,0-æ— æ•ˆï¼ŒèŒƒå›´1-10代表:1s-10s,0xff-æ— å»¶è¿Ÿ public byte byFingerPrintMatchFastMode; //指纹匹é…快速模å¼ï¼Œ0-æ— æ•ˆï¼ŒèŒƒå›´1-5代表:快速模å¼1-快速模å¼5,0xff-自动 public byte byFingerPrintModuleSensitive; //指纹模组çµæ•åº¦ï¼Œ0-æ— æ•ˆï¼ŒèŒƒå›´1-8代表:çµæ•åº¦çº§åˆ«1-çµæ•åº¦çº§åˆ«8 public byte byFingerPrintModuleLightCondition; //指纹模组光线æ¡ä»¶ï¼Œ0-æ— æ•ˆï¼Œ1-室外,2-室内 public byte byFaceMatchThresholdN; //人脸比对阀值,范围0-100 public byte byFaceQuality; //人脸质é‡ï¼ŒèŒƒå›´0-100 public byte byFaceRecogizeTimeOut; //人脸识别超时时间,范围1-20代表:1s-20s,0xff-æ— é™å¤§ public byte byFaceRecogizeInterval; //人脸连ç»è¯†åˆ«é—´éš”,0-æ— æ•ˆï¼ŒèŒƒå›´1-10代表:1s-10s,0xff-æ— å»¶è¿Ÿ public short wCardReaderFunction; //åªè¯»ï¼Œè¯»å¡å™¨ç§ç±»ï¼ŒæŒ‰ä½è¡¨ç¤ºï¼šç¬¬1ä½-指纹,第二ä½-人脸,第三ä½-指é™è„‰ public byte[] byCardReaderDescription = new byte[CARD_READER_DESCRIPTION]; //读å¡å™¨æè¿° public short wFaceImageSensitometry; //åªè¯»ï¼Œäººè„¸å›¾åƒæ›å…‰åº¦ï¼ŒèŒƒå›´0-65535 public byte byLivingBodyDetect; //真人检测,0-æ— æ•ˆï¼Œ1-ä¸å¯ç”¨ï¼Œ2-å¯ç”¨ public byte byFaceMatchThreshold1; //人脸1:1匹é…阀值,范围0-100 public short wBuzzerTime; //蜂鸣时间,范围0s-5999s(0-代表长鸣) public byte byFaceMatch1SecurityLevel; //人脸1:1识别安全ç‰çº§ï¼Œ0-æ— æ•ˆï¼Œ1-一般,2-较强,3-æžå¼º public byte byFaceMatchNSecurityLevel; //人脸1:N识别安全ç‰çº§ï¼Œ0-æ— æ•ˆï¼Œ1-一般,2-较强,3-æžå¼º public byte byEnvirMode;//人脸识别环境模å¼ï¼Œ0-æ— æ•ˆï¼Œ1-室内,2-其他; public byte byLiveDetLevelSet;//活体检测阈值ç‰çº§è®¾ç½®ï¼Œ0-æ— æ•ˆï¼Œ1-低,2-ä¸ï¼Œ3-高; public byte byLiveDetAntiAttackCntLimit;//活体检测防攻击次数, 0-æ— æ•ˆï¼Œ1-255次(客户端ã€è®¾å¤‡ç»Ÿä¸€æ¬¡æ•°é™åˆ¶ï¼Œæ ¹æ®èƒ½åŠ›çº§é™åˆ¶ï¼‰ï¼› public byte byEnableLiveDetAntiAttack;//活体检测防攻击使能,0-æ— æ•ˆï¼Œ1-ä¸å¯ç”¨ï¼Œ2-å¯ç”¨ public byte bySupportDelFPByID;//åªè¯»ï¼Œè¯»å¡å™¨æ˜¯å¦æ”¯æŒæŒ‰æ‰‹æŒ‡IDåˆ é™¤æŒ‡çº¹ï¼Œ0-æ— æ•ˆï¼Œ1-ä¸æ”¯æŒï¼Œ2-æ”¯æŒ public byte byFaceContrastMotionDetLevel;//人脸比对时移动侦测级别,0-æ— æ•ˆï¼Œ1-低,2-ä¸ï¼Œ3-高,0xff-ç¦ç”¨ public byte byDayFaceMatchThresholdN; //白天人脸1:N匹é…阀值,范围0-100 public byte byNightFaceMatchThresholdN; //夜晚人脸1:N匹é…阀值,范围0-100 public byte byFaceRecogizeEnable; //人脸识别使能:0-æ— æ•ˆï¼Œ1-å¼€å¯ï¼Œ2-å…³é— public byte byBlockListMatchThreshold; //ç¦æ¢åå•åŒ¹é…阀值,范围0-100 public byte byRes3; public byte byDefaultVerifyMode; //åªè¯»ï¼Œè¯»å¡å™¨é»˜è®¤éªŒè¯æ–¹å¼ï¼ˆå‡ºåŽ‚默认),1-ä¼‘çœ ï¼Œ2-刷å¡+密ç ,3-刷å¡ï¼Œ4-刷å¡æˆ–密ç ,5-指纹,6-指纹+密ç ,7-指纹或刷å¡ï¼Œ8-指纹+刷å¡ï¼Œ9-指纹+刷å¡+密ç ,10-人脸或指纹或刷å¡æˆ–密ç ,11-人脸+指纹,12-人脸+密ç ,13-人脸+刷å¡ï¼Œ14-人脸,15-å·¥å·+密ç ,16-指纹或密ç ,17-å·¥å·+指纹,18-å·¥å·+指纹+密ç ,19-人脸+指纹+刷å¡ï¼Œ20-人脸+密ç +指纹,21-å·¥å·+人脸,22-人脸或人脸+刷å¡ï¼Œ23-指纹或人脸,24-刷å¡æˆ–人脸或密ç ,25-刷å¡æˆ–人脸,26-刷å¡æˆ–人脸或指纹,27-刷å¡æˆ–指纹或密ç public int dwFingerPrintCapacity;//åªè¯»ï¼ŒæŒ‡çº¹å®¹é‡ public int dwFingerPrintNum;//åªè¯»ï¼Œå·²å˜åœ¨æŒ‡çº¹æ•°é‡ public byte byEnableFingerPrintNum;//åªè¯»ï¼ŒæŒ‡çº¹å®¹é‡ä½¿èƒ½ï¼š0-ä¸ä½¿èƒ½ï¼Œ1-使能(åªæœ‰å½“该å—段为1-使能时,dwFingerPrintCapacityå’ŒdwFingerPrintNumæ‰æœ‰æ•ˆï¼‰ public byte[] byRes = new byte[231]; } /**************** * 优化接å£ç»“构体定义开始 *************/ public static final int NET_SDK_CONFIG_STATUS_SUCCESS = 1000; public static final int NET_SDK_CONFIG_STATUS_NEED_WAIT = 1001; public static final int NET_SDK_CONFIG_STATUS_FINISH = 1002; public static final int NET_SDK_CONFIG_STATUS_FAILED = 1003; public static final int NET_SDK_CONFIG_STATUS_EXCEPTION = 1004; public static final int NET_SDK_GET_NEXT_STATUS_SUCCESS = 1000; public static final int NET_SDK_GET_NEXT_STATUS_NEED_WAIT = 1001; public static final int NET_SDK_NEXT_STATUS__FINISH = 1002; public static final int NET_SDK_GET_NEXT_STATUS_FAILED = 1003; public static class NET_DVR_CARD_COND extends HIKSDKStructure { public int dwSize; public int dwCardNum; //设置或获å–å¡æ•°é‡ï¼ŒèŽ·å–时置为0xffffffff表示获å–所有å¡ä¿¡æ¯ public byte[] byRes = new byte[64]; } public static class NET_DVR_CARD_SEND_DATA extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //å¡å· public byte[] byRes = new byte[16]; } public static class NET_DVR_CARD_RECORD extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public byte byCardType; public byte byLeaderCard; public byte byUserType; public byte byRes1; public byte[] byDoorRight = new byte[MAX_DOOR_NUM_256]; public NET_DVR_VALID_PERIOD_CFG struValid = new NET_DVR_VALID_PERIOD_CFG(); public byte[] byBelongGroup = new byte[MAX_GROUP_NUM_128]; public byte[] byCardPassword = new byte[CARD_PASSWORD_LEN]; public short[] wCardRightPlan = new short[MAX_DOOR_NUM_256]; public int dwMaxSwipeTimes; public int dwSwipeTimes; public int dwEmployeeNo; public byte[] byName = new byte[NAME_LEN]; //按ä½è¡¨ç¤ºï¼Œ0-æ— æƒé™ï¼Œ1-有æƒé™ //第0ä½è¡¨ç¤ºï¼šå¼±ç”µæŠ¥è¦ //第1ä½è¡¨ç¤ºï¼šå¼€é—¨æ示音 //第2ä½è¡¨ç¤ºï¼šé™åˆ¶å®¢å¡ //第3ä½è¡¨ç¤ºï¼šé€šé“ //第4ä½è¡¨ç¤ºï¼šåé”开门 //第5ä½è¡¨ç¤ºï¼šå·¡æ›´åŠŸèƒ½ public int dwCardRight; public byte[] byRes = new byte[256]; } public static class NET_DVR_CARD_STATUS extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public int dwErrorCode; public byte byStatus; // 状æ€ï¼š0-失败,1-æˆåŠŸ public byte[] byRes = new byte[23]; } public static class NET_DVR_FACE_COND extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public int dwFaceNum; public int dwEnableReaderNo; public byte[] byRes = new byte[124]; } public static class NET_DVR_FACE_RECORD extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public int dwFaceLen; public Pointer pFaceBuffer; public byte[] byRes = new byte[128]; } public static class NET_DVR_FACE_STATUS extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; public int dwReaderNo; public byte byRecvStatus; public byte[] byRes = new byte[131]; } public static class NET_DVR_FINGERPRINT_COND extends HIKSDKStructure { public int dwSize; public int dwFingerprintNum; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public int dwEnableReaderNo; public byte byFingerPrintID; public byte[] byRes = new byte[131]; } public static class NET_DVR_FINGERPRINT_RECORD extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; public int dwFingerPrintLen; //指纹数æ®é•¿åº¦ public int dwEnableReaderNo; //需è¦ä¸‹å‘指纹的读å¡å™¨ç¼–å· public byte byFingerPrintID; //手指编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-10 public byte byFingerType; //指纹类型 0-普通指纹,1-èƒè¿«æŒ‡çº¹ public byte[] byRes1 = new byte[30]; public byte[] byFingerData = new byte[MAX_FINGER_PRINT_LEN]; //指纹数æ®å†…容 public byte[] byRes = new byte[96]; } public static class NET_DVR_FINGERPRINT_STATUS extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //指纹关è”çš„å¡å· public byte byCardReaderRecvStatus; //指纹读å¡å™¨çŠ¶æ€ï¼ŒæŒ‰å—节表示,0-失败,1-æˆåŠŸï¼Œ2-该指纹模组ä¸åœ¨çº¿ï¼Œ3-é‡è¯•æˆ–指纹质é‡å·®ï¼Œ4-内å˜å·²æ»¡ï¼Œ5-å·²å˜åœ¨è¯¥æŒ‡çº¹ï¼Œ6-å·²å˜åœ¨è¯¥æŒ‡çº¹ID,7-éžæ³•æŒ‡çº¹ID,8-è¯¥æŒ‡çº¹æ¨¡ç»„æ— éœ€é…ç½® public byte byFingerPrintID; //手指编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-10 public byte byFingerType; //指纹类型 0-普通指纹,1-èƒè¿«æŒ‡çº¹ public byte byRecvStatus; //主机错误状æ€ï¼š0-æˆåŠŸï¼Œ1-手指编å·é”™è¯¯ï¼Œ2-指纹类型错误,3-å¡å·é”™è¯¯ï¼ˆå¡å·è§„æ ¼ä¸ç¬¦åˆè®¾å¤‡è¦æ±‚),4-指纹未关è”å·¥å·æˆ–å¡å·ï¼ˆå·¥å·æˆ–å¡å·å—段为空),5-å·¥å·ä¸å˜åœ¨ï¼Œ6-指纹数æ®é•¿åº¦ä¸º0,7-读å¡å™¨ç¼–å·é”™è¯¯ï¼Œ8-å·¥å·é”™è¯¯ public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; //下å‘错误信æ¯ï¼Œå½“byCardReaderRecvStatus为5时,表示已å˜åœ¨æŒ‡çº¹å¯¹åº”çš„å¡å· public int dwCardReaderNo; //当byCardReaderRecvStatus为5时,表示已å˜åœ¨æŒ‡çº¹å¯¹åº”的指纹读å¡å™¨ç¼–å·ï¼Œå¯ç”¨äºŽä¸‹å‘错误返回。0æ—¶è¡¨ç¤ºæ— é”™è¯¯ä¿¡æ¯ public byte[] byRes = new byte[20]; } public static class NET_DVR_CAPTURE_FINGERPRINT_COND extends HIKSDKStructure { public int dwSize; public byte byFingerPrintPicType; //图片类型:0-æ— æ„义 public byte byFingerNo; //手指编å·ï¼ŒèŒƒå›´1-10 public byte[] byRes = new byte[126]; } // public static class NET_DVR_CAPTURE_FINGERPRINT_CFG extends HIKSDKStructure { public int dwSize; public int dwFingerPrintDataSize; //指纹数æ®å¤§å° public byte[] byFingerData = new byte[MAX_FINGER_PRINT_LEN]; //图片类型:0-æ— æ„义 public int dwFingerPrintPicSize; //指纹图片大å°ï¼Œç‰äºŽ0æ—¶ï¼Œä»£è¡¨æ— æŒ‡çº¹å›¾ç‰‡æ•°æ® public Pointer pFingerPrintPicBuffer; //æŒ‡çº¹å›¾ç‰‡ç¼“å˜ public byte byFingerNo; //手指编å·ï¼ŒèŒƒå›´1-10 public byte byFingerPrintQuality; //指纹质é‡ï¼ŒèŒƒå›´1-100 public byte[] byRes = new byte[62]; } public static class NET_DVR_FINGER_PRINT_INFO_CTRL_V50 extends HIKSDKStructure { public int dwSize; public byte byMode; //åˆ é™¤æ–¹å¼ï¼Œ0-按å¡å·ï¼ˆäººå‘˜ID)方å¼åˆ 除,1-按读å¡å™¨åˆ 除 public byte[] byRes1 = new byte[3]; //ä¿ç•™ public NET_DVR_DEL_FINGER_PRINT_MODE_V50 struProcessMode; //处ç†æ–¹å¼ public byte[] byRes = new byte[64]; //ä¿ç•™ } public static class NET_DVR_DEL_FINGER_PRINT_MODE_V50 extends Union { public byte[] uLen = new byte[588]; //è”åˆä½“长度 public NET_DVR_FINGER_PRINT_BYCARD_V50 struByCard; //按å¡å·ï¼ˆäººå‘˜ID)的方å¼åˆ 除 public NET_DVR_FINGER_PRINT_BYREADER_V50 struByReader; //按读å¡å™¨çš„æ–¹å¼åˆ 除 } public static class NET_DVR_FINGER_PRINT_BYREADER_V50 extends HIKSDKStructure { public int dwCardReaderNo; //按值表示,指纹读å¡å™¨ç¼–å· public byte byClearAllCard; //是å¦åˆ 除所有å¡çš„指纹信æ¯ï¼Œ0-按å¡å·ï¼ˆäººå‘˜IDï¼‰åˆ é™¤æŒ‡çº¹ä¿¡æ¯ï¼Œ1-åˆ é™¤æ‰€æœ‰å¡ï¼ˆäººå‘˜IDï¼‰çš„æŒ‡çº¹ä¿¡æ¯ public byte[] byRes1 = new byte[3]; //ä¿ç•™ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //指纹关è”çš„å¡å· public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) public byte[] byRes = new byte[516]; //ä¿ç•™ } public static class NET_DVR_FINGER_PRINT_BYCARD_V50 extends HIKSDKStructure { public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //指纹关è”çš„å¡å· public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //指纹的读å¡å™¨ä¿¡æ¯ï¼ŒæŒ‰ä½è¡¨ç¤º public byte[] byFingerPrintID = new byte[10]; //需è¦åˆ 除的手指编å·ï¼ŒæŒ‰æ•°ç»„ä¸‹æ ‡ï¼Œå€¼è¡¨ç¤º0-ä¸åˆ 除,1-åˆ é™¤è¯¥æŒ‡çº¹ public byte[] byRes1 = new byte[2]; public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) } //äººè„¸åˆ é™¤æŽ§åˆ¶å‚数结构体 public static class NET_DVR_FACE_PARAM_CTRL extends HIKSDKStructure { public int dwSize; public byte byMode; //åˆ é™¤æ–¹å¼ï¼Œ0-按å¡å·æ–¹å¼åˆ 除,1-按读å¡å™¨åˆ 除 public byte[] byRes1 = new byte[3]; //ä¿ç•™ public NET_DVR_DEL_FACE_PARAM_MODE struProcessMode = new NET_DVR_DEL_FACE_PARAM_MODE(); //处ç†æ–¹å¼ public byte[] byRes = new byte[64]; //ä¿ç•™ public void read() { super.read(); switch (byMode) { case 0: struProcessMode.setType(NET_DVR_FACE_PARAM_BYCARD.class); break; case 1: struProcessMode.setType(NET_DVR_FACE_PARAM_BYREADER.class); break; default: break; } struProcessMode.read(); } public void write() { super.write(); struProcessMode.write(); } } //æŒ‡çº¹åˆ é™¤æŽ§åˆ¶å‚数结构体 public static class NET_DVR_FINGER_PRINT_INFO_CTRL extends HIKSDKStructure { public int dwSize; public byte byMode; //åˆ é™¤æ–¹å¼ï¼Œ0-按å¡å·æ–¹å¼åˆ 除,1-按读å¡å™¨åˆ 除 public byte[] byRes1 = new byte[3]; //ä¿ç•™ public NET_DVR_DEL_FINGER_PRINT_MODE struProcessMode = new NET_DVR_DEL_FINGER_PRINT_MODE(); //处ç†æ–¹å¼ public byte[] byRes = new byte[64]; //ä¿ç•™ public void read() { super.read(); switch (byMode) { case 0: struProcessMode.setType(NET_DVR_FINGER_PRINT_BYCARD.class); break; case 1: struProcessMode.setType(NET_DVR_FINGER_PRINT_BYREADER.class); break; default: break; } struProcessMode.read(); } public void write() { super.write(); struProcessMode.write(); } } public static class NET_DVR_DEL_FINGER_PRINT_MODE extends Union { // public byte[] uLen = new byte[588]; //è”åˆä½“长度 public NET_DVR_FINGER_PRINT_BYCARD struByCard; //按å¡å·çš„æ–¹å¼åˆ 除 public NET_DVR_FINGER_PRINT_BYREADER struByReader; //按读å¡å™¨çš„æ–¹å¼åˆ 除 } public static class NET_DVR_FINGER_PRINT_BYCARD extends HIKSDKStructure { public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //人脸的读å¡å™¨ä¿¡æ¯ï¼ŒæŒ‰æ•°ç»„表示 public byte[] byFaceID = new byte[MAX_FACE_NUM]; //需è¦åˆ 除的人脸编å·ï¼ŒæŒ‰æ•°ç»„ä¸‹æ ‡ï¼Œå€¼è¡¨ç¤º0-ä¸åˆ 除,1-åˆ é™¤è¯¥äººè„¸ public byte[] byRes1 = new byte[34]; //ä¿ç•™ } public static class NET_DVR_FINGER_PRINT_BYREADER extends HIKSDKStructure { public int dwCardReaderNo; //按值表示,人脸读å¡å™¨ç¼–å· public byte byClearAllCard; //是å¦åˆ 除所有å¡çš„人脸信æ¯ï¼Œ0-按å¡å·åˆ 除人脸信æ¯ï¼Œ1-åˆ é™¤æ‰€æœ‰å¡çš„äººè„¸ä¿¡æ¯ public byte[] byRes1 = new byte[3]; //ä¿ç•™ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public byte[] byRes = new byte[548]; //ä¿ç•™ } //é—¨ç¦ä¸»æœºå‚æ•° public static class NET_DVR_ACS_CFG extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public byte byRS485Backup; //是å¦å¯ç”¨ä¸‹è¡ŒRS485通信备份功能,0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byShowCapPic; //是å¦æ˜¾ç¤ºæŠ“æ‹å›¾ç‰‡ï¼Œ 0-ä¸æ˜¾ç¤ºï¼Œ1-显示 public byte byShowCardNo; //是å¦æ˜¾ç¤ºå¡å·ï¼Œ0-ä¸æ˜¾ç¤ºï¼Œ1-显示 public byte byShowUserInfo; //是å¦æ˜¾ç¤ºç”¨æˆ·ä¿¡æ¯ï¼Œ0-ä¸æ˜¾ç¤ºï¼Œ1-显示 public byte byOverlayUserInfo;//是å¦å åŠ ç”¨æˆ·ä¿¡æ¯ï¼Œ0-ä¸å åŠ ï¼Œ1-å åŠ public byte byVoicePrompt; //是å¦å¯ç”¨è¯éŸ³æ示,0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byUploadCapPic; //è”动抓æ‹æ˜¯å¦ä¸Šä¼ 图片,0-ä¸ä¸Šä¼ ,1-ä¸Šä¼ public byte bySaveCapPic; //是å¦ä¿å˜æŠ“æ‹å›¾ç‰‡ï¼Œ0-ä¸ä¿å˜ï¼Œ1-ä¿å˜ public byte byInputCardNo; //是å¦æ˜¯å¦å…许按键输入å¡å·ï¼Œ0-ä¸å…许,1-å…许 public byte byEnableWifiDetect; //是å¦å¯åŠ¨wifi探针,0-ä¸å¯åŠ¨ï¼Œ1-å¯åŠ¨ public byte byEnable3G4G; //3G4G使能,0-ä¸ä½¿èƒ½ï¼Œ1-使能 public byte byProtocol;//读å¡å™¨é€šä¿¡å议类型,0-ç§æœ‰å议(默认),1-OSDPåè®® public byte[] byRes = new byte[500]; } /************** * 优化接å£ç»“æž„ä½“å®šä¹‰ç»“æŸ ***************************/ public static class NET_DVR_UPLOAD_ID_BLOCKLIST_COND extends HIKSDKStructure { public int dwSize; public int dwBlockListNum; //ç¦æ¢åå•æ•°é‡ public byte[] byRes = new byte[128]; } public static class NET_DVR_UPLOAD_ID_BLOCKLIST_CFG extends HIKSDKStructure { public int dwSize; public NET_DVR_ID_CARD_INFO struIDCardCfg; //身份è¯ä¿¡æ¯ï¼ˆè¯¥ç»“构体ä¸å§“å和身份è¯å·ç 为必填项,其他å—段为选填项) public byte byBlockListValid; //身份è¯ç¦æ¢åå•æ˜¯å¦æœ‰æ•ˆï¼š0-æ— æ•ˆï¼Œ1-有效(用于按身份è¯å·ç åˆ é™¤èº«ä»½è¯ç¦æ¢åå•ï¼Œè¯¥å—段为0æ—¶ä»£è¡¨åˆ é™¤ï¼‰ public byte[] byRes = new byte[127]; //预留 } public static class NET_DVR_UPLOAD_ID_BLOCKLIST_STATUS extends HIKSDKStructure { public int dwSize; public byte[] byIDNum = new byte[MAX_ID_NUM_LEN]; //身份è¯å·ç public byte byStatus; //状æ€ï¼š0-æ— æ•ˆï¼Œ1-处ç†ä¸ï¼Œ2-ä¸Šä¼ å¤±è´¥ï¼Œ3-æˆåŠŸ public byte[] byRes = new byte[63]; } public static class REMOTECONFIGSTATUS extends HIKSDKStructure { public byte[] byStatus = new byte[4]; public byte[] byErrorCode = new byte[4]; } //å¼€é”记录 public static class NET_DVR_UNLOCK_RECORD_INFO extends HIKSDKStructure { public byte byUnlockType; //å¼€é”æ–¹å¼ï¼Œå‚考UNLOCK_TYPE_ENUM public byte[] byRes1 = new byte[3]; //ä¿ç•™ public byte[] byControlSrc = new byte[NAME_LEN]; //æ“作å‘èµ·æºä¿¡æ¯ï¼Œåˆ·å¡å¼€é”时为å¡å·ï¼Œè“牙开é”时为è¤çŸ³çš„APPè´¦å·ï¼ŒäºŒç»´ç å¼€é”时为访客的手机å·ï¼Œå…¶ä½™æƒ…å†µä¸‹ä¸ºè®¾å¤‡ç¼–å· public int dwPicDataLen; //图片数æ®é•¿åº¦ public Pointer pImage; //图片指针 public int dwCardUserID; //æŒå¡äººID public short nFloorNumber;//刷å¡å¼€é”æ—¶æœ‰æ•ˆï¼Œä¸ºæ¥¼å±‚å· public short wRoomNumber; //æ“作å‘èµ·æºé™„åŠ ä¿¡æ¯ï¼Œåˆ·å¡å¼€é”时有效,为房间å·ï¼Œ public short wLockID; //(对于门å£æœºï¼Œ0-表示本机控制器上接的é”ã€1-表示外接控制器上接的é”) public byte[] byRes2 = new byte[2]; public byte[] byLockName = new byte[LOCK_NAME_LEN]; //刷å¡å¼€é”时有效,é”å称,对应门å‚æ•°é…ç½®ä¸é—¨å称 public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) public byte[] byRes = new byte[136]; //ä¿ç•™ } //公告信æ¯é˜…读回执 public static class NET_DVR_NOTICEDATA_RECEIPT_INFO extends HIKSDKStructure { public byte[] byNoticeNumber = new byte[MAX_NOTICE_NUMBER_LEN]; //å…¬å‘Šç¼–å· public byte[] byRes = new byte[224]; //ä¿ç•™ } //认è¯è®°å½•ï¼ˆè®¾å¤‡æœªå®žçŽ°ï¼‰ public static class NET_DVR_AUTH_INFO extends HIKSDKStructure { public byte byAuthResult; //认è¯ç»“果:0-æ— æ•ˆï¼Œ1-认è¯æˆåŠŸï¼Œ2-认è¯å¤±è´¥ public byte byAuthType; //认è¯æ–¹å¼ï¼š0-æ— æ•ˆï¼Œ1-指纹,2-人脸 public byte[] byRes1 = new byte[2]; //ä¿ç•™ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN/*32*/]; //å¡å· public int dwPicDataLen; //图片数æ®é•¿åº¦ï¼ˆå½“认è¯æ–¹å¼byAuthType为人脸时有效) public Pointer pImage; //图片指针(当认è¯æ–¹å¼byAuthType为人脸时有效) public byte[] byRes = new byte[212]; //ä¿ç•™ } //车牌信æ¯ä¸Šä¼ public static class NET_DVR_UPLOAD_PLATE_INFO extends HIKSDKStructure { public byte[] sLicense = new byte[MAX_LICENSE_LEN]; //车牌å·ç public byte byColor; //车牌颜色,å‚考结构VCA_PLATE_COLOR public byte[] byRes = new byte[239]; //ä¿ç•™ } public static class NET_DVR_SEND_CARD_INFO extends HIKSDKStructure { public byte[] byCardNo = new byte[ACS_CARD_NO_LEN/*32*/]; //å¡å· public byte[] byRes = new byte[224]; //ä¿ç•™ } //å¯è§†å¯¹è®²äº‹ä»¶è®°å½•ä¿¡æ¯è”åˆä½“ public static class NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON extends Union { public byte[] byLen = new byte[256]; //è”åˆä½“å¤§å° public NET_DVR_UNLOCK_RECORD_INFO struUnlockRecord = new NET_DVR_UNLOCK_RECORD_INFO(); //å¼€é”记录 public NET_DVR_NOTICEDATA_RECEIPT_INFO struNoticedataReceipt = new NET_DVR_NOTICEDATA_RECEIPT_INFO(); //公告信æ¯é˜…读回执 public NET_DVR_AUTH_INFO struAuthInfo = new NET_DVR_AUTH_INFO(); //认è¯è®°å½•ï¼ˆè®¾å¤‡æœªå®žçŽ°ï¼‰ public NET_DVR_UPLOAD_PLATE_INFO struUploadPlateInfo = new NET_DVR_UPLOAD_PLATE_INFO(); //车牌信æ¯ä¸Šä¼ public NET_DVR_SEND_CARD_INFO struSendCardInfo = new NET_DVR_SEND_CARD_INFO(); //é—¨å£æœºå‘å¡,对应设备处于å‘å¡çŠ¶æ€ï¼Œåˆ·å¡æ—¶ä¸Šä¼ 该事件 } //å¯è§†å¯¹è®²äº‹ä»¶è®°å½• public static class NET_DVR_VIDEO_INTERCOM_EVENT extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX(); //时间 public byte[] byDevNumber = new byte[MAX_DEV_NUMBER_LEN]; //è®¾å¤‡ç¼–å· public byte byEventType; //事件信æ¯ç±»åž‹ï¼Œ1-å¼€é”记录,2-公告信æ¯é˜…读回执,3-认è¯è®°å½•ï¼Œ4-车牌信æ¯ä¸Šä¼ ,5éžæ³•å¡åˆ·å¡äº‹ä»¶ï¼Œ6-é—¨å£æœºå‘å¡è®°å½•(需è¦å¯åŠ¨é—¨å£æœºå‘å¡åŠŸèƒ½ï¼Œåˆ·å¡æ—¶æ‰ä¼šä¸Šä¼ 该事件) public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public byte[] byRes1 = new byte[2]; //ä¿ç•™ public NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON uEventInfo = new NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON(); //事件信æ¯ï¼Œå…·ä½“内容å‚考byEventTypeå–值 public int dwIOTChannelNo; //IOT通é“å· public byte[] byRes2 = new byte[252]; //ä¿ç•™ } public static class NET_DVR_CONTROL_GATEWAY extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public int dwGatewayIndex; //é—¨ç¦åºå·ï¼Œä»Ž1开始 public byte byCommand; //æ“作命令,0-å…³é—,1-打开,2-常开(通é“状æ€ï¼‰ï¼Œ3-æ¢å¤ï¼ˆæ™®é€šçŠ¶æ€ï¼‰ public byte byLockType; //é”类型,0-普通(以å‰é»˜è®¤éƒ½ä¸º0),1-æ™ºèƒ½é” public short wLockID; //é”ID,从1开始(远程开门å£æœºé”时,0表示门å£æœºæœ¬æœºæŽ§åˆ¶å™¨ä¸ŠæŽ¥çš„é”ã€1表示外接控制器上接的é”) public byte[] byControlSrc = new byte[NAME_LEN]; //æ“作å‘èµ·æºä¿¡æ¯ public byte byControlType; //å¼€é”类型,1-监视,2-é€šè¯ public byte[] byRes3 = new byte[3]; public byte[] byPassword = new byte[PASSWD_LEN]; //é”密ç ,当byLockType为智能é”时有效 public byte[] byRes2 = new byte[108]; //ä¿ç•™ } //公告图片信æ¯ç»“构体 public static class NET_DVR_NOTICE_PIC extends HIKSDKStructure { public Pointer pPicData; //图片指针 public int dwPicDataLen; //图片数æ®é•¿åº¦ public byte[] byRes = new byte[32]; //ä¿ç•™ } //å…¬å‘Šæ•°æ® public static class NET_DVR_NOTICE_DATA extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX(); //公告时间 public byte[] byNoticeNumber = new byte[MAX_NOTICE_NUMBER_LEN]; //å…¬å‘Šç¼–å· public byte[] byNoticeTheme = new byte[MAX_NOTICE_THEME_LEN];//公告主题 public byte[] byNoticeDetail = new byte[MAX_NOTICE_DETAIL_LEN]; //公告详情 public byte byLevel; //公告ç‰çº§ï¼Œ1-广告类信æ¯ï¼›2-物业信æ¯ï¼›3-报è¦ç±»ä¿¡æ¯;4-é€šçŸ¥ç±»ä¿¡æ¯ public byte byPicNum; //å…¬å‘Šå›¾ç‰‡æ•°é‡ public byte[] byRes1 = new byte[2]; //ä¿ç•™ public NET_DVR_NOTICE_PIC[] struNoticePic = new NET_DVR_NOTICE_PIC[MAX_NOTICE_PIC_NUM]; //公告图片 public byte[] byRes2 = new byte[128]; //ä¿ç•™ } public static class NET_DVR_DATE extends HIKSDKStructure { public short wYear; //å¹´ public byte byMonth; //月 public byte byDay; //æ—¥ } //身份è¯ä¿¡æ¯ public static class NET_DVR_ID_CARD_INFO extends HIKSDKStructure { public int dwSize; //结构长度 public byte[] byName = new byte[MAX_ID_NAME_LEN]; //姓å public NET_DVR_DATE struBirth; //出生日期 public byte[] byAddr = new byte[MAX_ID_ADDR_LEN]; //ä½å€ public byte[] byIDNum = new byte[MAX_ID_NUM_LEN]; //身份è¯å·ç public byte[] byIssuingAuthority = new byte[MAX_ID_ISSUING_AUTHORITY_LEN]; //ç¾å‘机关 public NET_DVR_DATE struStartDate; //有效开始日期 public NET_DVR_DATE struEndDate; //有效截æ¢æ—¥æœŸ public byte byTermOfValidity; //是å¦é•¿æœŸæœ‰æ•ˆï¼Œ 0-å¦ï¼Œ1-是(有效截æ¢æ—¥æœŸæ— 效) public byte bySex; //性别,1-男,2-女 public byte byNation; //æ°‘æ— public byte[] byRes = new byte[101]; } public static class NET_DVR_ACS_EVENT_INFO_EXTEND_V20 extends HIKSDKStructure { public byte byRemoteCheck; //是å¦éœ€è¦è¿œç¨‹æ ¸éªŒï¼ˆ0-æ— æ•ˆï¼Œ1-ä¸éœ€è¦ï¼ˆé»˜è®¤ï¼‰ï¼Œ2-需è¦ï¼‰ public byte byThermometryUnit; //测温å•ä½ï¼ˆ0-æ‘„æ°åº¦ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-åŽæ°åº¦ï¼Œ2-开尔文) public byte byIsAbnomalTemperature; //人脸抓æ‹æµ‹æ¸©æ˜¯å¦æ¸©åº¦å¼‚常:1-是,0-å¦ public byte byRes2; public float fCurrTemperature; //人脸温度(精确到å°æ•°ç‚¹åŽä¸€ä½ï¼‰ public NET_VCA_POINT struRegionCoordinates = new NET_VCA_POINT(); //人脸温度åæ ‡ public int dwQRCodeInfoLen; //二维ç ä¿¡æ¯é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public int dwVisibleLightDataLen; //çƒæˆåƒç›¸æœºå¯è§å…‰å›¾ç‰‡é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public int dwThermalDataLen; //çƒæˆåƒå›¾ç‰‡é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pQRCodeInfo; //二维ç ä¿¡æ¯æŒ‡é’ˆ public Pointer pVisibleLightData; //çƒæˆåƒç›¸æœºå¯è§å…‰å›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalData; //çƒæˆåƒå›¾ç‰‡æŒ‡é’ˆ public byte[] byRes = new byte[1024]; } //é—¨ç¦ä¸»æœºæŠ¥è¦ä¿¡æ¯ç»“构体 public static class NET_DVR_ACS_ALARM_INFO extends HIKSDKStructure { public int dwSize; public int dwMajor; //报è¦ä¸»ç±»åž‹ï¼Œå‚考å®å®šä¹‰ public int dwMinor; //报è¦æ¬¡ç±»åž‹ï¼Œå‚考å®å®šä¹‰ public NET_DVR_TIME struTime = new NET_DVR_TIME(); //时间 public byte[] sNetUser = new byte[MAX_NAMELEN];//网络æ“作的用户å public NET_DVR_IPADDR struRemoteHostAddr = new NET_DVR_IPADDR();//è¿œç¨‹ä¸»æœºåœ°å€ public NET_DVR_ACS_EVENT_INFO struAcsEventInfo = new NET_DVR_ACS_EVENT_INFO(); //详细å‚æ•° public int dwPicDataLen; //图片数æ®å¤§å°ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pPicData; public short wInductiveEventType; //归纳事件类型,0-æ— æ•ˆï¼Œå®¢æˆ·ç«¯åˆ¤æ–该值为éž0值åŽï¼ŒæŠ¥è¦ç±»åž‹é€šè¿‡å½’纳事件类型区分,å¦åˆ™é€šè¿‡åŽŸæœ‰æŠ¥è¦ä¸»æ¬¡ç±»åž‹ï¼ˆdwMajorã€dwMinor)区分 public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public byte byRes1; //ä¿ç•™å—节 public int dwIOTChannelNo; //IOT通é“å· public Pointer pAcsEventInfoExtend; //byAcsEventInfoExtend为1时,表示指å‘一个NET_DVR_ACS_EVENT_INFO_EXTEND结构体 public byte byAcsEventInfoExtend; //pAcsEventInfoExtend是å¦æœ‰æ•ˆï¼š0-æ— æ•ˆï¼Œ1-有效 public byte byTimeType; //时间类型:0-设备本地时间,1-UTC时间(struTime的时间) public byte byRes2; //ä¿ç•™å—节 public byte byAcsEventInfoExtendV20; //pAcsEventInfoExtendV20是å¦æœ‰æ•ˆï¼š0-æ— æ•ˆï¼Œ1-有效 public Pointer pAcsEventInfoExtendV20; //byAcsEventInfoExtendV20为1时,表示指å‘一个NET_DVR_ACS_EVENT_INFO_EXTEND_V20结构体 public byte[] byRes = new byte[4]; } //é—¨ç¦ä¸»æœºäº‹ä»¶ä¿¡æ¯ public static class NET_DVR_ACS_EVENT_INFO extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[32]; public byte byCardType; public byte byAllowListNo; public byte byReportChannel; public byte byCardReaderKind; public int dwCardReaderNo; public int dwDoorNo; public int dwVerifyNo; public int dwAlarmInNo; public int dwAlarmOutNo; public int dwCaseSensorNo; public int dwRs485No; public int dwMultiCardGroupNo; public short wAccessChannel; public byte byDeviceNo; public byte byDistractControlNo; public int dwEmployeeNo; public short wLocalControllerID; public byte byInternetAccess; public byte byType; public byte[] byMACAddr = new byte[MACADDR_LEN]; //物ç†åœ°å€ï¼Œä¸º0æ— æ•ˆ public byte bySwipeCardType;//刷å¡ç±»åž‹ï¼Œ0-æ— æ•ˆï¼Œ1-二维ç public byte byMask; //是å¦å¸¦å£ç½©ï¼š0-ä¿ç•™ï¼Œ1-未知,2-ä¸æˆ´å£ç½©ï¼Œ3-戴å£ç½© public int dwSerialNo; //事件æµæ°´å·ï¼Œä¸º0æ— æ•ˆ public byte byChannelControllerID; //通é“控制器ID,为0æ— æ•ˆï¼Œ1-主通é“控制器,2-从通é“控制器 public byte byChannelControllerLampID; //通é“控制器ç¯æ¿ID,为0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byChannelControllerIRAdaptorID; //通é“控制器红外转接æ¿ID,为0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byChannelControllerIREmitterID; //通é“控制器红外对射ID,为0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byHelmet;//å¯é€‰ï¼Œæ˜¯å¦æˆ´å®‰å…¨å¸½ï¼š0-ä¿ç•™ï¼Œ1-未知,2-ä¸æˆ´å®‰å…¨, 3-戴安全帽 public byte[] byRes = new byte[3]; } public static final int NET_DEV_NAME_LEN = 64; public static class NET_DVR_ACS_EVENT_INFO_EXTEND extends HIKSDKStructure { public int dwFrontSerialNo; //事件æµæ°´å·ï¼Œä¸º0æ— æ•ˆï¼ˆè‹¥è¯¥å—段为0,平å°æ ¹æ®dwSerialNo判æ–是å¦ä¸¢å¤±äº‹ä»¶ï¼›è‹¥è¯¥å—段ä¸ä¸º0,平å°æ ¹æ®è¯¥å—段和dwSerialNoå—段共åŒåˆ¤æ–是å¦ä¸¢å¤±äº‹ä»¶ï¼‰ï¼ˆä¸»è¦ç”¨äºŽè§£å†³æŠ¥è¦è®¢é˜…åŽå¯¼è‡´dwSerialNoä¸è¿žç»çš„情况) public byte byUserType; //人员类型:0-æ— æ•ˆï¼Œ1-普通人(主人),2-æ¥å®¾ï¼ˆè®¿å®¢ï¼‰ï¼Œ3-ç¦æ¢åå•äººï¼Œ4-管ç†å‘˜ public byte byCurrentVerifyMode; //读å¡å™¨å½“å‰éªŒè¯æ–¹å¼ï¼š0-æ— æ•ˆï¼Œ1-ä¼‘çœ ï¼Œ2-刷å¡+密ç ,3-刷å¡ï¼Œ4-刷å¡æˆ–密ç ,5-指纹,6-指纹+密ç ,7-指纹或刷å¡ï¼Œ8-指纹+刷å¡ï¼Œ9-指纹+刷å¡+密ç ,10-人脸或指纹或刷å¡æˆ–密ç ,11-人脸+指纹,12-人脸+密ç ,13-人脸+刷å¡ï¼Œ14-人脸,15-å·¥å·+密ç ,16-指纹或密ç ,17-å·¥å·+指纹,18-å·¥å·+指纹+密ç ,19-人脸+指纹+刷å¡ï¼Œ20-人脸+密ç +指纹,21-å·¥å·+人脸,22-人脸或人脸+刷å¡ï¼Œ23-指纹或人脸,24-刷å¡æˆ–人脸或密ç ,25-刷å¡æˆ–人脸,26-刷å¡æˆ–人脸或指纹,27-刷å¡æˆ–指纹或密ç public byte byCurrentEvent; //是å¦ä¸ºå®žæ—¶äº‹ä»¶ï¼š0-æ— æ•ˆï¼Œ1-是(实时事件),2-å¦ï¼ˆç¦»çº¿äº‹ä»¶ï¼‰ public byte byPurePwdVerifyEnable; //设备是å¦æ”¯æŒçº¯å¯†ç 认è¯ï¼Œ 0-ä¸æ”¯æŒï¼Œ1-æ”¯æŒ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID)(对于设备æ¥è¯´ï¼Œå¦‚果使用了工å·ï¼ˆäººå‘˜ID)å—段,byEmployeeNo一定è¦ä¼ 递,如果byEmployeeNoå¯è½¬æ¢ä¸ºdwEmployeeNo,那么该å—段也è¦ä¼ 递;对于上层平å°æˆ–客户端æ¥è¯´ï¼Œä¼˜å…ˆè§£æžbyEmployeeNoå—段,如该å—段为空,å†è€ƒè™‘解æždwEmployeeNoå—段) public byte byAttendanceStatus; //考勤状æ€ï¼š0-未定义,1-上ç,2-下ç,3-开始休æ¯ï¼Œ4-结æŸä¼‘æ¯ï¼Œ5-å¼€å§‹åŠ ç,6-结æŸåŠ ç public byte byStatusValue; //考勤状æ€å€¼ public byte[] byRes2 = new byte[2]; public byte[] byUUID = new byte[NET_SDK_UUID_LEN/*36*/]; //UUID(该å—段仅在对接è¤çŸ³å¹³å°è¿‡ç¨‹ä¸æ‰ä¼šä½¿ç”¨ï¼‰ public byte[] byDeviceName = new byte[NET_DEV_NAME_LEN/*64*/]; //设备åºåˆ—å· public byte[] byRes = new byte[24]; } /* é—¨ç¦ä¸»æœºæŠ¥è¦äº‹ä»¶ç»†èŠ‚结构体 */ public static class NET_DVR_ACS_EVENT_DETAIL extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //å¡å·ï¼ˆmac地å€ï¼‰ï¼Œä¸º0æ— æ•ˆ public byte byCardType; //å¡ç±»åž‹ï¼Œ1-普通å¡ï¼Œ2-残障人士å¡ï¼Œ3-ç¦æ¢åå•å¡ï¼Œ4-å·¡æ›´å¡ï¼Œ5-èƒè¿«å¡ï¼Œ6-超级å¡ï¼Œ7-æ¥å®¾å¡ï¼Œ8-解除å¡ï¼Œä¸º0æ— æ•ˆ public byte byAllowListNo; //å…许åå•å•å·,1-8,为0æ— æ•ˆ public byte byReportChannel; //æŠ¥å‘Šä¸Šä¼ é€šé“,1-å¸ƒé˜²ä¸Šä¼ ï¼Œ2-ä¸å¿ƒç»„1ä¸Šä¼ ï¼Œ3-ä¸å¿ƒç»„2ä¸Šä¼ ï¼Œä¸º0æ— æ•ˆ public byte byCardReaderKind; //读å¡å™¨å±žäºŽå“ªä¸€ç±»ï¼Œ0-æ— æ•ˆï¼Œ1-IC读å¡å™¨ï¼Œ2-身份è¯è¯»å¡å™¨ï¼Œ3-二维ç 读å¡å™¨,4-指纹头 public int dwCardReaderNo; //读å¡å™¨ç¼–å·ï¼Œä¸º0æ— æ•ˆ public int dwDoorNo; //门编å·ï¼ˆæ¥¼å±‚ç¼–å·ï¼‰ï¼Œä¸º0æ— æ•ˆ public int dwVerifyNo; //多é‡å¡è®¤è¯åºå·ï¼Œä¸º0æ— æ•ˆ public int dwAlarmInNo; //报è¦è¾“å…¥å·ï¼Œä¸º0æ— æ•ˆ public int dwAlarmOutNo; //报è¦è¾“出å·ï¼Œä¸º0æ— æ•ˆ public int dwCaseSensorNo; //事件触å‘å™¨ç¼–å· public int dwRs485No; //RS485通é“å·ï¼Œä¸º0æ— æ•ˆ public int dwMultiCardGroupNo; //ç¾¤ç»„ç¼–å· public short wAccessChannel; //人员通é“å· public byte byDeviceNo; //设备编å·ï¼Œä¸º0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byDistractControlNo;//分控器编å·ï¼Œä¸º0æ— æ•ˆ public int dwEmployeeNo; //å·¥å·ï¼Œä¸º0æ— æ•ˆ public short wLocalControllerID; //就地控制器编å·ï¼Œ0-é—¨ç¦ä¸»æœºï¼Œ1-64代表就地控制器 public byte byInternetAccess; //网å£ID:(1-上行网å£1,2-上行网å£2,3-下行网å£1) public byte byType; //防区类型,0:å³æ—¶é˜²åŒº,1-24å°æ—¶é˜²åŒº,2-延时防区 ,3-内部防区,4-钥匙防区 5-ç«è¦é˜²åŒº 6-周界防区 7-24å°æ—¶æ— 声防区 8-24å°æ—¶è¾…助防区,9-24å°æ—¶éœ‡åŠ¨é˜²åŒº,10-é—¨ç¦ç´§æ€¥å¼€é—¨é˜²åŒºï¼Œ11-é—¨ç¦ç´§æ€¥å…³é—¨é˜²åŒº 0xff-æ— public byte[] byMACAddr = new byte[MACADDR_LEN]; //物ç†åœ°å€ï¼Œä¸º0æ— æ•ˆ public byte bySwipeCardType;//刷å¡ç±»åž‹ï¼Œ0-æ— æ•ˆï¼Œ1-二维ç public byte byEventAttribute; //事件属性:0-未定义,1-åˆæ³•è®¤è¯ï¼Œ2-其它 public int dwSerialNo; //事件æµæ°´å·ï¼Œä¸º0æ— æ•ˆ public byte byChannelControllerID; //通é“控制器ID,为0æ— æ•ˆï¼Œ1-主通é“控制器,2-从通é“控制器 public byte byChannelControllerLampID; //通é“控制器ç¯æ¿ID,为0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byChannelControllerIRAdaptorID; //通é“控制器红外转接æ¿ID,为0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public byte byChannelControllerIREmitterID; //通é“控制器红外对射ID,为0æ— æ•ˆï¼ˆæœ‰æ•ˆèŒƒå›´1-255) public int dwRecordChannelNum; //录åƒé€šé“æ•°ç›® public Pointer pRecordChannelData;//录åƒé€šé“,大å°ä¸ºsizeof(DWORD)* dwRecordChannelNum public byte byUserType; //人员类型:0-æ— æ•ˆï¼Œ1-普通人(主人),2-æ¥å®¾ï¼ˆè®¿å®¢ï¼‰ï¼Œ3-ç¦æ¢åå•äººï¼Œ4-管ç†å‘˜ public byte byCurrentVerifyMode; //读å¡å™¨å½“å‰éªŒè¯æ–¹å¼ï¼š0-æ— æ•ˆï¼Œ1-ä¼‘çœ ï¼Œ2-刷å¡+密ç ,3-刷å¡ï¼Œ4-刷å¡æˆ–密ç ,5-指纹,6-指纹+密ç ,7-指纹或刷å¡ï¼Œ8-指纹+刷å¡ï¼Œ9-指纹+刷å¡+密ç ,10-人脸或指纹或刷å¡æˆ–密ç ,11-人脸+指纹,12-人脸+密ç , //13-人脸+刷å¡ï¼Œ14-人脸,15-å·¥å·+密ç ,16-指纹或密ç ,17-å·¥å·+指纹,18-å·¥å·+指纹+密ç ,19-人脸+指纹+刷å¡ï¼Œ20-人脸+密ç +指纹,21-å·¥å·+人脸,22-人脸或人脸+刷å¡ï¼Œ23-指纹或人脸,24-刷å¡æˆ–人脸或密ç ,25-刷å¡æˆ–人脸,26-刷å¡æˆ–人脸或指纹,27-刷å¡æˆ–指纹或密ç public byte byAttendanceStatus; //考勤状æ€ï¼š0-未定义,1-上ç,2-下ç,3-开始休æ¯ï¼Œ4-结æŸä¼‘æ¯ï¼Œ5-å¼€å§‹åŠ ç,6-结æŸåŠ ç public byte byStatusValue; //考勤状æ€å€¼ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID)(对于设备æ¥è¯´ï¼Œå¦‚果使用了工å·ï¼ˆäººå‘˜ID)å—段,byEmployeeNo一定è¦ä¼ 递,如果byEmployeeNoå¯è½¬æ¢ä¸ºdwEmployeeNo,那么该å—段也è¦ä¼ 递;对于上层平å°æˆ–客户端æ¥è¯´ï¼Œä¼˜å…ˆè§£æžbyEmployeeNoå—段,如该å—段为空,å†è€ƒè™‘解æždwEmployeeNoå—段) public byte byRes1; //ä¿ç•™ public byte byMask; //是å¦å¸¦å£ç½©ï¼š0-ä¿ç•™ï¼Œ1-未知,2-ä¸æˆ´å£ç½©ï¼Œ3-戴å£ç½© public byte byThermometryUnit; //测温å•ä½ï¼ˆ0-æ‘„æ°åº¦ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-åŽæ°åº¦ï¼Œ2-开尔文) public byte byIsAbnomalTemperature; //人脸抓æ‹æµ‹æ¸©æ˜¯å¦æ¸©åº¦å¼‚常:1-是,0-å¦ public float fCurrTemperature; //人脸温度(精确到å°æ•°ç‚¹åŽä¸€ä½ï¼‰ public NET_VCA_POINT struRegionCoordinates; //人脸温度åæ ‡ public byte[] byRes = new byte[48]; } /* é—¨ç¦ä¸»æœºæŠ¥è¦äº‹ä»¶é…置结构体 */ public static class NET_DVR_ACS_EVENT_CFG extends HIKSDKStructure { public int dwSize; public int dwMajor; //报è¦ä¸»ç±»åž‹ï¼Œå‚考å®å®šä¹‰ public int dwMinor; //报è¦æ¬¡ç±»åž‹ï¼Œå‚考å®å®šä¹‰ public NET_DVR_TIME struTime = new NET_DVR_TIME(); //时间 public byte[] sNetUser = new byte[MAX_NAMELEN];//网络æ“作的用户å public NET_DVR_IPADDR struRemoteHostAddr;//è¿œç¨‹ä¸»æœºåœ°å€ public NET_DVR_ACS_EVENT_DETAIL struAcsEventInfo; //详细å‚æ•° public int dwPicDataLen; //图片数æ®å¤§å°ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pPicData; public short wInductiveEventType; //归纳事件类型,0-æ— æ•ˆï¼Œå…¶ä»–å€¼å‚è§2.2ç« èŠ‚ï¼Œå®¢æˆ·ç«¯åˆ¤æ–该值为éž0值åŽï¼ŒæŠ¥è¦ç±»åž‹é€šè¿‡å½’纳事件类型区分,å¦åˆ™é€šè¿‡åŽŸæœ‰æŠ¥è¦ä¸»æ¬¡ç±»åž‹ï¼ˆdwMajorã€dwMinor)区分 public byte byTimeType; //时间类型:0-设备本地时间(默认),1-UTC时间(struTime的时间) public byte byRes1; public int dwQRCodeInfoLen; //二维ç ä¿¡æ¯é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public int dwVisibleLightDataLen; //çƒæˆåƒç›¸æœºå¯è§å…‰å›¾ç‰‡é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public int dwThermalDataLen; //çƒæˆåƒå›¾ç‰‡é•¿åº¦ï¼Œä¸ä¸º0是表示åŽé¢å¸¦æ•°æ® public Pointer pQRCodeInfo; //二维ç ä¿¡æ¯æŒ‡é’ˆ public Pointer pVisibleLightData; //çƒæˆåƒç›¸æœºå¯è§å…‰å›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalData; //çƒæˆåƒå›¾ç‰‡æŒ‡é’ˆ public byte[] byRes = new byte[36]; } public static final int NET_SDK_MONITOR_ID_LEN = 64; public static class NET_DVR_ACS_EVENT_COND extends HIKSDKStructure { public int dwSize; public int dwMajor; //报è¦ä¸»ç±»åž‹ï¼Œå‚è€ƒäº‹ä»¶ä¸Šä¼ å®å®šä¹‰ï¼Œ0-全部 public int dwMinor; //报è¦æ¬¡ç±»åž‹ï¼Œå‚è€ƒäº‹ä»¶ä¸Šä¼ å®å®šä¹‰ï¼Œ0-全部 public NET_DVR_TIME struStartTime; //开始时间 public NET_DVR_TIME struEndTime; //结æŸæ—¶é—´ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //å¡å· public byte[] byName = new byte[NAME_LEN]; //æŒå¡äººå§“å public byte byPicEnable; //是å¦å¸¦å›¾ç‰‡ï¼Œ0-ä¸å¸¦å›¾ç‰‡ï¼Œ1-带图片 public byte byTimeType; //时间类型:0-设备本地时间(默认),1-UTC时间(struStartTimeå’ŒstruEndTime的时间) public byte[] byRes2 = new byte[2]; //ä¿ç•™ public int dwBeginSerialNo; //起始æµæ°´å·ï¼ˆä¸º0时默认全部) public int dwEndSerialNo; //结æŸæµæ°´å·ï¼ˆä¸º0时默认全部) public int dwIOTChannelNo; //IOT通é“å·ï¼Œ0-æ— æ•ˆ public short wInductiveEventType; //归纳事件类型,0-æ— æ•ˆï¼Œå…¶ä»–å€¼å‚è§2.2ç« èŠ‚ï¼Œå®¢æˆ·ç«¯åˆ¤æ–该值为éž0值åŽï¼ŒæŠ¥è¦ç±»åž‹é€šè¿‡å½’纳事件类型区分,å¦åˆ™é€šè¿‡åŽŸæœ‰æŠ¥è¦ä¸»æ¬¡ç±»åž‹ï¼ˆdwMajorã€dwMinor)区分 public byte bySearchType; //æœç´¢æ–¹å¼ï¼š0-ä¿ç•™ï¼Œ1-按事件æºæœç´¢ï¼ˆæ¤æ—¶é€šé“å·ä¸ºéžè§†é¢‘通é“å·ï¼‰ï¼Œ2-按监控点IDæœç´¢ public byte byEventAttribute; //事件属性:0-未定义,1-åˆæ³•äº‹ä»¶ï¼Œ2-其它 public byte[] szMonitorID = new byte[NET_SDK_MONITOR_ID_LEN/*64*/]; //监控点ID(由设备åºåˆ—å·ã€é€šé“类型ã€ç¼–å·ç»„æˆï¼Œä¾‹å¦‚é—¨ç¦ç‚¹ï¼šè®¾å¤‡åºåˆ—å·+“DOORâ€+门编å·ï¼‰ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) public byte[] byRes = new byte[140]; //ä¿ç•™ } public static class NET_DVR_ACS_WORK_STATUS_V50 extends HIKSDKStructure { public int dwSize; public byte[] byDoorLockStatus = new byte[MAX_DOOR_NUM_256]; //é—¨é”状æ€(继电器开åˆçŠ¶æ€),0-æ£å¸¸å…³ï¼Œ1-æ£å¸¸å¼€ï¼Œ2-çŸè·¯æŠ¥è¦ï¼Œ3-æ–路报è¦ï¼Œ4-å¼‚å¸¸æŠ¥è¦ public byte[] byDoorStatus = new byte[MAX_DOOR_NUM_256]; //门状æ€(楼层状æ€),1-ä¼‘çœ ï¼Œ2-常开状æ€(自由),3-常é—状æ€(ç¦ç”¨),4-普通状æ€(å—控) public byte[] byMagneticStatus = new byte[MAX_DOOR_NUM_256]; //é—¨ç£çŠ¶æ€ï¼Œ0-æ£å¸¸å…³ï¼Œ1-æ£å¸¸å¼€ï¼Œ2-çŸè·¯æŠ¥è¦ï¼Œ3-æ–路报è¦ï¼Œ4-å¼‚å¸¸æŠ¥è¦ public byte[] byCaseStatus = new byte[MAX_CASE_SENSOR_NUM]; //事件触å‘器状æ€ï¼Œ0-æ— è¾“å…¥ï¼Œ1-有输入 public short wBatteryVoltage; //è“„ç”µæ± ç”µåŽ‹å€¼ï¼Œå®žé™…å€¼ä¹˜10,å•ä½ï¼šä¼ç‰¹ public byte byBatteryLowVoltage; //è“„ç”µæ± æ˜¯å¦å¤„于低压状æ€ï¼Œ0-å¦ï¼Œ1-是 public byte byPowerSupplyStatus; //设备供电状æ€ï¼Œ1-交æµç”µä¾›ç”µï¼Œ2-è“„ç”µæ± ä¾›ç”µ public byte byMultiDoorInterlockStatus; //多门互é”状æ€ï¼Œ0-å…³é—,1-å¼€å¯ public byte byAntiSneakStatus; //å潜回状æ€ï¼Œ0-å…³é—,1-å¼€å¯ public byte byHostAntiDismantleStatus; //主机防拆状æ€ï¼Œ0-å…³é—,1-å¼€å¯ public byte byIndicatorLightStatus; //指示ç¯çŠ¶æ€ï¼Œ0-掉线,1-在线 public byte[] byCardReaderOnlineStatus = new byte[MAX_CARD_READER_NUM_512]; //读å¡å™¨åœ¨çº¿çŠ¶æ€ï¼Œ0-ä¸åœ¨çº¿ï¼Œ1-在线 public byte[] byCardReaderAntiDismantleStatus = new byte[MAX_CARD_READER_NUM_512]; //读å¡å™¨é˜²æ‹†çŠ¶æ€ï¼Œ0-å…³é—,1-å¼€å¯ public byte[] byCardReaderVerifyMode = new byte[MAX_CARD_READER_NUM_512]; //读å¡å™¨å½“å‰éªŒè¯æ–¹å¼ï¼Œ1-ä¼‘çœ ï¼Œ2-刷å¡+密ç ,3-刷å¡ï¼Œ4-刷å¡æˆ–密ç public byte[] bySetupAlarmStatus = new byte[MAX_ALARMHOST_ALARMIN_NUM];//报è¦è¾“å…¥å£å¸ƒé˜²çŠ¶æ€ï¼Œ0-对应报è¦è¾“å…¥å£å¤„于撤防状æ€ï¼Œ1-对应报è¦è¾“å…¥å£å¤„äºŽå¸ƒé˜²çŠ¶æ€ public byte[] byAlarmInStatus = new byte[MAX_ALARMHOST_ALARMIN_NUM]; //按ä½è¡¨ç¤ºæŠ¥è¦è¾“å…¥å£æŠ¥è¦çŠ¶æ€ï¼Œ0-对应报è¦è¾“å…¥å£å½“å‰æ— 报è¦ï¼Œ1-对应报è¦è¾“å…¥å£å½“å‰æœ‰æŠ¥è¦ public byte[] byAlarmOutStatus = new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //按ä½è¡¨ç¤ºæŠ¥è¦è¾“出å£çŠ¶æ€ï¼Œ0-对应报è¦è¾“出å£æ— 报è¦ï¼Œ1-对应报è¦è¾“出å£æœ‰æŠ¥è¦ public int dwCardNum; //å·²æ·»åŠ çš„å¡æ•°é‡ public byte byFireAlarmStatus; //消防报è¦çŠ¶æ€æ˜¾ç¤ºï¼š0-æ£å¸¸ã€1-çŸè·¯æŠ¥è¦ã€2-æ–å¼€æŠ¥è¦ public byte byBatteryChargeStatus; //ç”µæ± å……ç”µçŠ¶æ€ï¼š0-æ— æ•ˆï¼›1-充电ä¸ï¼›2-未充电 public byte byMasterChannelControllerStatus; //主通é“控制器在线状æ€ï¼š0-æ— æ•ˆï¼›1-ä¸åœ¨çº¿ï¼›2-在线 public byte bySlaveChannelControllerStatus; //从通é“控制器在线状æ€ï¼š0-æ— æ•ˆï¼›1-ä¸åœ¨çº¿ï¼›2-在线 public byte byAntiSneakServerStatus; //å潜回æœåŠ¡å™¨çŠ¶æ€ï¼š0-æ— æ•ˆï¼Œ1-未å¯ç”¨ï¼Œ2-æ£å¸¸ï¼Œ3-æ–å¼€ public byte[] byRes3 = new byte[3]; public int dwAllowFaceNum; //å·²æ·»åŠ çš„å…许åå•äººè„¸æ•°é‡ï¼ˆé€šè¿‡èƒ½åŠ›é›†åˆ¤æ–) public int dwBlockFaceNum; //å·²æ·»åŠ çš„ç¦æ¢åå•äººè„¸æ•°é‡ï¼ˆé€šè¿‡èƒ½åŠ›é›†åˆ¤æ–) public byte[] byRes2 = new byte[108]; } public static final int ACS_PARAM_DOOR_STATUS_WEEK_PLAN = 0x00000001;//门状æ€å‘¨è®¡åˆ’å‚æ•° public static final int ACS_PARAM_VERIFY_WEEK_PALN = 0x00000002; //读å¡å™¨å‘¨è®¡åˆ’å‚æ•° public static final int ACS_PARAM_CARD_RIGHT_WEEK_PLAN = 0x00000004; //å¡æƒé™å‘¨è®¡åˆ’å‚æ•° public static final int ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN = 0x00000008; //门状æ€å‡æ—¥è®¡åˆ’å‚æ•° public static final int ACS_PARAM_VERIFY_HOLIDAY_PALN = 0x00000010; //读å¡å™¨å‡æ—¥è®¡åˆ’å‚æ•° public static final int ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN = 0x00000020; //å¡æƒé™å‡æ—¥è®¡åˆ’å‚æ•° public static final int ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP = 0x00000040; //门状æ€å‡æ—¥ç»„å‚æ•° public static final int ACS_PARAM_VERIFY_HOLIDAY_GROUP = 0x00000080;//读å¡å™¨éªŒè¯æ–¹å¼å‡æ—¥ç»„å‚æ•° public static final int ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP = 0x00000100; //å¡æƒé™å‡æ—¥ç»„å‚æ•° public static final int ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE = 0x00000200;//门状æ€è®¡åˆ’模æ¿å‚æ•° public static final int ACS_PARAM_VERIFY_PALN_TEMPLATE = 0x00000400; //读å¡å™¨éªŒè¯æ–¹å¼è®¡åˆ’模æ¿å‚æ•° public static final int ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE = 0x00000800; //å¡æƒé™è®¡åˆ’模æ¿å‚æ•° public static final int ACS_PARAM_CARD = 0x00001000; //å¡å‚æ•° public static final int ACS_PARAM_GROUP = 0x00002000; //群组å‚æ•° public static final int ACS_PARAM_ANTI_SNEAK_CFG = 0x00004000; //å潜回å‚æ•° public static final int ACS_PAPAM_EVENT_CARD_LINKAGE = 0x00008000; //事件åŠå¡å·è”动å‚æ•° public static final int ACS_PAPAM_CARD_PASSWD_CFG = 0x00010000; //密ç 开门使能å‚æ•° public static final int ACS_PARAM_PERSON_STATISTICS_CFG = 0x00020000; //人数统计å‚æ•° public static final int ACS_PARAM_BLOCKLIST_PICTURE = 0x00040000; //ç¦æ¢åå•å›¾ç‰‡å‚æ•° public static final int ACS_PARAM_ID_BLOCKLIST = 0x00080000; //身份è¯ç¦æ¢åå•å‚æ•° public static final int ACS_PARAM_EXAM_INFO = 0x00100000; //考试信æ¯å‚æ•° public static final int ACS_PARAM_EXAMINEE_INFO = 0x00200000; //考生信æ¯å‚æ•° public static final int ACS_PARAM_FAILED_FACE_INFO = 0x00400000; //å‡çº§è®¾å¤‡äººè„¸å»ºæ¨¡å¤±è´¥è®°å½• public static class NET_DVR_ACS_PARAM_TYPE extends HIKSDKStructure { public int dwSize; public int dwParamType; //å‚数类型,按ä½è¡¨ç¤º public short wLocalControllerID; //就地控制器åºå·[1,64],0代表门ç¦ä¸»æœº public byte[] byRes = new byte[30]; } public static class NET_DVR_FACE_PARAM_COND extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //人脸的读å¡å™¨æ˜¯å¦æœ‰æ•ˆï¼Œ0-æ— æ•ˆï¼Œ1-有效 public int dwFaceNum; //设置或获å–人脸数é‡ï¼ŒèŽ·å–时置为0xffffffff表示获å–æ‰€æœ‰äººè„¸ä¿¡æ¯ public byte byFaceID; //人脸编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-2 0xff表示该å¡æ‰€æœ‰äººè„¸ public byte[] byRes = new byte[127]; //ä¿ç•™ } public static class NET_DVR_FACE_PARAM_CFG extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public int dwFaceLen; //人脸数æ®é•¿åº¦<DESåŠ å¯†å¤„ç†>,设备端返回的å³åŠ 密åŽçš„æ•°æ® public Pointer pFaceBuffer; //人脸数æ®æŒ‡é’ˆ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //需è¦ä¸‹å‘人脸的读å¡å™¨ï¼ŒæŒ‰æ•°ç»„表示,从低ä½åˆ°é«˜ä½è¡¨ç¤ºï¼Œ0-ä¸ä¸‹å‘该读å¡å™¨ï¼Œ1-下å‘到该读å¡å™¨ public byte byFaceID; //人脸编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-2 public byte byFaceDataType; //人脸数æ®ç±»åž‹ï¼š0-模æ¿ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-图片 public byte[] byRes = new byte[126]; } public static class NET_DVR_FACE_PARAM_STATUS extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public byte[] byCardReaderRecvStatus = new byte[MAX_CARD_READER_NUM_512]; //人脸读å¡å™¨çŠ¶æ€ï¼ŒæŒ‰å—节表示,0-失败,1-æˆåŠŸï¼Œ2-é‡è¯•æˆ–人脸质é‡å·®ï¼Œ3-内å˜å·²æ»¡ï¼Œ4-å·²å˜åœ¨è¯¥äººè„¸ï¼Œ5-éžæ³•äººè„¸ID public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; //下å‘错误信æ¯ï¼Œå½“byCardReaderRecvStatus为4时,表示已å˜åœ¨äººè„¸å¯¹åº”çš„å¡å· public int dwCardReaderNo; //纹读å¡å™¨ç¼–å·ï¼Œå¯ç”¨äºŽä¸‹å‘错误返回 public byte byTotalStatus; //下å‘总的状æ€ï¼Œ0-当å‰äººè„¸æœªä¸‹å®Œæ‰€æœ‰è¯»å¡å™¨ï¼Œ1-已下完所有读å¡å™¨(这里的所有指的是门ç¦ä¸»æœºå¾€æ‰€æœ‰çš„读å¡å™¨ä¸‹å‘了,ä¸ç®¡æˆåŠŸä¸Žå¦) public byte byFaceID; //人脸编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-2 public byte[] byRes = new byte[130]; } public static class NET_DVR_FACE_PARAM_BYCARD extends HIKSDKStructure { public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //人脸的读å¡å™¨ä¿¡æ¯ï¼ŒæŒ‰æ•°ç»„表示 public byte[] byFaceID = new byte[MAX_FACE_NUM]; //需è¦åˆ 除的人脸编å·ï¼ŒæŒ‰æ•°ç»„ä¸‹æ ‡ï¼Œå€¼è¡¨ç¤º0-ä¸åˆ 除,1-åˆ é™¤è¯¥äººè„¸ public byte[] byRes1 = new byte[42]; //ä¿ç•™ } public static class NET_DVR_FACE_PARAM_BYREADER extends HIKSDKStructure { public int dwCardReaderNo; //按值表示,人脸读å¡å™¨ç¼–å· public byte byClearAllCard; //是å¦åˆ 除所有å¡çš„人脸信æ¯ï¼Œ0-按å¡å·åˆ 除人脸信æ¯ï¼Œ1-åˆ é™¤æ‰€æœ‰å¡çš„äººè„¸ä¿¡æ¯ public byte[] byRes1 = new byte[3]; //ä¿ç•™ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //人脸关è”çš„å¡å· public byte[] byRes = new byte[548]; //ä¿ç•™ } public static class NET_DVR_DEL_FACE_PARAM_MODE extends Union { public byte[] uLen = new byte[588]; //è”åˆä½“长度 public NET_DVR_FACE_PARAM_BYCARD struByCard; //按å¡å·çš„æ–¹å¼åˆ 除 public NET_DVR_FACE_PARAM_BYREADER struByReader; //按读å¡å™¨çš„æ–¹å¼åˆ 除 } public static class NET_DVR_CHECK_FACE_PICTURE_COND extends HIKSDKStructure { public int dwSize; public int dwPictureNum; //å›¾ç‰‡æ•°é‡ public byte byCheckTemplate; //0-æ ¡éªŒå›¾ç‰‡æ˜¯å¦åˆæ³•ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-æ ¡éªŒå›¾ç‰‡å’Œå»ºæ¨¡æ•°æ®æ˜¯å¦åŒ¹é… public byte[] byRes = new byte[127]; } public static class NET_DVR_CHECK_FACE_PICTURE_CFG extends HIKSDKStructure { public int dwSize; public int dwPictureNo; //å›¾ç‰‡ç¼–å· public int dwPictureLen; //图片长度(图片大å°ä¸è¶…过200k) public Pointer pPictureBuffer; //图片指针 public int dwFaceTemplateLen; //人脸建模数æ®é•¿åº¦ public Pointer pFaceTemplateBuffer; //人脸建模数æ®æŒ‡é’ˆ public byte[] byRes = new byte[248]; } public static class NET_DVR_CHECK_FACE_PICTURE_STATUS extends HIKSDKStructure { public int dwSize; public int dwPictureNo; //å›¾ç‰‡ç¼–å· public byte byCheckStatus; //æ ¡éªŒç»“æžœï¼š0-æ— æ•ˆï¼Œ1-建模æˆåŠŸï¼Œ2-建模失败,3-人脸模å—通讯异常,4-图åƒæ— 人脸,5-人脸æœä¸Šï¼Œ6-人脸æœä¸‹ï¼Œ7-人脸å左,8-人脸åå³ï¼Œ9-人脸顺时旋转, //10 - 人脸逆时旋转,11-人眼间è·å°ï¼Œ12-人脸和模æ¿åŒ¹é…,13-人脸和模æ¿ä¸åŒ¹é…,14-ä¼ è¾“æ•°æ®æœ‰è¯¯ public byte[] byRes = new byte[127]; } public static class NET_DVR_FINGER_PRINT_CFG_V50 extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //指纹关è”çš„å¡å· public int dwFingerPrintLen; //指纹数æ®é•¿åº¦ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //需è¦ä¸‹å‘指纹的读å¡å™¨ï¼ŒæŒ‰æ•°ç»„表示,从低ä½åˆ°é«˜ä½è¡¨ç¤ºï¼Œ0-ä¸ä¸‹å‘该读å¡å™¨ï¼Œ1-下å‘到该读å¡å™¨ public byte byFingerPrintID; //手指编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-10 public byte byFingerType; //指纹类型 0-普通指纹,1-èƒè¿«æŒ‡çº¹ï¼Œ2-巡更指纹,3-超级指纹,4-解除指纹 public byte[] byRes1 = new byte[30]; public byte[] byFingerData = new byte[MAX_FINGER_PRINT_LEN]; //指纹数æ®å†…容 public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) public byte[] byLeaderFP = new byte[MAX_DOOR_NUM_256]; //对门是å¦æœ‰é¦–次认è¯åŠŸèƒ½ï¼ˆæŒ‰å—节表示):0-æ— é¦–æ¬¡è®¤è¯åŠŸèƒ½ï¼Œ1-有首次认è¯åŠŸèƒ½ public byte[] byRes = new byte[128]; } public static class NET_DVR_FINGER_PRINT_STATUS_V50 extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //指纹关è”çš„å¡å· public byte[] byCardReaderRecvStatus = new byte[MAX_CARD_READER_NUM_512]; //指纹读å¡å™¨çŠ¶æ€ï¼ŒæŒ‰å—节表示,0-失败,1-æˆåŠŸï¼Œ2-该指纹模组ä¸åœ¨çº¿ï¼Œ3-é‡è¯•æˆ–指纹质é‡å·®ï¼Œ4-内å˜å·²æ»¡ï¼Œ5-å·²å˜åœ¨è¯¥æŒ‡çº¹ï¼Œ6-å·²å˜åœ¨è¯¥æŒ‡çº¹ID,7-éžæ³•æŒ‡çº¹ID,8-è¯¥æŒ‡çº¹æ¨¡ç»„æ— éœ€é…置,10-指纹读å¡å™¨ç‰ˆæœ¬è¿‡ä½Žï¼ˆæ— 法支æŒå·¥å·ï¼‰ public byte byFingerPrintID; //手指编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-10 public byte byFingerType; //指纹类型 0-普通指纹,1-èƒè¿«æŒ‡çº¹ï¼Œ2-巡更指纹,3-超级指纹,4-解除指纹 public byte byTotalStatus; //下å‘总的状æ€ï¼Œ0-当å‰æŒ‡çº¹æœªä¸‹å®Œæ‰€æœ‰è¯»å¡å™¨ï¼Œ1-已下完所有读å¡å™¨(这里的所有指的是门ç¦ä¸»æœºå¾€æ‰€æœ‰çš„读å¡å™¨ä¸‹å‘了,ä¸ç®¡æˆåŠŸä¸Žå¦) public byte byRecvStatus; //主机错误状æ€ï¼š0-æˆåŠŸï¼Œ1-手指编å·é”™è¯¯ï¼Œ2-指纹类型错误,3-å¡å·é”™è¯¯ï¼ˆå¡å·è§„æ ¼ä¸ç¬¦åˆè®¾å¤‡è¦æ±‚),4-指纹未关è”å·¥å·æˆ–å¡å·ï¼ˆå·¥å·æˆ–å¡å·å—段为空),5-å·¥å·ä¸å˜åœ¨ï¼Œ6-指纹数æ®é•¿åº¦ä¸º0,7-读å¡å™¨ç¼–å·é”™è¯¯ï¼Œ8-å·¥å·é”™è¯¯ public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; //下å‘错误信æ¯ï¼Œå½“byCardReaderRecvStatus为5时,表示已å˜åœ¨æŒ‡çº¹å¯¹åº”çš„å¡å· public int dwCardReaderNo; //当byCardReaderRecvStatus为5时,表示已å˜åœ¨æŒ‡çº¹å¯¹åº”的指纹读å¡å™¨ç¼–å·ï¼Œå¯ç”¨äºŽä¸‹å‘错误返回。0æ—¶è¡¨ç¤ºæ— é”™è¯¯ä¿¡æ¯ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) public byte[] byErrorEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //下å‘错误信æ¯ï¼Œå½“byCardReaderRecvStatus为5时,表示已å˜åœ¨æŒ‡çº¹å¯¹åº”çš„å·¥å·ï¼ˆäººå‘˜ID) public byte[] byRes = new byte[128]; } public static class NET_DVR_FINGER_PRINT_INFO_COND_V50 extends HIKSDKStructure { public int dwSize; public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //指纹关è”çš„å¡å·ï¼ˆè¯¥å—段获å–æ—¶æœ‰æ•ˆï¼Œè®¾ç½®æ—¶æ— æ•ˆï¼‰ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //指纹的读å¡å™¨æ˜¯å¦æœ‰æ•ˆï¼Œ0-æ— æ•ˆï¼Œ1-有效 public int dwFingerPrintNum; //设置或获指纹数é‡ï¼ŒèŽ·å–时置为0xffffffff表示获å–æ‰€æœ‰æŒ‡çº¹ä¿¡æ¯ public byte byFingerPrintID; //手指编å·ï¼Œæœ‰æ•ˆå€¼èŒƒå›´ä¸º1-10 0xff表示该å¡æ‰€æœ‰æŒ‡çº¹ public byte byCallBackMode; //设备回调方å¼ï¼Œ0-设备所有读å¡å™¨ä¸‹å®Œäº†è¿”回,1-在时间段内下了部分也返回 public byte[] byRes2 = new byte[2]; //ä¿ç•™ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //å·¥å·ï¼ˆäººå‘˜ID) public byte[] byRes1 = new byte[128]; //ä¿ç•™ } public static class NET_DVR_GROUP_CFG extends HIKSDKStructure { public int dwSize; public byte byEnable; //是å¦å¯ç”¨ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte[] byRes1 = new byte[3]; public NET_DVR_VALID_PERIOD_CFG struValidPeriodCfg = new NET_DVR_VALID_PERIOD_CFG(); //群组有效期å‚æ•° public byte[] byGroupName = new byte[32]; //群组å称 public byte[] byRes2 = new byte[32]; } public static class NET_DVR_MULTI_CARD_CFG_V50 extends HIKSDKStructure { public int dwSize; public byte byEnable; public byte bySwipeIntervalTimeout; public byte[] byRes1 = new byte[2]; public NET_DVR_MULTI_CARD_GROUP_CFG_V50[] struGroupCfg = (NET_DVR_MULTI_CARD_GROUP_CFG_V50[]) new NET_DVR_MULTI_CARD_GROUP_CFG_V50().toArray(20); public byte[] byRes2 = new byte[32]; } public static class NET_DVR_MULTI_CARD_GROUP_CFG_V50 extends HIKSDKStructure { public byte byEnable; public byte byEnableOfflineVerifyMode; public byte[] byRes1 = new byte[2]; public int dwTemplateNo; public NET_DVR_GROUP_COMBINATION_INFO_V50[] struGroupCombination = (NET_DVR_GROUP_COMBINATION_INFO_V50[]) new NET_DVR_GROUP_COMBINATION_INFO_V50().toArray(8); } public static class NET_DVR_GROUP_COMBINATION_INFO_V50 extends HIKSDKStructure { public byte byEnable; public byte byMemberNum; public byte bySequenceNo; public byte byRes; public int dwGroupNo; } //è‡ªå®šä¹‰ç»“æž„ä½“ï¼Œç”¨äºŽäºŒç»´æ•°ç»„è½¬æ¢ public static class NET_DVR_SINGLE_PLAN_SEGMENT_WEEK extends HIKSDKStructure { public NET_DVR_SINGLE_PLAN_SEGMENT[] struPlanCfgDay = new NET_DVR_SINGLE_PLAN_SEGMENT[MAX_TIMESEGMENT_V30]; //一天的计划å‚æ•° } public static class NET_DVR_WEEK_PLAN_CFG extends HIKSDKStructure { public int dwSize; public byte byEnable; //是å¦ä½¿èƒ½ï¼Œ1-使能,0-ä¸ä½¿èƒ½ public byte[] byRes1 = new byte[3]; public NET_DVR_SINGLE_PLAN_SEGMENT_WEEK[] struPlanCfg = new NET_DVR_SINGLE_PLAN_SEGMENT_WEEK[MAX_DAYS]; //周计划å‚æ•° public byte[] byRes2 = new byte[16]; } public static class NET_DVR_SINGLE_PLAN_SEGMENT extends HIKSDKStructure { public byte byEnable; //是å¦ä½¿èƒ½ï¼Œ1-使能,0-ä¸ä½¿èƒ½ public byte byDoorStatus; //门状æ€æ¨¡å¼ï¼ˆæ¢¯æŽ§æ¨¡å¼ï¼‰ï¼Œ0-æ— æ•ˆï¼Œ1-常开状æ€ï¼ˆè‡ªç”±ï¼‰ï¼Œ2-常é—状æ€ï¼ˆç¦ç”¨ï¼‰ï¼Œ3-普通状æ€ï¼ˆé—¨çŠ¶æ€è®¡åˆ’使用) public byte byVerifyMode; //验è¯æ–¹å¼ï¼Œ0-æ— æ•ˆï¼Œ1-刷å¡ï¼Œ2-刷å¡+密ç (读å¡å™¨éªŒè¯æ–¹å¼è®¡åˆ’使用),3-刷å¡,4-刷å¡æˆ–密ç (读å¡å™¨éªŒè¯æ–¹å¼è®¡åˆ’使用), 5-指纹,6-指纹+密ç ,7-指纹或刷å¡ï¼Œ8-指纹+刷å¡ï¼Œ9-指纹+刷å¡+密ç ï¼ˆæ— å…ˆåŽé¡ºåºï¼‰ï¼Œ10-人脸或指纹或刷å¡æˆ–密ç ,11-人脸+指纹,12-人脸+密ç , //13-人脸+刷å¡ï¼Œ14-人脸,15-å·¥å·+密ç ,16-指纹或密ç ,17-å·¥å·+指纹,18-å·¥å·+指纹+密ç ,19-人脸+指纹+刷å¡ï¼Œ20-人脸+密ç +指纹,21-å·¥å·+人脸,22-人脸或人脸+åˆ·å¡ public byte[] byRes = new byte[5]; public NET_DVR_TIME_SEGMENT struTimeSegment; //时间段å‚æ•° } public static class NET_DVR_TIME_SEGMENT extends HIKSDKStructure { public NET_DVR_SIMPLE_DAYTIME struBeginTime; //开始时间点 public NET_DVR_SIMPLE_DAYTIME struEndTime; //结æŸæ—¶é—´ç‚¹ } public static class NET_DVR_SIMPLE_DAYTIME extends HIKSDKStructure { public byte byHour; //æ—¶ public byte byMinute; //分 public byte bySecond; //秒 public byte byRes; } public static class NET_DVR_WEEK_PLAN_COND extends HIKSDKStructure { public int dwSize; public int dwWeekPlanNumber; //å‘¨è®¡åˆ’ç¼–å· public short wLocalControllerID; //就地控制器åºå·[1,64] public byte[] byRes = new byte[106]; } public static final int TEMPLATE_NAME_LEN = 32; //计划模æ¿å称长度 public static final int MAX_HOLIDAY_GROUP_NUM = 16; //计划模æ¿æœ€å¤§å‡æ—¥ç»„æ•° public static class NET_DVR_PLAN_TEMPLATE extends HIKSDKStructure { public int dwSize; public byte byEnable; //是å¦å¯ç”¨ï¼Œ1-å¯ç”¨ï¼Œ0-ä¸å¯ç”¨ public byte[] byRes1 = new byte[3]; public byte[] byTemplateName = new byte[TEMPLATE_NAME_LEN]; //模æ¿å称 public int dwWeekPlanNo; //周计划编å·ï¼Œ0ä¸ºæ— æ•ˆ public int[] dwHolidayGroupNo = new int[MAX_HOLIDAY_GROUP_NUM]; //å‡æ—¥ç»„ç¼–å·ï¼Œå°±å‰å¡«å……,é‡0æ— æ•ˆ public byte[] byRes2 = new byte[32]; } public static class NET_DVR_PLAN_TEMPLATE_COND extends HIKSDKStructure { public int dwSize; public int dwPlanTemplateNumber; //计划模æ¿ç¼–å·ï¼Œä»Ž1开始,最大值从门ç¦èƒ½åŠ›é›†èŽ·å– public short wLocalControllerID; //就地控制器åºå·[1,64],0æ— æ•ˆ public byte[] byRes = new byte[106]; } public static class NET_DVR_CAPTURE_FACE_COND extends HIKSDKStructure { public int dwSize; public byte[] byRes = new byte[128]; } public static class NET_DVR_FACE_FEATURE extends HIKSDKStructure { public NET_VCA_RECT struFace; //人脸å图区域 public NET_VCA_POINT struLeftEye; // 左眼åæ ‡ public NET_VCA_POINT struRightEye; // å³çœ¼åæ ‡ public NET_VCA_POINT struLeftMouth; // 嘴左边åæ ‡ public NET_VCA_POINT struRightMouth; // 嘴å³è¾¹åæ ‡ public NET_VCA_POINT struNoseTip; // é¼»ååæ ‡ } public static class NET_DVR_CAPTURE_FACE_CFG extends HIKSDKStructure { public int dwSize; public int dwFaceTemplate1Size; //人脸模æ¿1æ•°æ®å¤§å°ï¼Œç‰äºŽ0æ—¶ï¼Œä»£è¡¨æ— äººè„¸æ¨¡æ¿1æ•°æ® public Pointer pFaceTemplate1Buffer; //人脸模æ¿1æ•°æ®ç¼“å˜ï¼ˆä¸å¤§äºŽ2.5k) public int dwFaceTemplate2Size; //人脸模æ¿2æ•°æ®å¤§å°ï¼Œç‰äºŽ0æ—¶ï¼Œä»£è¡¨æ— äººè„¸æ¨¡æ¿2æ•°æ® public Pointer pFaceTemplate2Buffer; //人脸模æ¿2æ•°æ®ç¼“å˜ï¼ˆä¸å¤§äºŽ2.5K) public int dwFacePicSize; //人脸图片数æ®å¤§å°ï¼Œç‰äºŽ0æ—¶ï¼Œä»£è¡¨æ— äººè„¸å›¾ç‰‡æ•°æ® public Pointer pFacePicBuffer; //人脸图片数æ®ç¼“å˜ public byte byFaceQuality1; //人脸质é‡ï¼ŒèŒƒå›´1-100 public byte byFaceQuality2; //人脸质é‡ï¼ŒèŒƒå›´1-100 public byte byCaptureProgress; //采集进度,目å‰åªæœ‰ä¸¤ç§è¿›åº¦å€¼ï¼š0-未采集到人脸,100-采集到人脸(åªæœ‰åœ¨è¿›åº¦ä¸º100时,æ‰è§£æžäººè„¸ä¿¡æ¯ï¼‰ public byte byFacePicQuality; //人脸图片ä¸äººè„¸è´¨é‡ public int dwInfraredFacePicSize; //红外人脸图片数æ®å¤§å°ï¼Œç‰äºŽ0æ—¶ï¼Œä»£è¡¨æ— äººè„¸å›¾ç‰‡æ•°æ® public Pointer pInfraredFacePicBuffer; //红外人脸图片数æ®ç¼“å˜ public byte byInfraredFacePicQuality; //红外人脸图片ä¸äººè„¸è´¨é‡ public byte[] byRes1 = new byte[3]; public NET_DVR_FACE_FEATURE struFeature = new NET_DVR_FACE_FEATURE(); //äººè„¸æŠ å›¾ç‰¹å¾ä¿¡æ¯ public byte[] byRes = new byte[56]; } public static class NET_DVR_XML_CONFIG_INPUT extends HIKSDKStructure { public int dwSize; public Pointer lpRequestUrl; public int dwRequestUrlLen; public Pointer lpInBuffer; public int dwInBufferSize; public int dwRecvTimeOut; public byte[] byRes = new byte[32]; } public static class NET_DVR_STRING_POINTER extends HIKSDKStructure { public byte[] byString; public NET_DVR_STRING_POINTER(int iLen) { byString = new byte[iLen]; } } public static class NET_DVR_XML_CONFIG_OUTPUT extends HIKSDKStructure { public int dwSize; public Pointer lpOutBuffer; public int dwOutBufferSize; public int dwReturnedXMLSize; public Pointer lpStatusBuffer; public int dwStatusSize; public byte[] byRes = new byte[32]; } //报è¦åœºæ™¯ä¿¡æ¯ public static class NET_DVR_SCENE_INFO extends HIKSDKStructure { public int dwSceneID; //场景ID, 0 - è¡¨ç¤ºè¯¥åœºæ™¯æ— æ•ˆ public byte[] bySceneName = new byte[NAME_LEN]; //场景å称 public byte byDirection; //ç›‘æµ‹æ–¹å‘ 1-上行,2-下行,3-åŒå‘,4-由东å‘西,5-ç”±å—å‘北,6-由西å‘东,7-由北å‘å—,8-其它 public byte[] byRes1 = new byte[3]; //ä¿ç•™ public NET_DVR_PTZPOS struPtzPos; //Ptz åæ ‡ public byte[] byRes2 = new byte[64]; //ä¿ç•™ } // æ–¹å‘结构体 public static class NET_DVR_DIRECTION extends HIKSDKStructure { public NET_VCA_POINT struStartPoint = new NET_VCA_POINT(); // æ–¹å‘起始点 public NET_VCA_POINT struEndPoint = new NET_VCA_POINT(); // æ–¹å‘结æŸç‚¹ } // äº¤é€šäº‹ä»¶ä¿¡æ¯ public static class NET_DVR_AID_INFO extends HIKSDKStructure { public byte byRuleID; // 规则åºå·ï¼Œä¸ºè§„则é…ç½®ç»“æž„ä¸‹æ ‡ï¼Œ0-16 public byte[] byRes1 = new byte[3]; public byte[] byRuleName = new byte[NAME_LEN]; // 规则å称 public int dwAIDType; // 报è¦äº‹ä»¶ç±»åž‹ public NET_DVR_DIRECTION struDirect = new NET_DVR_DIRECTION(); // 报è¦æŒ‡å‘区域 public byte bySpeedLimit; //é™é€Ÿå€¼ï¼Œå•ä½km/h[0,255] public byte byCurrentSpeed; //当å‰é€Ÿåº¦å€¼ï¼Œå•ä½km/h[0,255] public byte byVehicleEnterState; //车辆出入状æ€ï¼š0- æ— æ•ˆï¼Œ1- 驶入,2- 驶出 public byte byState; //0-å˜åŒ–ä¸Šä¼ ï¼Œ1-è½®å·¡ä¸Šä¼ public byte[] byParkingID = new byte[16]; //åœè½¦ä½ç¼–å· public int dwAIDTypeEx; // 报è¦äº‹ä»¶ç±»åž‹æ‰©å±•,å‚考TRAFFIC_AID_TYPE_EX public byte[] byRes2 = new byte[16]; // ä¿ç•™å—节 } public int ILLEGAL_LEN = 32; //è¿æ³•ä»£ç 长度 public int MONITORSITE_ID_LEN = 48;//监测点编å·é•¿åº¦ public int DEVICE_ID_LEN = 48; //交通å–è¯æŠ¥è¦ public static class NET_DVR_TFS_ALARM extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public int dwRelativeTime; //ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; //ç»å¯¹æ—¶æ ‡ public int dwIllegalType; //è¿ç« ç±»åž‹ï¼Œé‡‡ç”¨å›½æ ‡å®šä¹‰ï¼Œå½“dwIllegalType值为0xffffffff时使用byIllegalCode public int dwIllegalDuration; //è¿æ³•æŒç»æ—¶é—´ï¼ˆå•ä½ï¼šç§’) = 抓æ‹æœ€åŽä¸€å¼ 图片的时间 - 抓æ‹ç¬¬ä¸€å¼ 图片的时间 public byte[] byMonitoringSiteID = new byte[MONITORSITE_ID_LEN];//监测点编å·ï¼ˆè·¯å£ç¼–å·ã€å†…部编å·ï¼‰ public byte[] byDeviceID = new byte[DEVICE_ID_LEN]; //è®¾å¤‡ç¼–å· public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public NET_DVR_SCENE_INFO struSceneInfo = new NET_DVR_SCENE_INFO(); //åœºæ™¯ä¿¡æ¯ public NET_DVR_TIME_EX struBeginRecTime = new NET_DVR_TIME_EX(); //录åƒå¼€å§‹æ—¶é—´ public NET_DVR_TIME_EX struEndRecTime = new NET_DVR_TIME_EX(); //录åƒç»“æŸæ—¶é—´ public NET_DVR_AID_INFO struAIDInfo = new NET_DVR_AID_INFO(); //äº¤é€šäº‹ä»¶ä¿¡æ¯ public NET_DVR_PLATE_INFO struPlateInfo = new NET_DVR_PLATE_INFO(); //è½¦ç‰Œä¿¡æ¯ public NET_DVR_VEHICLE_INFO struVehicleInfo = new NET_DVR_VEHICLE_INFO(); //è½¦è¾†ä¿¡æ¯ public int dwPicNum; //å›¾ç‰‡æ•°é‡ public NET_ITS_PICTURE_INFO[] struPicInfo = new NET_ITS_PICTURE_INFO[8]; //图片信æ¯ï¼Œæœ€å¤š8å¼ public byte bySpecificVehicleType; //具体车辆ç§ç±» å‚考识别结果类型VTR_RESULT public byte byLaneNo; //å…³è”车é“å· public byte[] byRes1 = new byte[2]; //ä¿ç•™ public NET_DVR_TIME_V30 struTime = new NET_DVR_TIME_V30();//手动跟踪定ä½ï¼Œå½“å‰æ—¶é—´ã€‚ public int dwSerialNo;//åºå·ï¼› public byte byVehicleAttribute;//车辆属性,按ä½è¡¨ç¤ºï¼Œ0- æ— é™„åŠ å±žæ€§(普通车),bit1- é»„æ ‡è½¦(ç±»ä¼¼å¹´æ£€çš„æ ‡å¿—),bit2- å±é™©å“车辆,值:0- å¦ï¼Œ1- 是 public byte byPilotSafebelt;//0-表示未知,1-系安全带,2-ä¸ç³»å®‰å…¨å¸¦ public byte byCopilotSafebelt;//0-表示未知,1-系安全带,2-ä¸ç³»å®‰å…¨å¸¦ public byte byPilotSunVisor;//0-表示未知,1-ä¸æ‰“å¼€é®é˜³æ¿,2-打开é®é˜³æ¿ public byte byCopilotSunVisor;//0-表示未知, 1-ä¸æ‰“å¼€é®é˜³æ¿,2-打开é®é˜³æ¿ public byte byPilotCall;// 0-表示未知, 1-ä¸æ‰“电è¯,2-æ‰“ç”µè¯ public byte[] byRes2 = new byte[2]; //ä¿ç•™ public byte[] byIllegalCode = new byte[ILLEGAL_LEN/*32*/];//è¿æ³•ä»£ç 扩展,当dwIllegalType值为0xffffffff;使用这个值 public short wCountry; // 国家索引值,å‚照枚举COUNTRY_INDEX public byte byRegion; //区域索引值,0-ä¿ç•™ï¼Œ1-欧洲(Europe Region),2-ä¿„è¯åŒºåŸŸ(Russian Region),3-欧洲&ä¿„ç½—æ–¯(EU&CIS) , 4-ä¸ä¸œï¼ˆMiddle East),0xff-所有 public byte byCrossLine;//是å¦åŽ‹çº¿åœè½¦ï¼ˆä¾§æ–¹åœè½¦ï¼‰ï¼Œ0-表示未知,1-ä¸åŽ‹çº¿ï¼Œ2-压线 public byte[] byParkingSerialNO = new byte[16];//泊车ä½ç¼–å· public byte byCrossSpaces;//是å¦è·¨æ³Šè½¦ä½åœè½¦ï¼ˆä¾§æ–¹åœè½¦ï¼‰ï¼Œ0-表示未知,1-未跨泊车ä½åœè½¦ï¼Œ2-跨泊车ä½åœè½¦ public byte byAngledParking;//是å¦å€¾æ–œåœè½¦ï¼ˆä¾§æ–¹åœè½¦ï¼‰, 0-表示未知,1-未倾斜åœè½¦ï¼Œ2-倾斜åœè½¦ public byte byAlarmValidity;//报è¦ç½®ä¿¡åº¦ï¼Œå¯ä»¥è¾“出驶入驶出的置信度,范围0-100;置信度越高,事件真实性越高 public byte byDoorsStatus;//è½¦é—¨çŠ¶æ€ 0-è½¦é—¨å…³é— 1-è½¦é—¨å¼€å¯ public int dwXmlLen;//XML报è¦ä¿¡æ¯é•¿åº¦ public Pointer pXmlBuf; // XML报è¦ä¿¡æ¯æŒ‡é’ˆ,å…¶XML对应到EventNotificationAlert XML Block public byte byVehicleHeadTailStatus;//è½¦å¤´è½¦å°¾çŠ¶æ€ 0-ä¿ç•™ 1-车头 2-车尾 public byte byBrokenNetHttp; //æ–网ç»ä¼ æ ‡å¿—ä½ï¼Œ0-ä¸é‡ä¼ æ•°æ®ï¼Œ1-é‡ä¼ æ•°æ® public byte[] byRes = new byte[30]; //ä¿ç•™ } public static class NET_ITS_OVERLAPCFG_COND extends HIKSDKStructure { public int dwSize; public int dwChannel; public int dwConfigMode; //é…置模å¼ï¼Œ0-终端,1-å‰ç«¯(ç›´è¿žå‰ç«¯æˆ–终端接å‰ç«¯) public byte byPicModeType;//0-表示å°å›¾(独立图),1-表示大图(åˆæˆå›¾) /* 0è¡¨ç¤ºå…³è” æŠ“æ‹MPR模å¼ï¼ˆå¤šå¸§è§¦å‘æŠ“æ‹ IPC使用) 1 è¡¨ç¤ºå…³è” æŠ“æ‹ HVT 模å¼ï¼ˆæ··å¡IPC使用) */ public byte byRelateType; public byte[] byRes = new byte[14]; } //å—符å åŠ æ¯ä¸€æ¡ä¿¡æ¯ç»“构体 public static class NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50 extends HIKSDKStructure { public byte[] byRes1 = new byte[2]; // ä¿ç•™ public byte byItemType; //类型,详è§OVERLAP_ITEM_TYPE public byte byChangeLineNum; //å åŠ é¡¹åŽçš„æ¢è¡Œæ•°[0-10](默认0) public byte bySpaceNum; //å åŠ é¡¹åŽçš„ç©ºæ ¼æ•°[0-255](默认0) public byte[] byRes2 = new byte[2]; public byte byEnablePos; //是å¦å¯ç”¨åæ ‡æ˜¾ç¤º public short wStartPosTop; //起始上åæ ‡,åªå¯¹å›¾ç‰‡å†…部å åŠ æœ‰æ•ˆ[0~2448](默认0) public short wStartPosLeft; //起始左åæ ‡,åªå¯¹å›¾ç‰‡å†…部å åŠ æœ‰æ•ˆ[0~2448](默认0) //自定义类型;与byItemTypeå‚数对应。å¯å°†byItemTypeå‚数类型自定义å称。若自定义内容为空,便默认以byItemTypeå‚æ•°ä¸çš„类型命å。 public byte[] byItemTypeCustom = new byte[32]; public byte[] byRes = new byte[8]; } public int MAX_OVERLAP_ITEM_NUM = 50; //最大å—符å åŠ ç§æ•° public static class NET_ITS_OVERLAP_ITEM_PARAM_V50 extends HIKSDKStructure { public NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50[] struSingleItem = new NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50[MAX_OVERLAP_ITEM_NUM]; //å•æ¡å—符å‚æ•° public int dwLinePercent; //å åŠ è¡Œç™¾åˆ†æ¯”(0-100),(默认100) public int dwItemsStlye; //å åŠ æ–¹å¼ï¼š0-横排,1-竖排(默认横排) public short wStartPosTop; //起始上åæ ‡,åªå¯¹å›¾ç‰‡å†…部å åŠ æœ‰æ•ˆ[0~2448](默认0) public short wStartPosLeft; //起始左åæ ‡,åªå¯¹å›¾ç‰‡å†…部å åŠ æœ‰æ•ˆ[0~2448](默认0) public short wCharStyle; //å—体类型,0-宋体1-é体(默认) public short wCharSize; //å—符大å°,0--16x16,1--32x32,2-48x48,3--64x64 (默认),8x128(Ver3.7) public short wCharInterval; //å—符间è·ï¼Œ[0~16],å¯è®¾å•ä½ï¼šåƒç´ (默认) public byte[] byRes1 = new byte[2]; public int dwForeClorRGB; //å‰æ™¯è‰²çš„RGB值bit0-1:(B) bit2-3:(G) bit4-5:(G) (默认x00FFFFFF-白) public int dwBackClorRGB; //背景色的RGB值,åªå¯¹å›¾ç‰‡å¤–å åŠ æœ‰æ•ˆbit0-1:(B) bit2-3:(G) bit4-5:(G) (默认x00000000-黑) public byte byColorAdapt; //颜色是å¦è‡ªé€‚应0-å¦1-是 //(Ver3.7 新增) // å‚数补零使能 0-补零, 1-ä¸è¡¥é›¶ï¼ˆè¯¦ç»†æ³¨é‡Šï¼‰é€Ÿåº¦,é™é€Ÿå€¼ ä¸è¶³3ä½è¡¥0 public byte byParamFillZeroEnble; public byte byPlateLeftCornerEnable;// 车牌å°å›¾å åŠ å·¦ä¸Šè§’ä½¿èƒ½ 0-ä¸å åŠ , 1-å åŠ public byte byRes2; public short wStartSPicPosTop; //起始上åæ ‡,åªå¯¹å›¾ç‰‡å†…部å åŠ æœ‰æ•ˆ[0~2448](默认0) public short wStartSPicPosLeft; //起始左åæ ‡,åªå¯¹å›¾ç‰‡å†…部å åŠ æœ‰æ•ˆ[0~2448](默认0) //OSDå åŠ ä½ç½® 0-图片内,1-图片上边缘,2-图片下边缘(åˆæˆå›¾ä¸“用的是上边缘外)(V3.7) public byte byOsdLocate; public byte[] byRes = new byte[63]; } //å åŠ é¡¹å…·ä½“ä¿¡æ¯ public static class NET_ITS_OVERLAP_INFO_PARAM extends HIKSDKStructure { public byte[] bySite = new byte[128]; //地点æè¿° public byte[] byRoadNum = new byte[32]; //è·¯å£ç¼–å· public byte[] byInstrumentNum = new byte[32]; //è®¾å¤‡ç¼–å· public byte[] byDirection = new byte[32]; //æ–¹å‘ç¼–å· public byte[] byDirectionDesc = new byte[32]; //æ–¹å‘æè¿° public byte[] byLaneDes = new byte[32]; //车é“æè¿° public byte[] byRes1 = new byte[32]; //ä¿ç•™ public byte[] byMonitoringSite1 = new byte[44]; //监测点1ä¿¡æ¯ public byte[] byMonitoringSite2 = new byte[32]; //监测点2ä¿¡æ¯ public byte[] byRes = new byte[64]; //ä¿ç•™ } public static class NET_ITS_OVERLAP_CFG_V50 extends HIKSDKStructure { public int dwSize; public byte byEnable; //是å¦å¯ç”¨ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte[] byRes1 = new byte[3]; public NET_ITS_OVERLAP_ITEM_PARAM_V50 struOverLapItemV50 = new NET_ITS_OVERLAP_ITEM_PARAM_V50(); //å—符串å‚æ•° public NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo = new NET_ITS_OVERLAP_INFO_PARAM(); //å—ç¬¦ä¸²å†…å®¹ä¿¡æ¯ public byte[] byRes = new byte[120]; } //人体特å¾è¯†åˆ«ç»“果结构体 public static class NET_VCA_HUMAN_FEATURE extends HIKSDKStructure { public byte byAgeGroup; //年龄段,å‚è§ HUMAN_AGE_GROUP_ENUM public byte bySex; //性别, 0-表示“未知â€ï¼ˆç®—法ä¸æ”¯æŒï¼‰,1 – ç”· , 2 – 女, 0xff-算法支æŒï¼Œä½†æ˜¯æ²¡æœ‰è¯†åˆ«å‡ºæ¥ public byte byEyeGlass; //是å¦æˆ´çœ¼é•œ 0-表示“未知â€ï¼ˆç®—法ä¸æ”¯æŒï¼‰,1 – ä¸æˆ´, 2 – 戴,0xff-算法支æŒï¼Œä½†æ˜¯æ²¡æœ‰è¯†åˆ«å‡ºæ¥ //抓æ‹å›¾ç‰‡äººè„¸å¹´é¾„的使用方å¼ï¼Œå¦‚byAge为15,byAgeDeviation为1,表示,实际人脸图片年龄的为14-16之间 public byte byAge;//年龄 0-表示“未知â€ï¼ˆç®—法ä¸æ”¯æŒï¼‰,0xff-算法支æŒï¼Œä½†æ˜¯æ²¡æœ‰è¯†åˆ«å‡ºæ¥ public byte byAgeDeviation;//年龄误差值 public byte byRes0; //å—段预留 public byte byMask; //是å¦æˆ´å£ç½© 0-表示“未知â€ï¼ˆç®—法ä¸æ”¯æŒï¼‰,1 – ä¸æˆ´, 2 – 戴, 0xff-算法支æŒï¼Œä½†æ˜¯æ²¡æœ‰è¯†åˆ«å‡ºæ¥ public byte bySmile; //是å¦å¾®ç¬‘ 0-表示“未知â€ï¼ˆç®—法ä¸æ”¯æŒï¼‰,1 – ä¸å¾®ç¬‘, 2 – 微笑, 0xff-算法支æŒï¼Œä½†æ˜¯æ²¡æœ‰è¯†åˆ«å‡ºæ¥ public byte byFaceExpression; /* 表情,å‚è§FACE_EXPRESSION_GROUP_ENUM*/ public byte byRes1; public byte byRes2; public byte byHat; // 帽å, 0-ä¸æ”¯æŒ,1-ä¸æˆ´å¸½å,2-戴帽å,0xff-unknow表示未知,算法支æŒæœªæ£€å‡º public byte[] byRes = new byte[4]; //ä¿ç•™ } //人脸抓æ‹é™„åŠ ä¿¡æ¯ç»“构体 public static class NET_VCA_FACESNAP_ADDINFO extends HIKSDKStructure { //人脸矩形框,该åæ ‡ä¸ºäººè„¸å°å›¾(头肩照)ä¸äººè„¸çš„åæ ‡ public NET_VCA_RECT struFacePicRect = new NET_VCA_RECT(); public int iSwingAngle;//旋转角, -90~90度 public int iTiltAngle;//俯仰角, -90~90度 public int dwPupilDistance;//çž³è·,范围为:最å°å€¼ä¸º10åƒç´ ,最大值为当å‰åˆ†è¾¨çŽ‡å®½åº¦/1.6 public byte byBlockingState;//ç›®æ ‡é®æŒ¡çŠ¶æ€ï¼Œ 0-表示“未知â€ï¼ˆç®—法ä¸æ”¯æŒï¼‰,1~æ— é®æŒ¡,2~瞬时轻度é®æŒ¡ï¼Œ3~æŒç»è½»åº¦é®æŒ¡ï¼Œ4~严é‡é®æŒ¡ public byte byFaceSnapThermometryEnabled;//人脸抓æ‹æµ‹æ¸©ä½¿èƒ½ 1-å¼€å¯ 0-å…³é— public byte byIsAbnomalTemperature;//人脸抓æ‹æµ‹æ¸©æ˜¯å¦æ¸©åº¦å¼‚常 1-是 0-å¦ public byte byThermometryUnit;//测温å•ä½: 0-æ‘„æ°åº¦ï¼ˆâ„ƒï¼‰ï¼Œ1-åŽæ°åº¦ï¼ˆâ„‰ï¼‰ï¼Œ2-开尔文(K) public NET_DVR_TIME_EX struEnterTime = new NET_DVR_TIME_EX(); // 最佳抓æ‹ä¸‹è¿›å…¥æ—¶é—´ public NET_DVR_TIME_EX struExitTime = new NET_DVR_TIME_EX(); // 最佳抓æ‹ä¸‹ç¦»å¼€æ—¶é—´ public float fFaceTemperature; // 人脸温度( - 20.0℃~150.0℃,精确到å°æ•°ç‚¹åŽ1ä½ï¼‰ public float fAlarmTemperature;// 测温报è¦è¦é˜ˆå€¼ï¼ˆç²¾ç¡®åˆ°å°æ•°ç‚¹åŽ1ä½ï¼‰ public byte[] byRes = new byte[472];// ä¿ç•™å—节 } //人脸抓æ‹ç»“æžœ public static class NET_VCA_FACESNAP_RESULT extends HIKSDKStructure { public int dwSize; // ç»“æž„å¤§å° public int dwRelativeTime; // ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; // ç»å¯¹æ—¶æ ‡ public int dwFacePicID; //人脸图ID public int dwFaceScore; //人脸评分,0-100 public NET_VCA_TARGET_INFO struTargetInfo = new NET_VCA_TARGET_INFO();//报è¦ç›®æ ‡ä¿¡æ¯ public NET_VCA_RECT struRect = new NET_VCA_RECT(); //人脸å图区域 public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public int dwFacePicLen; //人脸å图的长度,为0表示没有图片,大于0表示有图片 public int dwBackgroundPicLen; //背景图的长度,为0表示没有图片,大于0表示有图片(ä¿ç•™) public byte bySmart; //IDS设备返回0(默认值),Smart Functiom Return 1 public byte byAlarmEndMark;//报è¦ç»“æŸæ ‡è®°0-ä¿ç•™ï¼Œ1-结æŸæ ‡è®°ï¼ˆè¯¥å—段结åˆäººè„¸IDå—段使用,表示该ID对应的下报è¦ç»“æŸï¼Œä¸»è¦æ供给NVR使用,用于判æ–报è¦ç»“æŸï¼Œæå–识别图片数æ®ä¸ï¼Œæ¸…晰度最高的图片) public byte byRepeatTimes; //é‡å¤æŠ¥è¦æ¬¡æ•°ï¼Œ0-æ— æ„义 public byte byUploadEventDataType;//人脸图片数æ®é•¿ä¼ æ–¹å¼ï¼š0-二进制数æ®ï¼Œ1-URL public NET_VCA_HUMAN_FEATURE struFeature = new NET_VCA_HUMAN_FEATURE(); //人体属性 public float fStayDuration; //åœç•™ç”»é¢ä¸æ—¶é—´(å•ä½: 秒) public byte[] sStorageIP = new byte[16]; //å˜å‚¨æœåŠ¡IPåœ°å€ public short wStoragePort; //å˜å‚¨æœåŠ¡ç«¯å£å· public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannelå«ä¹‰ç›¸åŒï¼Œèƒ½è¡¨ç¤ºæ›´å¤§çš„值。è€å®¢æˆ·ç«¯ç”¨byIvmsChannel能继ç»å…¼å®¹ï¼Œä½†æ˜¯æœ€å¤§åˆ°255。新客户端版本请使用wDevInfoIvmsChannelEx。 public byte byFacePicQuality; public byte byUIDLen; // ä¸Šä¼ æŠ¥è¦çš„æ ‡è¯†é•¿åº¦ public byte byLivenessDetectionStatus;// 活体检测状æ€ï¼š0-ä¿ç•™ï¼Œ1-未知(检测失败),2-éžçœŸäººäººè„¸ï¼Œ3-真人人脸,4-未开å¯æ´»ä½“检测 /*é™„åŠ ä¿¡æ¯æ ‡è¯†ä½ï¼ˆå³æ˜¯å¦æœ‰NET_VCA_FACESNAP_ADDINFO结构体),0-æ— é™„åŠ ä¿¡æ¯, 1-æœ‰é™„åŠ ä¿¡æ¯ã€‚*/ public byte byAddInfo; public Pointer pUIDBuffer; //æ ‡è¯†æŒ‡é’ˆ //é™„åŠ ä¿¡æ¯æŒ‡é’ˆ,指å‘NET_VCA_FACESNAP_ADDINFO结构体 public Pointer pAddInfoBuffer; public byte byTimeDiffFlag; /*时差å—段是å¦æœ‰æ•ˆ 0-æ—¶å·®æ— æ•ˆï¼Œ 1-时差有效 */ public byte cTimeDifferenceH; /*与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, +表示东区,,byTimeDiffFlag为1时有效*/ public byte cTimeDifferenceM; /*与UTC的时差(分钟),-30, 30, 45, +表示东区,byTimeDiffFlag为1时有效*/ public byte byBrokenNetHttp; //æ–网ç»ä¼ æ ‡å¿—ä½ï¼Œ0-ä¸æ˜¯é‡ä¼ æ•°æ®ï¼Œ1-é‡ä¼ æ•°æ® public Pointer pBuffer1; //人脸åå›¾çš„å›¾ç‰‡æ•°æ® public Pointer pBuffer2; //背景图的图片数æ®ï¼ˆä¿ç•™ï¼Œé€šè¿‡æŸ¥æ‰¾èƒŒæ™¯å›¾æŽ¥å£å¯ä»¥èŽ·å–背景图) } //人脸抓æ‹ä¿¡æ¯ public static class NET_VCA_FACESNAP_INFO_ALARM extends HIKSDKStructure { public int dwRelativeTime; // ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; // ç»å¯¹æ—¶æ ‡ public int dwSnapFacePicID; //抓æ‹äººè„¸å›¾ID public int dwSnapFacePicLen; //抓æ‹äººè„¸å图的长度,为0表示没有图片,大于0表示有图片 public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public byte byFaceScore; //人脸评分,指人脸å图的质é‡çš„评分,0-100 public byte bySex;//性别,0-未知,1-男,2-女 public byte byGlasses;//是å¦å¸¦çœ¼é•œï¼Œ0-未知,1-是,2-å¦ //抓æ‹å›¾ç‰‡äººè„¸å¹´é¾„的使用方å¼ï¼Œå¦‚byAge为15,byAgeDeviation为1,表示,实际人脸图片年龄的为14-16之间 public byte byAge;//年龄 public byte byAgeDeviation;//年龄误差值 public byte byAgeGroup;//年龄段,详è§HUMAN_AGE_GROUP_ENUMï¼Œè‹¥ä¼ å…¥0xff表示未知 public byte byFacePicQuality; public byte byRes1; // ä¿ç•™å—节 public int dwUIDLen; // ä¸Šä¼ æŠ¥è¦çš„æ ‡è¯†é•¿åº¦ public Pointer pUIDBuffer; //æ ‡è¯†æŒ‡é’ˆ public float fStayDuration; //åœç•™ç”»é¢ä¸æ—¶é—´(å•ä½: 秒) public Pointer pBuffer1; //抓æ‹äººè„¸åå›¾çš„å›¾ç‰‡æ•°æ® } //ç±è´¯å‚æ•° public static class NET_DVR_AREAINFOCFG extends HIKSDKStructure { public short wNationalityID; //å›½ç± public short wProvinceID; //çœ public short wCityID; //市 public short wCountyID; //县 public int dwCode; //å›½å®¶æ ‡å‡†çš„çœä»½ã€åŸŽå¸‚ã€åŽ¿çº§ä»£ç ,当这个å—段ä¸ä¸º0çš„æ—¶å€™ï¼Œä½¿ç”¨è¿™ä¸ªå€¼ï¼Œæ–°è®¾å¤‡ä¸Šä¼ è¿™ä¸ªå€¼è¡¨ç¤ºç±è´¯å‚数,è€è®¾å¤‡è¿™ä¸ªå€¼ä¸º0 } //äººå‘˜ä¿¡æ¯ public int MAX_HUMAN_BIRTHDATE_LEN = 10; public static class NET_VCA_HUMAN_ATTRIBUTE extends HIKSDKStructure { public byte bySex; //性别:0-男,1-女 public byte byCertificateType; //è¯ä»¶ç±»åž‹ï¼š0-身份è¯ï¼Œ1-è¦å®˜è¯ public byte[] byBirthDate = new byte[MAX_HUMAN_BIRTHDATE_LEN]; //出生年月,如:201106 public byte[] byName = new byte[NAME_LEN]; //姓å public NET_DVR_AREAINFOCFG struNativePlace = new NET_DVR_AREAINFOCFG(); //ç±è´¯å‚æ•° public byte[] byCertificateNumber = new byte[NAME_LEN]; //è¯ä»¶å· public int dwPersonInfoExtendLen;// äººå‘˜æ ‡ç¾ä¿¡æ¯æ‰©å±•é•¿åº¦ public Pointer pPersonInfoExtend; //äººå‘˜æ ‡ç¾ä¿¡æ¯æ‰©å±•ä¿¡æ¯ public byte byAgeGroup;//年龄段,详è§HUMAN_AGE_GROUP_ENUMï¼Œå¦‚ä¼ å…¥0xff表示未知 public byte[] byRes2 = new byte[11]; } //ç¦æ¢åå•æŠ¥è¦ä¿¡æ¯ public static class NET_VCA_BLOCKLIST_INFO_ALARM extends HIKSDKStructure { public NET_VCA_BLOCKLIST_INFO struBlockListInfo = new NET_VCA_BLOCKLIST_INFO(); //ç¦æ¢åå•åŸºæœ¬ä¿¡æ¯ public int dwBlockListPicLen; //ç¦æ¢åå•äººè„¸å图的长度,为0表示没有图片,大于0表示有图片 public int dwFDIDLen;// 人脸库ID长度 public Pointer pFDID; //人脸库Id指针 public int dwPIDLen;// 人脸库图片ID长度 public Pointer pPID; //人脸库图片ID指针 public short wThresholdValue; //人脸库阈值[0,100] public byte[] byRes = new byte[2]; // ä¿ç•™å—节 public Pointer pBuffer1; //ç¦æ¢åå•äººè„¸åå›¾çš„å›¾ç‰‡æ•°æ® } //ç¦æ¢åå•ä¿¡æ¯ public static class NET_VCA_BLOCKLIST_INFO extends HIKSDKStructure { public int dwSize; //ç»“æž„å¤§å° public int dwRegisterID; //åå•æ³¨å†ŒIDå·ï¼ˆåªè¯»ï¼‰ public int dwGroupNo; //åˆ†ç»„å· public byte byType; //黑å…许åå•æ ‡å¿—:0-全部,1-å…许åå•ï¼Œ2-ç¦æ¢åå• public byte byLevel; //ç¦æ¢åå•ç‰çº§ï¼Œ0-全部,1-低,2-ä¸ï¼Œ3-高 public byte[] byRes1 = new byte[2]; //ä¿ç•™ public NET_VCA_HUMAN_ATTRIBUTE struAttribute = new NET_VCA_HUMAN_ATTRIBUTE(); //äººå‘˜ä¿¡æ¯ public byte[] byRemark = new byte[NAME_LEN]; //å¤‡æ³¨ä¿¡æ¯ public int dwFDDescriptionLen;//人脸库æè¿°æ•°æ®é•¿åº¦ public Pointer pFDDescriptionBuffer;//人脸库æè¿°æ•°æ®æŒ‡é’ˆ public int dwFCAdditionInfoLen;//抓æ‹åº“é™„åŠ ä¿¡æ¯é•¿åº¦ public Pointer pFCAdditionInfoBuffer;//抓æ‹åº“é™„åŠ ä¿¡æ¯æ•°æ®æŒ‡é’ˆï¼ˆFCAdditionInfoä¸åŒ…å«ç›¸æœºPTZåæ ‡ï¼‰ public byte[] byRes2 = new byte[4]; } //ç¦æ¢åå•æ¯”对结果报è¦ä¸Šä¼ public static class NET_VCA_FACESNAP_MATCH_ALARM extends HIKSDKStructure { public int dwSize; // ç»“æž„å¤§å° public float fSimilarity; //相似度,[0.001,1] public NET_VCA_FACESNAP_INFO_ALARM struSnapInfo = new NET_VCA_FACESNAP_INFO_ALARM(); //抓æ‹ä¿¡æ¯ public NET_VCA_BLOCKLIST_INFO_ALARM struBlockListInfo = new NET_VCA_BLOCKLIST_INFO_ALARM(); //ç¦æ¢åå•ä¿¡æ¯ public byte[] sStorageIP = new byte[16]; //å˜å‚¨æœåŠ¡IPåœ°å€ public short wStoragePort; //å˜å‚¨æœåŠ¡ç«¯å£å· public byte byMatchPicNum; //匹é…图片的数é‡ï¼Œ0-ä¿ç•™ï¼ˆè€è®¾å¤‡è¿™ä¸ªå€¼é»˜è®¤0,新设备这个值为0时表示åŽç»æ²¡æœ‰åŒ¹é…的图片信æ¯ï¼‰ public byte byPicTransType;//图片数æ®ä¼ 输方å¼: 0-二进制;1-url public int dwSnapPicLen;//设备识别抓æ‹å›¾ç‰‡é•¿åº¦ public Pointer pSnapPicBuffer;//设备识别抓æ‹å›¾ç‰‡æŒ‡é’ˆ public NET_VCA_RECT struRegion = new NET_VCA_RECT();//ç›®æ ‡è¾¹ç•Œæ¡†ï¼Œè®¾å¤‡è¯†åˆ«æŠ“æ‹å›¾ç‰‡ä¸ï¼Œäººè„¸å图åæ ‡ public int dwModelDataLen;//建模数æ®é•¿åº¦ public Pointer pModelDataBuffer;// 建模数æ®æŒ‡é’ˆ public byte byModelingStatus;// å»ºæ¨¡çŠ¶æ€ public byte byLivenessDetectionStatus;//活体检测状æ€ï¼š0-ä¿ç•™ï¼Œ1-未知(检测失败),2-éžçœŸäººäººè„¸ï¼Œ3-真人人脸,4-未开å¯æ´»ä½“检测 public byte cTimeDifferenceH; /*与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, +表示东区,0xffæ— æ•ˆ*/ public byte cTimeDifferenceM; /*与UTC的时差(分钟),-30, 30, 45, +表示东区,0xffæ— æ•ˆ*/ public byte byMask; //抓æ‹å›¾æ˜¯å¦æˆ´å£ç½©ï¼Œ0-ä¿ç•™ï¼Œ1-未知,2-ä¸æˆ´å£ç½©ï¼Œ3-戴å£ç½© public byte bySmile; //抓æ‹å›¾æ˜¯å¦å¾®ç¬‘,0-ä¿ç•™ï¼Œ1-未知,2-ä¸å¾®ç¬‘,3-微笑 public byte byContrastStatus; //比对结果,0-ä¿ç•™ï¼Œ1-比对æˆåŠŸï¼Œ2-比对失败 public byte byBrokenNetHttp; //æ–网ç»ä¼ æ ‡å¿—ä½ï¼Œ0-ä¸æ˜¯é‡ä¼ æ•°æ®ï¼Œ1-é‡ä¼ æ•°æ® } //交通事件报è¦(扩展) public static class NET_DVR_AID_ALARM_V41 extends HIKSDKStructure { public int dwSize; //结构长度 public int dwRelativeTime; //ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; //ç»å¯¹æ—¶æ ‡ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public NET_DVR_AID_INFO struAIDInfo = new NET_DVR_AID_INFO(); //äº¤é€šäº‹ä»¶ä¿¡æ¯ public NET_DVR_SCENE_INFO struSceneInfo = new NET_DVR_SCENE_INFO(); //åœºæ™¯ä¿¡æ¯ public int dwPicDataLen; //图片长度 public Pointer pImage; //指å‘图片的指针 // 0-æ•°æ®ç›´æŽ¥ä¸Šä¼ ; 1-云å˜å‚¨æœåŠ¡å™¨URL(3.7Ver)原先的图片数æ®å˜æˆURLæ•°æ®ï¼Œå›¾ç‰‡é•¿åº¦å˜æˆURL长度 public byte byDataType; public byte byLaneNo; //å…³è”车é“å· public short wMilliSecond; //æ—¶æ ‡æ¯«ç§’ //监测点编å·ï¼ˆè·¯å£ç¼–å·ã€å†…部编å·ï¼‰ public byte[] byMonitoringSiteID = new byte[MONITORSITE_ID_LEN/*48*/]; public byte[] byDeviceID = new byte[DEVICE_ID_LEN/*48*/];//è®¾å¤‡ç¼–å· public int dwXmlLen;//XML报è¦ä¿¡æ¯é•¿åº¦ public Pointer pXmlBuf;// XML报è¦ä¿¡æ¯æŒ‡é’ˆ,å…¶XML对应到EventNotificationAlert XML Block public byte byTargetType;// æ£€æµ‹çš„ç›®æ ‡ç±»åž‹ï¼Œ0~未知,1~行人ã€2~二轮车ã€3~三轮车(行人检测ä¸è¿”回) public byte byRuleID;//规则ID,1-4,当congestion事件é…置了规则区域时返回 public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannelå«ä¹‰ç›¸åŒï¼Œèƒ½è¡¨ç¤ºæ›´å¤§çš„值。è€å®¢æˆ·ç«¯ç”¨byIvmsChannel能继ç»å…¼å®¹ï¼Œä½†æ˜¯æœ€å¤§åˆ°255。新客户端版本请使用wDevInfoIvmsChannelEx。 public byte byBrokenNetHttp; // æ–网ç»ä¼ æ ‡å¿—ä½ï¼Œ0-ä¸é‡ä¼ æ•°æ®ï¼Œ1-é‡ä¼ æ•°æ® public byte[] byRes = new byte[3]; // ä¿ç•™å—节 public int dwPlateSmallPicDataLen; //车牌å°å›¾å›¾ç‰‡é•¿åº¦ public Pointer pPlateSmallImage; // //指å‘车牌å°å›¾çš„指针 } //交通统计信æ¯æŠ¥è¦(扩展) public static class NET_DVR_TPS_ALARM_V41 extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public int dwRelativeTime; // ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; // ç»å¯¹æ—¶æ ‡ public NET_VCA_DEV_INFO struDevInfo; // å‰ç«¯è®¾å¤‡ä¿¡æ¯ public NET_DVR_TPS_INFO_V41 struTPSInfo; // 交通å‚æ•°ç»Ÿè®¡ä¿¡æ¯ //监测点编å·ï¼ˆè·¯å£ç¼–å·ã€å†…部编å·ï¼‰ public byte[] byMonitoringSiteID = new byte[MONITORSITE_ID_LEN/*48*/]; public byte[] byDeviceID = new byte[DEVICE_ID_LEN/*48*/];//è®¾å¤‡ç¼–å· public int dwStartTime; // 开始统计时间 public int dwStopTime; // 结æŸç»Ÿè®¡æ—¶é—´ public byte[] byRes = new byte[24]; // ä¿ç•™ } public static class NET_DVR_LANE_PARAM_V41 extends HIKSDKStructure { public byte[] byRuleName = new byte[NAME_LEN]; // 车é“规则å称 public byte byRuleID; // 规则åºå·ï¼Œä¸ºè§„则é…ç½®ç»“æž„ä¸‹æ ‡ï¼Œ0-7 public byte byLaneType; // 车é“上行或下行 public byte byTrafficState; // 车é“的交通状æ€ï¼Œ0-æ— æ•ˆï¼Œ1-畅通,2-拥挤,3-å µå¡ž public byte byLaneNo; //车é“å· public int dwVaryType; // 车é“交通å‚æ•°å˜åŒ–类型å‚ç…§ TRAFFIC_DATA_VARY_TYPE_EX_ENUM,按ä½åŒºåˆ† public int dwTpsType; // æ•°æ®å˜åŒ–ç±»åž‹æ ‡å¿—ï¼Œè¡¨ç¤ºå½“å‰ä¸Šä¼ 的统计å‚æ•°ä¸ï¼Œå“ªäº›æ•°æ®æœ‰æ•ˆï¼Œå‚ç…§ITS_TPS_TYPE,按ä½åŒºåˆ† public int dwLaneVolume; // 车é“æµé‡ï¼Œç»Ÿè®¡æœ‰å¤šå°‘车å通过 public int dwLaneVelocity; // 车é“速度,公里计算 public int dwTimeHeadway; // 车头时è·ï¼Œä»¥ç§’计算 public int dwSpaceHeadway; // 车头间è·ï¼Œä»¥ç±³æ¥è®¡ç®— public float fSpaceOccupyRation; // 车é“å 有率,百分比计算(空间上) public float fTimeOccupyRation; // 时间å 有率,百分比计算 public int dwLightVehicle; // å°åž‹è½¦æ•°é‡ public int dwMidVehicle; // ä¸åž‹è½¦æ•°é‡ public int dwHeavyVehicle; // é‡åž‹è½¦æ•°é‡ public NET_DVR_LANE_QUEUE struLaneQueue; // 车é“队列长度 public NET_VCA_POINT struRuleLocation; // 规则ä½ç½®è™šæ‹Ÿçº¿åœˆçš„ä¸å¿ƒ public int dwOversizeVehicle; // å¤§åž‹è½¦æ•°é‡ public byte[] byRes2 = new byte[60]; // ä¿ç•™ } public int MAX_TPS_RULE = 8; // 最大å‚数规则数目 public static class NET_DVR_TPS_INFO_V41 extends HIKSDKStructure { public int dwLanNum; // 交通å‚数的车é“æ•°ç›® public NET_DVR_LANE_PARAM_V41[] struLaneParam = new NET_DVR_LANE_PARAM_V41[MAX_TPS_RULE]; public int dwSceneID;//场景ID public byte[] byRes = new byte[28]; //ä¿ç•™ } // 车é“队列结构体 public static class NET_DVR_LANE_QUEUE extends HIKSDKStructure { public NET_VCA_POINT struHead; //队列头 public NET_VCA_POINT struTail; //队列尾 public int dwLength; //实际队列长度 å•ä½ä¸ºç±³ [0-500] } //TPS统计过车数æ®ä¸Šä¼ public static class NET_DVR_TPS_STATISTICS_INFO extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public int dwChan;//通é“å· public NET_DVR_TPS_STATISTICS_PARAM struTPSStatisticsInfo;// 交通å‚æ•°ç»Ÿè®¡ä¿¡æ¯ public byte[] byRes = new byte[128]; // ä¿ç•™ } // 交通å‚æ•°ç»Ÿè®¡ä¿¡æ¯ public static class NET_DVR_TPS_STATISTICS_PARAM extends HIKSDKStructure { public byte byStart; // 开始ç public byte byCMD; // 命令å·ï¼Œ 08-定时æˆç»„æ•°æ®æŒ‡ä»¤ public byte[] byRes = new byte[2]; // 预留å—节 public short wDeviceID; // 设备ID public short wDataLen; // æ•°æ®é•¿åº¦ public byte byTotalLaneNum; // 有效车é“总数 public byte[] byRes1 = new byte[15]; public NET_DVR_TIME_V30 struStartTime; //统计开始时间 public int dwSamplePeriod; //统计时间,å•ä½ç§’ public NET_DVR_TPS_LANE_PARAM[] struLaneParam = new NET_DVR_TPS_LANE_PARAM[8]; } //ç»Ÿè®¡ä¿¡æ¯ public static class NET_DVR_TPS_LANE_PARAM extends HIKSDKStructure { public byte byLane; // 对应车é“å· public byte bySpeed; // 车é“过车平å‡é€Ÿåº¦ public byte[] byRes = new byte[2]; // ä¿ç•™ public int dwLightVehicle; // å°åž‹è½¦æ•°é‡ public int dwMidVehicle; // ä¸åž‹è½¦æ•°é‡ public int dwHeavyVehicle; // é‡åž‹è½¦æ•°é‡ public int dwTimeHeadway; // 车头时è·ï¼Œä»¥ç§’计算 public int dwSpaceHeadway; // 车头间è·ï¼Œä»¥ç±³æ¥è®¡ç®— public float fSpaceOccupyRation; // 空间å 有率,百分比计算,浮点数*1000 public float fTimeOccupyRation; // 时间å 有率,百分比计算,浮点数*1000 public byte[] byRes1 = new byte[16]; // ä¿ç•™ } //TPS实时过车数æ®ä¸Šä¼ public static class NET_DVR_TPS_REAL_TIME_INFO extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public int dwChan;//通é“å· public NET_DVR_TIME_V30 struTime; //检测时间 public NET_DVR_TPS_PARAM struTPSRealTimeInfo;// 交通å‚æ•°ç»Ÿè®¡ä¿¡æ¯ public Pointer pAddInfoBuffer; /*é™„åŠ ä¿¡æ¯æ ‡è¯†ï¼ˆå³æ˜¯å¦æœ‰NET_DVR_TPS_ADDINFO结构体),0-æ— é™„åŠ ä¿¡æ¯, 1-æœ‰é™„åŠ ä¿¡æ¯ã€‚*/ public byte byAddInfoFlag; public byte[] byRes1 = new byte[3]; // ä¿ç•™ public int dwDeviceIDEx; // 设备ID扩展 public byte[] byRes = new byte[8]; // ä¿ç•™ } //å®žæ—¶ä¿¡æ¯ public static class NET_DVR_TPS_PARAM extends HIKSDKStructure { public byte byStart; // 开始ç public byte byCMD; // 命令å·ï¼Œ01-进入指令,02-离开指令,03-æ‹¥å µçŠ¶æ€æŒ‡ä»¤(为03时,åªæœ‰byLaneStateå’ŒbyQueueLen有效),04-多线圈状æ€ï¼ˆä¸º04时,wLoopStateå’ŒwStateMask有效,表示byLane车é“上多个线圈的过车状æ€ï¼‰ public short wSpaceHeadway; //车头间è·ï¼Œä»¥ç±³æ¥è®¡ç®— public short wDeviceID; // 设备ID public short wDataLen; // æ•°æ®é•¿åº¦ public byte byLane; // 对应车é“å· public byte bySpeed; // 对应车速(KM/H) public byte byLaneState; // 车é“状æ€ï¼›0-æ— çŠ¶æ€ï¼Œ1-畅通,2-拥挤,3-å µå¡ž public byte byQueueLen; // å µå¡žçŠ¶æ€ä¸‹æŽ’队长度(比如50米) public short wLoopState; //线圈状æ€ï¼Œç¬¬å‡ ä½è¡¨ç¤ºå‡ å·çº¿åœˆçŠ¶æ€ã€‚状æ€1-到达,0-离开,线圈编å·ä»Žé•œå¤´ç”±è¿‘到远ä¾æ¬¡å¢žå¤§ï¼Œç”¨æˆ·åœ¨è§£æžæ—¶ä¼˜å…ˆè§£æžè½¦é“å·ï¼Œå†è§£æžçº¿åœˆå·ï¼Œå•ä¸ªè½¦é“的线圈å·æ˜¯å”¯ä¸€çš„。 public short wStateMask; //线圈状æ€æŽ©ç ,掩ç ä½ä¸º1对应wLoopState状æ€ä½æœ‰æ•ˆï¼Œä¸º0è¡¨ç¤ºæ— æ•ˆ public int dwDownwardFlow; //当å‰è½¦é“ 从上到下车æµé‡ public int dwUpwardFlow; //当å‰è½¦é“ 从下到上车æµé‡ public byte byJamLevel; //æ‹¥å µç‰çº§ï¼Œå½“byLaneState为3时有效,1-轻度,2-ä¸åº¦ï¼Œ3-é‡åº¦ public byte byVehicleDirection; //0-未知,1-由上而下,2-由下而上 public byte byJamFlow; //æ‹¥å µæ–°å¢žæµé‡ï¼Œæ¯æ–°å¢žä¸€è¾†è½¦å°±ä¸ŠæŠ¥ä¸€æ¬¡ç´¯è®¡è½¦è¾†çš„ä¿¡æ¯ public byte byChannelizationLane; //æ¸ åŒ–è½¦é“å·ï¼ˆæ¸ 化表示,车é“æ•°é‡å˜åŒ–的情况,一般为路å£è½¦é“的数目) public byte byVehicleType; //车型识别:0- 未知,1- 客车(大型),2- 货车(大型),3- 轿车(å°åž‹),4- éžæœºåŠ¨è½¦ public byte[] byRes1 = new byte[5]; //ä¿ç•™ public short wTimeHeadway; // 车头时è·ï¼Œä»¥ç§’计算 } public static class NET_DVR_TIME_SEARCH_COND extends HIKSDKStructure { public short wYear; //å¹´ public byte byMonth; //月 public byte byDay; //æ—¥ public byte byHour; //æ—¶ public byte byMinute; //分 public byte bySecond; //秒 public byte byLocalOrUTC; //0-æ—¶å·®æ— æ•ˆï¼Œè®¾å¤‡æœ¬åœ°æ—¶é—´ï¼Œå³è®¾å¤‡OSD时间 1-时差有效 public short wMillisecond; //毫秒,精度ä¸å¤Ÿï¼Œé»˜è®¤ä¸º0 public byte cTimeDifferenceH; //与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14,+表示东区,byLocalOrUTC为1时有效 public byte cTimeDifferenceM; //与UTC的时差(分钟),-30, 0, 30, 45,+表示东区,byLocalOrUTC为1时有效 } //事件æœç´¢æ¡ä»¶ public static class NET_DVR_SEARCH_EVENT_PARAM extends HIKSDKStructure { public short wMajorType; //0-移动侦测,1-报è¦è¾“å…¥, 2-智能事件 5-poså½•åƒ 7-é—¨ç¦äº‹ä»¶, 8-éžè§†é¢‘è”动事件 public short wMinorType; //æœç´¢æ¬¡ç±»åž‹- æ ¹æ®ä¸»ç±»åž‹å˜åŒ–,0xffff表示全部 public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); //æœç´¢çš„开始时间,åœæ¢æ—¶é—´: åŒæ—¶ä¸º(0, 0) 表示从最早的时间开始,到最åŽï¼Œæœ€å‰é¢çš„4000个事件 public NET_DVR_TIME struEndTime = new NET_DVR_TIME(); //æœç´¢çš„结æŸæ—¶é—´ public byte byLockType; // 0xff-全部,0-未é”,1-é”定 public byte byValue; //0-按ä½è¡¨ç¤ºï¼Œ1-按值表示 public byte[] byRes = new byte[130]; // ä¿ç•™ public UNION_EVENT_PARAM uSeniorParam = new UNION_EVENT_PARAM(); } public static class UNION_EVENT_PARAM extends Union { public byte[] byLen = new byte[SEARCH_EVENT_INFO_LEN]; public EVENT_INQUESTPARAM struInquestParam = new EVENT_INQUESTPARAM(); } //审讯事件æœç´¢æ¡ä»¶ public static class EVENT_INQUESTPARAM extends HIKSDKStructure { public byte byRoomIndex; //审讯室编å·,按值表示,从1开始 public byte[] byRes1 = new byte[3]; public byte[] sInquestInfo = new byte[INQUEST_CASE_LEN]; public byte[] byRes2 = new byte[232]; //ä¿ç•™ } //事件æœç´¢æ¡ä»¶ public static class NET_DVR_SEARCH_EVENT_PARAM_V50 extends HIKSDKStructure { public short wMajorType; //0-移动侦测,1-报è¦è¾“å…¥, 2-智能事件 5-poså½•åƒ 7-é—¨ç¦äº‹ä»¶, 8-éžè§†é¢‘è”动事件 public short wMinorType; //æœç´¢æ¬¡ç±»åž‹- æ ¹æ®ä¸»ç±»åž‹å˜åŒ–,0xffff表示全部 public NET_DVR_TIME_SEARCH_COND struStartTime = new NET_DVR_TIME_SEARCH_COND(); //æœç´¢çš„开始时间,åœæ¢æ—¶é—´: åŒæ—¶ä¸º(0, 0) 表示从最早的时间开始,到最åŽï¼Œæœ€å‰é¢çš„4000个事件 public NET_DVR_TIME_SEARCH_COND struEndTime = new NET_DVR_TIME_SEARCH_COND(); //æœç´¢çš„结æŸæ—¶é—´ public byte byLockType; // 0xff-全部,0-未é”,1-é”定 public byte byQuickSearch; // 是å¦å¯ç”¨å¿«é€ŸæŸ¥è¯¢ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ï¼ˆå¿«é€ŸæŸ¥è¯¢ä¸ä¼šè¿”回文件大å°ï¼Œä»…对设备数æ®åº“进行查询,é¿å…频ç¹å”¤é†’硬盘) public byte[] byRes = new byte[254]; // ä¿ç•™ public UNION_EVENT_PARAM_V50 uSeniorParam = new UNION_EVENT_PARAM_V50(); } public static class UNION_EVENT_PARAM_V50 extends Union { public byte[] byLen = new byte[SEARCH_EVENT_INFO_LEN_V40/*800*/]; public EVENT_ALARMPARAM_V50 struAlarmParam = new EVENT_ALARMPARAM_V50(); public EVENT_MOTIONPARAM_V50 struMotionParam = new EVENT_MOTIONPARAM_V50(); public EVENT_VCAPARAM_V50 struVcaParam = new EVENT_VCAPARAM_V50(); public EVENT_INQUESTPARAM_V50 struInquestParam = new EVENT_INQUESTPARAM_V50(); public EVENT_VCADETECTPARAM_V50 struVCADetect = new EVENT_VCADETECTPARAM_V50(); public EVENT_STREAMIDPARAM_V50 struStreamIDParam = new EVENT_STREAMIDPARAM_V50(); public EVENT_POSPARAM_V50 struPosAlarm = new EVENT_POSPARAM_V50(); public EVENT_TRIALPARAM_V50 struTrialParam = new EVENT_TRIALPARAM_V50(); public EVENT_ACSPARAM_V50 struACSAlarm = new EVENT_ACSPARAM_V50(); public EVENT_IOTPARAM_V50 struIOTAlarm = new EVENT_IOTPARAM_V50(); } public static class EVENT_ALARMPARAM_V50 extends HIKSDKStructure { /*报è¦è¾“å…¥å·ï¼ŒæŒ‰å€¼è¡¨ç¤º,采用紧凑型排列,0xffff表示åŽç»æ— 效*/ public short[] wAlarmInNo = new short[128]; public byte[] byRes = new byte[544]; //ä¿ç•™ } //移动侦测 public static class EVENT_MOTIONPARAM_V50 extends HIKSDKStructure { /* 移动侦测通é“,按值表示 ,采用紧凑型排列,0xffff表示åŽç»æ— 效*/ public short[] wMotDetChanNo = new short[MAX_CHANNUM_V30]; public byte[] byRes = new byte[672]; /*ä¿ç•™*/ } //è¡Œä¸ºåˆ†æž public static class EVENT_VCAPARAM_V50 extends HIKSDKStructure { //行为分æžå¯¹åº”的通é“,按值表示,采用紧凑型排列,0xffff表示åŽç»æ— 效 public short[] wChanNo = new short[MAX_CHANNUM_V30]; public byte byRuleID; //行为分æžç±»åž‹ï¼Œè§„则0xff表示全部,从0开始 public byte byDriverBehaviortType; //å¸æœºé©¾é©¶è¡Œä¸ºç±»åž‹ï¼š0-ä¿ç•™ã€1-抽烟ã€2-接打电è¯ã€3-疲劳驾驶ã€4-分神æ醒ã€5-驾驶员异常ã€6-未系安全带ã€7-红外阻æ–墨镜 public byte byADASType; //高级辅助驾驶类型:0-ä¿ç•™ã€1-å‰å‘碰撞ã€2-车é“å离ã€3-盲区检测ã€4-车è·æ£€æµ‹ã€5-行人防撞ã€6-æ€¥åŠ é€Ÿã€7-急å‡é€Ÿã€8-急左转弯ã€9-急å³è½¬å¼¯ã€10-车辆翻车ã€11-未礼让行人 public byte byGSensorType; // G-Sensor事件:0-ä¿ç•™ã€1-æ€¥åŠ é€Ÿã€2-急å‡é€Ÿã€3-急左转弯ã€4-急å³è½¬å¼¯ã€5-车辆翻车ã€6-车辆碰撞 public byte bySensorInType; // Sensor-In行为:0-ä¿ç•™ã€1-刹车ã€2-左转ã€3-å³è½¬ã€4-倒车 public byte[] byRes = new byte[667]; /*ä¿ç•™*/ } //审讯事件æœç´¢æ¡ä»¶ public static class EVENT_INQUESTPARAM_V50 extends HIKSDKStructure { public byte byRoomIndex; //审讯室编å·,从1开始 public byte[] byRes = new byte[799]; //ä¿ç•™ } //智能侦测查找æ¡ä»¶ ,通é“å·æŒ‰å€¼è¡¨ç¤º public static class EVENT_VCADETECTPARAM_V50 extends HIKSDKStructure { public byte byAll; //查找全部通é“,0-å¦ï¼Œæ¤æ—¶dwChanNoå‚数有效, //1-查找全部通é“,æ¤æ—¶dwChanNoå‚æ•°æ— æ•ˆã€‚ public byte[] byRes1 = new byte[3]; public short[] wChanNo = new short[MAX_CHANNUM_V30];// 触å‘通é“å·,按值表示,0xffffæ— æ•ˆï¼Œä¸”åŽç»æ•°æ®ä¹Ÿè¡¨ç¤ºæ— 效值 public byte[] byRes = new byte[668]; } public static class EVENT_STREAMIDPARAM_V50 extends HIKSDKStructure { public NET_DVR_STREAM_INFO struIDInfo = new NET_DVR_STREAM_INFO(); // æµidä¿¡æ¯ï¼Œ72å—节长 public int dwCmdType; // 外部触å‘类型,NVR接入云å˜å‚¨ä½¿ç”¨ public byte byBackupVolumeNum; //å˜æ¡£å·å·ï¼ŒCVR使用 public byte[] byRes1 = new byte[3]; public byte[] byArchiveLabel = new byte[64]; //å˜æ¡£æ ‡ç¾ï¼ŒCVR使用 public byte[] byRes = new byte[656]; } //poså½•åƒ public static class EVENT_POSPARAM_V50 extends HIKSDKStructure { public short[] wChannel = new short[MAX_CHANNUM_V30]; //通é“,按值表示,紧凑型排列,é‡åˆ°0xffff时表示数组åŽç»å€¼æ— 效 public byte byAllChan; //是å¦æŸ¥æ‰¾å…¨éƒ¨é€šé“,0-å¦ï¼Œæ¤æ—¶wChannel有效,1-全部通é“,æ¤æ—¶wChannelæ— æ•ˆ public byte byCaseSensitive; //0-ä¸åŒºåˆ†å¤§å°å†™ï¼Œ 1-区分大å°å†™ public byte byCombinateMode; //关键å—组åˆæ–¹å¼ï¼Œ0-或,1-与 public byte byRes1; //ä¿ç•™ public byte[] sKeyWord = new byte[MAX_POS_KEYWORDS_NUM * MAX_POS_KEYWORD_LEN]; //关键å—查找时的æ¡ä»¶ public byte[] byRes = new byte[284]; //ä¿ç•™ } public static class EVENT_TRIALPARAM_V50 extends HIKSDKStructure { public byte[] byCaseNo = new byte[SEARCH_CASE_NO_LEN]; public byte[] byCaseName = new byte[SEARCH_CASE_NAME_LEN]; public byte[] byLitigant1 = new byte[SEARCH_LITIGANT_LEN]; public byte[] byLitigant2 = new byte[SEARCH_LITIGANT_LEN]; public byte[] byChiefJudge = new byte[SEARCH_CHIEF_JUDGE_LEN]; public byte byCaseType; public byte[] byRes = new byte[547]; } //é—¨ç¦äº‹ä»¶æœç´¢æ¡ä»¶ public static class EVENT_ACSPARAM_V50 extends HIKSDKStructure { public int dwMajor; //报è¦ä¸»ç±»åž‹ï¼ˆä¸Žäº‹ä»¶ä¸Šä¼ 主类型一致,0代表全部) public int dwMinor; //报è¦æ¬¡ç±»åž‹ï¼ˆä¸Žäº‹ä»¶ä¸Šä¼ 主类型一致,0代表全部) public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //å¡å· public byte[] byName = new byte[NAME_LEN/*32*/]; //姓å public byte[] byMACAddr = new byte[MACADDR_LEN]; //物ç†MACåœ°å€ public byte[] byRes = new byte[722]; } //éžè§†é¢‘è”动事件æœç´¢æ¡ä»¶ public static class EVENT_IOTPARAM_V50 extends HIKSDKStructure { public short wDeviceType; //设备类型,0-海康门ç¦ä¸»æœºï¼Œ1-海康å¯è§†å¯¹è®²è®¾å¤‡, 2-海康报è¦ä¸»æœºï¼ˆé¢„留) 3-GJD报è¦ä¸»æœº 4-Luminite报è¦ä¸»æœº, 5-OPTEX报è¦ä¸»æœº,6-cameraDetectoræ¨¡æ‹Ÿç›¸æœºä¼ æ„Ÿå™¨è®¾å¤‡ public short wEventType; //æœç´¢æ¬¡ç±»åž‹- æ ¹æ®ä¸»ç±»åž‹å˜åŒ–,0xffff表示全部 public short[] wChannel = new short[MAX_CHANNUM_V30/*64*/]; //通é“å·ï¼ŒæŒ‰å€¼è¡¨ç¤º,紧凑型排列,é‡åˆ°0xffff时表示数组åŽç»å€¼æ— 效 public byte byAllChan; //是å¦æŸ¥æ‰¾å…¨éƒ¨é€šé“,0-å¦ï¼Œæ¤æ—¶wChannel有效,1-全部通é“,æ¤æ—¶wChannelæ— æ•ˆ public byte byCaseSensitive; //0-ä¸åŒºåˆ†å¤§å°å†™ï¼Œ 1-区分大å°å†™ public byte byCombinateMode; //关键å—组åˆæ–¹å¼ï¼Œ0-或,1-与 public byte bySearchType; //æœç´¢æ–¹å¼ï¼š0-按视频æºæœç´¢ï¼ˆæ¤æ—¶é€šé“å·ä¸ºè§†é¢‘通é“å·ï¼‰ public byte[] sKeyWord = new byte[MAX_POS_KEYWORDS_NUM * MAX_POS_KEYWORD_LEN];//关键å—查找时的æ¡ä»¶ public short wZoneNo; //防区å·ï¼Œä»…当设备类型为海康报è¦ä¸»æœºï¼Œæ¬¡ç±»åž‹ä¸ºé˜²åŒºï¼ˆwEventType为1)时有效 public byte[] byRes = new byte[278]; //ä¿ç•™ } //查找返回结果 public static class NET_DVR_SEARCH_EVENT_RET extends HIKSDKStructure { public short wMajorType; //主类型 public short wMinorType; //次类型 public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); //事件开始的时间 public NET_DVR_TIME struEndTime = new NET_DVR_TIME(); //事件åœæ¢çš„时间 public byte[] byChan = new byte[MAX_CHANNUM_V30]; public byte[] byChanEx = new byte[32]; //å…³è”通é“,按ä½è¡¨ç¤ºï¼Œä½¿ç”¨è¯¥å—段åŽbyChanå¯ä»¥ä¸ä½¿ç”¨ public byte[] byRes = new byte[4]; public UNION_EVENT_RET uSeniorRet = new UNION_EVENT_RET(); } public static class UNION_EVENT_RET extends Union { public byte[] byLen = new byte[304]; public EVENT_ALARMSTRET struAlarmRet = new EVENT_ALARMSTRET(); public EVENT_INQUESTRET struInquestRet = new EVENT_INQUESTRET(); } //报è¦è¾“入结果 public static class EVENT_ALARMSTRET extends HIKSDKStructure { public int dwAlarmInNo; //报è¦è¾“å…¥å· public byte[] byRes = new byte[SEARCH_EVENT_INFO_LEN]; } //审讯事件 public static class EVENT_INQUESTRET extends HIKSDKStructure { public byte byRoomIndex; //审讯室编å·,从1开始 public byte byDriveIndex; //刻录机编å·,从1开始 public byte[] byRes1 = new byte[6]; //ä¿ç•™ public int dwSegmentNo; //本片æ–在本次审讯ä¸çš„åºå·,从1开始 public short wSegmetSize; //本片æ–的大å°, å•ä½M public short wSegmentState; //本片æ–çŠ¶æ€ 0 刻录æ£å¸¸ï¼Œ1 刻录异常,2 ä¸åˆ»å½•å®¡è®¯ public byte[] byRes2 = new byte[288]; //ä¿ç•™ @Override protected List<String> getFieldOrder() { // TODO Auto-generated method stub return Arrays.asList("byRoomIndex", "byDriveIndex", "byRes1", "dwSegmentNo", "wSegmetSize", "wSegmentState", "byRes2"); } } //查找返回结果 public static class NET_DVR_SEARCH_EVENT_RET_V50 extends HIKSDKStructure { public short wMajorType; //主类型 public short wMinorType; //次类型 public NET_DVR_TIME_SEARCH struStartTime = new NET_DVR_TIME_SEARCH(); //事件开始的时间 public NET_DVR_TIME_SEARCH struEndTime = new NET_DVR_TIME_SEARCH(); //事件åœæ¢çš„æ—¶é—´ï¼Œè„‰å†²äº‹ä»¶æ—¶å’Œå¼€å§‹æ—¶é—´ä¸€æ · public NET_DVR_ADDRESS struAddr = new NET_DVR_ADDRESS(); //片段所在的地å€ä¿¡æ¯ï¼Œé›†ç¾¤å›žæ”¾æ—¶ç”¨åˆ° public short[] wChan = new short[MAX_CHANNUM_V40/*512*/]; //触å‘的通é“å·ï¼Œ0xffff表示åŽç»æ— 效 public byte[] byRes = new byte[256]; public UNION_EVENT_RET_V50 uSeniorRet = new UNION_EVENT_RET_V50(); } public static class UNION_EVENT_RET_V50 extends Union { public byte[] byLen = new byte[800]; public EVENT_ALARMRET_V50 struAlarmRet = new EVENT_ALARMRET_V50(); public EVENT_MOTIONRET_V50 struMotionRet = new EVENT_MOTIONRET_V50(); public EVENT_VCARET_V50 struVcaRet = new EVENT_VCARET_V50(); public EVENT_INQUESTRET_V50 struInquestRet = new EVENT_INQUESTRET_V50(); public EVENT_STREAMIDRET_V50 struStreamIDRet = new EVENT_STREAMIDRET_V50(); public EVENT_POSRET_V50 struPosRet = new EVENT_POSRET_V50(); public EVENT_TRIALRET_V50 struTrialRet = new EVENT_TRIALRET_V50(); public EVENT_IOTRET_V50 struIOTRet = new EVENT_IOTRET_V50(); } //报è¦è¾“入结果 public static class EVENT_ALARMRET_V50 extends HIKSDKStructure { public int dwAlarmInNo; //报è¦è¾“å…¥å· public byte[] byRes = new byte[796]; } //移动侦测结果 public static class EVENT_MOTIONRET_V50 extends HIKSDKStructure { public int dwMotDetNo; //ç§»åŠ¨ä¾¦æµ‹é€šé“ public byte[] byRes = new byte[796]; } //行为分æžç»“æžœ public static class EVENT_VCARET_V50 extends HIKSDKStructure { public int dwChanNo; //触å‘事件的通é“å· public byte byRuleID; //规则ID public byte[] byRes1 = new byte[3]; //ä¿ç•™ public byte[] byRuleName = new byte[NAME_LEN]; //规则å称 public NET_VCA_EVENT_UNION uEvent = new NET_VCA_EVENT_UNION(); //行为事件å‚æ•° public byte[] byRes = new byte[668]; //ä¿ç•™ } //审讯事件 public static class EVENT_INQUESTRET_V50 extends HIKSDKStructure { public byte byRoomIndex; //审讯室编å·,从1开始 public byte byDriveIndex; //刻录机编å·,从1开始 public byte[] byRes1 = new byte[6]; //ä¿ç•™ public int dwSegmentNo; //本片æ–在本次审讯ä¸çš„åºå·,从1开始 public short wSegmetSize; //本片æ–的大å°, å•ä½M public short wSegmentState; //本片æ–çŠ¶æ€ 0 刻录æ£å¸¸ï¼Œ1 刻录异常,2 ä¸åˆ»å½•å®¡è®¯ public byte[] byRes2 = new byte[784]; //ä¿ç•™ } //æµid录åƒæŸ¥è¯¢ç»“æžœ public static class EVENT_STREAMIDRET_V50 extends HIKSDKStructure { public int dwRecordType; //录åƒç±»åž‹ 0-å®šæ—¶å½•åƒ 1-移动侦测 2-报è¦å½•åƒ 3-报è¦|移动侦测 4-报è¦&移动侦测 5-å‘½ä»¤è§¦å‘ 6-æ‰‹åŠ¨å½•åƒ 7-éœ‡åŠ¨æŠ¥è¦ 8-çŽ¯å¢ƒè§¦å‘ 9-æ™ºèƒ½æŠ¥è¦ 10-å›žä¼ å½•åƒ public int dwRecordLength; //录åƒå¤§å° public byte byLockFlag; // é”å®šæ ‡å¿— 0:没é”定 1:é”定 public byte byDrawFrameType; // 0:éžæŠ½å¸§å½•åƒ 1ï¼šæŠ½å¸§å½•åƒ public byte byPosition;// 文件所在å˜å‚¨ä½ç½®ï¼š0-阵列上,1-带库机ä½ä¸Šï¼Œå¯ä»¥ç›´æŽ¥ä¸‹è½½ï¼Œ2-ç£å¸¦åº“内,需è¦æŠŠç£ç›˜åˆ‡æ¢åˆ°æœºä½ä¸Šï¼Œ3-ä¸åœ¨ç£å¸¦åº“ä¸ï¼Œéœ€è¦æŠŠç£ç›˜æ’到ç£å¸¦åº“ä¸ public byte byRes1; public byte[] byFileName = new byte[NAME_LEN]; //文件å public int dwFileIndex; // å˜æ¡£å·ä¸Šçš„文件索引 public byte[] byTapeIndex = new byte[NET_SDK_MAX_TAPE_INDEX_LEN]; //文件所在ç£å¸¦ç¼–å· public byte[] byFileNameEx = new byte[NET_SDK_MAX_FILE_LEN/*256*/]; //文件å扩展 public byte[] byRes = new byte[464]; } //POS录åƒæŸ¥è¯¢ç»“æžœ public static class EVENT_POSRET_V50 extends HIKSDKStructure { public int dwChanNo; //触å‘产生posäº‹ä»¶çš„é€šé“ public byte[] byRes = new byte[796]; } public static class EVENT_TRIALRET_V50 extends HIKSDKStructure { public byte byRoomIndex; //审讯室编å·,从1开始 public byte byDriveIndex; //刻录机编å·,从1开始 public short wSegmetSize; //本片æ–的大å°, å•ä½M public int dwSegmentNo; //本片æ–在本次审讯ä¸çš„åºå·,从1开始 public byte bySegmentState; //本片æ–状æ€ï¼Œ0-刻录æ£å¸¸ï¼Œ1-刻录异常,2-ä¸åˆ»å½•å®¡è®¯ public byte byCaseType; //案件类型;0-全部ã€1-刑事案件ã€2-民事案件 public byte[] byRes = new byte[2]; public byte[] byCaseNo = new byte[CASE_NO_RET_LEN]; //æ¡ˆä»¶ç¼–å· public byte[] byCaseName = new byte[CASE_NAME_RET_LEN]; //案件å称; public byte[] byLitigant1 = new byte[LITIGANT_RET_LEN]; //当事人1ï¼› public byte[] byLitigant2 = new byte[LITIGANT_RET_LEN]; //当事人2ï¼› public byte[] byChiefJudge = new byte[CHIEF_JUDGE_RET_LEN];//审判长 public byte[] byRes1 = new byte[600]; } //éžè§†é¢‘通é“查询结果 public static class EVENT_IOTRET_V50 extends HIKSDKStructure { public int dwChanNo; //触å‘产生事件的通é“å·ï¼ˆäº‹ä»¶æºé€šé“) public byte[] byRes = new byte[796]; } public static class NET_DVR_INQUEST_RESUME_SEGMENT extends HIKSDKStructure { public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); //事件起始时间 public NET_DVR_TIME struStopTime = new NET_DVR_TIME(); //事件终æ¢æ—¶é—´ public byte byRoomIndex; //审讯室编å·,从1开始 public byte byDriveIndex; //刻录机编å·,从1开始 public short wSegmetSize; //本片æ–的大å°, å•ä½M public int dwSegmentNo; //本片æ–在本次审讯ä¸çš„åºå·,从1开始 public byte[] byRes = new byte[24]; //ä¿ç•™ } public static class NET_DVR_INQUEST_RESUME_EVENT extends HIKSDKStructure { public int dwResumeNum; //需æ¢å¤çš„事件个数 public NET_DVR_INQUEST_RESUME_SEGMENT[] struResumeSegment = new NET_DVR_INQUEST_RESUME_SEGMENT[MAX_RESUME_SEGMENT]; public byte byResumeMode; //æ¢å¤æ¨¡å¼ï¼Œ0-å•å…‰ç›˜æ¢å¤ï¼Œ1-åŒå…‰ç›˜æ¢å¤ public byte[] byRes = new byte[199]; //ä¿ç•™ } //报è¦ä¿¡æ¯æŸ¥è¯¢æ¡ä»¶ç»“构体 public static class NET_DVR_ALARM_SEARCH_COND extends HIKSDKStructure { public int dwSize; public NET_DVR_TIME_SEARCH_COND strStartTime; //开始时间,时间为空则代表ä¸é€šè¿‡æ—¶é—´ç›é€‰ã€‚ public NET_DVR_TIME_SEARCH_COND strStopTime; //结æŸæ—¶é—´, 时间为空则代表ä¸é€šè¿‡æ—¶é—´ç›é€‰ã€‚ /* 报è¦å‘½ä»¤ï¼Œè¯¥å—段值与报è¦å¸ƒé˜²ç±»åž‹ç›¸åŒï¼Œç›®å‰æ”¯æŒï¼š COMM_VCA_ALARM 0x4993 æ™ºèƒ½æ£€æµ‹æŠ¥è¦ COMM_UPLOAD_FACESNAP_RESULT 0x1112 äººè„¸è¯†åˆ«ç»“æžœä¸Šä¼ COMM_SNAP_MATCH_ALAR 0x2902 äººè„¸æ¯”å¯¹ç»“æžœä¸Šä¼ */ public int dwAlarmComm; //若该命令为空这代表ä¸è¿›è¡ŒæŠ¥è¦å‘½ä»¤è¿‡æ»¤ã€‚ public byte[] sAlarmUID = new byte[64]; //UIDæ ‡è¯†ï¼ˆä¸Šä¼ æŠ¥è¦æ—¶è®¾å¤‡è¿”回的UIDæ ‡è¯†ï¼Œ64å—节的长度,å¯ä»¥ä½¿ç”¨æ—¶é—´ï¼ˆç²¾ç¡®åˆ°æ¯«ç§’ï¼‰åŠ ä¸Šéšå³æ•°çš„æ–¹å¼ç»„æˆï¼‰,为空则代表ä¸åŒºåˆ†UID public byte[] byRes = new byte[128]; } //报è¦ä¿¡æ¯æŸ¥è¯¢ç»“果结构体 public static class NET_DVR_ALARM_SEARCH_RESULT extends HIKSDKStructure { public int dwSize; /* 报è¦å‘½ä»¤ï¼Œè¯¥å—段值与报è¦å¸ƒé˜²ç±»åž‹ç›¸åŒï¼Œç›®å‰æ”¯æŒï¼š COMM_VCA_ALARM 0x4993 æ™ºèƒ½æ£€æµ‹æŠ¥è¦ COMM_UPLOAD_FACESNAP_RESULT 0x1112 äººè„¸è¯†åˆ«ç»“æžœä¸Šä¼ COMM_SNAP_MATCH_ALARM 0x2902 äººè„¸æ¯”å¯¹ç»“æžœä¸Šä¼ */ public int dwAlarmComm; /* 报è¦ä¿¡æ¯ï¼Œè¯¥å—段值与报è¦ä¿¡æ¯ç›¸åŒï¼Œç›®å‰æ”¯æŒï¼š 当COMM_VCA_ALARM时,该报è¦ä¿¡æ¯ä¸ºJSON报文 当COMM_UPLOAD_FACESNAP_RESULT时,该报è¦ä¿¡æ¯ä¸ºNET_VCA_FACESNAP_RESULT 当COMM_SNAP_MATCH_ALARM—¶,该报è¦ä¿¡æ¯ä¸ºNET_VCA_FACESNAP_MATCH_ALARM */ public int dwAlarmLen;//报è¦ä¿¡æ¯ï¼Œå³pAlarmInfo指针指å‘çš„æ•°æ®é•¿åº¦ public Pointer pAlarmInfo; public NET_DVR_ALARMER struAlarmer = new NET_DVR_ALARMER(); public byte[] byRes = new byte[128]; } public static class NET_DVR_ALARM_ISAPI_INFO extends HIKSDKStructure { public Pointer pAlarmData; // 报è¦æ•°æ®ï¼ˆå‚è§ä¸‹è¡¨ï¼‰ public int dwAlarmDataLen; // 报è¦æ•°æ®é•¿åº¦ public byte byDataType; // 0-invalid,1-xml,2-json public byte byPicturesNumber; // å›¾ç‰‡æ•°é‡ public byte[] byRes = new byte[2]; public Pointer pPicPackData; // 图片å˜é•¿éƒ¨åˆ† //(byPicturesNumber个{NET_DVR_ALARM_ISAPI_PICDATA};) public byte[] byRes1 = new byte[32]; } public static class NET_DVR_LOCAL_GENERAL_CFG extends HIKSDKStructure { public byte byExceptionCbDirectly; //0-é€šè¿‡çº¿ç¨‹æ± å¼‚å¸¸å›žè°ƒï¼Œ1-直接异常回调给上层 public byte byNotSplitRecordFile; //回放和预览ä¸ä¿å˜åˆ°æœ¬åœ°å½•åƒæ–‡ä»¶ä¸åˆ‡ç‰‡ 0-默认切片,1-ä¸åˆ‡ç‰‡ public byte byResumeUpgradeEnable; //æ–网ç»ä¼ å‡çº§ä½¿èƒ½ï¼Œ0-å…³é—(默认),1-å¼€å¯ public byte byAlarmJsonPictureSeparate; //控制JSONé€ä¼ 报è¦æ•°æ®å’Œå›¾ç‰‡æ˜¯å¦åˆ†ç¦»ï¼Œ0-ä¸åˆ†ç¦»ï¼Œ1-分离(分离åŽèµ°COMM_ISAPI_ALARM回调返回) public byte[] byRes = new byte[4]; //ä¿ç•™ public long i64FileSize; //å•ä½ï¼šByte public int dwResumeUpgradeTimeout; //æ–网ç»ä¼ é‡è¿žè¶…时时间,å•ä½æ¯«ç§’ public byte[] byRes1 = new byte[236]; //预留 } public static class NET_DVR_LOCAL_TCP_PORT_BIND_CFG extends HIKSDKStructure { public short wLocalBindTcpMinPort; //本地绑定Tcp最å°ç«¯å£ public short wLocalBindTcpMaxPort; //本地绑定Tcpæœ€å¤§ç«¯å£ public byte[] byRes = new byte[60]; //ä¿ç•™ } public static class NET_DVR_LOCAL_CHECK_DEV extends HIKSDKStructure { public int dwCheckOnlineTimeout; //巡检时间间隔,å•ä½ms 最å°å€¼ä¸º30s,最大值120s。为0时,表示用默认值(120s) public int dwCheckOnlineNetFailMax; //ç”±äºŽç½‘ç»œåŽŸå› å¤±è´¥çš„æœ€å¤§ç´¯åŠ æ¬¡æ•°ï¼›è¶…è¿‡è¯¥å€¼SDKæ‰å›žè°ƒç”¨æˆ·å¼‚常,为0时,表示使用默认值1 public byte[] byRes = new byte[256]; } public static final int MAX_FILE_PATH_LEN = 256; //文件路径长度 public static class NET_DVR_ALARM_ISAPI_PICDATA extends HIKSDKStructure { public int dwPicLen; public byte byPicType; //å›¾ç‰‡æ ¼å¼: 1- jpg public byte[] byRes = new byte[3]; public byte[] szFilename = new byte[MAX_FILE_PATH_LEN]; public Pointer pPicData; // å›¾ç‰‡æ•°æ® } public static class NET_DVR_FOCUSMODE_CFG extends HIKSDKStructure { public int dwSize; public byte byFocusMode; /* èšç„¦æ¨¡å¼ï¼Œ0-自动,1-手动,2-åŠè‡ªåŠ¨ */ public byte byAutoFocusMode; /* 自动èšç„¦æ¨¡å¼ï¼Œ0-关,1-模å¼A,2-模å¼B,3-模å¼AB,4-模å¼C 自动èšç„¦æ¨¡å¼ï¼Œéœ€è¦åœ¨èšç„¦æ¨¡å¼ä¸ºè‡ªåŠ¨æ—¶æ‰æ˜¾ç¤º*/ public short wMinFocusDistance; /* 最å°èšç„¦è·ç¦»ï¼Œå•ä½CM, 0-自动,0xffff-æ— ç©·è¿œ */ public byte byZoomSpeedLevel; /* å˜å€é€Ÿåº¦ï¼Œä¸ºå®žé™…å–值,1-3 */ public byte byFocusSpeedLevel; /* èšç„¦é€Ÿåº¦ï¼Œä¸ºå®žé™…å–值,1-3 */ public byte byOpticalZoom; /* å…‰å¦å˜å€ï¼Œ0-255 */ public byte byDigtitalZoom; /* æ•°å—å˜å€ï¼Œ0-255 */ public float fOpticalZoomLevel; /* å…‰å¦å˜å€(å€çŽ‡å€¼) [1,32], 最å°é—´éš”0.5 ,内部设备交互的时候*1000 */ public int dwFocusPos;/* dwFocusPos 是focus值(èšç„¦å€¼ï¼‰ï¼ŒèŒƒå›´ä¸º[0x1000,0xC000],这个值是sonyåæ ‡å€¼ï¼Œä½¿ç”¨è¿™ä¸ªå€¼æ˜¯ä¸ºäº†å¯¹å¤–ç»Ÿä¸€ï¼Œä¿è¯ä¸åŒçš„镜头对外focus值都转æ¢åœ¨è¿™ä¸ªèŒƒå›´å†… (手动èšç„¦æ¨¡å¼ä¸‹ä¸‹åº”用)*/ public byte byFocusDefinitionDisplay;// èšç„¦æ¸…晰度显示,0~ä¸æ˜¾ç¤ºï¼Œ1~显示, å¼€å¯ä¼šåœ¨ç æµä¸Šæ˜¾ç¤ºå½“å‰é•œå¤´ç›®æ ‡çš„清晰度值,用于帮助客户调焦使相机抓æ‹èƒ½å¤Ÿè¾¾åˆ°æœ€æ¸…晰的效果,该清晰度越大代表ç€è¶Šæ¸…晰,清晰度范围为:0~100.0000 public byte byFocusSensitivity; //èšç„¦çµæ•åº¦ï¼ŒèŒƒå›´[0,2],èšç„¦æ¨¡å¼ä¸ºè‡ªåŠ¨ã€åŠè‡ªåŠ¨æ—¶ç”Ÿæ•ˆ public byte[] byRes1 = new byte[2]; public int dwRelativeFocusPos;//相对focus值,其低16ä½è¡¨ç¤ºèšç„¦å€¼ï¼Œ0~4000;高16ä½ä»£è¡¨å½“å‰èšç„¦å€¼èŽ·å–时的温度值 public byte[] byRes = new byte[48]; } public static class NET_DVR_SERIALSTART_V40 extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public int dwSerialType; //串å£å·ï¼ˆ1-232串å£ï¼Œ2-485串å£ï¼‰ public byte bySerialNum; //串å£ç¼–å· public byte[] byRes = new byte[255]; } public static class NET_DVR_PRESET_NAME extends HIKSDKStructure { public int dwSize; public short wPresetNum; //é¢„ç½®ç‚¹ç¼–å· public byte[] byRes1 = new byte[2]; //å—èŠ‚å¯¹é½ public byte[] byName = new byte[NAME_LEN]; public short wPanPos; //æ°´å¹³å‚æ•° 如果获å–到的数æ®å¤§äºŽ360默认å‡åŽ»360 public short wTiltPos; //åž‚ç›´å‚æ•° 如果获å–到的数æ®å¤§äºŽ360默认å‡åŽ»360 public short wZoomPos; //å˜å€å‚数如果获å–到的数æ®å¤§äºŽ360默认å‡åŽ»360 public byte[] byRes = new byte[58]; } //Sensorä¿¡æ¯ public static class NET_DVR_SENSOR_PARAM extends HIKSDKStructure { public byte bySensorType;//SensorType:0-CCD,1-CMOS public byte[] byRes = new byte[31]; public float fHorWidth;//水平宽度 精确到å°æ•°ç‚¹åŽä¸¤ä½ *10000 public float fVerWidth;//垂直宽度 精确到å°æ•°ç‚¹åŽä¸¤ä½ *10000 public float fFold;//zoom=1没å˜æ—¶çš„ç„¦è· ç²¾ç¡®åˆ°å°æ•°ç‚¹åŽä¸¤ä½ *100 } //çƒæœºä½ç½®ä¿¡æ¯ public static class NET_DVR_PTZPOS_PARAM extends HIKSDKStructure { public float fPanPos;//æ°´å¹³å‚数,精确到å°æ•°ç‚¹åŽ1ä½ public float fTiltPos;//åž‚ç›´å‚数,精确到å°æ•°ç‚¹åŽ1ä½ public float fZoomPos;//å˜å€å‚数,精确到å°æ•°ç‚¹åŽ1ä½ public byte[] byRes = new byte[16]; } public static class NET_DVR_LLI_PARAM extends HIKSDKStructure { public float fSec;//秒[0.000000,60.000000] public byte byDegree;//度:纬度[0,90] ç»åº¦[0,180] public byte byMinute;//分[0,59] public byte[] byRes = new byte[6]; } //GISä¿¡æ¯ä¸Šä¼ public static class NET_DVR_GIS_UPLOADINFO extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public int dwRelativeTime; //ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; //ç»å¯¹æ—¶æ ‡ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO();//å‰ç«¯è®¾å¤‡ public float fAzimuth;//电å罗盘的方ä½ä¿¡æ¯ï¼›æ–¹ä½è§’[0.00°,360.00°) public byte byLatitudeType;//纬度类型,0-北纬,1-å—纬 public byte byLongitudeType;// ç»åº¦ç±»åž‹ï¼Œ0-东度,1-西度 public byte[] byRes1 = new byte[2]; public NET_DVR_LLI_PARAM struLatitude = new NET_DVR_LLI_PARAM(); /*纬度*/ public NET_DVR_LLI_PARAM struLongitude = new NET_DVR_LLI_PARAM(); /*ç»åº¦*/ public float fHorizontalValue;//水平视场角,精确到å°æ•°ç‚¹åŽé¢ä¸¤ä½ public float fVerticalValue;//垂直视场角,精确到å°æ•°ç‚¹åŽé¢ä¸¤ä½ public float fVisibleRadius;//当å‰å¯è§†åŠå¾„,精确到å°æ•°ç‚¹åŽé¢ä¸¤ä½ public float fMaxViewRadius;//最大å¯è§†åŠå¾„,精确到å°æ•°ç‚¹åŽé¢0ä½ï¼ˆé¢„留处ç†ï¼‰ public NET_DVR_SENSOR_PARAM struSensorParam;//Sensorä¿¡æ¯ public NET_DVR_PTZPOS_PARAM struPtzPos; //ptzåæ ‡ public byte[] byRes = new byte[256]; } public static class NET_DVR_DAYTIME extends HIKSDKStructure { public byte byHour;//0~24 public byte byMinute;//0~60 public byte bySecond;//0~60 public byte byRes; public short wMilliSecond; //0~1000 public byte[] byRes1 = new byte[2]; } public static class NET_DVR_SCHEDULE_DAYTIME extends HIKSDKStructure { public NET_DVR_DAYTIME struStartTime; //开始时间 public NET_DVR_DAYTIME struStopTime; //结æŸæ—¶é—´ } public static class NET_DVR_BUILTIN_SUPPLEMENTLIGHT extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public byte byMode;//补光ç¯æ¨¡å¼ 0-定时,1-å¼€å¯ï¼Œ2-å…³é—,3-自动(éžå…‰æ•ï¼Œç®—法画é¢è¯†åˆ«ï¼‰ public byte byBrightnessLimit;//亮度é™åˆ¶[0,100] public byte bySupplementLightMode;//补光ç¯ç±»åž‹,0~白光模å¼,1~æ··åˆæ¨¡å¼ public byte byMixedLightRegulatMode;//æ··åˆè¡¥å…‰ç¯äº®åº¦è°ƒèŠ‚模å¼,0~自动,1~手动,当bySupplementLightMode = 1时生效 public byte byLrLightBrightness;//红外亮度控制[0,100],当byMixedLightRegulatMode = 1时生效。 public byte byHighLrLightBrightness;// 远光红外光亮度é…ç½®[0,100],当byMixedLightRegulatMode = 1时生效 public byte byHighBrightnessLimit;// 远光白光亮度é…ç½®[0,100],当byMixedLightRegulatMode = 1时生效 public byte byLowLrLightBrightness;// 近光红外光亮度é…ç½®[0,100],当byMixedLightRegulatMode = 1时生效 public NET_DVR_SCHEDULE_DAYTIME struSchedTime;//定时时间段 public byte byLowBrightnessLimit;//近光白光亮度é…ç½®[0,100],当byMixedLightRegulatMode = 1时生效 public byte byWhiteLightBrightness;// 白光ç¯äº®åº¦ public byte[] byRes1 = new byte[254]; } public static class NET_DVR_HANDLEEXCEPTION_V41 extends HIKSDKStructure { public int dwHandleType; //异常处ç†,异常处ç†æ–¹å¼çš„"或"结果 /*0x00: æ— å“应*/ /*0x01: 监视器上è¦å‘Š*/ /*0x02: 声音è¦å‘Š*/ /*0x04: ä¸Šä¼ ä¸å¿ƒ*/ /*0x08: 触å‘报è¦è¾“出*/ /*0x10: 触å‘JPRGæŠ“å›¾å¹¶ä¸Šä¼ Email*/ /*0x20: æ— çº¿å£°å…‰æŠ¥è¦å™¨è”动*/ /*0x40: è”动电å地图(ç›®å‰åªæœ‰PCNVR支æŒ)*/ /*0x200: æŠ“å›¾å¹¶ä¸Šä¼ FTP*/ /*0x400: 虚交侦测 è”动 èšç„¦æ¨¡å¼ï¼ˆæä¾›å¯é…置项,原先设备自动完æˆï¼‰IPC5.1.0*/ /*0x800: PTZè”动跟踪(çƒæœºè·Ÿè¸ªç›®æ ‡)*/ /*0x4000:白光ç¯æŠ¥è¦*/ /*0x10000:çŸä¿¡æŠ¥è¦*/ public int dwMaxRelAlarmOutChanNum; //触å‘的报è¦è¾“出通é“数(åªè¯»ï¼‰æœ€å¤§æ”¯æŒæ•° public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; //触å‘报è¦é€šé“ public byte[] byRes = new byte[64]; //ä¿ç•™ } public static class NET_DVR_PRESETCHAN_INFO extends HIKSDKStructure { public int dwEnablePresetChan; /*å¯ç”¨é¢„置点的通é“, 0xfffffff表示ä¸è°ƒç”¨é¢„置点*/ public int dwPresetPointNo; /*调用预置点通é“对应的预置点åºå·, 0xfffffff表示ä¸è°ƒç”¨é¢„置点。*/ } public static class NET_DVR_CRUISECHAN_INFO extends HIKSDKStructure { public int dwEnableCruiseChan; /*å¯ç”¨å·¡èˆªçš„通é“*/ public int dwCruiseNo; /*巡航通é“对应的巡航编å·, 0xfffffffè¡¨ç¤ºæ— æ•ˆ*/ } public static class NET_DVR_PTZTRACKCHAN_INFO extends HIKSDKStructure { public int dwEnablePtzTrackChan; /*å¯ç”¨äº‘å°è½¨è¿¹çš„通é“*/ public int dwPtzTrackNo; /*云å°è½¨è¿¹é€šé“对应的编å·, 0xfffffffè¡¨ç¤ºæ— æ•ˆ*/ } public static class NET_DVR_EVENT_TRIGGER extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public NET_DVR_HANDLEEXCEPTION_V41 struHandleException; //异常处ç†æ–¹å¼ public int[] dwRelRecordChan = new int[MAX_CHANNUM_V40]; //实际触å‘录åƒé€šé“ï¼ŒæŒ‰å€¼è¡¨ç¤ºï¼Œé‡‡ç”¨ç´§å‡‘åž‹æŽ’åˆ—ï¼Œä»Žä¸‹æ ‡0开始顺åºè¯»å–,ä¸é—´é‡åˆ°0xffffffff则åŽç»æ— 效。 public NET_DVR_PRESETCHAN_INFO[] struPresetChanInfo = new NET_DVR_PRESETCHAN_INFO[MAX_CHANNUM_V40]; //å¯ç”¨çš„é¢„ç½®ç‚¹ä¿¡æ¯ public NET_DVR_CRUISECHAN_INFO[] struCruiseChanInfo = new NET_DVR_CRUISECHAN_INFO[MAX_CHANNUM_V40]; //å¯ç”¨å·¡èˆªåŠŸèƒ½é€šé“çš„ä¿¡æ¯ public NET_DVR_PTZTRACKCHAN_INFO[] struPtzTrackInfo = new NET_DVR_PTZTRACKCHAN_INFO[MAX_CHANNUM_V40]; //调用云å°è½¨è¿¹çš„通é“ä¿¡æ¯ public byte byDirection;//触å‘æ–¹å‘:0-ä¿ç•™ï¼›1-全部;2-æ£å‘ï¼›3-åå‘ public byte[] byRes2 = new byte[255]; } public static class NET_DVR_FACELIB_GUARD_COND extends HIKSDKStructure { public int dwSize; public int dwChannel; //通é“å· public byte[] szFDID = new byte[68];//人脸库的ID public byte[] byRes = new byte[128]; } //导入人脸数æ®æ¡ä»¶ public static class NET_DVR_FACELIB_COND extends HIKSDKStructure { public int dwSize; public byte[] szFDID = new byte[NET_SDK_MAX_FDID_LEN/*256*/];//人脸库ID public byte byConcurrent;//设备并å‘å¤„ç† 0-ä¸å¼€å¯ï¼Œ1-开始 public byte byCover;//是å¦è¦†ç›–å¼å¯¼å…¥ 0-å¦ï¼Œ1-是 public byte byCustomFaceLibID;//FDID是å¦æ˜¯è‡ªå®šä¹‰ï¼Œ0-ä¸æ˜¯ï¼Œ1-是; public byte byPictureSaveMode;//ä¸Šä¼ åŽŸå›¾ä¿å˜æ¨¡å¼ï¼Œ0-ä¿å˜ï¼Œ1-ä¸ä¿å˜; public byte[] byIdentityKey = new byte[NET_SDK_MAX_INDENTITY_KEY_LEN/*64*/];//交互æ“作å£ä»¤ public byte[] byRes = new byte[60]; } public static class NET_DVR_SEND_PARAM_IN extends HIKSDKStructure { public Pointer pSendData; //å‘é€çš„缓冲区,PicURL == 1 的时候,内å˜ä¸å˜å‚¨çš„是 URL å—符串,byUploadModeling == 1 的时候,内å˜ä¸å˜å‚¨çš„是 建模base64åŠ å¯†æ•°æ® public int dwSendDataLen; //å‘é€æ•°æ®é•¿åº¦,PicURL == 1 的时候,表示的 URL å—符串的长度,byUploadModeling == 1 的时候,表示为建模数æ®base64åŽçš„åŠ å¯†é•¿åº¦ public NET_DVR_TIME_V30 struTime = new NET_DVR_TIME_V30(); //图片时间 public byte byPicType; //å›¾ç‰‡æ ¼å¼,1-jpg,2-bmp,3-png,4-SWF,5-GIF public byte byPicURL; //图片数æ®é‡‡ç”¨URLæ–¹å¼ 0-二进制图片数æ®ï¼Œ1-图片数æ®èµ°URLæ–¹å¼ /*是å¦ä¸Šä¼ 建模数æ®ï¼› 0- 二进制图片数æ®æ–¹å¼(pSendData指å‘二进制图片数æ®, dwPicDataLen为图片二进制数æ®é•¿åº¦), 1- ç›´æŽ¥ä¸Šä¼ å»ºæ¨¡æ•°æ®(pSendData指å‘建模base64åŠ å¯†æ•°æ®, dwPicDataLen为建模数æ®base64åŽçš„åŠ å¯†é•¿åº¦)。 注:建模数æ®é‡‡ç”¨base64åŠ å¯†æ–¹å¼,选择为建模数æ®ä¸Šä¼ åŽï¼ŒbyPicURL æ— éœ€ã€‚ 当â€/ISAPI/Intelligent/channels/<ID>/faceContrast/capabilitiesâ€èƒ½åŠ›ä¸è¿”回isSupportUploadModeling能力节点时,支æŒä¸Šä¼ 建模数æ®. */ public byte byUploadModeling; public byte byRes1; public int dwPicMangeNo; //图片管ç†å· public byte[] sPicName = new byte[NAME_LEN]; //图片å称 public int dwPicDisplayTime; //图片æ’放时长,å•ä½ç§’ public Pointer pSendAppendData; //å‘é€å›¾ç‰‡çš„é™„åŠ ä¿¡æ¯ç¼“冲区,对应FaceAppendData çš„XMLæè¿°ï¼› public int dwSendAppendDataLen; //å‘é€å›¾ç‰‡çš„é™„åŠ ä¿¡æ¯æ•°æ®é•¿åº¦ FaceAppendData XML的长度; public byte[] byRes = new byte[192]; } public static class NET_DVR_INQUEST_ROOM extends HIKSDKStructure { public byte byRoomIndex; //å®¡è®¯å®¤ç¼–å· public byte byFileType; //0-审讯文件,1-å¼€åºä¸Šä¼ 文件 public byte[] byRes = new byte[22]; //ä¿ç•™ } public static class NET_DVR_INQUEST_CDRW_CFG extends HIKSDKStructure { public int dwSize; public int dwNum; //åˆ»å½•æœºçš„æ•°é‡ public int[] dwRwSelectPara = new int[MAX_CHANNUM_V30];// 是å¦é€‰ä¸è¯¥å…‰é©± public int dwModeSelect; //0è¡¨ç¤ºå¾ªçŽ¯åˆ»å½•æ¨¡å¼ 1表示并行刻录模å¼(默认模å¼) public byte[] byRes = new byte[24]; //ä¿ç•™ public int dwStartCDRW; //DVR 本地已ç»å¼€å§‹åˆ»å½• public int dwHdExcp; //硬盘有异 常 public int dwInterval; //时间间隔,10分钟(0)ã€20分钟(1)ã€30分钟(2) public byte[] sLable = new byte[64]; //光盘å称 } public static class NET_DVR_INQUEST_CDRW_STATUS extends HIKSDKStructure { /*è¿è¡ŒçŠ¶æ€ï¼š0-审讯开始, 1-审讯过程ä¸åˆ»å½•ï¼Œ2-审讯åœæ¢ï¼Œ 3-刻录审讯文件, 4-备份(事åŽå¤‡ä»½å’Œæœ¬åœ°å¤‡ä»½) 5-空闲 6-åˆå§‹åŒ–硬盘 7-æ¢å¤å®¡è®¯*/ public int dwType; public NET_DVR_INQUEST_CDRW[] strCDRWNum = new NET_DVR_INQUEST_CDRW[MAX_INQUEST_CDRW_NUM]; //数组0表示刻录机1 public NET_DVR_TIME_EX struInquestStartTime = new NET_DVR_TIME_EX(); //审讯开始的时间点 public byte[] byRes = new byte[16]; //ä¿ç•™ } public static class NET_DVR_INQUEST_CDRW extends HIKSDKStructure { public int dwEnable; //刻录机状æ€æ˜¯å¦æœ‰æ•ˆ,0-æ— æ•ˆ,1-有效 public int dwStatus; /*当dwType=0时, 0-光盘æ£å¸¸ï¼Œ1-æ— å…‰ç›˜æˆ–å…‰ç›˜å¼‚å¸¸, 当dwType=1或2时,0-刻录æ£å¸¸ï¼Œ1-æ— å…‰ç›˜æˆ–å…‰ç›˜å¼‚å¸¸ï¼Œ2-光盘已å°ç›˜(81ä¸æ”¯æŒ),3-光盘空间ä¸è¶³ï¼Œ 4-异常导致审讯终æ¢(81ä¸æ”¯æŒ) 当dwType=3时, 0-刻录æ£å¸¸ï¼Œ1-æ— å…‰ç›˜æˆ–å…‰ç›˜å¼‚å¸¸ï¼Œ2-光盘已å°ç›˜(81ä¸æ”¯æŒ),3-光盘空间ä¸è¶³ 当dwType=4时,0-刻录æ£å¸¸ï¼Œ1-æ— å…‰ç›˜æˆ–å…‰ç›˜å¼‚å¸¸ï¼Œ2-光盘已å°ç›˜(81ä¸æ”¯æŒ),3-光盘空间ä¸è¶³ 当dwType=5æ—¶,0-光盘æ£å¸¸ï¼Œ 1-æ— å…‰ç›˜æˆ–å…‰ç›˜å¼‚å¸¸,2-光盘已å°ç›˜(81ä¸æ”¯æŒ) 当dwType=6或7æ—¶, 0-刻录æ£å¸¸, 1-æ— å…‰ç›˜æˆ–å…‰ç›˜å¼‚å¸¸, 2-光盘已å°ç›˜(81ä¸æ”¯æŒ), 3-光盘空间ä¸è¶³*/ public int dwVolumn; //光盘容é‡,å•ä½M public int dwFreeSpace; //光盘剩余容é‡,å•ä½M public int dwTimeLeft; // 光盘剩余时间,å•ä½ç§’ public byte byCDType; // 光盘类型 public byte[] byRes = new byte[3]; //ä¿ç•™å—节 } //实时温度检测æ¡ä»¶å‚æ•° public static class NET_DVR_REALTIME_THERMOMETRY_COND extends HIKSDKStructure { public int dwSize; /*结构体大å°*/ public int dwChan; /*通é“å·ï¼Œä»Ž1开始,0xffffffff代表获å–全部通é“*/ public byte byRuleID;/*规则ID,0代表获å–全部规则,具体规则ID从1开始*/ public byte byMode; //长连接模å¼ï¼š0- ä¿ç•™ï¼ˆå…¼å®¹ä¸æ”¯æŒè¯¥åŠŸèƒ½çš„è€è®¾å¤‡ï¼‰ï¼Œ1- 定时模å¼ï¼Œ2- æ¸©å·®æ¨¡å¼ public short wInterval; //ä¸Šä¼ é—´éš”ï¼ˆä»…æ¸©å·®æ¨¡å¼æ”¯æŒï¼‰ï¼Œå–值范围:1-3600 秒,填0则默认3600Sä¸Šä¼ ä¸€æ¬¡ public byte[] byRes2 = new byte[60]; } //ç‚¹æµ‹æ¸©å®žæ—¶ä¿¡æ¯ public static class NET_DVR_POINT_THERM_CFG extends HIKSDKStructure { public float fTemperature; public NET_VCA_POINT struPoint; public byte[] byRes = new byte[120]; } //框/çº¿æµ‹æ¸©å®žæ—¶ä¿¡æ¯ public static class NET_DVR_LINEPOLYGON_THERM_CFG extends HIKSDKStructure { public float fMaxTemperature; public float fMinTemperature; public float fAverageTemperature; public float fTemperatureDiff; public NET_VCA_POLYGON struRegion; public byte[] byRes = new byte[32]; } //å®žæ—¶æ¸©åº¦ä¿¡æ¯ public static class NET_DVR_THERMOMETRY_UPLOAD extends HIKSDKStructure { public int dwSize; /* ç»“æž„ä½“å¤§å° */ public int dwRelativeTime; public int dwAbsTime; public byte[] szRuleName = new byte[NAME_LEN]; public byte byRuleID;/* 规则ID,0代表获å–全部规则,具体规则ID从1开始 */ public byte byRuleCalibType; public short wPresetNo; public NET_DVR_POINT_THERM_CFG struPointThermCfg; public NET_DVR_LINEPOLYGON_THERM_CFG struLinePolygonThermCfg; public byte byThermometryUnit; public byte byDataType; public byte byRes1; public byte bySpecialPointThermType; public float fCenterPointTemperature; public float fHighestPointTemperature; public float fLowestPointTemperature; public NET_VCA_POINT struHighestPoint; public NET_VCA_POINT struLowestPoint; public byte byIsFreezedata; public byte[] byRes = new byte[95]; } public static class NET_PTZ_INFO extends HIKSDKStructure { public float fPan; public float fTilt; public float fZoom; public int dwFocus;// èšç„¦å‚数,èšç„¦èŒƒå›´ï¼šå½’一化0-100000 public byte[] byRes = new byte[4]; } //测温模å¼é…ç½® public static class NET_DVR_THERMOMETRY_MODE extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public byte byMode;//测温模å¼ï¼Œ0~普通模å¼ï¼Œ1~ä¸“å®¶æ¨¡å¼ public byte byThermometryROIEnabled; //测温ROI使能 0-ä¿ç•™ 1-ä¸å¼€å¯ 2-å¼€å¯ï¼ˆåŸºäºŽäº’斥兼容考虑) public byte[] byRes = new byte[62]; } public static class NET_DVR_THERMOMETRY_COND extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public int dwChannel; public short wPresetNo;//0-ä¿ç•™ public byte[] byRes = new byte[62]; } public static class NET_DVR_THERMOMETRY_PRESETINFO_PARAM extends HIKSDKStructure { public byte byEnabled; //是å¦ä½¿èƒ½ï¼š0- å¦ï¼Œ1- 是 public byte byRuleID;//规则ID 0-è¡¨ç¤ºæ— æ•ˆï¼Œä»Ž1开始 (list内部判æ–æ•°æ®æœ‰æ•ˆæ€§ï¼‰ public short wDistance;//è·ç¦»(m)[0, 10000] public float fEmissivity;//å‘射率(å‘射率 精确到å°æ•°ç‚¹åŽä¸¤ä½)[0.01, 1.00](å³ï¼šç‰©ä½“å‘外è¾å°„能é‡çš„本领) public byte byDistanceUnit;//è·ç¦»å•ä½: 0-米(m),1-英尺(feet),2-厘米(centimeter) public byte[] byRes = new byte[2]; public byte byReflectiveEnabled;//å射温度使能:0- å¦ï¼Œ1- 是 public float fReflectiveTemperature;//å射温度 精确到å°æ•°åŽ2ä½ public byte[] szRuleName = new byte[NAME_LEN/*32*/];//规则å称 public byte byemissivityMode; //å‘射率é…置类型 1-粗糙,2-较粗糙,3-较光滑, 4-光滑, 0xff-自定义 public byte[] byRes1 = new byte[62]; public byte byRuleCalibType;//è§„åˆ™æ ‡å®šç±»åž‹ 0-点,1-框,2-线 public NET_VCA_POINT struPoint = new NET_VCA_POINT();//点测温åæ ‡ï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸º"点"的时候生效) public NET_VCA_POLYGON struRegion = new NET_VCA_POLYGON();//区域ã€çº¿ï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸º"框"或者"线"的时候生效) } public static class NET_DVR_THERMOMETRY_PRESETINFO extends HIKSDKStructure { public int dwSize;//ç»“æž„ä½“å¤§å° public short wPresetNo;//0-ä¿ç•™ public byte[] byRes = new byte[2]; public NET_DVR_THERMOMETRY_PRESETINFO_PARAM[] struPresetInfo = new NET_DVR_THERMOMETRY_PRESETINFO_PARAM[40]; } //温度报è¦ï¼ˆæ£€æµ‹æ¸©åº¦å’Œé…置温度比较报è¦ï¼‰ public static class NET_DVR_THERMOMETRY_ALARM extends HIKSDKStructure { public int dwSize; public int dwChannel;//通é“å· public byte byRuleID;//规则ID public byte byThermometryUnit;//测温å•ä½: 0-æ‘„æ°åº¦ï¼ˆâ„ƒï¼‰ï¼Œ1-åŽæ°åº¦ï¼ˆâ„‰ï¼‰ï¼Œ2-开尔文(K) public short wPresetNo; //é¢„ç½®ç‚¹å· public NET_PTZ_INFO struPtzInfo = new NET_PTZ_INFO();//ptzåæ ‡ä¿¡æ¯ public byte byAlarmLevel;//0-é¢„è¦ 1-æŠ¥è¦ public byte byAlarmType;/*报è¦ç±»åž‹ 0-最高温度 1-最低温度 2-å¹³å‡æ¸©åº¦ 3-温差 4-温度çªå‡ 5-温度çªé™*/ public byte byAlarmRule;//0-大于,1-å°äºŽ public byte byRuleCalibType;//è§„åˆ™æ ‡å®šç±»åž‹ 0-点,1-框,2线 public NET_VCA_POINT struPoint = new NET_VCA_POINT();//点测温åæ ‡ï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸ºç‚¹çš„æ—¶å€™ç”Ÿæ•ˆï¼‰ public NET_VCA_POLYGON struRegion = new NET_VCA_POLYGON();//åŒºåŸŸï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸ºæ¡†çš„æ—¶å€™ç”Ÿæ•ˆï¼‰ public float fRuleTemperature;/*é…置规则温度,精确到å°æ•°ç‚¹åŽä¸€ä½(-40-1000),(浮点数+100) */ public float fCurrTemperature;/*当å‰æ¸©åº¦,精确到å°æ•°ç‚¹åŽä¸€ä½(-40-1000),(浮点数+100) */ public int dwPicLen;//å¯è§å…‰å›¾ç‰‡é•¿åº¦ public int dwThermalPicLen;//çƒæˆåƒå›¾ç‰‡é•¿åº¦ public int dwThermalInfoLen;//çƒæˆåƒé™„åŠ ä¿¡æ¯é•¿åº¦ public Pointer pPicBuff; ///å¯è§å…‰å›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalPicBuff;// çƒæˆåƒå›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalInfoBuff; //çƒæˆåƒé™„åŠ ä¿¡æ¯æŒ‡é’ˆ public NET_VCA_POINT struHighestPoint = new NET_VCA_POINT();//线ã€æ¡†æµ‹æ¸©æœ€é«˜æ¸©åº¦ä½ç½®åæ ‡ï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸ºçº¿ã€æ¡†çš„时候生效) public float fToleranceTemperature;/* 容差温度,精确到å°æ•°ç‚¹åŽä¸€ä½(-40-1000),(浮点数+100) */ public int dwAlertFilteringTime;//温度预è¦ç‰å¾…时间 å•ä½ç§’ 范围为0-200秒,默认为0秒 public int dwAlarmFilteringTime;//温度报è¦ç‰å¾…时间 å•ä½ç§’ 范围为0-200秒,默认为0秒 public int dwTemperatureSuddenChangeCycle;//温度çªå˜è®°å½•å‘¨æœŸï¼Œå•ä½ç§’ public float fTemperatureSuddenChangeValue;//温度çªå˜å€¼,精确到å°æ•°ç‚¹åŽä¸€ä½(大于0) public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public byte[] byRes = new byte[39]; } //æ¸©å·®æŠ¥è¦ public static class NET_DVR_THERMOMETRY_DIFF_ALARM extends HIKSDKStructure { public int dwSize; public int dwChannel;//通é“å· public byte byAlarmID1;//规则AlarmID1 public byte byAlarmID2;//规则AlarmID2 public short wPresetNo; //é¢„ç½®ç‚¹å· public byte byAlarmLevel;//0-é¢„è¦ 1-æŠ¥è¦ public byte byAlarmType;/*报è¦ç±»åž‹ 0-最高温度 1-最低温度 2-å¹³å‡æ¸©åº¦*/ public byte byAlarmRule;//0-大于,1-å°äºŽ public byte byRuleCalibType;//è§„åˆ™æ ‡å®šç±»åž‹ 0-点,1-框,2线 public NET_VCA_POINT[] struPoint = (NET_VCA_POINT[]) new NET_VCA_POINT().toArray(2);//点测温åæ ‡ï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸ºç‚¹çš„æ—¶å€™ç”Ÿæ•ˆï¼‰æ•°ç»„ä¸‹æ ‡0代表ç€AlarmID1ï¼Œæ•°ç»„ä¸‹æ ‡1代表ç€AlarmID2. public NET_VCA_POLYGON[] struRegion = (NET_VCA_POLYGON[]) new NET_VCA_POLYGON().toArray(2);//åŒºåŸŸï¼ˆå½“è§„åˆ™æ ‡å®šç±»åž‹ä¸ºæ¡†çš„æ—¶å€™ç”Ÿæ•ˆï¼‰æ•°ç»„ä¸‹æ ‡0代表ç€AlarmID1ï¼Œæ•°ç»„ä¸‹æ ‡1代表ç€AlarmID2. float fRuleTemperatureDiff;/*é…置规则温差,精确到å°æ•°ç‚¹åŽä¸€ä½(-40-1000))*/ float fCurTemperatureDiff;/*当å‰æ¸©å·®,精确到å°æ•°ç‚¹åŽä¸€ä½(-40-1000),(浮点数+100) */ NET_PTZ_INFO struPtzInfo;//ptzåæ ‡ä¿¡æ¯ public int dwPicLen;//å¯è§å…‰å›¾ç‰‡é•¿åº¦ public int dwThermalPicLen;//çƒæˆåƒå›¾ç‰‡é•¿åº¦ public int dwThermalInfoLen;//çƒæˆåƒé™„åŠ ä¿¡æ¯é•¿åº¦ public Pointer pPicBuff; ///å¯è§å…‰å›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalPicBuff;// çƒæˆåƒå›¾ç‰‡æŒ‡é’ˆ public Pointer pThermalInfoBuff; //çƒæˆåƒé™„åŠ ä¿¡æ¯æŒ‡é’ˆ public byte byThermometryUnit;//测温å•ä½: 0-æ‘„æ°åº¦ï¼ˆâ„ƒï¼‰ï¼Œ1-åŽæ°åº¦ï¼ˆâ„‰ï¼‰ï¼Œ2-开尔文(K) public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public byte[] byRes1 = new byte[2]; float fToleranceTemperature;/*容差温度,精确到å°æ•°ç‚¹åŽä¸€ä½(-40-1000),(浮点数+100) */ public int dwAlarmFilteringTime;//温度报è¦ç‰å¾…时间 å•ä½ç§’ 范围为0-200秒,默认为0秒 public int dwVisibleChannel; //å¯è§å…‰é€šé“通é“å· public byte[] byRes = new byte[48]; } //船åªæ£€æµ‹æŠ¥è¦ä¸Šä¼ public static class NET_DVR_SHIPSDETECTION_ALARM extends HIKSDKStructure { public int dwSize; public NET_VCA_DEV_INFO struDevInfo; //è®¾å¤‡ä¿¡æ¯ public int dwRelativeTime; //ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; //ç»å¯¹æ—¶æ ‡ public byte byShipsNum; //船åªæ•°ï¼›(æ£è·¨è¶Šæ£€æµ‹çº¿çš„船åªæ•°) public byte byShipsNumHead;//船åªæ•°ï¼›(船头检测船åªæ•°) public byte byShipsNumEnd; //船åªæ•°ï¼›(船尾检测船åªæ•°) public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public NET_DVR_SHIPSINFO[] struShipInfo = (NET_DVR_SHIPSINFO[]) new NET_DVR_SHIPSINFO().toArray(MAX_SHIPS_NUM); /*20*///船åªä¿¡æ¯ï¼›æœ€å¤§æ”¯æŒ20艘 public int dwPicLen;//å¯è§å…‰å›¾ç‰‡é•¿åº¦ public int dwThermalPicLen;//çƒæˆåƒå›¾ç‰‡é•¿åº¦ public Pointer pPicBuffer; //å¯è§å…‰å›¾ç‰‡æ•°æ®æŒ‡é’ˆ public Pointer pThermalPicBuffer; //çƒæˆåƒå›¾ç‰‡æ•°æ®æŒ‡é’ˆ public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannelå«ä¹‰ç›¸åŒï¼Œèƒ½è¡¨ç¤ºæ›´å¤§çš„值。è€å®¢æˆ·ç«¯ç”¨byIvmsChannel能继ç»å…¼å®¹ï¼Œä½†æ˜¯æœ€å¤§åˆ°255。新客户端版本请使用wDevInfoIvmsChannelEx。 public byte byTimeDiffFlag; /*时差å—段是å¦æœ‰æ•ˆ 0-æ—¶å·®æ— æ•ˆï¼Œ 1-时差有效 */ public byte cTimeDifferenceH; /*与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, +表示东区,,byTimeDiffFlag为1时有效*/ public byte cTimeDifferenceM; /*与UTC的时差(分钟),-30, 30, 45, +表示东区,byTimeDiffFlag为1时有效*/ public byte bySID;//场景ID public byte[] byRes1 = new byte[2]; public byte[] szSceneName = new byte[NAME_LEN];//场景å称,ä¸è¶…过32å—符 public byte[] byRes = new byte[216]; } public static final int MAX_SHIPS_NUM = 20; //船åªæ£€æµ‹æœ€å¤§èˆ¹åªæ•° //船åªä¿¡æ¯ public static class NET_DVR_SHIPSINFO extends HIKSDKStructure { public float fShipsLength; //船åªé•¿åº¦ï¼›1~1000.0m,精确到å°æ•°ç‚¹åŽä¸€ä½ public float fShipsHeight; //船åªé«˜åº¦ï¼›1~1000.0m,精确到å°æ•°ç‚¹åŽä¸€ä½ public float fShipsWidth; //船åªå®½åº¦ï¼›1~1000.0m,精确到å°æ•°ç‚¹åŽä¸€ä½ public float fShipsSpeed; //船åªé€Ÿåº¦ï¼›1~1000.0m/s,精确到å°æ•°ç‚¹åŽä¸€ä½ public byte byShipsDirection;//船åªæ–¹å‘ï¼›0~up,1~down,2~left,3~right public byte byShipsDetState;//船åªæ£€æµ‹çŠ¶æ€ï¼›0~æ£è·¨è¶Šæ£€æµ‹çº¿ï¼Œ1~船头检测,2~船尾检测 public byte byTriggerLineID;//检测线ID public byte[] byRes = new byte[61]; public NET_VCA_POLYGON struShipsRect; //船åªåŒºåŸŸï¼Œå½’一化值,相对于大图(å¯è§å…‰å›¾ã€çƒæˆåƒå›¾)的分辨率 } public static class NET_DVR_ARRAY_LIST extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public int dwCount; // 阵列个数 public NET_DVR_ARRAY_INFO[] struArrayInfo = new NET_DVR_ARRAY_INFO[SUPPORT_ARRAY_NUM]; } public static class NET_DVR_BGA_INFO extends HIKSDKStructure { public byte byBga; // åŽå°ä»»åŠ¡åŠç±»åž‹ public byte byBgaState; /*函数返回值--åŽå°ä»»åŠ¡çŠ¶æ€*/ public short wBgaPercentage; /*函数返回值--åŽå°ä»»åŠ¡æ‰§è¡Œç™¾åˆ†æ¯”*/ public byte[] byRes = new byte[4]; // ä¿ç•™å—节 } // é˜µåˆ—ä¿¡æ¯ public static class NET_DVR_ARRAY_INFO extends HIKSDKStructure { public short wArrayID; // 阵列ID public byte byRaidMode; // raidæ¨¡å¼ å‚ç…§RAID_MODE public byte byStatus; // 0-在线 1-ç£ç›˜ä¸¢å¤± 2-下线 3-é™çº§ 4-异常 5-次æ£å¸¸ 6-外æ¥ç›˜ 7-å·²åˆ é™¤ 8-SMART状æ€å¼‚常 0xff-ä¸å˜åœ¨ public int dwHCapacity; // 阵列容é‡é«˜32ä½ public int dwLCapacity; // 阵列容é‡ä½Ž32ä½ public int dwHFreeSpace; // 阵列剩余空间高32ä½ public int dwLFreeSpace; // 阵列剩余空间高32ä½ public byte[] byArrayName = new byte[MAX_NAMELEN]; // 阵列å称 public byte byPDCount; // 物ç†ç£ç›˜æ•°ç›® public byte bySpareCount; // çƒå¤‡æ•°ç›® public byte[] byRes1 = new byte[2]; public short[] wPDSlots = new short[SUPPORT_PD_NUM]; // 物ç†ç£ç›˜ç´¢å¼• public short[] wSparePDSlots = new short[SUPPORT_PD_NUM]; // çƒå¤‡ç£ç›˜ç´¢å¼• public NET_DVR_BGA_INFO struBgaInfo; // åŽå°ä»»åŠ¡è¿è¡ŒçŠ¶æ€ public short[] wPDSlotsPartTwo = new short[SUPPORT_PD_NUM_PARTTWO]; //物ç†ç£ç›˜ç´¢å¼•æ‰©å±•ï¼Œ0è¡¨ç¤ºæ— æ•ˆ public short[] wSparePDSlotsPartTwo = new short[SUPPORT_PD_NUM_PARTTWO]; // çƒå¤‡ç£ç›˜ç´¢å¼•æ‰©å±•ï¼Œ0è¡¨ç¤ºæ— æ•ˆ public byte[] byRes2 = new byte[48]; // ä¿ç•™å—节 } //物ç†ç£ç›˜ public static class NET_DVR_PHY_DISK_INFO extends HIKSDKStructure { public short wPhySlot; // ç¡¬ç›˜æ§½ä½ public byte byType; // 硬盘信æ¯ï¼›0 普通,1全局çƒå¤‡ï¼Œ2-阵列çƒå¤‡ 3-阵列盘 public byte byStatus; // 硬盘状æ€ï¼› 0-æ£å¸¸ 1-é™çº§ 2-å·²åˆ é™¤ 3-ç£ç›˜ä¸¢å¤± 4-下线 5-次æ£å¸¸ 6-å¤–æ¥ 7-异常 8-SMART状æ€å¼‚常 9-ä¼‘çœ 10-有åå— 0xff-ä¸å˜åœ¨ public byte[] byMode = new byte[40]; // 硬盘类型 å—符串 public int dwHCapacity; // ç£ç›˜æ€»é‡é«˜32ä½ å•ä½kb public int dwLCapacity; // ç£ç›˜æ€»é‡ä½Ž32ä½ public byte[] byArrrayName = new byte[MAX_NAMELEN]; public short wArrayID; // 所属阵列ID public byte byArrayInformation; // 是å¦å«æœ‰é˜µåˆ—ä¿¡æ¯ï¼š0 å¦ï¼Œ1是 public byte[] byRes = new byte[101]; // ä¿ç•™å—节 } public static class NET_DVR_WORKSTATE_V40 extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public int dwDeviceStatic; //设备的状æ€,0-æ£å¸¸,1-CPUå 用率太高,超过85%,2-硬件错误,例如串å£æ»æŽ‰ public NET_DVR_DISKSTATE[] struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM_V30]; //硬盘状æ€,一次最多åªèƒ½èŽ·å–33ä¸ªç¡¬ç›˜ä¿¡æ¯ public NET_DVR_CHANNELSTATE_V30[] struChanStatic = new NET_DVR_CHANNELSTATE_V30[MAX_CHANNUM_V40/*512*/];//通é“的状æ€ï¼Œä»Žå‰å¾€åŽé¡ºåºæŽ’列 public int[] dwHasAlarmInStatic = new int[MAX_ALARMIN_V40]; //有报è¦çš„报è¦è¾“å…¥å£ï¼ŒæŒ‰å€¼è¡¨ç¤ºï¼ŒæŒ‰ä¸‹æ ‡å€¼é¡ºåºæŽ’列,值为0xffffffff时当å‰åŠåŽç»å€¼æ— 效 public int[] dwHasAlarmOutStatic = new int[MAX_ALARMOUT_V40]; //有报è¦è¾“出的报è¦è¾“出å£ï¼ŒæŒ‰å€¼è¡¨ç¤ºï¼ŒæŒ‰ä¸‹æ ‡å€¼é¡ºåºæŽ’列,值为0xffffffff时当å‰åŠåŽç»å€¼æ— 效 public int dwLocalDisplay; //本地显示状æ€,0-æ£å¸¸,1-ä¸æ£å¸¸ public byte[] byAudioInChanStatus = new byte[MAX_AUDIO_V30/*2*/]; //按ä½è¡¨ç¤ºè¯éŸ³é€šé“çš„çŠ¶æ€ 0-未使用,1-使用ä¸ï¼Œç¬¬0ä½è¡¨ç¤ºç¬¬1个è¯éŸ³é€šé“ public byte[] byRes1 = new byte[2]; public float fHumidity; //ä¼ æ„Ÿå™¨èŽ·çŸ¥çš„æ¹¿åº¦,范围:0.0 ~100.0 public float fTemperature; //ä¼ æ„Ÿå™¨èŽ·çŸ¥çš„æ¸©åº¦ï¼ŒèŒƒå›´ï¼š-20.0 ~ 90.0 public byte[] byRes = new byte[116]; //ä¿ç•™ } public static class NET_DVR_GETWORKSTATE_COND extends HIKSDKStructure { public int dwSize; //结构体长度 public byte byFindHardByCond; /*0-查找全部ç£ç›˜(但一次最多åªèƒ½æŸ¥æ‰¾33个),æ¤æ—¶dwFindHardStatusNumæ— æ•ˆ*/ public byte byFindChanByCond; /*0-查找全部通é“,æ¤æ—¶dwFindChanNumæ— æ•ˆ*/ public byte[] byRes1 = new byte[2];//ä¿ç•™ public int[] dwFindHardStatus = new int[MAX_DISKNUM_V30/*33*/]; /*è¦æŸ¥æ‰¾çš„硬盘å·ï¼ŒæŒ‰å€¼è¡¨ç¤ºï¼Œè¯¥å€¼é‡‡ç”¨é¡ºåºæŽ’列, é‡åˆ°0xffffffff则认为åŽç»æ— 效 */ public int[] dwFindChanNo = new int[MAX_CHANNUM_V40/*512*/]; /*è¦æŸ¥æ‰¾çš„通é“å·ï¼ŒæŒ‰å€¼è¡¨ç¤ºï¼Œè¯¥å€¼é‡‡ç”¨é¡ºåºæŽ’列, é‡åˆ°0xffffffff则认为åŽç»æ— 效 */ public byte[] byRes = new byte[64]; //ä¿ç•™ } //多边型结构体 public static class NET_ITC_POLYGON extends HIKSDKStructure { public int dwPointNum; //有效点 大于ç‰äºŽ3,若是3点在一æ¡çº¿ä¸Šè®¤ä¸ºæ˜¯æ— 效区域,线交å‰è®¤ä¸ºæ˜¯æ— 效区域 public NET_VCA_POINT[] struPos = new NET_VCA_POINT[ITC_MAX_POLYGON_POINT_NUM]; //多边形边界点,最多20个 } public static class CUSTOM_uRegion extends Union { public NET_VCA_RECT struRect = new NET_VCA_RECT(); public NET_ITC_POLYGON struPolygon = new NET_ITC_POLYGON(); } public static class NET_ITC_PLATE_RECOG_REGION_PARAM extends HIKSDKStructure { public byte byMode; //区域类型,0-矩形,1-多边形 public byte[] byRes1 = new byte[3]; public CUSTOM_uRegion uRegion = new CUSTOM_uRegion(); public byte[] byRes = new byte[16]; //ä¿ç•™ } //å•ç»„IO测速å‚æ•° public static class NET_ITC_SINGLE_IOSPEED_PARAM extends HIKSDKStructure { public byte byEnable; //是å¦å¯ç”¨ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byTrigCoil1; //第一线圈关è”IO,0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 public byte byCoil1IOStatus;//第一线圈IO输入å£çŠ¶æ€ï¼Œ0-下é™æ²¿ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-上å‡æ²¿ï¼Œ2-上å‡æ²¿å’Œä¸‹é™æ²¿ï¼Œ3-高电平,4-低电平 public byte byTrigCoil2; //第二线圈关è”IO,0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 public byte byCoil2IOStatus;//第二线圈IO输入å£çŠ¶æ€ï¼Œ0-下é™æ²¿ï¼ˆé»˜è®¤ï¼‰ï¼Œ1-上å‡æ²¿ï¼Œ2-上å‡æ²¿å’Œä¸‹é™æ²¿ï¼Œ3-高电平,4-低电平 public byte byRelatedDriveWay;//å…³è”的车é“å· public byte byTimeOut;//超时时间(默认10),å•ä½s public byte byRelatedIOOutEx;//第0ä½è¡¨ç¤ºIO输出å£1,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è” æ”¯æŒå…³è”到8个(兼容byRelatedIOOutå—段) public int dwDistance;//线圈è·ç¦»ï¼ˆé»˜è®¤1000),å•ä½ï¼šåŽ˜ç±³ public byte byCapSpeed;//èµ·æ‹é€Ÿåº¦ï¼ˆé»˜è®¤30),å•ä½km/h public byte bySpeedLimit;//é™é€Ÿå€¼ï¼ˆé»˜è®¤60),å•ä½km/h public byte bySpeedCapEn; //是å¦å¯ç”¨è¶…速抓æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte bySnapTimes1; //线圈1抓æ‹æ¬¡æ•°ï¼ˆé»˜è®¤ä¸æŠ“æ‹ï¼‰ï¼Œ0-ä¸æŠ“æ‹ï¼Œéž0-è¿žæ‹æ¬¡æ•°ï¼Œæœ€å¤§5次 public byte bySnapTimes2; //线圈2抓æ‹æ¬¡æ•°ï¼ˆé»˜è®¤1),0-ä¸æŠ“æ‹ï¼Œéž0-è¿žæ‹æ¬¡æ•°ï¼Œæœ€å¤§5次 public byte byBigCarSpeedLimit; //大车车速é™åˆ¶å€¼ public byte byBigCarSignSpeed;//æ ‡å¿—é™é€Ÿ(大车),å•ä½km/h(3.7Ver) public byte byIntervalType; //间隔类型(默认按时间),0-时间起效,1-è·ç¦»èµ·æ•ˆ public short[] wInterval1 = new short[MAX_INTERVAL_NUM];//线圈1è¿žæ‹é—´éš”时间(å•ä½ms)或连æ‹é—´éš”è·ç¦»ï¼ˆå•ä½åˆ†ç±³ï¼‰ï¼Œå½“byIntervalType为0时,表示间隔时间,当byIntervalType为1时,表示è·ç¦» public short[] wInterval2 = new short[MAX_INTERVAL_NUM];//线圈2è¿žæ‹é—´éš”时间(å•ä½ms)或连æ‹é—´éš”è·ç¦»ï¼ˆå•ä½åˆ†ç±³ï¼‰ï¼Œå½“byIntervalType为0时,表示间隔时间,当byIntervalType为1时,表示è·ç¦» public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //å…³è”çš„IO输出å£(å¯ä»¥åŒæ—¶å…³è”多个),数组0表示IO输出å£1,数组1表示IO输出å£2,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è” public byte byFlashMode; //闪光ç¯é—ªçƒæ¨¡å¼ï¼Œ0-åŒæ—¶é—ªï¼Œ1-è½®æµé—ª public byte byLaneType; //车é“类型,0-未é…ç½®ã€1-高速公路ã€2-城市快速路ã€0xff-其他é“è·¯ public byte byCarSignSpeed;//æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h(3.7Ver) public byte byUseageType; //车é“用途类型,详è§ITC_LANE_USEAGE_TYPE public NET_ITC_PLATE_RECOG_REGION_PARAM[] struPlateRecog = new NET_ITC_PLATE_RECOG_REGION_PARAM[MAX_LANEAREA_NUM]; //牌识å‚æ•°(å¯ç”¨ç‰Œè¯†åŒºåŸŸ1个,ä¿ç•™ä¸€ä¸ª) //å…³è”车é“æ–¹å‘类型,å‚考ITC_RELA_LANE_DIRECTION_TYPE //该å‚数为车é“æ–¹å‘å‚数,与关è”车é“å·å¯¹åº”,确ä¿è½¦é“唯一性。 public byte byRelaLaneDirectionType; public byte byLowSpeedLimit; //å°è½¦é™åº•é€Ÿå€¼ï¼Œå•ä½km/h public byte byBigCarLowSpeedLimit; //大车é™åº•é€Ÿå€¼ï¼Œå•ä½km/h public byte byLowSpeedCapEn; //是å¦å¯ç”¨ä½Žé€ŸæŠ“æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte byEmergencyCapEn; //是å¦å¯ç”¨åº”急车é“抓æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte[] byRes = new byte[27]; } //牌识å‚æ•° public static class NET_ITC_PLATE_RECOG_PARAM extends HIKSDKStructure { public byte[] byDefaultCHN = new byte[MAX_CHJC_NUM]; /*设备è¿è¡Œçœä»½çš„汉å—简写*/ public byte byEnable; //是å¦å¯ç”¨è¯¥åŒºåŸŸç‰Œè¯†ï¼Œ0-å¦ï¼Œ1-是 public int dwRecogMode; /*识别的类型, bit0-背å‘识别:0-æ£å‘车牌识别,1-背å‘识别(尾牌识别) ï¼› bit1-大车牌识别或å°è½¦ç‰Œè¯†åˆ«ï¼š0-å°è½¦ç‰Œè¯†åˆ«ï¼Œ1-大车牌识别 ï¼› bit2-车身颜色识别:0-ä¸é‡‡ç”¨è½¦èº«é¢œè‰²è¯†åˆ«ï¼Œåœ¨èƒŒå‘识别或å°è½¦ç‰Œè¯†åˆ«æ—¶ç¦æ¢å¯ç”¨ï¼Œ1-车身颜色识别; bit3-农用车识别:0-ä¸é‡‡ç”¨å†œç”¨è½¦è¯†åˆ«ï¼Œ1-农用车识别; bit4-模糊识别:0-ä¸é‡‡ç”¨æ¨¡ç³Šè¯†åˆ«ï¼Œ1-模糊识别; bit5-帧定ä½æˆ–场定ä½ï¼š0-帧定ä½ï¼Œ1-场定ä½ï¼› bit6-帧识别或场识别:0-帧识别,1-场识别; bit7-晚上或白天:0-白天,1-晚上 bit8-摩托车识别:0-ä¸é‡‡ç”¨æ‘©æ‰˜è½¦è¯†åˆ«ï¼Œ1-摩托车识别; bit9-场景模å¼ï¼š0-电è¦/多帧,1-å¡å£ï¼› bit10-å¾®å°è½¦ç‰Œï¼š0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨å¾®å°è½¦ç‰Œè¯†åˆ«(åƒç´ 60~80) bit11-安全带检测:0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨å®‰å…¨å¸¦æ£€æµ‹ bit12-民航车牌识别: 0-ä¸å¯ç”¨ï¼Œ1-å¼€å¯æ°‘航车牌识别 bit13-车牌过渡倾斜处ç†: 0-ä¸å¯ç”¨ï¼Œ1-å¼€å¯è¿‡æ¸¡å€¾æ–œå¤„ç†ï¼ˆPRS) bit14-超大车牌识别: 0-ä¸å¯ç”¨ï¼Œ1-å¼€å¯è¶…大车牌识别(PRS) bit15-é®é˜³æ¿æ£€æµ‹ï¼š0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨é®é˜³æ¿æ£€æµ‹ bit16-é»„æ ‡è½¦æ£€æµ‹ï¼š0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨é»„æ ‡è½¦æ£€æµ‹ bit17-å±é™©å“车辆检测:0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨å±é™©å“车辆检测 bit18-使馆车牌识别:0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ä½¿é¦†è½¦ç‰Œè¯†åˆ« bit19-车辆åå“牌识别:0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨è½¦è¾†åå“牌识别 bit20-打电è¯è¯†åˆ«ï¼š0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ bit21-车窗悬挂物识别:0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ */ public byte byVehicleLogoRecog;//è½¦æ ‡è¯†åˆ« 0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ /* 0-ä¿ç•™ï¼Œ1-澳,2-京,3-æ¸ï¼Œ4-闽,5-甘,6-粤,7-桂,8-贵,9-ç¼ï¼Œ10-冀,11-豫, 12-黑,13-鄂,14-湘,15-å‰ï¼Œ16-è‹ï¼Œ17-赣,18-辽,19-蒙,20-å®ï¼Œ21-é’,22-é²ï¼Œ 23-晋,24-陕,25-沪,26-å·ï¼Œ27-å°ï¼Œ28-津,29-è—,30-港,31-新,32-云,33-浙, 34-皖,0xff-全部 */ public byte byProvince;//çœä»½ç´¢å¼•å€¼ public byte byRegion;// 区域索引值 0-ä¿ç•™ï¼Œ1-欧洲,2-ä¿„è¯åŒºåŸŸ, 3-欧洲&ä¿„ç½—æ–¯(EU&CIS),4-ä¸ä¸œ(Middle East) public byte byCountry;//国家索引,å‚照枚举COUNTRY_INDEX(ä¸æ”¯æŒâ€œCOUNTRY_ALL = 0xff,//ALL 全部â€) public short wPlatePixelWidthMin;//车牌åƒç´ 识别宽度最å°å€¼ï¼ˆå•ä½æ˜¯åƒç´ )当å‰æŽ¨è范围[130,500] public short wPlatePixelWidthMax;//车牌åƒç´ 识别宽度最大值(å•ä½æ˜¯åƒç´ )当å‰æŽ¨è范围[130,500] public byte[] byRes = new byte[24]; } //å¡å£IO测速å‚æ•° public static class NET_ITC_POST_IOSPEED_PARAM extends HIKSDKStructure { public NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //牌识å‚æ•° public NET_ITC_SINGLE_IOSPEED_PARAM[] struSingleIOSpeed = new NET_ITC_SINGLE_IOSPEED_PARAM[MAX_IOSPEED_GROUP_NUM]; //å•ä¸ªIO测速组å‚æ•° public byte[] byRes = new byte[32]; } public static class NET_DVR_GEOGLOCATION extends HIKSDKStructure { public int[] iRes = new int[2]; /*ä¿ç•™*/ public int dwCity; /*城市,详è§PROVINCE_CITY_IDX */ } public static class NET_ITC_INTERVAL_PARAM extends HIKSDKStructure { public byte byIntervalType; //间隔类型(默认按时间),0-时间起效,1-è·ç¦»èµ·æ•ˆ public byte[] byRes1 = new byte[3]; public short[] wInterval = new short[MAX_INTERVAL_NUM];//è¿žæ‹é—´éš”时间(å•ä½ms)或连æ‹é—´éš”è·ç¦»ï¼ˆå•ä½åˆ†ç±³ï¼‰ï¼Œå½“byIntervalType为0时,表示间隔时间,当byIntervalType为1时,表示è·ç¦» public byte[] byRes = new byte[8]; } public static class NET_ITC_VTLANE_PARAM extends HIKSDKStructure { public byte byRelatedDriveWay;//å…³è”的车é“å· public byte bySpeedCapEn; //是å¦å¯ç”¨è¶…速抓æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte bySignSpeed;//æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h public byte bySpeedLimit;//é™é€Ÿå€¼ï¼Œå•ä½km/h public byte bySnapTimes; //抓æ‹æ¬¡æ•°ï¼ˆé»˜è®¤1),0-ä¸æŠ“æ‹ï¼Œéž0-è¿žæ‹æ¬¡æ•°ï¼Œæœ€å¤§5 public byte byBigCarSignSpeed;///*å¤§è½¦æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h*/ public byte byBigCarSpeedLimit;/*大车é™é€Ÿå€¼ï¼Œå•ä½km/h*/ public byte byRelatedIOOutEx;//第0ä½è¡¨ç¤ºIO输出å£1,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è” æ”¯æŒå…³è”到8个(兼容byRelatedIOOutå—段) public NET_ITC_INTERVAL_PARAM struInterval = new NET_ITC_INTERVAL_PARAM(); //抓æ‹é—´éš”å‚æ•° public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //å…³è”çš„IO输出å£ï¼Œå¯ä»¥åŒæ—¶å…³è”多个 public byte byFlashMode; //闪光ç¯é—ªçƒæ¨¡å¼ï¼Œ0-åŒæ—¶é—ªï¼Œ1-è½®æµé—ª public byte byLowSpeedLimit;/*é™ä½Žé€Ÿï¼Œå•ä½km/h*/ public byte byBigCarLowSpeedLimit; /*大车é™ä½Žé€Ÿï¼Œå•ä½km/h*/ //å…³è”车é“æ–¹å‘类型,å‚考ITC_RELA_LANE_DIRECTION_TYPE //该å‚数为车é“æ–¹å‘å‚数,与关è”车é“å·å¯¹åº”,确ä¿è½¦é“唯一性。 public byte byRelaLaneDirectionType; public NET_ITC_PLATE_RECOG_REGION_PARAM[] struPlateRecog = new NET_ITC_PLATE_RECOG_REGION_PARAM[MAX_LANEAREA_NUM]; //车é“牌识å‚æ•° public NET_VCA_LINE struLine = new NET_VCA_LINE(); //车é“线 } public static class NET_ITC_VTCOIL_INFO extends HIKSDKStructure { public NET_VCA_RECT struLaneRect = new NET_VCA_RECT(); /*虚拟线圈区域*/ public byte byTrigFlag; //触å‘æ ‡å¿—ï¼Œ0-车头触å‘ï¼›1-车尾触å‘ï¼›2-车头/è½¦å°¾éƒ½è§¦å‘ public byte byTrigSensitive; //触å‘çµæ•åº¦ï¼Œ1-100 public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //å…³è”çš„IO输出å£(å¯ä»¥åŒæ—¶å…³è”多个),数组0表示IO输出å£1,数组1表示IO输出å£2,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è” public byte byFlashMode; //闪光ç¯é—ªçƒæ¨¡å¼ï¼Œ0-åŒæ—¶é—ªï¼Œ1-è½®æµé—ª public byte byLaneType; //车é“类型,0-未é…ç½®ã€1-高速公路ã€2-城市快速路ã€0xff-其他é“è·¯ public byte byEnableRadar; //是å¦å¯ç”¨é›·è¾¾æµ‹é€Ÿï¼Œ0-å¦ï¼Œ1-是 public NET_ITC_VTLANE_PARAM struLane = new NET_ITC_VTLANE_PARAM(); //å…³è”的车é“å‚æ•° //车é“用途类型,详è§ITC_LANE_USEAGE_TYPE,使用1å’Œ8两ç§ç±»åž‹(3.7Ver) public byte byUseageType; //车辆行驶方å‘,详è§ITC_LANE_CAR_DRIVE_DIRECT(3.7Ver) public byte byCarDriveDirect; public byte[] byRes = new byte[30]; } public static class NET_ITC_RADAR_PARAM extends HIKSDKStructure { public byte byRadarType; //雷达类型,0-æ— é›·è¾¾,1-安é“雷雷达,2-奥利维亚,3-å·é€Ÿå¾®æ³¢4,雷达接IO扩展盒(æ¤å‚数在å¡å£è™šæ‹Ÿçº¿åœˆã€æ··è¡Œå¡å£ç•Œé¢ä¸ä½¿ç”¨ï¼Œå¡å£RS485é›·è¾¾ä¸ä½¿ç”¨),0xff-其它类型 public byte byLevelAngle; //与水平线所æˆè§’度,默认为25°(0到90度) public short wRadarSensitivity; //é›·è¾¾çµæ•åº¦ public short wRadarSpeedValidTime;//雷达速度有效时间(0~2000] ,0表示ä¸æ”¯æŒ public byte[] byRes1 = new byte[2]; public float fLineCorrectParam;//线性矫æ£å‚æ•°[0.0~2.0] public int iConstCorrectParam;//常é‡çŸ«æ£å‚æ•°[-100~100] public byte[] byRes2 = new byte[8]; } //å¡å£è™šæ‹Ÿçº¿åœˆè§¦å‘å‚æ•° public static class NET_ITC_POST_VTCOIL_PARAM extends HIKSDKStructure { public byte byRelatedLaneNum;//å…³è”的车é“个数 public byte byIsDisplay; //视频ä¸æ˜¯å¦æ˜¾ç¤ºè™šæ‹Ÿçº¿åœˆï¼Œ0-ä¸æ˜¾ç¤ºï¼Œ1-显示 public byte byLoopPos; //晚间触å‘线圈的åå‘(默认10) public byte byPolarLenType; /*å振镜类型,0:ä¸åŠ å振镜;1ï¼šåŠ æ–½è€å¾·å振镜。*/ public byte byDayAuxLightMode; /*白天辅助照明模å¼ï¼Œ0ï¼šæ— è¾…åŠ©ç…§æ˜Žï¼›1:LEDç¯ç…§æ˜Žï¼›2:闪光ç¯ç…§æ˜Ž*/ public byte byVideoLaneNO; //视频å‚考亮度的å‚考车é“å· public byte byVideoLowTh; /*视†频å‚考亮度低阈值åˆå§‹åŒ–值(默认40)*/ public byte byVideoHighTh; /*视频å‚考亮度高阈值åˆå§‹åŒ–值(默认55)*/ public byte byRecordMode; //录åƒæ ‡å¿—:0-ä¸å½•åƒï¼Œ1-å½•åƒ public byte bySnapMode;//抓æ‹æ¨¡å¼ï¼š0-频闪模å¼ï¼›1-çˆ†é—ªæ¨¡å¼ /*测速方å¼ï¼š0-ä¸æµ‹é€Ÿï¼Œ0x1-雷达测速,0x2-视频测速*/ public byte bySpeedDetector; public byte byRes2; public short wResolutionX;/* 设备当å‰åˆ†è¾¨çŽ‡å®½*/ public short wResolutionY;/* 设备当å‰åˆ†è¾¨çŽ‡é«˜*/ public int dwDayInitExp; /*视频白天æ›å…‰æ—¶é—´çš„åˆå§‹å€¼2000*/ public int dwDayMaxExp; /*视频白天æ›å…‰æ—¶é—´çš„最大值20000*/ public int dwNightExp; /*晚间视频æ›å…‰æ—¶é—´çš„设置值3000*/ public int dwSnapExp; /*抓æ‹æ›å…‰æ—¶é—´*/ public byte byDayInitGain; /*视频白天增益的åˆå§‹å€¼200*/ public byte byDayMaxGain; /*视频白天增益的最大值400*/ public byte byNightGain; /*晚间视频增益*/ public byte bySnapGain; /*抓æ‹å¢žç›Š*/ public int dwSceneMode; //场景模å¼ï¼Œ 详è§SCENE_MODE public NET_DVR_GEOGLOCATION struGeogLocation = new NET_DVR_GEOGLOCATION(); //地å€ä½ç½®(默认浙江) public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //牌识å‚æ•° public NET_ITC_VTCOIL_INFO[] struVtCoil = new NET_ITC_VTCOIL_INFO[MAX_VL_NUM]; //虚拟线圈å‚æ•° public NET_ITC_RADAR_PARAM struRadar = new NET_ITC_RADAR_PARAM(); //é›·è¾¾å‚æ•° public NET_VCA_LINE struLine = new NET_VCA_LINE(); //å³è½¦é“线 //è¿è§„检测类型,按ä½è¡¨ç¤ºï¼Œè¯¦è§ITC_VIOLATION_DETECT_TYPE,0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨(3.7Ver) public int dwVioDetectType; public byte byDebugMode; /*调试模å¼ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨*/ public byte[] byRes = new byte[11]; } //车é“属性å‚数结构 public static class NET_ITC_LANE_LOGIC_PARAM extends HIKSDKStructure { public byte byUseageType; //车é“用途类型,详è§ITC_LANE_USEAGE_TYPE public byte byDirectionType; //车é“æ–¹å‘类型,详è§ITC_LANE_DIRECTION_TYPE public byte byCarDriveDirect; //车辆行驶方å‘,详è§ITC_LANE_CAR_DRIVE_DIRECT public byte[] byRes = new byte[33]; //ä¿ç•™ } //视频电è¦çº¿ç»“æž„ public static class NET_ITC_LINE extends HIKSDKStructure { public NET_VCA_LINE struLine = new NET_VCA_LINE(); //线å‚æ•° public byte byLineType; //线类型,详è§ITC_LINE_TYPE public byte[] byRes = new byte[7]; } public static class NET_ITC_SNAPMODE_PARAM extends HIKSDKStructure { public byte byVehicleCapMode;//机动车抓æ‹æ¨¡å¼ï¼Œ0-频闪模å¼ï¼›1-çˆ†é—ªæ¨¡å¼ public byte byNoVehicleCapMode;//éžæœºåŠ¨è½¦æŠ“æ‹æ¨¡å¼ï¼Œ0-频闪模å¼ï¼›1-çˆ†é—ªæ¨¡å¼ public byte byPasserCapMode;//行人抓æ‹æ¨¡å¼ï¼Œ0-频闪模å¼ï¼›1-çˆ†é—ªæ¨¡å¼ public byte[] byRes = new byte[29]; } //size = 128 public static class NET_ITC_HVT_EC_PARAM extends HIKSDKStructure { public int dwCapShutter; //抓æ‹å¿«é—¨0~65535 public short wCapGain; //抓æ‹å¢žç›Š0~100 public byte[] byRes = new byte[2]; public int dwDayTimeVideoShutter; //白天æ›å…‰æ—¶é—´æœ€å¤§å€¼ public short wDayTimeVideoGain; //白天增益最大值 public short wNightVideoGain; //晚上增益最大值 public short wNightVideoShutter; //晚上æ›å…‰æ—¶é—´æœ€å¤§å€¼ public byte[] byRes1 = new byte[108]; } public static class NET_ITC_LANE_HVT_PARAM extends HIKSDKStructure { public byte byLaneNO; //å…³è”的车é“å· 1~255(用于å åŠ å’Œä¸Šä¼ ï¼‰ public byte bySignSpeed; //æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h 0~255 70 public byte bySpeedLimit; //é™é€Ÿå€¼ï¼Œå•ä½km/h 0~255 80 实际起效 public byte byBigCarSignSpeed;///*å¤§è½¦æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h*/ public byte byBigCarSpeedLimit;/*大车é™é€Ÿå€¼ï¼Œå•ä½km/h*/ public byte bySpeedCapEn; //是å¦å¯ç”¨è¶…速抓æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte byCaptureCount;//抓æ‹å¼ æ•°1~5(æ£å¸¸) public byte byRelatedIOOut; /*å…³è”çš„IO输出å£(å¯ä»¥åŒæ—¶å…³è”多个),按ä½è¡¨ç¤ºIO输出å£ï¼Œç¬¬0ä½è¡¨ç¤ºIO输出å£1,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è”*/ public byte byFlashMode; /*闪光ç¯é—ªçƒæ¨¡å¼ï¼Œ0-åŒæ—¶é—ªï¼Œ1-è½®æµé—ª*/ public byte byEnableRadar; //是å¦å¯ç”¨é›·è¾¾æµ‹é€Ÿï¼Œ0-å¦ï¼Œ1-是 public byte byChangeLaneEnable; //è¿ç« å˜é“抓æ‹ä½¿èƒ½ï¼Œ0-å…³é—,1-å¼€å¯ public byte byChangeLaneCapNo; //è¿ç« å˜é“抓æ‹å¼ æ•°2-3 public int dwCapTarget; //抓æ‹ç±»åž‹ bit0 表示机动车 bit1 表示éžæœºåŠ¨è½¦ bit2 表示行人 0~表示ä¸é€‰æ‹© 1~表示选择 public NET_ITC_INTERVAL_PARAM struInterval; //抓æ‹é—´éš”å‚æ•° public byte[] byRes3 = new byte[24]; public NET_ITC_LANE_LOGIC_PARAM struLane; //车é“属性,用byUseageTypeå’ŒbyCarDriveDirect public NET_ITC_LINE struLeftLaneLine; //左车é“线,线类型为虚线ã€å®žçº¿ã€å•é»„线和åŒé»„线 public NET_ITC_LINE struRightLaneLine; //å³è½¦é“线,线类型为虚线ã€å®žçº¿ã€å•é»„线和åŒé»„线 public NET_ITC_POLYGON struPlateRecog; //牌识区域å‚æ•° public NET_ITC_POLYGON struTraceArea; //视频触å‘焦点区域 public NET_VCA_LINE struForwardTrigLine; //æ£å‘触å‘线:一æ¡çº¿æ®µï¼Œå…³å¿ƒç«¯ç‚¹ä½ç½®ï¼Œç›®å‰åªæ”¯æŒæ°´å¹³é…置,接å£æŒ‰çº¿æ®µçš„两个端点ä¿å˜ã€‚(一般é…置为æ£å‘车辆的最佳触å‘ä½ç½®ï¼‰ public NET_VCA_LINE struBackwardTrigLine; //背å‘触å‘线:一æ¡çº¿æ®µï¼Œå…³å¿ƒç«¯ç‚¹ä½ç½®ï¼Œç›®å‰åªæ”¯æŒæ°´å¹³é…置,接å£æŒ‰çº¿æ®µçš„两个端点ä¿å˜ï¼ˆä¸€èˆ¬é…置为背å‘车辆的最佳触å‘ä½ç½®ï¼‰ public NET_VCA_LINE struLeftTrigLine; //左边触å‘线:一æ¡çº¿æ®µï¼Œå…³å¿ƒç«¯ç‚¹ä½ç½®ï¼Œç›®å‰åªæ”¯æŒåž‚ç›´é…置,接å£æŒ‰çº¿æ®µçš„两个端点ä¿å˜ï¼ˆä¸€èˆ¬é…置为从左边进入车辆的最佳触å‘ä½ç½®ï¼‰ public NET_VCA_LINE struRightTrigLine; //å³è¾¹è§¦å‘线:一æ¡çº¿æ®µï¼Œå…³å¿ƒç«¯ç‚¹ä½ç½®ï¼Œç›®å‰åªæ”¯æŒåž‚ç›´é…置,接å£æŒ‰çº¿æ®µçš„两个端点ä¿å˜ï¼ˆä¸€èˆ¬é…置为从å³è¾¹è¿›å…¥è½¦è¾†çš„最佳触å‘ä½ç½®ï¼‰ public byte[] byRes4 = new byte[60]; } public static class NET_ITC_POST_HVT_PARAM extends HIKSDKStructure { public byte byLaneNum;//识别的车é“个数,1-6 public byte bySceneMode;//0-未知1-城区é“路;2-å°åŒºå‡ºå…¥å£ public byte byRoadExpBright;//è·¯é¢æœŸæœ›äº®åº¦ï¼ˆè§†é¢‘æ›å…‰å‚数调整的ä¾æ®ä¹‹ä¸€ã€‚åœ¨æ— æœºåŠ¨è½¦æ—¶ï¼Œä¾æ®æ¤äº®åº¦æœŸæœ›å€¼ï¼Œè°ƒæ•´è§†é¢‘æ›å…‰å‚数) public byte byPlateExpBright;//车牌期望亮度(视频æ›å…‰å‚数调整的ä¾æ®ä¹‹ä¸€ã€‚在有机动车通过并识别到车牌时,ä¾æ®æ¤äº®åº¦æœŸæœ›å€¼ï¼Œå¯¹è§†é¢‘æ›å…‰å‚数调整) public NET_ITC_POLYGON struDetectArea; //视频检测区域 public NET_ITC_SNAPMODE_PARAM struCapMode = new NET_ITC_SNAPMODE_PARAM();//抓æ‹æ¨¡å¼ public NET_ITC_HVT_EC_PARAM struEcParam = new NET_ITC_HVT_EC_PARAM(); //æ›å…‰æŽ§åˆ¶å‚æ•° public NET_ITC_LANE_HVT_PARAM[] struLaneParam = new NET_ITC_LANE_HVT_PARAM[MAX_ITC_LANE_NUM]; //å•è½¦é“属性 public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //牌识å‚æ•° public NET_DVR_GEOGLOCATION struGeogLocation = new NET_DVR_GEOGLOCATION(); //地å€ä½ç½®ï¼ˆé»˜è®¤æµ™æ±Ÿï¼‰ public byte[] byRes = new byte[324]; } //抓æ‹æœº4.0新增 public static class NET_ITC_LANE_HVT_PARAM_V50 extends HIKSDKStructure { public byte byLaneNO; //å…³è”的车é“å·1~255(用于å åŠ å’Œä¸Šä¼ ) public byte byFlashMode; //闪光ç¯é—ªçƒæ¨¡å¼ï¼Œ0-åŒæ—¶é—ªï¼Œ1-è½®æµé—ª public byte bySignSpeed; //å°è½¦æ ‡å¿—é™é«˜é€Ÿï¼Œå•ä½km/h public byte bySpeedLimit; //å°è½¦é™é«˜é€Ÿå€¼ï¼Œå•ä½km/h public byte bySignLowSpeed; //å°è½¦æ ‡å¿—é™åº•é€Ÿï¼Œå•ä½km/h public byte byLowSpeedLimit; //å°è½¦é™åº•é€Ÿå€¼ï¼Œå•ä½km/h public byte byBigCarSignSpeed; //å¤§è½¦æ ‡å¿—é™é«˜é€Ÿï¼Œå•ä½km/h(新交规) public byte byBigCarSpeedLimit; //大车é™é«˜é€Ÿå€¼ï¼Œå•ä½km/h(新交规) public byte byBigCarSignLowSpeed; //å¤§è½¦æ ‡å¿—é™åº•é€Ÿï¼Œå•ä½km/h public byte byBigCarLowSpeedLimit; //大车é™åº•é€Ÿå€¼ï¼Œå•ä½km/h public byte bySnapTimes; //å¡å£æŠ“æ‹å¼ 数,1~3 public byte byDriveLineSnapTime;// 压线抓æ‹å¼ æ•° 1~3 public byte byHighSpeedSnapTime;// 超高速抓æ‹å¼ æ•°1~3 public byte byLowSpeedSnapTime;// 超低速抓æ‹å¼ æ•°1~3 public byte byBanSnapTime;// è¿åç¦ä»¤æŠ“æ‹å¼ æ•° 1~3 public byte byReverseSnapTime;//逆行抓æ‹å¼ æ•° 1~3 public byte byRelatedDriveWay; //å…³è”车é“å·ï¼Œç”¨äºŽåŒ¹é…车检器 public byte byLaneType; //车é“类型,0-未é…ç½®ã€1-高速公路ã€2-城市快速路ã€0xff-其他é“è·¯ //å…³è”车é“æ–¹å‘类型,å‚考ITC_RELA_LANE_DIRECTION_TYPE //该å‚数为车é“æ–¹å‘å‚数,与关è”车é“å·byRelatedDriveWay对应,确ä¿è½¦é“唯一性。 public byte byRelaLaneDirectionType; public byte[] byRes1 = new byte[27]; public byte byChangeLaneEnable; //è¿ç« å˜é“抓æ‹ä½¿èƒ½ï¼Œ0-å…³é—,1-å¼€å¯ public byte byChangeLaneCapNo; //è¿ç« å˜é“抓æ‹å¼ æ•°2-3 //ç›®å‰ä»…使用第一个车é“的,以åŽå¯èƒ½ä¼šæ‰©å±•ä¸ºå¤šè½¦é“分别é…ç½® //类型, 按ä½è¡¨ç¤º,0-ä¸å¯ç”¨,1-å¯ç”¨å‚考 ITC_VIOLATION_DETECT_TYPE public int dwVioDetectType; public int dwRelatedIOOut; //å…³è”çš„IO输出å£(å¯ä»¥åŒæ—¶å…³è”多个),按ä½è¡¨ç¤ºIO输出å£ï¼Œç¬¬0ä½è¡¨ç¤ºIO输出å£1,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è” public NET_ITC_LINE struTrigLine; //触å‘线,目å‰ä»…使用第一个车é“的,以åŽå¯èƒ½ä¼šæ‰©å±•ä¸ºå¤šè½¦é“分别é…ç½® public NET_ITC_LINE struLineLeft; //左车é“线 public NET_ITC_POLYGON struPlateRecog; //牌识区域 public NET_ITC_LANE_LOGIC_PARAM struLane; //车é“属性,用byUseageTypeå’ŒbyCarDriveDirect public NET_ITC_INTERVAL_PARAM struInterval;//抓æ‹é—´éš”å‚数(20byte) public byte[] byRes2 = new byte[280]; } public static class NET_ITC_POST_HVT_PARAM_V50 extends HIKSDKStructure { public byte byLaneNum; //识别的车é“个数,1-6 public byte byCapType; //抓æ‹ç±»åž‹ï¼Œ0-机ã€éžã€äººï¼ˆé»˜è®¤ï¼‰ï¼Œ1-机动车 public byte byCapMode; //抓æ‹æ–¹å¼ï¼Œ0-视频抽帧,1-打æ–抓æ‹ï¼Œ2-æ··åˆæ¨¡å¼ï¼Œ public byte bySecneMode; //场景模å¼ï¼Œ0-城区é“路(默认),1-å°åŒºå‡ºå…¥å£ï¼Œ2-高速公路 public byte bySpeedMode; //测速模å¼ï¼Œ0-æ— æµ‹é€Ÿï¼Œ1-雷达测速,2-视频测速 public byte byLineRuleEffect; //触å‘规则线有效性,æ¯ä¸€ä½ä»£è¡¨ä¸€æ¡è§¦å‘线,0-æ— æ•ˆ;1-有效。bit0-左触å‘线;bit1-å³è§¦å‘线;bit2-视频检测区域 public byte[] byRes1 = new byte[78]; public NET_ITC_LINE struLeftTrigLine; //左触å‘线(一æ¡åž‚直线) public NET_ITC_LINE struRigtTrigLine; //å³è§¦å‘线(一æ¡åž‚直线) public NET_ITC_LINE struLaneBoundaryLine; //车é“边界线(最å³è¾¹è½¦é“çš„å³è½¦é“线) public NET_ITC_POLYGON struDetectArea; //视频检测区域 public NET_DVR_GEOGLOCATION struGeogLocation; //地ç†ä½ç½®ï¼ˆé»˜è®¤æµ™æ±Ÿçœï¼‰è®¡ç®—时区 public NET_ITC_LANE_HVT_PARAM_V50[] struLaneParam = new NET_ITC_LANE_HVT_PARAM_V50[MAX_ITC_LANE_NUM/*6*/]; //å•è½¦é“属性 public NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //牌识å‚æ•° public byte[] byRes2 = new byte[260]; } public static class NET_ITC_LANE_PARAM extends HIKSDKStructure { public byte byEnable; //是å¦å¯ç”¨è¯¥è½¦é“,0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byRelatedDriveWay;//å…³è”的车é“å· public short wDistance; //线圈è·ç¦»ï¼Œè®¡ç®—速度 public short wTrigDelayTime; //触å‘延迟时间(默认200),å•ä½ï¼šæ¯«ç§’ public byte byTrigDelayDistance; //触å‘延迟è·ç¦»ï¼ˆé»˜è®¤0),å•ä½ï¼šåˆ†ç±³ public byte bySpeedCapEn; //是å¦å¯ç”¨è¶…速抓æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte bySignSpeed;//æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h public byte bySpeedLimit;//é™é€Ÿå€¼ï¼Œå•ä½km/h public byte bySnapTimes; //抓æ‹æ¬¡æ•°ï¼ˆé»˜è®¤1),0-ä¸æŠ“æ‹ï¼Œéž0-è¿žæ‹æ¬¡æ•°ï¼Œæœ€å¤§5 public byte byOverlayDriveWay; //OSDå åŠ çš„è½¦é“å· public NET_ITC_INTERVAL_PARAM struInterval; //抓æ‹é—´éš”å‚æ•° public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //å…³è”çš„IO输出å£ï¼Œå¯ä»¥åŒæ—¶å…³è”多个 public byte byFlashMode; //闪光ç¯é—ªçƒæ¨¡å¼ï¼Œ0-åŒæ—¶é—ªï¼Œ1-è½®æµé—ª public byte byCartSignSpeed;//æ ‡å¿—é™é€Ÿ(大车),å•ä½km/h public byte byCartSpeedLimit;//é™é€Ÿå€¼ï¼ˆå¤§è½¦ï¼‰ï¼Œå•ä½km/h public byte byRelatedIOOutEx;//第0ä½è¡¨ç¤ºIO输出å£1,以æ¤ç±»æŽ¨ï¼Œ0-ä¸å…³è”,1-å…³è” æ”¯æŒå…³è”到8个(兼容byRelatedIOOutå—段) public NET_ITC_PLATE_RECOG_REGION_PARAM[] struPlateRecog = new NET_ITC_PLATE_RECOG_REGION_PARAM[MAX_LANEAREA_NUM]; //车é“牌识å‚æ•° public byte byLaneType; //车é“类型,0-未é…ç½®ã€1-高速公路ã€2-城市快速路ã€0xff-其他é“è·¯ public byte byUseageType; //车é“用途类型,详è§ITC_LANE_USEAGE_TYPE //å…³è”车é“æ–¹å‘类型,å‚考ITC_RELA_LANE_DIRECTION_TYPE //该å‚数为车é“æ–¹å‘å‚数,与关è”车é“å·å¯¹åº”,确ä¿è½¦é“唯一性。 public byte byRelaLaneDirectionType; public byte byLowSpeedLimit; //å°è½¦é™åº•é€Ÿå€¼ï¼Œå•ä½km/h public byte byBigCarLowSpeedLimit; //大车é™åº•é€Ÿå€¼ï¼Œå•ä½km/h public byte byLowSpeedCapEn; //是å¦å¯ç”¨ä½Žé€ŸæŠ“æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte byEmergencyCapEn; //是å¦å¯ç”¨åº”急车é“抓æ‹ï¼Œ0-å¦ï¼Œ1-是 public byte[] byRes = new byte[9]; } //å¡å£RS485车检器触å‘å‚æ•° public static class NET_ITC_POST_RS485_PARAM extends HIKSDKStructure { public byte byRelatedLaneNum;//å…³è”的车é“个数 public byte byTriggerSpareMode; //触å‘备用模å¼ï¼Œ0-默认,1-å¡å£è™šæ‹Ÿçº¿åœˆæ¨¡å¼,2-å¡å£æ··åˆè½¦é“æ¨¡å¼ public byte byFaultToleranceTime;//容错时间(å•ä½:分钟),用于检测车检器是å¦æ£å¸¸çš„最大时间 public byte byRes1; public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //牌识å‚æ•° public NET_ITC_LANE_PARAM[] struLane = new NET_ITC_LANE_PARAM[MAX_ITC_LANE_NUM]; //å…³è”的车é“å‚æ•° public byte[] byRes = new byte[32]; } //å¡å£RS485雷达触å‘å‚æ•° public static class NET_ITC_POST_RS485_RADAR_PARAM extends HIKSDKStructure { public byte byRelatedLaneNum;//å…³è”的车é“个数 public byte[] byRes1 = new byte[3]; public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //牌识å‚æ•° public NET_ITC_LANE_PARAM[] struLane = new NET_ITC_LANE_PARAM[MAX_ITC_LANE_NUM]; //å…³è”的车é“å‚æ•° public NET_ITC_RADAR_PARAM struRadar = new NET_ITC_RADAR_PARAM(); //é›·è¾¾å‚æ•° public byte[] byRes = new byte[32]; } public static class NET_ITC_TRIGGER_PARAM_UNION extends Union { public int[] uLen = new int[1070]; //å‚æ•° public NET_ITC_POST_IOSPEED_PARAM struIOSpeed = new NET_ITC_POST_IOSPEED_PARAM(); //(å¡å£ï¼‰IO测速å‚æ•° // public NET_ITC_POST_SINGLEIO_PARAM struSingleIO = new NET_ITC_POST_SINGLEIO_PARAM(); //(å¡å£ï¼‰å•IOå‚æ•° public NET_ITC_POST_RS485_PARAM struPostRs485 = new NET_ITC_POST_RS485_PARAM(); //(å¡å£ï¼‰RS485车检器å‚æ•° public NET_ITC_POST_RS485_RADAR_PARAM struPostRadar = new NET_ITC_POST_RS485_RADAR_PARAM(); //(å¡å£ï¼‰RS485é›·è¾¾å‚æ•° public NET_ITC_POST_VTCOIL_PARAM struVtCoil = new NET_ITC_POST_VTCOIL_PARAM(); //(å¡å£ï¼‰è™šæ‹Ÿçº¿åœˆå‚æ•° public NET_ITC_POST_HVT_PARAM struHvt = new NET_ITC_POST_HVT_PARAM(); //(å¡å£ï¼‰æ··è¡Œå¡å£å‚æ•° // public NET_ITC_EPOLICE_IOTL_PARAM struIOTL = new NET_ITC_EPOLICE_IOTL_PARAM(); //(电è¦ï¼‰IO红绿ç¯å‚æ•° // public NET_ITC_EPOLICE_RS485_PARAM struEpoliceRs485 = new NET_ITC_EPOLICE_RS485_PARAM(); //(电è¦ï¼‰RS485车检器触å‘å‚æ•° // public NET_ITC_EPOLICE_RS485_PARAM struPERs485 = new NET_ITC_EPOLICE_RS485_PARAM(); //(å¡å¼ç”µè¦ï¼‰RS485车检器触å‘å‚æ•° // public NET_ITC_POST_MPR_PARAM struPostMpr = new NET_ITC_POST_MPR_PARAM(); //多帧检测触å‘(MPR) // public NET_DVR_VIA_VTCOIL_PARAM struViaVtCoil = new NET_DVR_VIA_VTCOIL_PARAM(); //(VIA)视频检测å‚æ•° // public NET_ITC_POST_IMT_PARAM struPostImt = new NET_ITC_POST_IMT_PARAM();//æ™ºæ…§ç›‘æŽ§è§¦å‘ // public NET_ITC_POST_PRS_PARAM struPostPrs = new NET_ITC_POST_PRS_PARAM();//è§†é¢‘æ£€æµ‹è§¦å‘ // public NET_IPC_POST_HVT_PARAM struIpcHvt = new NET_IPC_POST_HVT_PARAM();//(IPC) æ··è¡Œå¡å£å‚æ•° public NET_ITC_POST_HVT_PARAM_V50 struHvtV50 = new NET_ITC_POST_HVT_PARAM_V50(); /*(å¡å£ï¼‰æ··è¡Œå¡å£å‚æ•°V50*/ // public NET_ITC_POST_MOBILE_PARAM struPostMobile = new NET_ITC_POST_MOBILE_PARAM();// 移动交通触å‘æ¨¡å¼ // public NET_ITC_NOCOMITY_PEDESTRIAN_PARAM struNoComityPed = new NET_ITC_NOCOMITY_PEDESTRIAN_PARAM();//ä¸ç¤¼è®©è¡Œäººå‚æ•° // public NET_ITC_REDLIGHT_PEDESTRIAN_PARAM struRedLightPed = new NET_ITC_REDLIGHT_PEDESTRIAN_PARAM();//行人闯红ç¯å‚æ•° } //å•ä¸ªè§¦å‘å‚数结构 public static class NET_ITC_SINGLE_TRIGGERCFG extends HIKSDKStructure { public byte byEnable; //是å¦å¯ç”¨è¯¥è§¦å‘模å¼ï¼Œ0-å¦ï¼Œ1-是 public byte[] byRes1 = new byte[3]; public int dwTriggerType; //触å‘类型,详è§ITC_TRIGGERMODE_TYPE public NET_ITC_TRIGGER_PARAM_UNION uTriggerParam = new NET_ITC_TRIGGER_PARAM_UNION(); //触å‘å‚æ•° public byte[] byRes = new byte[64]; } //触å‘å‚数结构 public static class NET_ITC_TRIGGERCFG extends HIKSDKStructure { public int dwSize; //结构长度 public NET_ITC_SINGLE_TRIGGERCFG struTriggerParam; //å•ä¸ªè§¦å‘å‚æ•° public byte[] byRes = new byte[32]; } //å•ä¸ªIO接入信å·ç¯å‚æ•° public static class NET_ITC_SINGLE_IO_LIGHT_PARAM extends HIKSDKStructure { public byte byLightType; //交通ç¯å¯¼å‘类型,0-左转ç¯,1-ç›´è¡Œç¯,2-å³è½¬ç¯ public byte byRelatedIO; //å…³è”çš„IOå£å· public byte byRedLightState; //红ç¯ç”µå¹³çŠ¶æ€ï¼Œ0-高电平红ç¯ï¼Œ1-ä½Žç”µå¹³çº¢ç¯ public byte[] byRes = new byte[17]; } //IO接入信å·ç¯å‚æ•° public static class NET_ITC_IO_LIGHT_PARAM extends HIKSDKStructure { public NET_ITC_SINGLE_IO_LIGHT_PARAM[] struIOLight = new NET_ITC_SINGLE_IO_LIGHT_PARAM[MAX_LIGHT_NUM]; //å•ä¸ªIO接入信å·ç¯å‚æ•° public byte[] byRes = new byte[8]; } //å•ä¸ª485接入信å·ç¯å‚æ•° public static class NET_ITC_SINGLE_RS485_LIGHT_PARAM extends HIKSDKStructure { public byte byLightType; //交通ç¯å¯¼å‘类型,0-左转ç¯ï¼Œ1-ç›´è¡Œç¯ï¼Œ2-å³è½¬ç¯ public byte byRelatedLightChan; //å…³è”的红绿ç¯æ£€æµ‹å™¨é€šé“å· public byte byInputLight; //接入的信å·ç¯ç±»åž‹ï¼Œ0-接红ç¯ï¼Œ1-æŽ¥ç»¿ç¯ public byte byRelatedYLightChan; //å…³è”的黄ç¯æ£€æµ‹å™¨é€šé“å· public byte[] byRes = new byte[16]; } //485接入信å·ç¯å‚æ•° public static class NET_ITC_RS485_LIGHT_PARAM extends HIKSDKStructure { public NET_ITC_SINGLE_RS485_LIGHT_PARAM[] struRS485Light = new NET_ITC_SINGLE_RS485_LIGHT_PARAM[MAX_LIGHT_NUM]; //å•ä¸ª485接入信å·ç¯å‚æ•° public byte[] byRes = new byte[8]; } public static class NET_POS_PARAM extends HIKSDKStructure { public short wLeft; public short wTop; public short wRight; public short wBottom; } //å•ç»„视频检测交通信å·ç¯å‚数结构 public static class NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM extends HIKSDKStructure { public byte byLightNum; //交通ç¯ä¸ªæ•° public byte byStraightLight; //是å¦æœ‰ç›´è¡Œæ ‡å¿—ç¯ï¼Œ0-å¦ ï¼Œ1-是 public byte byLeftLight; //是å¦æœ‰å·¦è½¬æ ‡å¿—ç¯ï¼Œ0-å¦ï¼Œ1-是 public byte byRightLight; //是å¦æœ‰å³è½¬æ ‡å¿—ç¯ï¼Œ0-å¦ï¼Œ1-是 public byte byRedLight;//是å¦æœ‰çº¢ç¯ï¼Œ0-å¦ï¼Œ1-是 public byte byGreenLight; //是å¦æœ‰ç»¿ç¯ï¼Œ0-å¦ï¼Œ1-是 public byte byYellowLight; //是å¦æœ‰é»„ç¯ï¼Œ0-å¦ï¼Œ1-是 public byte byYellowLightTime;//å–值范围(0~10s)(ITC3.7Ver) public NET_POS_PARAM struLightRect; //交通ç¯åŒºåŸŸ public byte[] byRes = new byte[24]; } //视频检测交通信å·ç¯å‚数结构(最大å¯æœ‰12个区域检测,488å—节) public static class NET_ITC_VIDEO_DETECT_LIGHT_PARAM extends HIKSDKStructure { public NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM[] struTrafficLight = new NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM[MAX_VIDEO_DETECT_LIGHT_NUM]; //å•ä¸ªè§†é¢‘检测信å·ç¯å‚æ•° public byte[] byRes = new byte[8]; } //交通信å·ç¯æŽ¥å…¥å‚æ•° public static class NET_ITC_LIGHT_ACCESSPARAM_UNION extends Union { public int[] uLen = new int[122]; public NET_ITC_IO_LIGHT_PARAM struIOLight; //IO接入信å·ç¯å‚æ•° public NET_ITC_RS485_LIGHT_PARAM struRS485Light; //485接入信å·ç¯å‚æ•° public NET_ITC_VIDEO_DETECT_LIGHT_PARAM struVideoDelectLight; //视频检测信å·ç¯å‚æ•° } //交通信å·ç¯å‚数结构 public static class NET_ITC_TRAFFIC_LIGHT_PARAM extends HIKSDKStructure { public byte bySource; //交通信å·ç¯æŽ¥å…¥æºï¼Œ0-IO接入,1-RS485接入 public byte[] byRes1 = new byte[3]; public NET_ITC_LIGHT_ACCESSPARAM_UNION struLightAccess = new NET_ITC_LIGHT_ACCESSPARAM_UNION();//ä¿¡å·ç¯æŽ¥å…¥å‚æ•° public byte[] byRes = new byte[32]; } //è¿è§„检测å‚数结构 public static class NET_ITC_VIOLATION_DETECT_PARAM extends HIKSDKStructure { public int dwVioDetectType; //è¿è§„检测类型, 按ä½è¡¨ç¤º, 详è§ITC_VIOLATION_DETECT_TYPE ,0-ä¸å¯ç”¨,1-å¯ç”¨ public byte byDriveLineSnapTimes; //压车é“线抓æ‹å¼ æ•°,2-3 public byte byReverseSnapTimes; //逆行抓æ‹,2-3 public short wStayTime; //机å éžåœç•™æ—¶é—´ï¼ˆè¯¥æ—¶é—´åŽæŠ“æ‹ï¼‰ï¼Œå•ä½s public byte byNonDriveSnapTimes;//机å éžæŠ“æ‹å¼ æ•°2-3 public byte byChangeLaneTimes;//è¿æ³•å˜é“抓æ‹å¼ æ•° 2-3 public byte bybanTimes;//è¿æ³•ç¦ä»¤æŠ“æ‹å¼ æ•°2-3 public byte byDriveLineSnapSen;// 压线çµæ•åº¦(0~100)(3.7Ver) public short wSnapPosFixPixel; //第2,3å¼ æŠ“æ‹ä½ç½®æœ€å°å移(è¿åä¿¡å·ç¯æ—¶èµ·æ•ˆ)(å•ä½ï¼šåƒç´ ) 命å需改进 public byte bySpeedTimes;//è¿æ³•è¶…速抓æ‹å¼ æ•°2-3(3.8Ver) public byte byTurnAroundEnable;//è¿ç« 掉头使能 0~å…³é— 1~å¼€å¯ public byte byThirdPlateRecogTime;//ç¬¬ä¸‰å¼ ç‰Œè¯†æ—¶é—´ 0~180s public byte byPostSnapTimes;//å¡å£æŠ“æ‹å¼ æ•°,1-2å¼ public byte[] byRes1 = new byte[18]; public short wStopLineDis; //电è¦ç¬¬2å¼ è¿è§„图片与åœæ¢çº¿çš„最çŸè·ç¦»ï¼Œ[0,300]å•ä½(åƒç´ ) public byte[] byRes = new byte[14]; } //è¿è§„检测线å‚数结构 public static class NET_ITC_VIOLATION_DETECT_LINE extends HIKSDKStructure { public NET_ITC_LINE struLaneLine = new NET_ITC_LINE(); //车é“线å‚æ•° public NET_ITC_LINE struStopLine = new NET_ITC_LINE(); //åœæ¢çº¿å‚æ•° public NET_ITC_LINE struRedLightLine = new NET_ITC_LINE(); //闯红ç¯è§¦å‘线å‚æ•° public NET_ITC_LINE struCancelLine = new NET_ITC_LINE(); //直行触å‘ä½ç½®å–消线 public NET_ITC_LINE struWaitLine = new NET_ITC_LINE(); //待行区åœæ¢çº¿å‚æ•° public NET_ITC_LINE[] struRes = new NET_ITC_LINE[8]; } //å•ä¸ªè½¦é“视频电è¦è§¦å‘å‚数结构 public static class NET_ITC_LANE_VIDEO_EPOLICE_PARAM extends HIKSDKStructure { public byte byLaneNO; //å…³è”的车é“å· public byte bySensitivity; //线圈çµæ•åº¦ï¼Œ[1,100] public byte byEnableRadar;//å¯ç”¨é›·è¾¾æµ‹è¯•0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ //å…³è”车é“æ–¹å‘类型,å‚考ITC_RELA_LANE_DIRECTION_TYPE //该å‚数为车é“æ–¹å‘å‚数,与关è”车é“å·å¯¹åº”,确ä¿è½¦é“唯一性。 public byte byRelaLaneDirectionType; public NET_ITC_LANE_LOGIC_PARAM struLane; //车é“å‚æ•° public NET_ITC_VIOLATION_DETECT_PARAM struVioDetect; //è¿è§„检测å‚æ•° public NET_ITC_VIOLATION_DETECT_LINE struLine; //è¿è§„检测线 public NET_ITC_POLYGON struPlateRecog; //牌识区域å‚æ•° public byte byRecordEnable;//闯红ç¯å‘¨æœŸå½•åƒæ ‡å¿—,0-ä¸å½•åƒï¼Œ1-å½•åƒ public byte byRecordType;//闯红ç¯å½•åƒç±»åž‹ï¼Œ0-预录,1-å»¶æ—¶å½•åƒ public byte byPreRecordTime;//闯红ç¯å½•åƒç‰‡æ®µé¢„录时间(默认0),å•ä½ï¼šç§’ public byte byRecordDelayTime;//闯红ç¯å½•åƒç‰‡æ®µå»¶æ—¶æ—¶é—´ï¼ˆé»˜è®¤0),å•ä½ï¼šç§’ public byte byRecordTimeOut;//闯红ç¯å‘¨æœŸå½•åƒè¶…时时间(秒) public byte byCarSpeedLimit; //车速é™åˆ¶å€¼ï¼Œå•ä½km/h public byte byCarSignSpeed;//æ ‡å¿—é™é€Ÿï¼Œå•ä½km/h public byte bySnapPicPreRecord; //抓æ‹å›¾ç‰‡é¢„录时间点;0-é»˜è®¤å€¼ï¼ˆç¬¬äºŒå¼ å›¾ç‰‡ï¼‰ï¼Œ1-ç¬¬ä¸€å¼ å›¾ç‰‡ï¼Œ2-ç¬¬äºŒå¼ å›¾ç‰‡ï¼Œ3-ç¬¬ä¸‰å¼ å›¾ç‰‡ public NET_ITC_INTERVAL_PARAM struInterval;//抓æ‹é—´éš”å‚数(20byte) public byte[] byRes = new byte[36]; } //视频电è¦è§¦å‘å‚数结构 public static class NET_ITC_VIDEO_EPOLICE_PARAM extends HIKSDKStructure { public byte byEnable; //是å¦å¯ç”¨ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byLaneNum; //识别的车é“个数 public byte byLogicJudge;//闯红ç¯è¿è§„判æ–逻辑,设置值为:0-按方å‘,1-æŒ‰è½¦é“ public byte byRes1; public NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //牌识å‚æ•° public NET_ITC_TRAFFIC_LIGHT_PARAM struTrafficLight; //交通信å·ç¯å‚æ•° public NET_ITC_LANE_VIDEO_EPOLICE_PARAM[] struLaneParam = new NET_ITC_LANE_VIDEO_EPOLICE_PARAM[MAX_ITC_LANE_NUM]; //å•è½¦é“å‚æ•° public NET_ITC_LINE struLaneBoundaryLine; //车é“边界线(最å³è¾¹è½¦é“的边界线) public NET_ITC_LINE struLeftLine; //左转弯分界线 public NET_ITC_LINE struRightLine; //å³è½¬å¼¯åˆ†ç•Œçº¿ public NET_ITC_LINE struTopZebraLine; //上部斑马线 public NET_ITC_LINE struBotZebraLine; //下部斑马线 public byte[] byRes = new byte[32]; } public static class NET_DVR_CURTRIGGERMODE extends HIKSDKStructure { public int dwSize; public int dwTriggerType; //触å‘类型,详è§ITC_TRIGGERMODE_TYPE public byte[] byRes = new byte[24]; } public static class NET_ITC_VIDEO_TRIGGER_COND extends HIKSDKStructure { public int dwSize; public int dwChannel; public int dwTriggerMode; //视频触å‘模å¼ç±»åž‹ï¼Œè¯¦è§ITC_TRIGGERMODE_TYPE public byte[] byRes = new byte[16]; } public static class NET_ITC_VIDEO_TRIGGER_PARAM_UNION extends Union { public int[] uLen = new int[1150]; public NET_ITC_VIDEO_EPOLICE_PARAM struVideoEP = new NET_ITC_VIDEO_EPOLICE_PARAM(); //视频电è¦å‚æ•° } public static class NET_ITC_VIDEO_TRIGGER_PARAM extends HIKSDKStructure { public int dwSize; public int dwMode; //触å‘模å¼ï¼Œè¯¦è§ITC_TRIGGERMODE_TYPE public NET_ITC_VIDEO_TRIGGER_PARAM_UNION uVideoTrigger = new NET_ITC_VIDEO_TRIGGER_PARAM_UNION(); //触å‘模å¼å‚æ•° public byte[] byRes = new byte[32]; } public static class NET_DVR_CMS_PARAM extends HIKSDKStructure { public int dwSize; public NET_DVR_IPADDR struAddr = new NET_DVR_IPADDR(); // å¹³å°æœåŠ¡å™¨IP public short wServerPort; // å¹³å°æœåŠ¡å™¨ä¾¦å¬ç«¯å£ï¼Œ public byte bySeverProtocolType; //å¹³å°å议类型 1-ç§æœ‰ï¼Œ2-Ehome public byte byStatus; //设备注册到该平å°çš„状æ€ï¼Œ1-未注册,2-已注册 public byte[] sDeviceId = new byte[NAME_LEN/*32*/]; //设备ID,由平å°æä¾› public byte[] sPassWord = new byte[PASSWD_LEN]; //密ç /********* * IPC5.1.7 新增å‚æ•° Begin 2014-03-21 ***********/ public byte[] sPlatformEhomeVersion = new byte[NAME_LEN];//å¹³å°EHOMEå议版本 /********* * IPC5.1.7 新增å‚æ•° end 2014-03-21 ***********/ public byte byNetWork; //网络类型:0- æ— æ„义,1-自动,2-有线网络优先,3-有线网络,4-3Gç½‘ç»œï¼ˆæ— çº¿ç½‘ç»œï¼‰ï¼Œ5-有线网络1,6-有线网络2 public byte byAddressType; //0 - æ— æ„义, 1 - ipv4/ipv6地å€ï¼Œ2 - 域å public byte byProtocolVersion; //å议版本 0 - æ— æ„义, 1 – v2.0,2 – v4.0,3-v2.6 public byte byRes1; public byte[] sDomainName = new byte[MAX_DOMAIN_NAME/*64*/]; //å¹³å°æœåŠ¡å™¨åŸŸå,byAddressType为2时有效 public byte byEnable; //0-å…³é—,1-å¼€å¯ public byte[] byRes = new byte[139]; // ä¿ç•™å—节 } //设置完全获å–出厂值 public static class NET_DVR_COMPLETE_RESTORE_INFO extends HIKSDKStructure { public int dwSize; //结构体长度 public int dwChannel; //通é“å· public byte[] byRes = new byte[64]; } public static class NET_DVR_STD_ABILITY extends HIKSDKStructure { public Pointer lpCondBuffer; //[in]æ¡ä»¶å‚æ•°(ç å—æ ¼å¼),例如通é“å·ç‰.å¯ä»¥ä¸ºNULL public int dwCondSize; //[in] dwCondSize指å‘的内å˜å¤§å° public Pointer lpOutBuffer; //[out]输出å‚æ•°(XMLæ ¼å¼),ä¸ä¸ºNULL public int dwOutSize; //[in] lpOutBuffer指å‘的内å˜å¤§å° public Pointer lpStatusBuffer; //[out]返回的状æ€å‚æ•°(XMLæ ¼å¼),获å–æˆåŠŸæ—¶ä¸ä¼šèµ‹å€¼,如果ä¸éœ€è¦,å¯ä»¥ç½®NULL public int dwStatusSize; //[in] lpStatusBuffer指å‘的内å˜å¤§å° public int dwRetSize; //[out]获å–到的数æ®é•¿åº¦(lpOutBuffer或者lpStatusBuffer指å‘的实际数æ®é•¿åº¦) public byte[] byRes = new byte[32]; //ä¿ç•™å—节 } public static class NET_DVR_STD_CONFIG extends HIKSDKStructure { public Pointer lpCondBuffer; //[in]æ¡ä»¶å‚æ•°(ç»“æž„ä½“æ ¼å¼),例如通é“å·ç‰.å¯ä»¥ä¸ºNULL public int dwCondSize; //[in] lpCondBuffer指å‘的内å˜å¤§å° public Pointer lpInBuffer; //[in]输入å‚æ•°(ç»“æž„ä½“æ ¼å¼),设置时ä¸ä¸ºNULL,获å–时为NULL public int dwInSize; //[in] lpInBuffer指å‘的内å˜å¤§å° public Pointer lpOutBuffer; //[out]输出å‚æ•°(ç»“æž„ä½“æ ¼å¼),获å–æ—¶ä¸ä¸ºNULL,设置时为NULL public int dwOutSize; //[in] lpOutBuffer指å‘的内å˜å¤§å° public Pointer lpStatusBuffer; //[out]返回的状æ€å‚æ•°(XMLæ ¼å¼),获å–æˆåŠŸæ—¶ä¸ä¼šèµ‹å€¼,如果ä¸éœ€è¦,å¯ä»¥ç½®NULL public int dwStatusSize; //[in] lpStatusBuffer指å‘的内å˜å¤§å° public Pointer lpXmlBuffer; //[in/out]byDataType = 1时有效,xmlæ ¼å¼æ•°æ® public int dwXmlSize; //[in/out]lpXmlBuffer指å‘的内å˜å¤§å°,获å–æ—¶åŒæ—¶ä½œä¸ºè¾“入和输出å‚数,获å–æˆåŠŸåŽä¼šä¿®æ”¹ä¼šå®žé™…长度,设置时表示实际长度,而ä¸æ˜¯æ•´ä¸ªå†…å˜å¤§å° public byte byDataType; //[in]输入/输出å‚数类型,0-使用结构体类型lpInBuffer/lpOutBuffer有效,1-使用XML类型lpXmlBuffer有效 public byte[] byRes = new byte[23]; } public static final int NET_SDK_MAX_FILE_PATH = 256;//路径长度 public static class NET_DVR_LOCAL_SDK_PATH extends HIKSDKStructure { public byte[] sPath = new byte[NET_SDK_MAX_FILE_PATH];//ç»„ä»¶åº“åœ°å€ public byte[] byRes = new byte[128]; } public static class BYTE_ARRAY extends HIKSDKStructure { public byte[] byValue; public BYTE_ARRAY(int iLen) { byValue = new byte[iLen]; } } public static class INT_ARRAY extends HIKSDKStructure { public int[] intValue; public INT_ARRAY(int iLen) { intValue = new int[iLen]; } } public static class INTRef_ARRAY extends HIKSDKStructure { public IntByReference[] intValue; public INTRef_ARRAY(int iLen) { intValue = new IntByReference[iLen]; } } public static class NET_DVR_JSON_DATA_CFG extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public Pointer lpJsonData; //JSON报文 public int dwJsonDataSize; //JSONæŠ¥æ–‡å¤§å° public Pointer lpPicData; //图片内容 public int dwPicDataSize; //å›¾ç‰‡å†…å®¹å¤§å° public int lpInfraredFacePicBuffer; //红外人脸图片数æ®ç¼“å˜ public Pointer dwInfraredFacePicSize; //红外人脸图片数æ®å¤§å°ï¼Œç‰äºŽ0æ—¶ï¼Œä»£è¡¨æ— äººè„¸å›¾ç‰‡æ•°æ®(当JSON报文为当ResponseStatus(JSON)报文时,该å—æ®µæ— æ„义;当Inbound Data(JSON)报文ä¸æ²¡æœ‰infraredFaceURL时,该å—段需è¦å¸¦ä¸ŠäºŒè¿›åˆ¶å›¾ç‰‡å†…容) public byte[] byRes = new byte[248]; } public static class CallBack_USER extends HIKSDKStructure { public byte[] byDeviceID = new byte[16]; public byte[] byCardNo = new byte[32]; public byte[] byDevIP = new byte[16]; } public static class NET_DVR_CAMERAPARAMCFG_EX extends HIKSDKStructure { public int dwSize; public NET_DVR_VIDEOEFFECT struVideoEffect = new NET_DVR_VIDEOEFFECT();/*亮度ã€å¯¹æ¯”度ã€é¥±å’Œåº¦ã€é”度ã€è‰²è°ƒé…ç½®*/ public NET_DVR_GAIN struGain = new NET_DVR_GAIN();/*自动增益*/ public NET_DVR_WHITEBALANCE struWhiteBalance = new NET_DVR_WHITEBALANCE();/*白平衡*/ public NET_DVR_EXPOSURE struExposure = new NET_DVR_EXPOSURE(); /*æ›å…‰æŽ§åˆ¶*/ public NET_DVR_GAMMACORRECT struGammaCorrect = new NET_DVR_GAMMACORRECT();/*Gammaæ ¡æ£*/ public NET_DVR_WDR struWdr = new NET_DVR_WDR();/*宽动æ€*/ public NET_DVR_DAYNIGHT struDayNight = new NET_DVR_DAYNIGHT();/*日夜转æ¢*/ public NET_DVR_BACKLIGHT struBackLight = new NET_DVR_BACKLIGHT();/*背光补å¿*/ public NET_DVR_NOISEREMOVE struNoiseRemove = new NET_DVR_NOISEREMOVE();/*æ•°å—é™å™ª*/ public byte byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/ /* 0-自动光圈, 1-手动光圈, 2-P-Iris1, 3-Union 3-9mm F1.6-2.7 (T5280-PQ1) [IPC5.1.7] 4-Union 2.8-12mm F1.6-2.7 (T5289-PQ1) [IPC5.1.7] 5-HIK 3.8-16mm F1.5(HV3816P-8MPIR) 6-HIK 11-40mm F1.7 (HV1140P-8MPIR) 7-HIK 2.7-12mm F1.2(TV2712P-MPIR) 8- MZ5721D-12MPIR 9- MZ1555D-12MPIR 10- MZ5721D-12MPIR(RS485) 11- MZ1555D-12MPIR(RS485) */ public byte byIrisMode; public byte byMirror; /* é•œåƒï¼š0 off,1- leftright,2- updown,3-center 4-Auto*/ public byte byDigitalZoom; /*æ•°å—缩放:0 dsibale 1 enable*/ public byte byDeadPixelDetect; /*å点检测,0 dsibale 1 enable*/ public byte byBlackPwl;/*é»‘ç”µå¹³è¡¥å¿ , 0-255*/ public byte byEptzGate;// EPTZ开关å˜é‡:0-ä¸å¯ç”¨ç”µå云å°ï¼Œ1-å¯ç”¨ç”µåäº‘å° public byte byLocalOutputGate;//本地输出开关å˜é‡0-本地输出关é—1-本地BNC输出打开 2-HDMIè¾“å‡ºå…³é— //20-HDMI_720P50输出开 //21-HDMI_720P60输出开 //22-HDMI_1080I60输出开 //23-HDMI_1080I50输出开 //24-HDMI_1080P24输出开 //25-HDMI_1080P25输出开 //26-HDMI_1080P30输出开 //27-HDMI_1080P50输出开 //28-HDMI_1080P60输出开 public byte byCoderOutputMode;//ç¼–ç 器fpga输出模å¼0直通3åƒç´ æ¬å®¶ public byte byLineCoding; //是å¦å¼€å¯è¡Œç¼–ç :0-å¦ï¼Œ1-是 public byte byDimmerMode; //调光模å¼ï¼š0-åŠè‡ªåŠ¨ï¼Œ1-自动 public byte byPaletteMode; //调色æ¿ï¼š0-白çƒï¼Œ1-黑çƒï¼Œ2-调色æ¿2,…,8-调色æ¿8, 9-èžåˆ1,10-彩虹,11-èžåˆ2,12-é“红1,13-é“红2,14-æ·±è¤è‰²,15-色彩1,16-色彩2,17-冰ç«,18-雨,19-红çƒ,20-绿çƒ,21-æ·±è“,22-色彩3 public byte byEnhancedMode; //增强方å¼ï¼ˆæŽ¢æµ‹ç‰©ä½“周边):0-ä¸å¢žå¼ºï¼Œ1-1,2-2,3-3,4-4 public byte byDynamicContrastEN; //动æ€å¯¹æ¯”度增强 0-1 public byte byDynamicContrast; //动æ€å¯¹æ¯”度 0-100 public byte byJPEGQuality; //JPEG图åƒè´¨é‡ 0-100 public NET_DVR_CMOSMODECFG struCmosModeCfg = new NET_DVR_CMOSMODECFG();//CMOS模å¼ä¸‹å‰ç«¯å‚æ•°é…置,镜头模å¼ä»Žèƒ½åŠ›é›†èŽ·å– public byte byFilterSwitch; //滤波开关:0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ public byte byFocusSpeed; //镜头调焦速度:0-10 public byte byAutoCompensationInterval; //定时自动快门补å¿ï¼š1-120,å•ä½ï¼šåˆ†é’Ÿ public byte bySceneMode; //场景模å¼ï¼š0-室外,1-室内,2-默认,3-弱光 public NET_DVR_DEFOGCFG struDefogCfg = new NET_DVR_DEFOGCFG();//é€é›¾å‚æ•° public NET_DVR_ELECTRONICSTABILIZATION struElectronicStabilization = new NET_DVR_ELECTRONICSTABILIZATION();//电å防抖 public NET_DVR_CORRIDOR_MODE_CCD struCorridorMode = new NET_DVR_CORRIDOR_MODE_CCD();//èµ°å»Šæ¨¡å¼ public byte byExposureSegmentEnable; //0~ä¸å¯ç”¨,1~å¯ç”¨ æ›å…‰æ—¶é—´å’Œå¢žç›Šå‘ˆé˜¶æ¢¯çŠ¶è°ƒæ•´ï¼Œæ¯”如æ›å…‰å¾€ä¸Šè°ƒæ•´æ—¶ï¼Œå…ˆæ高æ›å…‰æ—¶é—´åˆ°ä¸é—´å€¼ï¼Œç„¶åŽæ高增益到ä¸é—´å€¼ï¼Œå†æ高æ›å…‰åˆ°æœ€å¤§å€¼ï¼Œæœ€åŽæ高增益到最大值 public byte byBrightCompensate;//亮度增强 [0~100] /* 0-å…³é—ã€1-640*480@25fpsã€2-640*480@30psã€3-704*576@25fpsã€4-704*480@30fpsã€5-1280*720@25fpsã€6-1280*720@30fps〠7-1280*720@50fpsã€8-1280*720@60fpsã€9-1280*960@15fpsã€10-1280*960@25fpsã€11-1280*960@30fps〠12-1280*1024@25fpsã€13--1280*1024@30fpsã€14-1600*900@15fpsã€15-1600*1200@15fpsã€16-1920*1080@15fps〠17-1920*1080@25fpsã€18-1920*1080@30fpsã€19-1920*1080@50fpsã€20-1920*1080@60fpsã€21-2048*1536@15fpsã€22-2048*1536@20fps〠23-2048*1536@24fpsã€24-2048*1536@25fpsã€25-2048*1536@30fpsã€26-2560*2048@25fpsã€27-2560*2048@30fps〠28-2560*1920@7.5fpsã€29-3072*2048@25fpsã€30-3072*2048@30fpsã€31-2048*1536@12.5ã€32-2560*1920@6.25〠33-1600*1200@25ã€34-1600*1200@30ã€35-1600*1200@12.5ã€36-1600*900@12.5ã€37-1280*960@12.5fpsã€38-800*600@25fpsã€39-800*600@30fps40〠4000*3000@12.5fpsã€41-4000*3000@15fpsã€42-4096*2160@20fpsã€43-3840*2160@20fps ã€44-960*576@25fpsã€45-960*480@30fpsã€46-752*582@25fps〠47-768*494@30fpsã€48-2560*1440@25fpsã€49-2560*1440@30fps ã€50-720P@100fpsã€51-720P@120fpsã€52-2048*1536@50fpsã€53-2048*1536@60fps〠54-3840*2160@25fpsã€55-3840*2160@30fpsã€56-4096*2160@25fpsã€57-4096*2160@30fps ã€58-1280*1024@50fpsã€59-1280*1024@60fps〠60-3072*2048@50fpsã€61-3072*2048@60fpsã€62-3072*1728@25fpsã€63-3072*1728@30fpsã€64-3072*1728@50fpsã€65-3072*1728@60fpsã€66-336*256@50fpsã€67-336*256@60fps〠68-384*288@50fpsã€69-384*288@60fps ã€70- 640 * 512@50fps ã€71- 640 * 512@60fpsã€72-2592*1944@25fpsã€73-2592*1944@30fpsã€74-2688*1536@25fpsã€75-2688*1536@30fps 76-2592*1944@20fpsã€77-2592*1944@15fpsã€78-2688*1520@20fpsã€79-2688*1520@15fpsã€80-2688*1520@25fpsã€81-2688*1520@30fpsã€82- 2720*2048@25fps〠83- 2720*2048@30fps〠84-336*256@25fpsã€85- 384*288@25fpsã€86-640*512@25fpsã€87-1280*960@50fpsã€88-1280*960@60fpsã€89-1280*960@100fpsã€90-1280*960@120fpsã€91-4000*3000@20fps〠92-1920*1200@25fpsã€93-1920*1200@30fpsã€94-2560*1920@25fpsã€95-2560*1920@20fpsã€96-2560*1920@30fpsã€97-1280*1920@25fpsã€98-1280*1920@30fps 99-4000*3000@24fpsã€100-4000*3000@25fpsã€101-4000*3000@10fpsã€102- 384*288@30fpsã€103-2560*1920@15fpsã€104-2400*3840@25fpsã€105-1200*1920@25fps 106-4096*1800@30fpsã€107-3840*1680@30fpsã€108-2560*1120@30fpsã€109-704*320@30fpsã€110-1280*560@30fpsã€111-4096*1800@25fpsã€112-3840*1680@25fps 113-2560*1120@25fpsã€114-704*320@25fpsã€115-1280*560@25fpsã€116-2400*3840@24fpsã€117-3840*2400@24fpsã€118-3840*2400@25fpsã€119-2560*1920@12.5fps 120-2560*2048@12fpsã€121-2560*2048@15fpsã€122-2560*1536@25fpsã€123-2560*1536@30fpsã€124-2256*2048@25fpsã€125-2256*2048@30fpsã€126-2592*2592@12.5fpsã€127-2592*2592@15fps〠128 - 640*512@30fpsã€129-2048*1520@30fpsã€130-2048*1520@25fpsã€131-3840*2160@24fpsã€132-2592*1520@25fpsã€133-2592*1520@30fpsã€134-2592*1536@25fpsã€135-2592*1536@30fps 136-640*960@25fpsã€137-640*960@24fpsã€142-2992*2192@25fpsã€143-2992*2192@30fpsã€144-3008*2160@25fpsã€145-3008*2160@30fpsã€146-3072*1728@20fpsã€147-2560*1440@20fps〠148-2160*3840@25fpsã€149-2160*3840@30fpsã€150-7008*1080@25fpsã€151-7008*1080@30fpsã€152-3072*2048@20fpsã€153-1536*864@25fpsã€154-2560*1920@24fpsã€155-2400*3840@30fps〠156-3840*2400@30fpsã€157-3840*2160@15fps 158-384*288@8.3fpsã€159-640*512@8.3fpsã€160-160*120@8.3fpsã€161-1024*768@8.3fpsã€162-640*480@8.3fpsã€163-3840*2160@12.5fpsã€164-2304*1296@30fpsã€165-2304*1296@25fps〠166-2560*1440@24fpsã€167-2688*1512@25fpsã€168-2688*1512@30fpsã€169-2688*1512@50fpsã€170-2688*1512@60fpsã€171-1536*864@30fpsã€172-2560*1440@50fpsã€173-2560*1440@60fps〠174-2048*2048@25fpsã€175-2048*2048@30fpsã€176-4000*3060@20fpsã€177-3060*3060@25fpsã€178-3060*3060@30fpsã€179-3000*3000@25fpsã€180-3000*3000@30fpsã€181-8160*3616@30fps〠182-8160*3616@25fpsã€183-3000*3000@20fpsã€184-3000*3000@15fpsã€185-3000*3000@12.5fpsã€186-5472*3648@25fpsã€187-5472*3648@30fpsã€188-7680*4320@25fpsã€189-7680*4320@30fps〠190-8160*2400@25fpsã€191-8160*2400@30fpsã€192-5520*2400@25fpsã€193-5520*2400@30fpsã€194-2560*1440@15fpsã€195-1944*1212@24fpsã€196-1944*1212@25fpsã€197-3456*1920@30fps〠198-4800*2688@25fpsã€199-4800*2688@30fpsã€200-6480*1080@25fpsã€201-6480*1080@30fpsã€202-8640*1440@25fpsã€203-8640*1440@30fpsã€204-3456*1920@25fpsã€205-2688*1520@50fps〠206-2688*1520@60fpsã€207-4976*1452@25fpsã€208-4976*1452@30fps〠209-3200*1800@25fpsã€210-3200*1800@30fpsã€211-5472*3648@24fpsã€212-1920*1080@12.5fpsã€213-2944*1656@20fps〠214-1920*1080@24fpsã€215-4800*1600@25fpsã€216-4800*1600@30fpsã€217-2560*1440@12.5fpsã€218-6560*3690@1fpsã€219-5120*1400@20fps*/ public byte byCaptureModeN; //视频输入模å¼ï¼ˆN制) public byte byCaptureModeP; //视频输入模å¼ï¼ˆP制) public NET_DVR_SMARTIR_PARAM struSmartIRParam = new NET_DVR_SMARTIR_PARAM(); //红外放过爆é…ç½®ä¿¡æ¯ public NET_DVR_PIRIS_PARAM struPIrisParam = new NET_DVR_PIRIS_PARAM();//PIrisé…置信æ¯å¯¹åº”byIrisModeå—段从2-PIris1开始生效 //2014-02-25 新增å‚æ•° public NET_DVR_LASER_PARAM_CFG struLaserParam = new NET_DVR_LASER_PARAM_CFG(); //激光å‚æ•° public NET_DVR_FFC_PARAM struFFCParam = new NET_DVR_FFC_PARAM(); public NET_DVR_DDE_PARAM struDDEParam = new NET_DVR_DDE_PARAM(); public NET_DVR_AGC_PARAM struAGCParam = new NET_DVR_AGC_PARAM(); public byte byLensDistortionCorrection;//镜头畸å˜æ ¡æ£ 0-å…³é—,1-å¼€å¯ public byte byDistortionCorrectionLevel;//畸å˜æ ¡æ£ç‰çº§ï¼š0-ä¿ç•™ï¼›1-ç‰çº§ä¸€ï¼›2-ç‰çº§äºŒï¼›3-ç‰çº§ä¸‰;255-自定义 public byte byCalibrationAccurateLevel;// 畸å˜æ ¡æ£å¼ºåº¦[0-100] public byte byZoomedInDistantViewLevel;//远端放大ç‰çº§[0-100] public NET_DVR_SNAP_CAMERAPARAMCFG struSnapCCD = new NET_DVR_SNAP_CAMERAPARAMCFG(); //抓æ‹æœºCCDå‚数,åªç”¨äºŽæŠ“æ‹æœº public NET_DVR_OPTICAL_DEHAZE struOpticalDehaze = new NET_DVR_OPTICAL_DEHAZE();//å…‰å¦é€é›¾å‚æ•° public NET_DVR_THERMOMETRY_AGC struThermAGC = new NET_DVR_THERMOMETRY_AGC();//测温AGCé…ç½® public byte byFusionMode;//åŒå…‰è°±è§†é¢‘èžåˆæ¨¡å¼ï¼Œ0~çƒæˆåƒæ¨¡å¼ï¼Œ1~èžåˆæ¨¡å¼ï¼Œ2~ç”»ä¸ç”»æ¨¡å¼,3~å¯è§å…‰æ¨¡å¼, 4~èžåˆé»‘白模å¼, 5~èžåˆå½©è‰²æ¨¡å¼-è‰åœ°ï¼Œ6~èžåˆå½©è‰²æ¨¡å¼-è’地,7~èžåˆå½©è‰²æ¨¡å¼-雪地,8~èžåˆå½©è‰²æ¨¡å¼-海洋,9~èžåˆå½©è‰²æ¨¡å¼-城市 public byte byHorizontalFOV;//水平视场角[0-100] public byte byVerticalFOV;//垂直视场角[0-100] public byte byBrightnessSuddenChangeSuppression;//亮度çªå˜æŠ‘制0-å…³é—,1-å¼€å¯ public byte byGPSEnabled;//GPS开关使能,0-关,1-å¼€ public byte[] byRes2 = new byte[155]; } public static class NET_DVR_VIDEOEFFECT extends HIKSDKStructure { public byte byBrightnessLevel; /*0-100*/ public byte byContrastLevel; /*0-100*/ public byte bySharpnessLevel; /*0-100*/ public byte bySaturationLevel; /*0-100*/ public byte byHueLevel; /*0-100,(ä¿ç•™ï¼‰*/ public byte byEnableFunc; //使能,按ä½è¡¨ç¤ºï¼Œbit0-SMART IR(防过æ›),bit1-低照度,bit2-强光抑制使能,0-å¦ï¼Œ1-是 public byte byLightInhibitLevel; //强光抑制ç‰çº§ï¼Œ[1-3]表示ç‰çº§ public byte byGrayLevel; //ç°åº¦å€¼åŸŸï¼Œ0-[0-255],1-[16-235] } public static class NET_DVR_GAIN extends HIKSDKStructure { public byte byGainLevel; /*增益:0-100*/ public byte byGainUserSet; /*用户自定义增益;0-100,对于抓æ‹æœºï¼Œæ˜¯CCD模å¼ä¸‹çš„抓æ‹å¢žç›Š*/ public byte[] byRes = new byte[2]; public int dwMaxGainValue;/*最大增益值,å•ä½dB*/ } public static class NET_DVR_WHITEBALANCE extends HIKSDKStructure { public byte byWhiteBalanceMode; /*0-手动白平衡(MWB),1-自动白平衡1(AWB1),2-自动白平衡2 (AWB2),3-自动控制改å为é”定白平衡(Locked WB), 4-室外(Indoor),5-室内(Outdoor)6-日光ç¯(Fluorescent Lamp),7-é’ ç¯(Sodium Lamp), 8-自动跟踪(Auto-Track)9-一次白平衡(One Push),10-室外自动(Auto-Outdoor), 11-é’ ç¯è‡ªåŠ¨ (Auto-Sodiumlight),12-水银ç¯(Mercury Lamp),13-自动白平衡(Auto), 14-ç™½ç‚½ç¯ (IncandescentLamp),15-æš–å…‰ç¯(Warm Light Lamp),16-自然光(Natural Light) */ public byte byWhiteBalanceModeRGain; /*手动白平衡时有效,手动白平衡 R增益*/ public byte byWhiteBalanceModeBGain; /*手动白平衡时有效,手动白平衡 B增益*/ public byte[] byRes = new byte[5]; } public static class NET_DVR_EXPOSURE extends HIKSDKStructure { public byte byExposureMode; /*0 手动æ›å…‰ 1自动æ›å…‰*/ public byte byAutoApertureLevel; /* 自动光圈çµæ•åº¦, 0-10 */ public byte[] byRes = new byte[2]; public int dwVideoExposureSet; /* 自定义视频æ›å…‰æ—¶é—´ï¼ˆå•ä½us)*//*注:自动æ›å…‰æ—¶è¯¥å€¼ä¸ºæ›å…‰æœ€æ…¢å€¼ 新增20-1s(1000000us)*/ public int dwExposureUserSet; /* 自定义æ›å…‰æ—¶é—´,在抓æ‹æœºä¸Šåº”用时,CCD模å¼æ—¶æ˜¯æŠ“æ‹å¿«é—¨é€Ÿåº¦*/ public int dwRes; } public static class NET_DVR_GAMMACORRECT extends HIKSDKStructure { public byte byGammaCorrectionEnabled; /*0 dsibale 1 enable*/ public byte byGammaCorrectionLevel; /*0-100*/ public byte[] byRes = new byte[6]; } public static class NET_DVR_WDR extends HIKSDKStructure { public byte byWDREnabled; /*宽动æ€ï¼š0 dsibale 1 enable 2 auto*/ public byte byWDRLevel1; /*0-F*/ public byte byWDRLevel2; /*0-F*/ public byte byWDRContrastLevel; /*0-100*/ public byte[] byRes = new byte[16]; } public static class NET_DVR_DAYNIGHT extends HIKSDKStructure { public byte byDayNightFilterType; /*日夜切æ¢ï¼š0-白天,1-夜晚,2-自动,3-定时,4-报è¦è¾“入触å‘, 5-自动模å¼2ï¼ˆæ— å…‰æ•ï¼‰,6-黑光,7-黑光自动,8-黑光定时*/ public byte bySwitchScheduleEnabled; /*0 dsibale 1 enable,(ä¿ç•™)*/ //定时模å¼å‚æ•° public byte byBeginTime; /*开始时间(å°æ—¶ï¼‰ï¼Œ0-23*/ public byte byEndTime; /*结æŸæ—¶é—´ï¼ˆå°æ—¶ï¼‰ï¼Œ0-23*/ //模å¼2 public byte byDayToNightFilterLevel; //0-7 public byte byNightToDayFilterLevel; //0-7 public byte byDayNightFilterTime;//(60秒) //定时模å¼å‚æ•° public byte byBeginTimeMin; //开始时间(分),0-59 public byte byBeginTimeSec; //开始时间(秒),0-59 public byte byEndTimeMin; //结æŸæ—¶é—´ï¼ˆåˆ†ï¼‰ï¼Œ0-59 public byte byEndTimeSec; //结æŸæ—¶é—´ï¼ˆç§’),0-59 //报è¦è¾“入触å‘模å¼å‚æ•° public byte byAlarmTrigState; //报è¦è¾“入触å‘状æ€ï¼Œ0-白天,1-夜晚 } public static class NET_DVR_BACKLIGHT extends HIKSDKStructure { public byte byBacklightMode; /*背光补å¿:0 off 1 UPã€2 DOWNã€3 LEFTã€4 RIGHTã€5MIDDLEã€6自定义,10-开,11-自动,12-多区域背光补å¿*/ public byte byBacklightLevel; /*0x0-0xF*/ public byte[] byRes1 = new byte[2]; public int dwPositionX1; //(Xåæ ‡1) public int dwPositionY1; //(Yåæ ‡1) public int dwPositionX2; //(Xåæ ‡2) public int dwPositionY2; //(Yåæ ‡2) public byte[] byRes2 = new byte[4]; } public static class NET_DVR_NOISEREMOVE extends HIKSDKStructure { public byte byDigitalNoiseRemoveEnable; /*0-ä¸å¯ç”¨ï¼Œ1-普通模å¼æ•°å—é™å™ªï¼Œ2-专家模å¼æ•°å—é™å™ª*/ public byte byDigitalNoiseRemoveLevel; /*普通模å¼æ•°å—é™å™ªçº§åˆ«ï¼š0x0-0xF*/ public byte bySpectralLevel; /*专家模å¼ä¸‹ç©ºåŸŸå¼ºåº¦ï¼š0-100*/ public byte byTemporalLevel; /*专家模å¼ä¸‹æ—¶åŸŸå¼ºåº¦ï¼š0-100*/ public byte byDigitalNoiseRemove2DEnable; /* 抓æ‹å¸§2Dé™å™ªï¼Œ0-ä¸å¯ç”¨ï¼Œ1-å¯ç”¨ */ public byte byDigitalNoiseRemove2DLevel; /* 抓æ‹å¸§2Dé™å™ªçº§åˆ«ï¼Œ0-100 */ public byte[] byRes = new byte[2]; } public static class NET_DVR_CMOSMODECFG extends HIKSDKStructure { public byte byCaptureMod; //抓æ‹æ¨¡å¼ï¼š0-抓æ‹æ¨¡å¼1ï¼›1-抓æ‹æ¨¡å¼2 public byte byBrightnessGate;//亮度阈值 public byte byCaptureGain1; //抓æ‹å¢žç›Š1,0-100 public byte byCaptureGain2; //抓æ‹å¢žç›Š2,0-100 public int dwCaptureShutterSpeed1;//抓æ‹å¿«é—¨é€Ÿåº¦1 public int dwCaptureShutterSpeed2;//抓æ‹å¿«é—¨é€Ÿåº¦2 public byte[] byRes = new byte[4]; } public static class NET_DVR_DEFOGCFG extends HIKSDKStructure { public byte byMode; //模å¼ï¼Œ0-ä¸å¯ç”¨ï¼Œ1-自动模å¼ï¼Œ2-å¸¸å¼€æ¨¡å¼ public byte byLevel; //ç‰çº§ï¼Œ0-100 public byte[] byRes = new byte[6]; } public static class NET_DVR_CMOSMODCFG extends HIKSDKStructure { public byte byCaptureMod; //抓æ‹æ¨¡å¼ï¼š0-抓æ‹æ¨¡å¼1ï¼›1-抓æ‹æ¨¡å¼2 public byte byBrightnessGate;//亮度阈值 public byte byCaptureGain1; //抓æ‹å¢žç›Š1,0-100 public byte byCaptureGain2; //抓æ‹å¢žç›Š2,0-100 public int dwCaptureShutterSpeed1;//抓æ‹å¿«é—¨é€Ÿåº¦1 public int dwCaptureShutterSpeed2;//抓æ‹å¿«é—¨é€Ÿåº¦2 public byte[] byRes = new byte[4]; } public static class NET_DVR_ELECTRONICSTABILIZATION extends HIKSDKStructure { public byte byEnable;//使能 0- ä¸å¯ç”¨ï¼Œ1- å¯ç”¨ public byte byLevel; //ç‰çº§ï¼Œ0-100 public byte[] byRes = new byte[6]; } public static class NET_DVR_CORRIDOR_MODE_CCD extends HIKSDKStructure { public byte byEnableCorridorMode; //是å¦å¯ç”¨èµ°å»Šæ¨¡å¼ 0~ä¸å¯ç”¨ï¼Œ 1~å¯ç”¨ public byte[] byRes = new byte[11]; } public static class NET_DVR_SMARTIR_PARAM extends HIKSDKStructure { public byte byMode;//0~手动,1~自动 public byte byIRDistance;//红外è·ç¦»ç‰çº§(ç‰çº§ï¼Œè·ç¦»æ£æ¯”例)level:1~100 默认:50(手动模å¼ä¸‹å¢žåŠ ) public byte byShortIRDistance;// è¿‘å…‰ç¯è·ç¦»ç‰çº§(1~100) public byte byLongIRDistance;// 远光ç¯è·ç¦»ç‰çº§(1~100) } public static class NET_DVR_PIRIS_PARAM extends HIKSDKStructure { public byte byMode;//0-自动,1-手动 public byte byPIrisAperture;//红外光圈大å°ç‰çº§(ç‰çº§,光圈大å°æ£æ¯”例)level:1~100 默认:50(手动模å¼ä¸‹å¢žåŠ ) public byte[] byRes = new byte[6]; } public static class NET_DVR_LASER_PARAM_CFG extends HIKSDKStructure { public byte byControlMode; //æŽ§åˆ¶æ¨¡å¼ 0-æ— æ•ˆï¼Œ1-自动,2-手动 默认自动 public byte bySensitivity; //激光ç¯çµæ•åº¦ 0-100 默认50 public byte byTriggerMode; //激光ç¯è§¦å‘æ¨¡å¼ 0-æ— æ•ˆï¼Œ1-机芯触å‘,2-å…‰æ•è§¦å‘ é»˜è®¤æœºèŠ¯è§¦å‘ public byte byBrightness; //控制模å¼ä¸ºæ‰‹åŠ¨æ¨¡å¼ä¸‹æœ‰æ•ˆï¼›æ¿€å…‰ç¯äº®åº¦ 0-255 默认100 public byte byAngle; //激光ç¯è§’度 0-æ— æ•ˆï¼ŒèŒƒå›´1-36 默认12,激光ç¯ç…§å°„范围为一个圆圈,调节激光角度是调节这个圆的åŠå¾„çš„å¤§å° public byte byLimitBrightness; //控制模å¼ä¸ºè‡ªåŠ¨æ¨¡å¼ä¸‹æœ‰æ•ˆï¼›æ¿€å…‰ç¯äº®åº¦é™åˆ¶ 0~100 (新增)2014-01-26 public byte byEnabled; //手动控制激光ç¯ä½¿èƒ½ 0-å…³é—,1-å¯åŠ¨ public byte byIllumination; //激光ç¯å¼ºåº¦é…ç½®0~100 public byte byLightAngle; //补光角度 0~100 public byte[] byRes = new byte[7]; //ä¿ç•™ } public static class NET_DVR_FFC_PARAM extends HIKSDKStructure { //1-Schedule Mode,2-Temperature Mode, 3-Off public byte byMode; //(时间:按能力显示,å•ä½åˆ†é’Ÿï¼Œé€‰é¡¹æœ‰10,20,30,40,50,60,120,180,240) public byte byRes1; public short wCompensateTime; //定时模å¼ä¸‹ç”Ÿæ•ˆ public byte[] byRes2 = new byte[4]; } public static class NET_DVR_DDE_PARAM extends HIKSDKStructure { public byte byMode;//1-Off,2-Normal Mode,3-Expert Mode public byte byNormalLevel;//普通模å¼ç‰çº§èŒƒå›´[1,100],普通模å¼ä¸‹ç”Ÿæ•ˆ public byte byExpertLevel;//专家模å¼ç‰çº§èŒƒå›´[1,100],专家模å¼ä¸‹ç”Ÿæ•ˆ public byte[] byRes = new byte[5]; } public static class NET_DVR_AGC_PARAM extends HIKSDKStructure { public byte bySceneType;//1-Normal Sence,2-Highlight Sence,3-Manual Sence public byte byLightLevel;//亮度ç‰çº§[1,100];手动模å¼ä¸‹ç”Ÿæ•ˆ public byte byGainLevel; //增益ç‰çº§[1,100];手动模å¼ä¸‹ç”Ÿæ•ˆ public byte[] byRes = new byte[5]; } public static class NET_DVR_SNAP_CAMERAPARAMCFG extends HIKSDKStructure { public byte byWDRMode; // 宽动æ€æ¨¡å¼;0~å…³é—,1~æ•°å—å®½åŠ¨æ€ 2~å®½åŠ¨æ€ public byte byWDRType; // 宽动æ€åˆ‡æ¢æ¨¡å¼; 0~强制å¯ç”¨ï¼Œ1~按时间å¯ç”¨ï¼Œ2~按亮度å¯ç”¨ public byte byWDRLevel; // 宽动æ€ç‰çº§ï¼Œ0~6索引对应1-7,默认索引2(å³3级); public byte byRes1; public NET_DVR_TIME_EX struStartTime = new NET_DVR_TIME_EX(); //开始宽动æ€æ—¶é—´ public NET_DVR_TIME_EX struEndTime = new NET_DVR_TIME_EX(); //结æŸå®½åŠ¨æ€æ—¶é—´ public byte byDayNightBrightness; //日夜转æ¢äº®åº¦é˜ˆå€¼ï¼Œ0-100,默认50ï¼› //记忆色增强 public byte byMCEEnabled;//记忆色增强使能,true:开å¯ï¼Œfalseï¼šå…³é— public byte byMCELevel;//记忆色增强强度,0~100,默认值50 //自动对比度 public byte byAutoContrastEnabled;//自动对比度使能,true:开å¯ï¼Œfalseï¼šå…³é— public byte byAutoContrastLevel;//自动对比ç‰çº§ï¼ˆ0-100),默认50 //细节增强 public byte byLSEDetailEnabled;//细节增强使能,true:开å¯ï¼Œfalseï¼šå…³é— public byte byLSEDetailLevel;//细节增强ç‰çº§ï¼ˆ0-100),默认50 // License Plate Definition Enhancement车牌增强 public byte byLPDEEnabled;//车牌增强使能,true:开å¯ï¼Œfalseï¼šå…³é— public byte byLPDELevel;//车牌增强ç‰çº§ï¼ˆ0-100),默认50 //对比度增强 public byte byLseEnabled; //对比度增强使能,true:开å¯ï¼Œfalseï¼šå…³é— public byte byLseLevel; //对比度增强ç‰çº§ï¼ˆ0-100),默认0 public byte byLSEHaloLevel;//光晕抑制ç‰çº§ã€‚范围 0-100,默认0 public byte byLseType; //对比度增强切æ¢æ¨¡å¼; 0~强制å¯ç”¨ï¼Œ1~按时间å¯ç”¨ï¼Œ2~按亮度å¯ç”¨ï¼ˆè¯¥å—段å¯åŒæ—¶æŽ§åˆ¶byLseLevelã€byLSEHaloLevel两个å‚数) public byte[] byRes2 = new byte[3]; public NET_DVR_TIME_EX struLSEStartTime = new NET_DVR_TIME_EX(); //开始对比度增强时间(当byLseType为1时生效) public NET_DVR_TIME_EX struLSEEndTime = new NET_DVR_TIME_EX(); //结æŸå¯¹æ¯”度增强时间(当byLseType为1时生效) public byte byLightLevel;//为亮度ç‰çº§å‚数(0-100),默认0,(当byLseType为2时生效) //车牌对比度 public byte byPlateContrastLevel;//车牌对比度ç‰çº§ï¼Œ0~100,默认0 //车牌饱和度 public byte byPlateSaturationLevel;//车牌饱和度ç‰çº§ï¼Œ0~100,默认0 public byte[] byRes = new byte[9]; } public static class NET_DVR_OPTICAL_DEHAZE extends HIKSDKStructure { public byte byEnable; //0~ä¸å¯ç”¨å…‰å¦é€é›¾ï¼Œ1~å¯ç”¨å…‰å¦é€é›¾ public byte[] byRes = new byte[7]; } public static class NET_DVR_THERMOMETRY_AGC extends HIKSDKStructure { public byte byMode;//AGC模å¼ï¼Œ0~æ— æ•ˆï¼Œ1~自动,2~手动 public byte byRes1[] = new byte[3]; public int iHighTemperature;//最高温度,范围为:-273~9999æ‘„æ°åº¦ï¼ˆ1~手动模å¼ä¸‹ç”Ÿæ•ˆï¼‰ public int iLowTemperature;//最低温度,范围为:-273~9999æ‘„æ°åº¦ï¼ˆ1~手动模å¼ä¸‹ç”Ÿæ•ˆï¼‰ public byte[] byRes = new byte[8]; } public static class NET_DVR_CHECK_DEV_STATE extends HIKSDKStructure { public int dwTimeout; //定时检测设备工作状æ€ï¼Œå•ä½ms,为0时,表示使用默认值(30000)。最å°å€¼ä¸º1000 public DEV_WORK_STATE_CB fnStateCB; Pointer pUserData; public byte[] byRes = new byte[60]; } public static class NET_DVR_FLOW_INFO extends HIKSDKStructure { public int dwSize; //ç»“æž„å¤§å° public int dwSendFlowSize; //å‘é€æµé‡å¤§å°,å•ä½kbps public int dwRecvFlowSize; //接收æµé‡å¤§å°,å•ä½kbps public byte[] byRes = new byte[20]; //ä¿ç•™ } public static class NET_DVR_AES_KEY_INFO extends HIKSDKStructure { public byte[] sAESKey = new byte[16]; /*ç æµåŠ 密密钥*/ public byte[] byRes = new byte[64]; /*ä¿ç•™å—节*/ } public static class NET_DVR_ALARM_RS485CFG extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public byte[] sDeviceName = new byte[NAME_LEN]; // å‰ç«¯è®¾å¤‡å称 public short wDeviceType; // å‰ç«¯è®¾å¤‡ç±»åž‹,通过NET_DVR_GetDeviceTypeListèŽ·å– public short wDeviceProtocol; // å‰ç«¯è®¾å¤‡åè®® 通过获å–åè®®åˆ—è¡¨èŽ·å– public int dwBaudRate; //波特率(bps),0-50,1-75,2-110,3-150,4-300,5-600,6-1200,7-2400,8-4800,9-9600,10-19200,11-38400,12-57600,13-76800,14-115.2k public byte byDataBit; // æ•°æ®æœ‰å‡ ä½ï¼š0-5ä½ï¼Œ1-6ä½ï¼Œ2-7ä½ï¼Œ3-8ä½ public byte byStopBit; // åœæ¢ä½ï¼š0-1ä½ï¼Œ1-2ä½ public byte byParity; //是å¦æ ¡éªŒï¼š0-æ— æ ¡éªŒï¼Œ1-å¥‡æ ¡éªŒï¼Œ2-å¶æ ¡éªŒ public byte byFlowcontrol; // 是å¦æµæŽ§ï¼š0-æ— ï¼Œ1-软æµæŽ§,2-硬æµæŽ§ public byte byDuplex; // 0 - åŠåŒå·¥1- å…¨åŒå·¥ åªæœ‰é€šé“1å¯ä»¥æ˜¯å…¨åŒå·¥å…¶ä»–都åªèƒ½æ˜¯åŠåŒå·¥ public byte byWorkMode; // å·¥ä½œæ¨¡å¼ 0-æŽ§åˆ¶å° 1-é€æ˜Žé€šé“,2-梯控,3-读å¡å™¨,4-é—¨ç¦å®‰å…¨æ¨¡å—,0xfe-自定义,0xff-ç¦ç”¨ public byte byChannel; //485通é“å· public byte bySerialType; //串å£ç±»åž‹: 0--485, 1--232 public byte byMode; //æ¨¡å¼ 0-连接读å¡å™¨ 1-连接客户端 2-è¿žæŽ¥æ‰©å±•æ¨¡å— 3-连接门ç¦ä¸»æœº 4-连接梯控主机 0xff-ç¦ç”¨ public byte byOutputDataType; //0-æ— æ•ˆï¼Œ1-输出å¡å·ï¼Œ2-è¾“å‡ºå·¥å· public byte byAddress; //串å£åœ°å€ public byte[] byRes = new byte[33]; // ä¿ç•™å—节 } public static class NET_DVR_ALARMHOST_RS485_SLOT_CFG extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public byte[] sDeviceName = new byte[NAME_LEN]; // å‰ç«¯è®¾å¤‡å称 public short wDeviceType; // å‰ç«¯è®¾å¤‡ç±»åž‹ALARM_FRONT_DEVICE _TYPE public byte wDeviceProtocol; // å‰ç«¯è®¾å¤‡åè®® 通过获å–åè®®åˆ—è¡¨èŽ·å– public short wAddress; //è®¾å¤‡åœ°å€ public byte byChannel; //485通é“å· public byte bySlotChan; //槽ä½å· public byte[] byRes = new byte[60]; // ä¿ç•™å—节 } public static class NET_DVR_VIDEOWALLDISPLAYPOSITION extends HIKSDKStructure { public int dwSize; public byte byEnable; public byte byCoordinateType;//åæ ‡ç±»åž‹ã€‚0-基准åæ ‡ï¼Œ1-实际åæ ‡ public byte[] byRes1 = new byte[2]; //墙å·,1å—节墙å·ï¼ˆé«˜å—节,对于åˆç 器设备,为åˆç 通é“å·ï¼‰+3å—节ä¿ç•™ public int dwVideoWallNo; public int dwDisplayNo;//æ˜¾ç¤ºè¾“å‡ºå· //åæ ‡é¡»ä¸ºåŸºå‡†åæ ‡çš„æ•´æ•°å€ï¼ˆ1920*1920),宽度和高度值ä¸ç”¨è®¾ç½®ï¼Œå³ä¸ºåŸºå‡†å€¼ public NET_DVR_RECTCFG_EX struRectCfg; public byte[] byRes2 = new byte[64]; } public static final int MAX_DISPLAY_NUM = 512; //最大显示输出个数 public static class NET_DVR_DISPLAYCFG extends HIKSDKStructure { public int dwSize; public NET_DVR_DISPLAYPARAM[] struDisplayParam = new NET_DVR_DISPLAYPARAM[MAX_DISPLAY_NUM]; public byte[] byRes2 = new byte[128]; } public static class NET_DVR_DISPLAYPARAM extends HIKSDKStructure { public int dwDisplayNo; public byte byDispChanType; public byte[] byRes = new byte[11]; } public static class NET_DVR_WALLOUTPUTPARAM extends HIKSDKStructure { public int dwSize; public int dwResolution; //分辨率 public NET_DVR_VIDEOEFFECT struRes; public byte byVideoFormat; //视频制å¼ï¼Œè§VIDEO_STANDARD public byte byDisplayMode;/*输出连接模å¼,1-BNC,2-VGA,3-HDMI,4-DVI,5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVI自适应,0xff-æ— æ•ˆ*/ public byte byBackgroundColor; //背景色,0-æ— æ•ˆï¼Œä¸æ”¯æŒèƒŒæ™¯è‰²ï¼Œ1-红,2-绿,3-è“,4-黄,5-紫,6-é’,7-黑,8-白,0xff-自定义 public byte byUseEDIDResolution; //是å¦ä½¿ç”¨EDID分辨率,0-ä¸ä½¿ç”¨ï¼Œ1-使用 public short wLEDWidth; //LEDå±è¾“出分辨率宽 public short wLEDHeight; //LEDå±è¾“出分辨率高 public NET_DVR_RGB_COLOR struBackColor;//背景色,byBackgroundColor为0xff时有效 public byte byLinkStatus;//输出å£è¿žæŽ¥çŠ¶æ€ï¼Œ0-æ— æ•ˆ,1-接入显示器,2-未接入显示器 public byte[] byRes2 = new byte[51]; } public static class WALLOUTPUTPARAM_ARRAY extends HIKSDKStructure { public NET_DVR_WALLOUTPUTPARAM[] strWalloutputParm; public WALLOUTPUTPARAM_ARRAY(int iLen) { strWalloutputParm = new NET_DVR_WALLOUTPUTPARAM[iLen]; } } /*** * API函数声明,详细说明è§API手册 ***/ public static interface FRealDataCallBack_V30 extends Callback { public void invoke(int lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, Pointer pUser); } public static interface FMSGCallBack extends Callback { public void invoke(int lCommand, NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser); } public static interface FMSGCallBack_V31 extends Callback { public boolean invoke(int lCommand, NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser); } public static interface FMessCallBack extends Callback { public boolean invoke(int lCommand, String sDVRIP, String pBuf, int dwBufLen); } public static interface FMessCallBack_EX extends Callback { public boolean invoke(int lCommand, int lUserID, String pBuf, int dwBufLen); } public static interface FMessCallBack_NEW extends Callback { public boolean invoke(int lCommand, String sDVRIP, String pBuf, int dwBufLen, short dwLinkDVRPort); } public static interface FMessageCallBack extends Callback { public boolean invoke(int lCommand, String sDVRIP, String pBuf, int dwBufLen, int dwUser); } public static interface FExceptionCallBack extends Callback { public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser); } public static interface FDrawFun extends Callback { public void invoke(int lRealHandle, W32API.HDC hDc, int dwUser); } public static interface FStdDataCallBack extends Callback { public void invoke(int lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, int dwUser); } public static interface FPlayDataCallBack extends Callback { public void invoke(int lPlayHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, int dwUser); } public static interface FPlayESCallBack extends Callback { public void invoke(int lPlayHandle, NET_DVR_PACKET_INFO_EX struPackInfo, Pointer pUser); } public static interface FVoiceDataCallBack extends Callback { public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, int dwUser); } public static interface FVoiceDataCallBack_V30 extends Callback { public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, Pointer pUser); } public static interface FVoiceDataCallBack_MR extends Callback { public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, int dwUser); } public static interface FVoiceDataCallBack_MR_V30 extends Callback { public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, Pointer pUser); } public static interface FVoiceDataCallBack2 extends Callback { public void invoke(String pRecvDataBuffer, int dwBufSize, Pointer pUser); } public static interface FSerialDataCallBack extends Callback { public void invoke(int lSerialHandle, String pRecvDataBuffer, int dwBufSize, int dwUser); } public static interface FRowDataCallBack extends Callback { public void invoke(int lUserID, String sIPAddr, int lRowAmout, String pRecvDataBuffer, int dwBufSize, int dwUser); } public static interface FColLocalDataCallBack extends Callback { public void invoke(int lUserID, String sIPAddr, int lColumnAmout, String pRecvDataBuffer, int dwBufSize, int dwUser); } public static interface FColGlobalDataCallBack extends Callback { public void invoke(int lUserID, String sIPAddr, int lColumnAmout, String pRecvDataBuffer, int dwBufSize, int dwUser); } public static interface FJpegdataCallBack extends Callback { public int invoke(int lCommand, int lUserID, String sDVRIP, String sJpegName, String pJpegBuf, int dwBufLen, int dwUser); } public static interface FPostMessageCallBack extends Callback { public int invoke(int dwType, int lIndex); } public static interface DEV_WORK_STATE_CB extends Callback { public boolean invoke(Pointer pUserdata, int iUserID, NET_DVR_WORKSTATE_V40 lpWorkState); } public static interface FLOWTESTCALLBACK extends Callback { public void invoke(int lFlowHandle, NET_DVR_FLOW_INFO pFlowInfo, Pointer pUser); } boolean NET_DVR_Init(); boolean NET_DVR_Cleanup(); static boolean NET_DVR_SetSDKInitCfg(int enumType, Pointer lpInBuff) { return true; } boolean NET_DVR_SetSDKLocalCfg(int enumType, Pointer lpInBuff); boolean NET_DVR_GetSDKLocalCfg(int enumType, Pointer lpOutBuff); boolean NET_DVR_SetDVRMessage(int nMessage, int hWnd); //NET_DVR_SetDVRMessage的扩展 boolean NET_DVR_SetExceptionCallBack_V30(int nMessage, int hWnd, FExceptionCallBack fExceptionCallBack, Pointer pUser); boolean NET_DVR_SetDVRMessCallBack(FMessCallBack fMessCallBack); boolean NET_DVR_SetDVRMessCallBack_EX(FMessCallBack_EX fMessCallBack_EX); //2007-04-16å¢žåŠ æŸ¥è¯¢ç»“æžœå¸¦å¡å·çš„文件查找 int NET_DVR_FindNextFile_Card(int lFindHandle, NET_DVR_FINDDATA_CARD lpFindData); int NET_DVR_FindFile_Card(int lUserID, int lChannel, int dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime); boolean NET_DVR_LockFileByName(int lUserID, String sLockFileName); boolean NET_DVR_UnlockFileByName(int lUserID, String sUnlockFileName); int NET_DVR_PlayBackByName(int lUserID, String sPlayBackFileName, HWND hWnd); int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, HWND hWnd); int NET_DVR_PlayBackByTime_V40(int lUserID, NET_DVR_VOD_PARA pVodPara); boolean NET_DVR_PlayBackControl(int lPlayHandle, int dwControlCode, int dwInValue, IntByReference LPOutValue); boolean NET_DVR_PlayBackControl_V40(int lPlayHandle, int dwControlCode, Pointer lpInBuffer, int dwInLen, Pointer lpOutBuffer, IntByReference lpOutLen); boolean NET_DVR_StopPlayBack(int lPlayHandle); boolean NET_DVR_SetPlayDataCallBack(int lPlayHandle, FPlayDataCallBack fPlayDataCallBack, int dwUser); boolean NET_DVR_SetPlayBackESCallBack(int lPlayHandle, FPlayESCallBack fPlayESCallBack, Pointer pUser); boolean NET_DVR_PlayBackSaveData(int lPlayHandle, String sFileName); boolean NET_DVR_StopPlayBackSave(int lPlayHandle); boolean NET_DVR_GetPlayBackOsdTime(int lPlayHandle, NET_DVR_TIME lpOsdTime); boolean NET_DVR_PlayBackCaptureFile(int lPlayHandle, String sFileName); int NET_DVR_GetFileByName(int lUserID, String sDVRFileName, byte[] sSavedFileName); int NET_DVR_GetFileByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, String sSavedFileName); int NET_DVR_GetFileByTime_V40(int lUserID, String sSavedFileName, NET_DVR_PLAYCOND pDownloadCond); boolean NET_DVR_StopGetFile(int lFileHandle); int NET_DVR_GetDownloadPos(int lFileHandle); int NET_DVR_GetPlayBackPos(int lPlayHandle); //图片查找 int NET_DVR_FindPicture(int lUserID, NET_DVR_FIND_PICTURE_PARAM pFindParam); int NET_DVR_FindNextPicture_V50(int lFindHandle, NET_DVR_FIND_PICTURE_V50 lpFindData); int NET_DVR_FindNextPicture(int lFindHandle, NET_DVR_FIND_PICTURE lpFindData); boolean NET_DVR_CloseFindPicture(int lFindHandle); boolean NET_DVR_GetPicture_V50(int lUserID, NET_DVR_PIC_PARAM lpPicParam); boolean NET_DVR_SetDVRMessCallBack_NEW(FMessCallBack_NEW fMessCallBack_NEW); boolean NET_DVR_SetDVRMessageCallBack(FMessageCallBack fMessageCallBack, int dwUser); boolean NET_DVR_SetDVRMessageCallBack_V30(FMSGCallBack fMessageCallBack, Pointer pUser); boolean NET_DVR_SetDVRMessageCallBack_V31(FMSGCallBack_V31 fMessageCallBack, Pointer pUser); boolean NET_DVR_SetDVRMessageCallBack_V50(int iIndex, FMSGCallBack_V31 fMessageCallBack, Pointer pUser); boolean NET_DVR_SetConnectTime(int dwWaitTime, int dwTryTimes); boolean NET_DVR_SetReconnect(int dwInterval, boolean bEnableRecon); int NET_DVR_GetSDKVersion(); int NET_DVR_GetSDKBuildVersion(); int NET_DVR_IsSupport(); boolean NET_DVR_StartListen(String sLocalIP, short wLocalPort); boolean NET_DVR_StopListen(); int NET_DVR_StartListen_V30(String sLocalIP, short wLocalPort, FMSGCallBack_V31 DataCallBack, Pointer pUserData); boolean NET_DVR_StopListen_V30(int lListenHandle); int NET_DVR_Login(String sDVRIP, short wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO lpDeviceInfo); int NET_DVR_Login_V30(String sDVRIP, short wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO_V30 lpDeviceInfo); int NET_DVR_Login_V40(NET_DVR_USER_LOGIN_INFO pLoginInfo, NET_DVR_DEVICEINFO_V40 lpDeviceInfo); boolean NET_DVR_Logout(NativeLong lUserID); boolean NET_DVR_Logout_V30(int lUserID); int NET_DVR_GetLastError(); String NET_DVR_GetErrorMsg(IntByReference pErrorNo); boolean NET_DVR_SetShowMode(int dwShowType, int colorKey); boolean NET_DVR_GetDVRIPByResolveSvr(String sServerIP, short wServerPort, String sDVRName, short wDVRNameLen, String sDVRSerialNumber, short wDVRSerialLen, String sGetIP); boolean NET_DVR_GetDVRIPByResolveSvr_EX(String sServerIP, short wServerPort, String sDVRName, short wDVRNameLen, String sDVRSerialNumber, short wDVRSerialLen, String sGetIP, IntByReference dwPort); //é¢„è§ˆç›¸å…³æŽ¥å£ int NET_DVR_RealPlay(int lUserID, NET_DVR_CLIENTINFO lpClientInfo); int NET_DVR_RealPlay_V30(int lUserID, NET_DVR_CLIENTINFO lpClientInfo, FRealDataCallBack_V30 fRealDataCallBack_V30, Pointer pUser, boolean bBlocked); int NET_DVR_RealPlay_V40(int lUserID, NET_DVR_PREVIEWINFO lpPreviewInfo, FRealDataCallBack_V30 fRealDataCallBack_V30, Pointer pUser); boolean NET_DVR_StopRealPlay(int lRealHandle); boolean NET_DVR_RigisterDrawFun(int lRealHandle, FDrawFun fDrawFun, int dwUser); boolean NET_DVR_SetPlayerBufNumber(int lRealHandle, int dwBufNum); boolean NET_DVR_ThrowBFrame(int lRealHandle, int dwNum); boolean NET_DVR_SetAudioMode(int dwMode); boolean NET_DVR_OpenSound(int lRealHandle); boolean NET_DVR_CloseSound(); boolean NET_DVR_OpenSoundShare(int lRealHandle); boolean NET_DVR_CloseSoundShare(int lRealHandle); boolean NET_DVR_Volume(int lRealHandle, short wVolume); boolean NET_DVR_SaveRealData(int lRealHandle, String sFileName); boolean NET_DVR_StopSaveRealData(int lRealHandle); boolean NET_DVR_SetRealDataCallBack(int lRealHandle, FRowDataCallBack fRealDataCallBack, int dwUser); boolean NET_DVR_SetStandardDataCallBack(int lRealHandle, FStdDataCallBack fStdDataCallBack, int dwUser); boolean NET_DVR_CapturePicture(int lRealHandle, String sPicFileName);//bmp //动æ€ç”ŸæˆI帧 boolean NET_DVR_MakeKeyFrame(int lUserID, int lChannel);//主ç æµ boolean NET_DVR_MakeKeyFrameSub(int lUserID, int lChannel);//åç æµ //云å°æŽ§åˆ¶ç›¸å…³æŽ¥å£ boolean NET_DVR_PTZControl(int lRealHandle, int dwPTZCommand, int dwStop); boolean NET_DVR_PTZControl_Other(int lUserID, int lChannel, int dwPTZCommand, int dwStop); boolean NET_DVR_TransPTZ(int lRealHandle, String pPTZCodeBuf, int dwBufSize); boolean NET_DVR_TransPTZ_Other(int lUserID, int lChannel, String pPTZCodeBuf, int dwBufSize); boolean NET_DVR_PTZPreset(int lRealHandle, int dwPTZPresetCmd, int dwPresetIndex); boolean NET_DVR_PTZPreset_Other(int lUserID, int lChannel, int dwPTZPresetCmd, int dwPresetIndex); boolean NET_DVR_TransPTZ_EX(int lRealHandle, String pPTZCodeBuf, int dwBufSize); boolean NET_DVR_PTZControl_EX(int lRealHandle, int dwPTZCommand, int dwStop); boolean NET_DVR_PTZPreset_EX(int lRealHandle, int dwPTZPresetCmd, int dwPresetIndex); boolean NET_DVR_PTZCruise(int lRealHandle, int dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, short wInput); boolean NET_DVR_PTZCruise_Other(int lUserID, int lChannel, int dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, short wInput); boolean NET_DVR_PTZCruise_EX(int lRealHandle, int dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, short wInput); boolean NET_DVR_PTZTrack(int lRealHandle, int dwPTZTrackCmd); boolean NET_DVR_PTZTrack_Other(int lUserID, int lChannel, int dwPTZTrackCmd); boolean NET_DVR_PTZTrack_EX(int lRealHandle, int dwPTZTrackCmd); boolean NET_DVR_PTZControlWithSpeed(int lRealHandle, int dwPTZCommand, int dwStop, int dwSpeed); boolean NET_DVR_PTZControlWithSpeed_Other(int lUserID, int lChannel, int dwPTZCommand, int dwStop, int dwSpeed); boolean NET_DVR_PTZControlWithSpeed_EX(int lRealHandle, int dwPTZCommand, int dwStop, int dwSpeed); boolean NET_DVR_GetPTZCruise(int lUserID, int lChannel, int lCruiseRoute, NET_DVR_CRUISE_RET lpCruiseRet); boolean NET_DVR_PTZMltTrack(int lRealHandle, int dwPTZTrackCmd, int dwTrackIndex); boolean NET_DVR_PTZMltTrack_Other(int lUserID, int lChannel, int dwPTZTrackCmd, int dwTrackIndex); boolean NET_DVR_PTZMltTrack_EX(int lRealHandle, int dwPTZTrackCmd, int dwTrackIndex); //文件查找与回放 int NET_DVR_FindFile(int lUserID, int lChannel, int dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime); int NET_DVR_FindNextFile(int lFindHandle, NET_DVR_FIND_DATA lpFindData); boolean NET_DVR_FindClose(int lFindHandle); int NET_DVR_FindNextFile_V30(int lFindHandle, NET_DVR_FINDDATA_V30 lpFindData); int NET_DVR_FindFile_V30(int lUserID, NET_DVR_FILECOND pFindCond); int NET_DVR_FindFile_V40(int lUserID, NET_DVR_FILECOND_V40 pFindCond); int NET_DVR_FindNextFile_V40(int lFindHandle, NET_DVR_FINDDATA_V40 lpFindData); int NET_DVR_FindFile_V50(int lUserID, NET_DVR_FILECOND_V50 pFindCond); int NET_DVR_FindNextFile_V50(int lFindHandle, NET_DVR_FINDDATA_V50 lpFindData); boolean NET_DVR_FindClose_V30(int lFindHandle); //按事件查找 int NET_DVR_FindFileByEvent(int lUserID, NET_DVR_SEARCH_EVENT_PARAM lpSearchEventParam); int NET_DVR_FindNextEvent(int lSearchHandle, NET_DVR_SEARCH_EVENT_RET lpSearchEventRet); int NET_DVR_FindFileByEvent_V50(int lUserID, NET_DVR_SEARCH_EVENT_PARAM_V50 lpSearchEventParam); int NET_DVR_FindNextEvent_V50(int lFindHandle, NET_DVR_SEARCH_EVENT_RET_V50 lpSearchEventRet); //å‡çº§ int NET_DVR_Upgrade(int lUserID, String sFileName); int NET_DVR_GetUpgradeState(int lUpgradeHandle); int NET_DVR_GetUpgradeProgress(int lUpgradeHandle); boolean NET_DVR_CloseUpgradeHandle(int lUpgradeHandle); boolean NET_DVR_SetNetworkEnvironment(int dwEnvironmentLevel); //è¿œç¨‹æ ¼å¼åŒ–硬盘 int NET_DVR_FormatDisk(int lUserID, int lDiskNumber); boolean NET_DVR_GetFormatProgress(int lFormatHandle, IntByReference pCurrentFormatDisk, IntByReference pCurrentDiskPos, IntByReference pFormatStatic); boolean NET_DVR_CloseFormatHandle(int lFormatHandle); //æŠ¥è¦ int NET_DVR_SetupAlarmChan(int lUserID); boolean NET_DVR_CloseAlarmChan(int lAlarmHandle); int NET_DVR_SetupAlarmChan_V30(int lUserID); int NET_DVR_SetupAlarmChan_V41(int lUserID, NET_DVR_SETUPALARM_PARAM lpSetupParam); int NET_DVR_SetupAlarmChan_V50(int iUserID, NET_DVR_SETUPALARM_PARAM_V50 lpSetupParam, Pointer pSub, int dwSubSize); boolean NET_DVR_CloseAlarmChan_V30(int lAlarmHandle); //è¯éŸ³å¯¹è®² int NET_DVR_StartVoiceCom(int lUserID, FVoiceDataCallBack fVoiceDataCallBack, int dwUser); int NET_DVR_StartVoiceCom_V30(int lUserID, int dwVoiceChan, boolean bNeedCBNoEncData, FVoiceDataCallBack_V30 fVoiceDataCallBack, Pointer pUser); boolean NET_DVR_SetVoiceComClientVolume(int lVoiceComHandle, short wVolume); boolean NET_DVR_StopVoiceCom(int lVoiceComHandle); //è¯éŸ³è½¬å‘ int NET_DVR_StartVoiceCom_MR(int lUserID, FVoiceDataCallBack_MR fVoiceDataCallBack, int dwUser); int NET_DVR_StartVoiceCom_MR_V30(int lUserID, int dwVoiceChan, FVoiceDataCallBack_MR_V30 fVoiceDataCallBack, Pointer pUser); boolean NET_DVR_VoiceComSendData(int lVoiceComHandle, byte[] pSendBuf, int dwBufSize); //è¯éŸ³å¹¿æ’ boolean NET_DVR_ClientAudioStart(); boolean NET_DVR_ClientAudioStart_V30(FVoiceDataCallBack2 fVoiceDataCallBack2, Pointer pUser); boolean NET_DVR_ClientAudioStop(); boolean NET_DVR_AddDVR(int lUserID); int NET_DVR_AddDVR_V30(int lUserID, int dwVoiceChan); boolean NET_DVR_DelDVR(int lUserID); boolean NET_DVR_DelDVR_V30(int lVoiceHandle); //////////////////////////////////////////////////////////// //é€æ˜Žé€šé“设置 int NET_DVR_SerialStart(int lUserID, int lSerialPort, FSerialDataCallBack fSerialDataCallBack, int dwUser); public static interface FSerialDataCallBack_V40 extends Callback { public void invoke(int lSerialHandle, int lCHannel, byte[] pRecvDataBuffer, int dwBufSize, Pointer pUser); } int NET_DVR_SerialStart_V40(int lUserID, Pointer lpInBuffer, int dwInBufferSize, FSerialDataCallBack_V40 fSerialDataCallBack_V40, Pointer pUser); //485作为é€æ˜Žé€šé“时,需è¦æŒ‡æ˜Žé€šé“å·ï¼Œå› 为ä¸åŒé€šé“å·485的设置å¯ä»¥ä¸åŒ(比如波特率) boolean NET_DVR_SerialSend(int lSerialHandle, int lChannel, byte[] pSendBuf, int dwBufSize); boolean NET_DVR_SerialStop(int lSerialHandle); boolean NET_DVR_SendTo232Port(int lUserID, String pSendBuf, int dwBufSize); boolean NET_DVR_SendToSerialPort(int lUserID, int dwSerialPort, int dwSerialIndex, String pSendBuf, int dwBufSize); //Win64ã€Linux32ã€Linux64 Pointer NET_DVR_InitG722Encoder(NET_DVR_AUDIOENC_INFO enc_info); boolean NET_DVR_EncodeG722Frame(Pointer handle, NET_DVR_AUDIOENC_PROCESS_PARAM param); void NET_DVR_ReleaseG722Encoder(Pointer pEncodeHandle); Pointer NET_DVR_InitG722Decoder(); boolean NET_DVR_DecodeG722Frame(Pointer handle, NET_DVR_AUDIODEC_PROCESS_PARAM param); void NET_DVR_ReleaseG722Decoder(Pointer pDecHandle); //G711: Win64ã€Linux32ã€Linux64 Pointer NET_DVR_InitG711Encoder(Pointer enc_info); //NET_DVR_AUDIOENC_INFO boolean NET_DVR_EncodeG711Frame(Pointer handle, NET_DVR_AUDIOENC_PROCESS_PARAM p_enc_proc_param); boolean NET_DVR_ReleaseG711Encoder(Pointer pEncodeHandle); Pointer NET_DVR_InitG711Decoder(); boolean NET_DVR_DecodeG711Frame(Pointer handle, NET_DVR_AUDIODEC_PROCESS_PARAM p_dec_proc_param); boolean NET_DVR_ReleaseG711Decoder(Pointer pDecHandle); //远程控制本地显示 boolean NET_DVR_ClickKey(int lUserID, int lKeyIndex); //è¿œç¨‹æŽ§åˆ¶è®¾å¤‡ç«¯æ‰‹åŠ¨å½•åƒ boolean NET_DVR_StartDVRRecord(int lUserID, int lChannel, int lRecordType); boolean NET_DVR_StopDVRRecord(int lUserID, int lChannel); //解ç å¡ boolean NET_DVR_InitDevice_Card(IntByReference pDeviceTotalChan); boolean NET_DVR_ReleaseDevice_Card(); boolean NET_DVR_InitDDraw_Card(int hParent, int colorKey); boolean NET_DVR_ReleaseDDraw_Card(); int NET_DVR_RealPlay_Card(int lUserID, NET_DVR_CARDINFO lpCardInfo, int lChannelNum); boolean NET_DVR_ResetPara_Card(int lRealHandle, NET_DVR_DISPLAY_PARA lpDisplayPara); boolean NET_DVR_RefreshSurface_Card(); boolean NET_DVR_ClearSurface_Card(); boolean NET_DVR_RestoreSurface_Card(); boolean NET_DVR_OpenSound_Card(int lRealHandle); boolean NET_DVR_CloseSound_Card(int lRealHandle); boolean NET_DVR_SetVolume_Card(int lRealHandle, short wVolume); boolean NET_DVR_AudioPreview_Card(int lRealHandle, boolean bEnable); int NET_DVR_GetCardLastError_Card(); Pointer NET_DVR_GetChanHandle_Card(int lRealHandle); boolean NET_DVR_CapturePicture_Card(int lRealHandle, String sPicFileName); //获å–解ç å¡åºåˆ—å·æ¤æŽ¥å£æ— 效,改用GetBoardDetail接å£èŽ·å¾—(2005-12-08支æŒ) boolean NET_DVR_GetSerialNum_Card(int lChannelNum, IntByReference pDeviceSerialNo); //日志 int NET_DVR_FindDVRLog(int lUserID, int lSelectMode, int dwMajorType, int dwMinorType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime); int NET_DVR_FindNextLog(int lLogHandle, NET_DVR_LOG lpLogData); boolean NET_DVR_FindLogClose(int lLogHandle); int NET_DVR_FindDVRLog_V30(int lUserID, int lSelectMode, int dwMajorType, int dwMinorType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, boolean bOnlySmart); int NET_DVR_FindNextLog_V30(int lLogHandle, NET_DVR_LOG_V30 lpLogData); boolean NET_DVR_FindLogClose_V30(int lLogHandle); //截æ¢2004å¹´8月5æ—¥,å…±113ä¸ªæŽ¥å£ //ATM DVR int NET_DVR_FindFileByCard(int lUserID, int lChannel, int dwFileType, int nFindType, String sCardNumber, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime); //截æ¢2004å¹´10月5æ—¥,å…±116ä¸ªæŽ¥å£ //2023-04-28 lirm boolean NET_DVR_CaptureJPEGPicture(NativeLong nlUserID, NativeLong nChannel, NET_DVR_JPEGPARA lpJpegPara, String path); //JPEGæŠ“å›¾åˆ°å†…å˜ boolean NET_DVR_CaptureJPEGPicture_NEW(int lUserID, int lChannel, NET_DVR_JPEGPARA lpJpegPara, Pointer sJpegPicBuffer, int dwPicSize, IntByReference lpSizeReturned); //带全å±æµ‹æ¸©æ•°æ®çš„设备抓图 boolean NET_DVR_CaptureJPEGPicture_WithAppendData(int lUserID, int iChannelNum, NET_DVR_JPEGPICTURE_WITH_APPENDDATA m_strJpegWithAppendData); //2006-02-16 int NET_DVR_GetRealPlayerIndex(int lRealHandle); int NET_DVR_GetPlayBackPlayerIndex(int lPlayHandle); //2006-08-28 704-640 缩放é…ç½® boolean NET_DVR_SetScaleCFG(int lUserID, int dwScale); boolean NET_DVR_GetScaleCFG(int lUserID, IntByReference lpOutScale); boolean NET_DVR_SetScaleCFG_V30(int lUserID, NET_DVR_SCALECFG pScalecfg); boolean NET_DVR_GetScaleCFG_V30(int lUserID, NET_DVR_SCALECFG pScalecfg); //2006-08-28 ATM机端å£è®¾ç½® boolean NET_DVR_SetATMPortCFG(int lUserID, short wATMPort); boolean NET_DVR_GetATMPortCFG(int lUserID, ShortByReference LPOutATMPort); //2006-11-10 支æŒæ˜¾å¡è¾…助输出 boolean NET_DVR_InitDDrawDevice(); boolean NET_DVR_ReleaseDDrawDevice(); int NET_DVR_GetDDrawDeviceTotalNums(); boolean NET_DVR_SetDDrawDevice(int lPlayPort, int nDeviceNum); boolean NET_DVR_PTZSelZoomIn(int lRealHandle, NET_DVR_POINT_FRAME pStruPointFrame); boolean NET_DVR_PTZSelZoomIn_EX(int lUserID, int lChannel, NET_DVR_POINT_FRAME pStruPointFrame); boolean NET_DVR_FocusOnePush(int lUserID, int lChannel); //解ç 设备DS-6001D/DS-6001F boolean NET_DVR_StartDecode(int lUserID, int lChannel, NET_DVR_DECODERINFO lpDecoderinfo); boolean NET_DVR_StopDecode(int lUserID, int lChannel); boolean NET_DVR_GetDecoderState(int lUserID, int lChannel, NET_DVR_DECODERSTATE lpDecoderState); //2005-08-01 boolean NET_DVR_SetDecInfo(int lUserID, int lChannel, NET_DVR_DECCFG lpDecoderinfo); boolean NET_DVR_GetDecInfo(int lUserID, int lChannel, NET_DVR_DECCFG lpDecoderinfo); boolean NET_DVR_SetDecTransPort(int lUserID, NET_DVR_PORTCFG lpTransPort); boolean NET_DVR_GetDecTransPort(int lUserID, NET_DVR_PORTCFG lpTransPort); boolean NET_DVR_DecPlayBackCtrl(int lUserID, int lChannel, int dwControlCode, int dwInValue, IntByReference LPOutValue, NET_DVR_PLAYREMOTEFILE lpRemoteFileInfo); boolean NET_DVR_StartDecSpecialCon(int lUserID, int lChannel, NET_DVR_DECCHANINFO lpDecChanInfo); boolean NET_DVR_StopDecSpecialCon(int lUserID, int lChannel, NET_DVR_DECCHANINFO lpDecChanInfo); boolean NET_DVR_DecCtrlDec(int lUserID, int lChannel, int dwControlCode); boolean NET_DVR_DecCtrlScreen(int lUserID, int lChannel, int dwControl); boolean NET_DVR_GetDecCurLinkStatus(int lUserID, int lChannel, NET_DVR_DECSTATUS lpDecStatus); //多路解ç 器 //2007-11-30 V211支æŒä»¥ä¸‹æŽ¥å£ //11 boolean NET_DVR_MatrixStartDynamic(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo); boolean NET_DVR_MatrixStopDynamic(int lUserID, int dwDecChanNum); boolean NET_DVR_MatrixGetDecChanInfo(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_CHAN_INFO lpInter); boolean NET_DVR_MatrixSetLoopDecChanInfo(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO lpInter); boolean NET_DVR_MatrixGetLoopDecChanInfo(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO lpInter); boolean NET_DVR_MatrixSetLoopDecChanEnable(int lUserID, int dwDecChanNum, int dwEnable); boolean NET_DVR_MatrixGetLoopDecChanEnable(int lUserID, int dwDecChanNum, IntByReference lpdwEnable); boolean NET_DVR_MatrixGetLoopDecEnable(int lUserID, IntByReference lpdwEnable); boolean NET_DVR_MatrixSetDecChanEnable(int lUserID, int dwDecChanNum, int dwEnable); boolean NET_DVR_MatrixGetDecChanEnable(int lUserID, int dwDecChanNum, IntByReference lpdwEnable); boolean NET_DVR_MatrixGetDecChanStatus(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_CHAN_STATUS lpInter); boolean NET_DVR_MatrixStartDynamic_V41(int lUserID, int dwDecChanNum, Pointer lpDynamicInfo); boolean NET_DVR_MatrixGetLoopDecChanInfo_V41(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO_V41 lpOuter); boolean NET_DVR_MatrixSetLoopDecChanInfo_V41(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO_V41 lpInter); int NET_DVR_MatrixStartPassiveDecode(int lUserID, int dwDecChanNum, Pointer lpPassiveMode); boolean NET_DVR_MatrixSendData(int lPassiveHandle, Pointer pSendBuf, int dwBufSize); boolean NET_DVR_MatrixStopPassiveDecode(int lPassiveHandle); //2007-12-22 å¢žåŠ æ”¯æŒæŽ¥å£ //18 boolean NET_DVR_MatrixSetTranInfo(int lUserID, NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo); boolean NET_DVR_MatrixGetTranInfo(int lUserID, NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo); boolean NET_DVR_MatrixSetRemotePlay(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter); boolean NET_DVR_MatrixSetRemotePlayControl(int lUserID, int dwDecChanNum, int dwControlCode, int dwInValue, IntByReference LPOutValue); boolean NET_DVR_MatrixGetRemotePlayStatus(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter); //end boolean NET_DVR_RefreshPlay(int lPlayHandle); //æ¢å¤é»˜è®¤å€¼ boolean NET_DVR_RestoreConfig(int lUserID); //ä¿å˜å‚æ•° boolean NET_DVR_SaveConfig(int lUserID); //é‡å¯ boolean NET_DVR_RebootDVR(int lUserID); //å…³é—DVR boolean NET_DVR_ShutDownDVR(int lUserID); //å‚æ•°é…ç½® begin boolean NET_DVR_GetDeviceConfig(int lUserID, int dwCommand, int dwCount, Pointer lpInBuffer, int dwInBufferSize, Pointer lpStatusList, Pointer lpOutBuffer, int dwOutBufferSize); boolean NET_DVR_SetDeviceConfig(int lUserID, int dwCommand, int dwCount, Pointer lpInBuffer, int dwInBufferSize, Pointer lpStatusList, Pointer lpInParamBuffer, int dwInParamBufferSize); boolean NET_DVR_SetDeviceConfigEx(int lUserID, int dwCommand, int dwCount, Pointer lpInParam, Pointer lpOutParam); boolean NET_DVR_GetDVRConfig(int lUserID, int dwCommand, int lChannel, Pointer lpOutBuffer, int dwOutBufferSize, IntByReference lpBytesReturned); boolean NET_DVR_SetDVRConfig(int lUserID, int dwCommand, int lChannel, Pointer lpInBuffer, int dwInBufferSize); boolean NET_DVR_GetSTDConfig(int lUserID, int dwCommand, NET_DVR_STD_CONFIG lpConfigParam); boolean NET_DVR_SetSTDConfig(int lUserID, int dwCommand, NET_DVR_STD_CONFIG lpConfigParam); boolean NET_DVR_GetDVRWorkState_V30(int lUserID, NET_DVR_WORKSTATE_V30 lpWorkState); boolean NET_DVR_GetDVRWorkState(int lUserID, NET_DVR_WORKSTATE lpWorkState); boolean NET_DVR_SetVideoEffect(int lUserID, int lChannel, int dwBrightValue, int dwContrastValue, int dwSaturationValue, int dwHueValue); boolean NET_DVR_GetVideoEffect(int lUserID, int lChannel, IntByReference pBrightValue, IntByReference pContrastValue, IntByReference pSaturationValue, IntByReference pHueValue); boolean NET_DVR_ClientGetframeformat(int lUserID, NET_DVR_FRAMEFORMAT lpFrameFormat); boolean NET_DVR_ClientSetframeformat(int lUserID, NET_DVR_FRAMEFORMAT lpFrameFormat); boolean NET_DVR_ClientGetframeformat_V30(int lUserID, NET_DVR_FRAMEFORMAT_V30 lpFrameFormat); boolean NET_DVR_ClientSetframeformat_V30(int lUserID, NET_DVR_FRAMEFORMAT_V30 lpFrameFormat); boolean NET_DVR_GetAlarmOut_V30(int lUserID, NET_DVR_ALARMOUTSTATUS_V30 lpAlarmOutState); boolean NET_DVR_GetAlarmOut(int lUserID, NET_DVR_ALARMOUTSTATUS lpAlarmOutState); boolean NET_DVR_SetAlarmOut(int lUserID, int lAlarmOutPort, int lAlarmOutStatic); //视频å‚数调节 boolean NET_DVR_ClientSetVideoEffect(int lRealHandle, int dwBrightValue, int dwContrastValue, int dwSaturationValue, int dwHueValue); boolean NET_DVR_ClientGetVideoEffect(int lRealHandle, IntByReference pBrightValue, IntByReference pContrastValue, IntByReference pSaturationValue, IntByReference pHueValue); //é…置文件 boolean NET_DVR_GetConfigFile(int lUserID, String sFileName); boolean NET_DVR_SetConfigFile(int lUserID, String sFileName); boolean NET_DVR_GetConfigFile_V30(int lUserID, String sOutBuffer, int dwOutSize, IntByReference pReturnSize); boolean NET_DVR_GetConfigFile_EX(int lUserID, String sOutBuffer, int dwOutSize); boolean NET_DVR_SetConfigFile_EX(int lUserID, String sInBuffer, int dwInSize); //å¯ç”¨æ—¥å¿—æ–‡ä»¶å†™å…¥æŽ¥å£ boolean NET_DVR_SetLogToFile(int bLogEnable, String strLogDir, boolean bAutoDel); boolean NET_DVR_GetSDKState(NET_DVR_SDKSTATE pSDKState); boolean NET_DVR_GetSDKAbility(NET_DVR_SDKABL pSDKAbl); boolean NET_DVR_GetPTZProtocol(int lUserID, NET_DVR_PTZCFG pPtzcfg); //å‰é¢æ¿é”定 boolean NET_DVR_LockPanel(int lUserID); boolean NET_DVR_UnLockPanel(int lUserID); boolean NET_DVR_SetRtspConfig(int lUserID, int dwCommand, NET_DVR_RTSPCFG lpInBuffer, int dwInBufferSize); boolean NET_DVR_GetRtspConfig(int lUserID, int dwCommand, NET_DVR_RTSPCFG lpOutBuffer, int dwOutBufferSize); boolean NET_DVR_ContinuousShoot(int lUserID, NET_DVR_SNAPCFG lpInter); boolean NET_DVR_ManualSnap(int lUserID, NET_DVR_MANUALSNAP lpInter, NET_DVR_PLATE_RESULT lpOuter); public static interface FRemoteConfigCallBack extends Callback { public void invoke(int dwType, Pointer lpBuffer, int dwBufLen, Pointer pUserData); } int NET_DVR_StartRemoteConfig(int lUserID, int dwCommand, Pointer lpInBuffer, int dwInBufferLen, FRemoteConfigCallBack cbStateCallBack, Pointer pUserData); boolean NET_DVR_SendRemoteConfig(int lHandle, int dwDataType, Pointer pSendBuf, int dwBufSize); int NET_DVR_GetNextRemoteConfig(int lHandle, Pointer lpOutBuff, int dwOutBuffSize); int NET_DVR_SendWithRecvRemoteConfig(int lHandle, Pointer lpInBuff, int dwInBuffSize, Pointer lpOutBuff, int dwOutBuffSize, IntByReference dwOutDataLen); boolean NET_DVR_StopRemoteConfig(int lHandle); boolean NET_DVR_RemoteControl(int lUserID, int dwCommand, Pointer lpInBuffer, int dwInBufferSize); boolean NET_DVR_STDXMLConfig(int lUserID, NET_DVR_XML_CONFIG_INPUT lpInputParam, NET_DVR_XML_CONFIG_OUTPUT lpOutputParam); boolean NET_DVR_GetSTDAbility(int lUserID, int dwAbilityType, NET_DVR_STD_ABILITY lpAbilityParam); boolean NET_DVR_GetDeviceAbility(int lUserID, int dwAbilityType, Pointer pInBuf, int dwInLength, Pointer pOutBuf, int dwOutLength); boolean NET_DVR_ControlGateway(int lUserID, int lGatewayIndex, int dwStaic); boolean NET_DVR_InquestStartCDW_V30(int lUserID, NET_DVR_INQUEST_ROOM lpInquestRoom, boolean bNotBurn); boolean NET_DVR_InquestStopCDW_V30(int lUserID, NET_DVR_INQUEST_ROOM lpInquestRoom, boolean bCancelWrite); boolean NET_DVR_GetArrayList(int lUserID, NET_DVR_ARRAY_LIST lpArrayList); int NET_DVR_InquestResumeEvent(int lUserID, NET_DVR_INQUEST_RESUME_EVENT lpResumeEvent); boolean NET_DVR_InquestGetResumeProgress(int lHandle, IntByReference pState); boolean NET_DVR_InquestStopResume(int lHandle); boolean NET_DVR_GetLocalIP(byte[] strIP, IntByReference pValidNum, boolean pEnableBind); boolean NET_DVR_SetValidIP(int dwIPIndex, boolean bEnableBind); boolean NET_DVR_AlarmHostAssistantControl(int lUserID, int dwType, int dwNumber, int dwCmdParam); boolean NET_DVR_GetPlanList(int lUserID, int dwDevNum, NET_DVR_PLAN_LIST lpPlanList); int NET_DVR_UploadFile_V40(int lUserID, int dwUploadType, Pointer lpInBuffer, int dwInBufferSize, String sFileName, Pointer lpOutBuffer, int dwOutBufferSize); int NET_DVR_UploadSend(int lUploadHandle, NET_DVR_SEND_PARAM_IN pstruSendParamIN, Pointer lpOutBuffer); int NET_DVR_GetUploadState(int lUploadHandle, Pointer pProgress); boolean NET_DVR_GetUploadResult(int lUploadHandle, Pointer lpOutBuffer, int dwOutBufferSize); boolean NET_DVR_UploadClose(int lUploadHandle); int NET_DVR_StartNetworkFlowTest(int lUserID, NET_DVR_FLOW_TEST_PARAM pFlowTest, FLOWTESTCALLBACK fFlowTestCallback, Pointer pUser); boolean NET_DVR_StopNetworkFlowTest(int lHandle); boolean NET_DVR_InquiryRecordTimeSpan(int lUserID, int dwChannel, NET_DVR_RECORD_TIME_SPAN_INQUIRY lpInquiry, NET_DVR_RECORD_TIME_SPAN lpResult); boolean NET_DVR_StartGetDevState(NET_DVR_CHECK_DEV_STATE pParams); //gps相关结构定义 public static class TimeSegParam extends HIKSDKStructure { //GPSæ•°æ®æŸ¥æ‰¾èµ·å§‹æ—¶é—´ public NET_DVR_TIME struBeginTime; //GPSæ•°æ®æŸ¥æ‰¾ç»“æŸæ—¶é—´ public NET_DVR_TIME struEndTime; //GPS点时间间隔,å•ä½ï¼šç§’ public int dwInterval; //ä¿ç•™ public byte[] byRes = new byte[76]; } //按时间点查询 public static class TimePointParam extends HIKSDKStructure { //GPSæ•°æ®æŸ¥æ‰¾æ—¶é—´ç‚¹ public NET_DVR_TIME struTimePoint; //ä¿ç•™ public byte[] byRes = new byte[104]; } public static class GpsDataParamUion extends Union { //按时间段查询 public TimeSegParam timeSeg = new TimeSegParam(); //按时间点查询 public TimePointParam timePoint = new TimePointParam(); } //gps查询å‚数定义 public static class NET_DVR_GET_GPS_DATA_PARAM extends HIKSDKStructure { //查找方å¼ï¼š0- 按时间段查找GPSæ•°æ®ï¼Œ1- 按时间点查找GPSæ•°æ® public int dwCmdType; public GpsDataParamUion gpsDataParam; public void read() { super.read(); switch (dwCmdType) { case 0: gpsDataParam.setType(TimeSegParam.class); break; case 1: gpsDataParam.setType(TimePointParam.class); break; default: break; } gpsDataParam.read(); } public void write() { super.write(); gpsDataParam.write(); } } //gpsæ•°æ®ç»“构定义 public static class NET_DVR_GPS_INFO extends HIKSDKStructure { public byte[] byDirection = new byte[2]; public byte bySvs; public byte byLocateMode; public short wHDOP; public short wHeight; public int dwLatitude; public int dwLongitude; public int dwVehicleSpeed; public int dwVehicleDirection; public byte[] byRes = new byte[8]; } //gps返回数æ®ç»“构定义 public static class NET_DVR_GPS_DATA extends HIKSDKStructure { public NET_DVR_GPS_INFO struGPSInfo; public NET_DVR_TIME struTime; public byte[] byRes = new byte[12]; } public static interface fGPSDataCallback extends Callback { public void invoke(int nHandle, int dwState, Pointer lpBuffer, int dwBufLen, Pointer pUser); } int NET_DVR_GetVehicleGpsInfo(int lUserID, NET_DVR_GET_GPS_DATA_PARAM lpGPSDataParam, fGPSDataCallback cbGPSDataCallBack, Pointer pUser); /** * çƒæˆåƒç›¸å…³ */ //è®¾å¤‡æŠ“å›¾é™„åŠ å…¨å±æµ‹æ¸©æ•°æ®ç»“构体 public static class NET_DVR_JPEGPICTURE_WITH_APPENDDATA extends HIKSDKStructure { public int dwSize; public int dwChannel;//通é“å· public int dwJpegPicLen;//Jpeg图片长度 public Pointer pJpegPicBuff;//Jpeg图片指针 public int dwJpegPicWidth; // 图åƒå®½åº¦ public int dwJpegPicHeight; //图åƒé«˜åº¦ public int dwP2PDataLen;//å…¨å±æµ‹æ¸©æ•°æ®é•¿åº¦ public Pointer pP2PDataBuff; //å…¨å±æµ‹æ¸©æ•°æ®æŒ‡é’ˆ public byte byIsFreezedata;//是å¦æ•°æ®å†»ç»“ 0-å¦ 1-是 public byte[] byRes = new byte[255]; } public static class DATE_TIME extends HIKSDKStructure { public short year; /*APP->DSP å¹´*/ public short month; /*APP->DSP 月*/ public short dayOfWeek; /*APP->DSP 0:星期日-6:星期å…*/ public short day; /*APP->DSP æ—¥*/ public short hour; /*APP->DSP å°æ—¶*/ public short minute; /*APP->DSP 分钟*/ public short second; /*APP->DSP 秒*/ public short milliSecond; /*APP->DSP 毫秒*/ } //å…¨å±æµ‹æ¸©æ•°æ®è§£æž public static class STREAM_RT_DATA_INFO_S extends HIKSDKStructure { public int u32RTDataType; // 1-14bit裸数æ®; 2-å…¨å±æµ‹æ¸©ç»“果数æ®; 3-YUVæ•°æ® public int u32FrmNum; public int u32StdStamp; //DSP相对时间戳 public DATE_TIME stTime; //ç»å¯¹æ—¶é—´æˆ³ public int u32Width; public int u32Height; public int u32Len; public int u32Fps; public int u32Chan; } public static class STREAM_FS_SUPPLE_INFO_TEMP extends HIKSDKStructure { public int u32TmDataMode; /* 0为4å—节,1为2å—节 */ public int u32TmScale; /* 测温缩放比例 */ public int u32TmOffset; /* 测温å移é‡ï¼Œå½“å‰å›ºå®šä¸º0 */ public int byIsFreezedata; /*是å¦æ˜¯å†»ç»“æ•°æ®ï¼Œ1:冻结,0:éžå†»ç»“*/ } public static class STREAM_FARME_INFO_TEMP extends HIKSDKStructure { public int u32MagicNo; //0x70827773 "FRMI"çš„asciiç public int u32HeaderSize; //结构体长度 public int u32StreamType; //æ•°æ®ç±»åž‹ï¼š h264/h265, JPEG, Audio, MetaData, RTData: å‚è§ STREAM_TYPE_E public int u32StreamLen; //æ•°æ®é•¿åº¦ public STREAM_RT_DATA_INFO_S stRTDataInfo; public STREAM_FS_SUPPLE_INFO_TEMP stFsSuppleInfo; public int[] res = new int[12]; public int u32CrcVal; //ç»“æž„ä½“æ ¡éªŒç 对结构体å‰é¢æ•°æ®è¿›è¡Œæ ¡éªŒ } //æµ‹æ¸©è§„åˆ™æ¸©åº¦ä¿¡æ¯ public static class NET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO extends HIKSDKStructure { public float fMaxTemperature; public float fMinTemperature; public float fAverageTemperature; public NET_VCA_POINT struHighestPoint; public NET_VCA_POINT struLowestPoint; public byte byIsFreezedata; public byte[] byRes = new byte[15]; } public static class REMOTECONFIGSTATUS_THERMOMETRY extends HIKSDKStructure { public byte[] byStatus = new byte[4]; public byte[] byErrorCode = new byte[4]; } public static class NET_DVR_FIREDETECTION_ALARM extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public int dwRelativeTime; //ç›¸å¯¹æ—¶æ ‡ public int dwAbsTime; //ç»å¯¹æ—¶æ ‡ public NET_VCA_DEV_INFO struDevInfo; //å‰ç«¯è®¾å¤‡ä¿¡æ¯ public short wPanPos; public short wTiltPos; public short wZoomPos; public byte byPicTransType; //图片数æ®ä¼ 输方å¼: 0-二进制;1-url public byte byRes1; public int dwPicDataLen; //报è¦æŠ“æ‹å›¾ç‰‡é•¿åº¦ public Pointer pBuffer; //æ•°æ®æŒ‡é’ˆ public NET_VCA_RECT struRect; //ç«ç‚¹æ¡† public NET_VCA_POINT struPoint; //ç«ç‚¹æ¡†å†…最高温度点åæ ‡ public short wFireMaxTemperature; //ç«ç‚¹æœ€é«˜æ¸©åº¦[300℃~4000℃] public short wTargetDistance; //ç›®æ ‡è·ç¦»[100m ~ 10000m] public byte byStrategyType; //ç–略类型;0~ä»»æ„报è¦ï¼Œ1~ååŒæŠ¥è¦ï¼Œ2~多系统报è¦ï¼Œ3~指定ç«ç‚¹æŠ¥è¦ï¼Œ4~æŒ‡å®šçƒŸé›¾æŠ¥è¦ public byte byAlarmSubType; //报è¦å类型。0~ç«ç‚¹æ£€æµ‹æŠ¥è¦ï¼Œ1~烟雾检测报è¦ï¼Œ2~烟ç«æŠ¥è¦ /*是å¦å¯ç”¨PTZåæ ‡æ‰©å±•ï¼Œ 0~ä¸å¯ç”¨ï¼ŒPTZåæ ‡å€¼ä»¥wPanPosã€wTiltPosã€wZoomPos为准。 1~å¯ç”¨ï¼ŒPTZåæ ‡å€¼ä»¥struPtzPosEx为准。但是新è€PTZ都需返回。struPtzPosEx的值需转化为wPanPosã€wTiltPosã€wZoomPos值。 */ public byte byPTZPosExEnable; public byte byRes2; public NET_PTZ_INFO struPtzPosEx; // ptzåæ ‡æ‰©å±•(支æŒé«˜ç²¾åº¦PTZ值,精确到å°æ•°ç‚¹åŽä¸‰ä½) public int dwVisiblePicLen; // å¯è§å…‰å›¾ç‰‡é•¿åº¦ public Pointer pVisiblePicBuf; // å¯è§å…‰å›¾ç‰‡æ•°æ®æŒ‡é’ˆ // pSmokeBufå‚数当byAlarmSubType报è¦å类型为1(烟雾检测报è¦ï¼‰ã€2(烟ç«æŠ¥è¦ï¼‰æ—¶ç”Ÿæ•ˆã€‚ public Pointer pSmokeBuf; //烟雾检测报è¦æ•°æ®æŒ‡é’ˆï¼ŒæŒ‡å‘一个NET_DVR_SMOKEDETECTION_ALARM结构体 public short wDevInfoIvmsChannelEx; //与NET_VCA_DEV_INFO里的byIvmsChannelå«ä¹‰ç›¸åŒï¼Œèƒ½è¡¨ç¤ºæ›´å¤§çš„值。è€å®¢æˆ·ç«¯ç”¨byIvmsChannel能继ç»å…¼å®¹ï¼Œä½†æ˜¯æœ€å¤§åˆ°255。新客户端版本请使用wDevInfoIvmsChannelEx。 public byte byRes3; public byte byFireScanWaitMode; //ç«ç‚¹æ‰«æç‰å¾…æ¨¡å¼ 0-自动 1-手动 public int dwVisibleChannel; //å¯è§å…‰é€šé“通é“å· public byte byTimeDiffFlag; //时差å—段是å¦æœ‰æ•ˆ 0-æ—¶å·®æ— æ•ˆï¼Œ 1-时差有效 public char cTimeDifferenceH; //与UTC的时差(å°æ—¶ï¼‰ï¼Œ-12 ... +14, +表示东区,,byTimeDiffFlag为1时有效 public char cTimeDifferenceM; //与UTC的时差(分钟),-30, 30, 45, +表示东区,byTimeDiffFlag为1时有效 public byte[] byRes = new byte[49]; } //模å—æœåŠ¡é…置结构体 public static class NET_DVR_DEVSERVER_CFG extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public byte byIrLampServer; //红外ç¯è®¾ç½®ï¼š0- ç¦ç”¨ï¼Œ1- å¯ç”¨ public byte bytelnetServer; //telnet设置:0- ç¦ç”¨ï¼Œ1- å¯ç”¨ public byte byABFServer; //ABF设置:0- å¯ç”¨ï¼Œ1- ç¦ç”¨ï¼Œè¯·æ³¨æ„æ¤å¤„å‚æ•°å–值0ã€1和其他å‚æ•°å–值å«ä¹‰ä¸åŒ public byte byEnableLEDStatus; //状æ€æŒ‡ç¤ºç¯æŽ§åˆ¶ï¼š0- ç¦ç”¨ï¼Œ1- å¯ç”¨ public byte byEnableAutoDefog; //自动除雾控制:0- å¯ç”¨ï¼Œ1- ç¦ç”¨ï¼Œè¯·æ³¨æ„æ¤å¤„å‚æ•°å–值0ã€1和其他å‚æ•°å–值å«ä¹‰ä¸åŒ public byte byEnableSupplementLight; //补光ç¯æŽ§åˆ¶ï¼š0- å¯ç”¨ï¼Œ1- ç¦ç”¨ï¼Œè¯·æ³¨æ„æ¤å¤„å‚æ•°å–值0ã€1和其他å‚æ•°å–值å«ä¹‰ä¸åŒ public byte byEnableDeicing; //除冰功能:0- å…³é—,1- å¼€å¯ public byte byEnableVisibleMovementPower; //å¯è§å…‰æœºèŠ¯ç”µæºå¼€å…³(低功耗模å¼ä¸‹æœ‰æ•ˆ):0- å…³é—,1- å¼€å¯ public byte byEnableThermalMovementPower; //çƒæˆåƒæœºèŠ¯ç”µæºå¼€å…³(低功耗模å¼ä¸‹æœ‰æ•ˆ):0- å…³é—,1- å¼€å¯ public byte byEnablePtzPower; //云å°ç”µæºå¼€å…³(低功耗模å¼ä¸‹æœ‰æ•ˆ):0- å…³é—,1- å¼€å¯ public byte byPowerSavingControl; //低功耗ç–略:0- ä¿ç•™ï¼Œ1- ä¼‘çœ æ¨¡å¼ï¼Œ2-低功耗模å¼(低功耗模å¼ä¸‹ï¼Œå¯è§å…‰æœºèŠ¯ç”µæºã€çƒæˆåƒæœºèŠ¯ç”µæºã€äº‘å°ç”µæºæŽ§åˆ¶ç”Ÿæ•ˆï¼‰ public byte byCaptureWithSupplimentLightEnabled; //å¯ç”¨æŠ“æ‹è¡¥å…‰ä½¿èƒ½ 0-å…³é—,1-å¼€å¯ public byte[] byRes = new byte[244]; //ä¿ç•™ï¼Œç½®ä¸º0 } public static final int MAX_UPLOADFILE_URL_LEN = 240; public static final int IMPORT_DATA_TO_FACELIB = 39; //导入人脸数æ®ï¼ˆäººè„¸å›¾ç‰‡+å›¾ç‰‡é™„ä»¶ä¿¡æ¯ åˆ°è®¾å¤‡äººè„¸åº“ï¼‰ public static class NET_DVR_UPLOAD_FILE_RET extends HIKSDKStructure { public byte[] sUrl = new byte[MAX_UPLOADFILE_URL_LEN]; //url public byte[] byRes = new byte[260]; } public static class NET_DVR_FLOW_TEST_PARAM extends HIKSDKStructure { public int dwSize; //ç»“æž„å¤§å° public int lCardIndex; //网å¡ç´¢å¼• public int dwInterval; //è®¾å¤‡ä¸Šä¼ æµé‡æ—¶é—´é—´éš”, å•ä½:100ms public byte[] byRes = new byte[8]; //ä¿ç•™å—节 } public static class NET_DVR_RECORD_TIME_SPAN_INQUIRY extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public byte byType; //0 æ£å¸¸éŸ³è§†é¢‘录åƒ, 1图片通é“录åƒ, 2ANR通é“录åƒ, 3抽帧通é“å½•åƒ public byte[] byRes = new byte[63]; } public static class NET_DVR_RECORD_TIME_SPAN extends HIKSDKStructure { public int dwSize; //ç»“æž„ä½“å¤§å° public NET_DVR_TIME strBeginTime; //开始时间 public NET_DVR_TIME strEndTime; //结æŸæ—¶é—´ public byte byType; //0 æ£å¸¸éŸ³è§†é¢‘录åƒ, 1图片通é“录åƒ, 2ANR通é“录åƒ, 3抽帧通é“å½•åƒ public byte[] byRes = new byte[35]; //ä¿ç•™ } /* * 月历录åƒåˆ†å¸ƒæŸ¥è¯¢æ¡ä»¶ç»“构体 */ public static class NET_DVR_MRD_SEARCH_PARAM extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public NET_DVR_STREAM_INFO struStreamInfo = new NET_DVR_STREAM_INFO(); // 监控点 public short wYear; // å¹´ public byte byMonth; // 月 public byte byDrawFrame; // 0-ä¸æŠ½å¸§ 1-抽帧 public byte byStreamType; //0-主ç æµ 1-åç æµ public byte byLocalOrUTC; //0-设备本地时区 1-UTC public byte[] byRes = new byte[30]; } /* * 月历录åƒåˆ†å¸ƒæŸ¥è¯¢ç»“果结构体 */ public static class NET_DVR_MRD_SEARCH_RESULT extends HIKSDKStructure { public int dwSize; // ç»“æž„ä½“å¤§å° public byte[] byRecordDistribution = new byte[32]; // 录åƒåˆ†å¸ƒï¼ŒbyRecordDistribution[0]=1表示1æ—¥å˜åœ¨å½•åƒï¼ŒbyRecordDistribution[0]=0表示没有录åƒï¼ŒbyRecordDistribution[1]表示2日,以æ¤ç±»æŽ¨ public byte[] byHasEventRecode = new byte[31]; //äº‹ä»¶å½•åƒ 0-æ— äº‹ä»¶å½•åƒï¼Œ1-æœ‰äº‹ä»¶å½•åƒ public byte byRes; //ä¿ç•™ } public static final int NET_DVR_GET_GISINFO = 3711; //GISä¿¡æ¯ public static class NET_DVR_GIS_INFO extends HIKSDKStructure { public int dwSize; public float fAzimuth; public float fHorizontalValue; public float fVerticalValue; public float fVisibleRadius; public float fMaxViewRadius; public byte byLatitudeType; public byte byLongitudeType; public byte byPTZPosExEnable; public byte byRes1; public NET_DVR_LLI_PARAM struLatitude = new NET_DVR_LLI_PARAM(); public NET_DVR_LLI_PARAM struLongitude = new NET_DVR_LLI_PARAM(); public NET_DVR_PTZPOS_PARAM struPtzPos = new NET_DVR_PTZPOS_PARAM(); public NET_DVR_SENSOR_PARAM struSensorParam = new NET_DVR_SENSOR_PARAM(); public NET_PTZ_INFO struPtzPosEx = new NET_PTZ_INFO(); public float fMinHorizontalValue; public float fMaxHorizontalValue; public float fMinVerticalValue; public float fMaxVerticalValue; public byte[] byRes = new byte[220]; } //GBT28181å议的设备编ç 通é“é…ç½® public static class NET_DVR_GBT28181_CHANINFO_CFG extends HIKSDKStructure { public int dwSize; public byte[] szVideoChannelNumID = new byte[64];//设备视频通é“ç¼–ç ID:64å—节å—符串,仅é™æ•°å— public byte[] byRes = new byte[256]; } // 巡航路径é…ç½®æ¡ä»¶ç»“构体 public static class NET_DVR_CRUISEPOINT_COND extends HIKSDKStructure { public int dwSize; public int dwChan; public short wRouteNo; public byte[] byRes = new byte[30]; } // 巡航路径é…置结构体 public static class NET_DVR_CRUISEPOINT_V40 extends HIKSDKStructure { public int dwSize; public NET_DVR_CRUISEPOINT_PARAM[] struCruisePoint = (NET_DVR_CRUISEPOINT_PARAM[]) new NET_DVR_CRUISEPOINT_PARAM().toArray(128); public byte[] byRes = new byte[64]; } // 巡航路径é…置结构体 public static class NET_DVR_CRUISEPOINT_V50 extends HIKSDKStructure { public int dwSize; public NET_DVR_CRUISEPOINT_PARAM[] struCruisePoint = (NET_DVR_CRUISEPOINT_PARAM[]) new NET_DVR_CRUISEPOINT_PARAM().toArray(256); public byte[] byRes = new byte[64]; } // 巡航点å‚数结构体 public static class NET_DVR_CRUISEPOINT_PARAM extends HIKSDKStructure { public short wPresetNo; public short wDwell; public byte bySpeed; public byte bySupport256PresetNo; public byte[] byRes = new byte[6]; } } //æ’放库函数声明,PlayCtrl.dll interface PlayCtrl extends Library { public static final int STREAME_REALTIME = 0; public static final int STREAME_FILE = 1; boolean PlayM4_GetPort(IntByReference nPort); boolean PlayM4_OpenStream(int nPort, ByteByReference pFileHeadBuf, int nSize, int nBufPoolSize); boolean PlayM4_InputData(int nPort, ByteByReference pBuf, int nSize); boolean PlayM4_CloseStream(int nPort); boolean PlayM4_SetStreamOpenMode(int nPort, int nMode); boolean PlayM4_Play(int nPort, HWND hWnd); boolean PlayM4_Stop(int nPort); boolean PlayM4_SetSecretKey(int nPort, int lKeyType, String pSecretKey, int lKeyLen); boolean PlayM4_GetPictureSize(int nPort, IntByReference pWidth, IntByReference pHeight); boolean PlayM4_GetJPEG(int nPort, Pointer pBitmap, int nBufSize, IntByReference pBmpSize); int PlayM4_GetLastError(int nPort); boolean PlayM4_SetDecCallBackExMend(int nPort, DecCallBack decCBFun, Pointer pDest, int nDestSize, int nUser); public static interface DecCallBack extends Callback { void invoke(int nPort, Pointer pBuf, int nSize, FRAME_INFO pFrameInfo, int nReserved1, int nReserved2); } public class FRAME_INFO extends HIKSDKStructure { public int nWidth; /* ç”»é¢å®½ï¼Œå•ä½åƒç´ 。如果是音频数æ®ï¼Œåˆ™ä¸ºéŸ³é¢‘声é“æ•° */ public int nHeight; /* ç”»é¢é«˜ï¼Œå•ä½åƒç´ 。如果是音频数æ®ï¼Œåˆ™ä¸ºæ ·ä½çŽ‡ */ public int nStamp; /* æ—¶æ ‡ä¿¡æ¯ï¼Œå•ä½æ¯«ç§’ */ public int nType; /* æ•°æ®ç±»åž‹ï¼ŒT_AUDIO16, T_RGB32, T_YV12 */ public int nFrameRate; /* ç¼–ç 时产生的图åƒå¸§çŽ‡ï¼Œå¦‚果是音频数æ®åˆ™ä¸ºé‡‡æ ·çŽ‡ */ public int dwFrameNum; /* å¸§å· */ } } //windows gdi接å£,gdi32.dll in system32 folder, 在设置é®æŒ¡åŒºåŸŸ,移动侦测区域ç‰æƒ…况下使用 interface GDI32 extends W32API { GDI32 INSTANCE = (GDI32) Native.loadLibrary("gdi32", GDI32.class, DEFAULT_OPTIONS); public static final int TRANSPARENT = 1; int SetBkMode(HDC hdc, int i); HANDLE CreateSolidBrush(int icolor); } //windows user32接å£,user32.dll in system32 folder, 在设置é®æŒ¡åŒºåŸŸ,移动侦测区域ç‰æƒ…况下使用 interface USER32 extends W32API { USER32 INSTANCE = (USER32) Native.loadLibrary("user32", USER32.class, DEFAULT_OPTIONS); public static final int BF_LEFT = 0x0001; public static final int BF_TOP = 0x0002; public static final int BF_RIGHT = 0x0004; public static final int BF_BOTTOM = 0x0008; public static final int BDR_SUNKENOUTER = 0x0002; public static final int BF_RECT = (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM); boolean DrawEdge(HDC hdc, com.sun.jna.examples.win32.GDI32.RECT qrc, int edge, int grfFlags); int FillRect(HDC hDC, com.sun.jna.examples.win32.GDI32.RECT lprc, HANDLE hbr); }