12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643 |
- #include "stdafx.h"
- #define NET_DVR_API extern "C"__declspec(dllimport)
- #define NET_DVR_NOERROR 0 //没有错误
- #define NET_DVR_PASSWORD_ERROR 1 //用户名密码错误
- #define NET_DVR_NOENOUGHPRI 2 //权限不足
- #define NET_DVR_NOINIT 3 //没有初始化
- #define NET_DVR_CHANNEL_ERROR 4 //通道号错误
- #define NET_DVR_OVER_MAXLINK 5 //连接到DVR的客户端个数超过最大
- #define NET_DVR_VERSIONNOMATCH 6 //版本不匹配
- #define NET_DVR_NETWORK_FAIL_CONNECT 7 //连接服务器失败
- #define NET_DVR_NETWORK_SEND_ERROR 8 //向服务器发送失败
- #define NET_DVR_NETWORK_RECV_ERROR 9 //从服务器接收数据失败
- #define NET_DVR_NETWORK_RECV_TIMEOUT 10 //从服务器接收数据超时
- #define NET_DVR_NETWORK_ERRORDATA 11 //传送的数据有误
- #define NET_DVR_ORDER_ERROR 12 //调用次序错误
- #define NET_DVR_OPERNOPERMIT 13 //无此权限
- #define NET_DVR_COMMANDTIMEOUT 14 //DVR命令执行超时
- #define NET_DVR_ERRORSERIALPORT 15 //串口号错误
- #define NET_DVR_ERRORALARMPORT 16 //报警端口错误
- #define NET_DVR_PARAMETER_ERROR 17 //参数错误
- #define NET_DVR_CHAN_EXCEPTION 18 //服务器通道处于错误状态
- #define NET_DVR_NODISK 19 //没有硬盘
- #define NET_DVR_ERRORDISKNUM 20 //硬盘号错误
- #define NET_DVR_DISK_FULL 21 //服务器硬盘满
- #define NET_DVR_DISK_ERROR 22 //服务器硬盘出错
- #define NET_DVR_NOSUPPORT 23 //服务器不支持
- #define NET_DVR_BUSY 24 //服务器忙
- #define NET_DVR_MODIFY_FAIL 25 //服务器修改不成功
- #define NET_DVR_PASSWORD_FORMAT_ERROR 26 //密码输入格式不正确
- #define NET_DVR_DISK_FORMATING 27 //硬盘正在格式化,不能启动操作
- #define NET_DVR_DVRNORESOURCE 28 //DVR资源不足
- #define NET_DVR_DVROPRATEFAILED 29 //DVR操作失败
- #define NET_DVR_OPENHOSTSOUND_FAIL 30 //打开PC声音失败
- #define NET_DVR_DVRVOICEOPENED 31 //服务器语音对讲被占用
- #define NET_DVR_TIMEINPUTERROR 32 //时间输入不正确
- #define NET_DVR_NOSPECFILE 33 //回放时服务器没有指定的文件
- #define NET_DVR_CREATEFILE_ERROR 34 //创建文件出错
- #define NET_DVR_FILEOPENFAIL 35 //打开文件出错
- #define NET_DVR_OPERNOTFINISH 36 //上次的操作还没有完成
- #define NET_DVR_GETPLAYTIMEFAIL 37 //获取当前播放的时间出错
- #define NET_DVR_PLAYFAIL 38 //播放出错
- #define NET_DVR_FILEFORMAT_ERROR 39 //文件格式不正确
- #define NET_DVR_DIR_ERROR 40 //路径错误
- #define NET_DVR_ALLOC_RESOUCE_ERROR 41 //资源分配错误
- #define NET_DVR_AUDIO_MODE_ERROR 42 //声卡模式错误
- #define NET_DVR_NOENOUGH_BUF 43 //缓冲区太小
- #define NET_DVR_CREATESOCKET_ERROR 44 //创建SOCKET出错
- #define NET_DVR_SETSOCKET_ERROR 45 //设置SOCKET出错
- #define NET_DVR_MAX_NUM 46 //个数达到最大
- #define NET_DVR_USERNOTEXIST 47 //用户不存在
- #define NET_DVR_WRITEFLASHERROR 48 //写FLASH出错
- #define NET_DVR_UPGRADEFAIL 49 //DVR升级失败
- #define NET_DVR_CARDHAVEINIT 50 //解码卡已经初始化过
- #define NET_DVR_PLAYERFAILED 51 //播放器中错误
- #define NET_DVR_MAX_USERNUM 52 //用户数达到最大
- #define NET_DVR_GETLOCALIPANDMACFAIL 53 //获得客户端的IP地址或物理地址失败
- #define NET_DVR_NOENCODEING 54 //该通道没有编码
- #define NET_DVR_IPMISMATCH 55 //IP地址不匹配
- #define NET_DVR_MACMISMATCH 56 //MAC地址不匹配
- #define NET_DVR_UPGRADELANGMISMATCH 57 //升级文件语言不匹配
- #define NET_DVR_DDRAWDEVICENOSUPPORT 58 //本地显卡不支持
- //查找文件和日志函数返回值
- #define NET_DVR_FILE_SUCCESS 1000 //获得文件信息
- #define NET_DVR_FILE_NOFIND 1001 //没有文件
- #define NET_DVR_ISFINDING 1002 //正在查找文件
- #define NET_DVR_NOMOREFILE 1003 //查找文件时没有更多的文件
- #define NET_DVR_FILE_EXCEPTION 1004 //查找文件时异常
- //NET_DVR_IsSupport()返回值
- //1-9位分别表示以下信息(位与是TRUE)表示支持;
- #define NET_DVR_SUPPORT_DDRAW 0x01 //支持DIRECTDRAW,如果不支持,则播放器不能工作;
- #define NET_DVR_SUPPORT_BLT 0x02 //显卡支持BLT操作,如果不支持,则播放器不能工作;
- #define NET_DVR_SUPPORT_BLTFOURCC 0x04 //显卡BLT支持颜色转换,如果不支持,播放器会用软件方法作RGB转换;
- #define NET_DVR_SUPPORT_BLTSHRINKX 0x08 //显卡BLT支持X轴缩小;如果不支持,系统会用软件方法转换;
- #define NET_DVR_SUPPORT_BLTSHRINKY 0x10 //显卡BLT支持Y轴缩小;如果不支持,系统会用软件方法转换;
- #define NET_DVR_SUPPORT_BLTSTRETCHX 0x20 //显卡BLT支持X轴放大;如果不支持,系统会用软件方法转换;
- #define NET_DVR_SUPPORT_BLTSTRETCHY 0x40 //显卡BLT支持Y轴放大;如果不支持,系统会用软件方法转换;
- #define NET_DVR_SUPPORT_SSE 0x80 //CPU支持SSE指令,Intel Pentium3以上支持SSE指令;
- #define NET_DVR_SUPPORT_MMX 0x100 //CPU支持MMX指令集,Intel Pentium3以上支持SSE指令;
- #define SET_PRESET 8 // 设置预置点
- #define CLE_PRESET 9 // 清除预置点
- #define GOTO_PRESET 39 // 转到预置点
- #define LIGHT_PWRON 2 /* 接通灯光电源 */
- #define WIPER_PWRON 3 /* 接通雨刷开关 */
- #define FAN_PWRON 4 /* 接通风扇开关 */
- #define HEATER_PWRON 5 /* 接通加热器开关 */
- #define AUX_PWRON 6 /* 接通辅助设备开关 */
- #define ZOOM_IN 11 /* 焦距以速度SS变大(倍率变大) */
- #define ZOOM_OUT 12 /* 焦距以速度SS变小(倍率变小) */
- #define FOCUS_NEAR 13 /* 焦点以速度SS前调 */
- #define FOCUS_FAR 14 /* 焦点以速度SS后调 */
- #define IRIS_OPEN 15 /* 光圈以速度SS扩大 */
- #define IRIS_CLOSE 16 /* 光圈以速度SS缩小 */
- #define TILT_UP 21 /* 云台以SS的速度上仰 */
- #define TILT_DOWN 22 /* 云台以SS的速度下俯 */
- #define PAN_LEFT 23 /* 云台以SS的速度左转 */
- #define PAN_RIGHT 24 /* 云台以SS的速度右转 */
- #define UP_LEFT 25 /* 云台以SS的速度上仰和左转 */
- #define UP_RIGHT 26 /* 云台以SS的速度上仰和右转 */
- #define DOWN_LEFT 27 /* 云台以SS的速度下俯和左转 */
- #define DOWN_RIGHT 28 /* 云台以SS的速度下俯和右转 */
- #define PAN_AUTO 29 /* 云台以SS的速度左右自动扫描 */
- #define FILL_PRE_SEQ 30 /* 将预置点加入巡航序列 */
- #define SET_SEQ_DWELL 31 /* 设置巡航点停顿时间 */
- #define SET_SEQ_SPEED 32 /* 设置巡航速度 */
- #define CLE_PRE_SEQ 33 /* 将预置点从巡航序列中删除 */
- #define STA_MEM_CRUISE 34 /* 开始记录轨迹 */
- #define STO_MEM_CRUISE 35 /* 停止记录轨迹 */
- #define RUN_CRUISE 36 /* 开始轨迹 */
- #define RUN_SEQ 37 /* 开始巡航 */
- #define STOP_SEQ 38 /* 停止巡航 */
- //显示模式
- enum{NORMALMODE = 0,OVERLAYMODE};
- //发送模式
- enum{PTOPTCPMODE, PTOPUDPMODE, MULTIMODE, RTPMODE, AUDIODETACH, NOUSEMODE};
- #define NET_DVR_SYSHEAD 1 //系统头数据
- #define NET_DVR_STREAMDATA 2 //流数据
- //播放控制命令宏定义 NET_DVR_PlayBackControl,NET_DVR_PlayControlLocDisplay,NET_DVR_DecPlayBackCtrl的宏定义
- #define NET_DVR_PLAYSTART 1//开始播放
- #define NET_DVR_PLAYSTOP 2//停止播放
- #define NET_DVR_PLAYPAUSE 3//暂停播放
- #define NET_DVR_PLAYRESTART 4//恢复播放
- #define NET_DVR_PLAYFAST 5//快放
- #define NET_DVR_PLAYSLOW 6//慢放
- #define NET_DVR_PLAYNORMAL 7//正常速度
- #define NET_DVR_PLAYFRAME 8//单帧放
- #define NET_DVR_PLAYSTARTAUDIO 9//打开声音
- #define NET_DVR_PLAYSTOPAUDIO 10//关闭声音
- #define NET_DVR_PLAYAUDIOVOLUME 11//调节音量
- #define NET_DVR_PLAYSETPOS 12//改变文件回放的进度
- #define NET_DVR_PLAYGETPOS 13//获取文件回放的进度
- #define NET_DVR_PLAYGETTIME 14//获取当前已经播放的时间
- #define NET_DVR_PLAYGETFRAME 15//获取当前已经播放的帧数
- #define NET_DVR_GETTOTALFRAMES 16//获取当前播放文件总的帧数
- #define NET_DVR_GETTOTALTIME 17//获取当前播放文件总的时间
- #define NET_DVR_THROWBFRAME 20//丢B帧
- //NET_DVR_GetDVRConfig,NET_DVR_GetDVRConfig的命令定义
- #define NET_DVR_GET_DEVICECFG 100 //获取设备参数
- #define NET_DVR_SET_DEVICECFG 101 //设置设备参数
- #define NET_DVR_GET_NETCFG 102 //获取网络参数
- #define NET_DVR_SET_NETCFG 103 //设置网络参数
- #define NET_DVR_GET_PICCFG 104 //获取图象参数
- #define NET_DVR_SET_PICCFG 105 //设置图象参数
- #define NET_DVR_GET_COMPRESSCFG 106 //获取压缩参数
- #define NET_DVR_SET_COMPRESSCFG 107 //设置压缩参数
- #define NET_DVR_GET_COMPRESSCFG_EX 204 //获取压缩参数(扩展)
- #define NET_DVR_SET_COMPRESSCFG_EX 205 //设置压缩参数(扩展)
- #define NET_DVR_GET_RECORDCFG 108 //获取录像时间参数
- #define NET_DVR_SET_RECORDCFG 109 //设置录像时间参数
- #define NET_DVR_GET_DECODERCFG 110 //获取解码器参数
- #define NET_DVR_SET_DECODERCFG 111 //设置解码器参数
- #define NET_DVR_GET_RS232CFG 112 //获取232串口参数
- #define NET_DVR_SET_RS232CFG 113 //设置232串口参数
- #define NET_DVR_GET_ALARMINCFG 114 //获取报警输入参数
- #define NET_DVR_SET_ALARMINCFG 115 //设置报警输入参数
- #define NET_DVR_GET_ALARMOUTCFG 116 //获取报警输出参数
- #define NET_DVR_SET_ALARMOUTCFG 117 //设置报警输出参数
- #define NET_DVR_GET_TIMECFG 118 //获取DVR时间
- #define NET_DVR_SET_TIMECFG 119 //设置DVR时间
- #define NET_DVR_GET_PREVIEWCFG 120 //获取预览参数
- #define NET_DVR_SET_PREVIEWCFG 121 //设置预览参数
- #define NET_DVR_GET_VIDEOOUTCFG 122 //获取视频输出参数
- #define NET_DVR_SET_VIDEOOUTCFG 123 //设置视频输出参数
- #define NET_DVR_GET_USERCFG 124 //获取用户参数
- #define NET_DVR_SET_USERCFG 125 //设置用户参数
- #define NET_DVR_GET_EXCEPTIONCFG 126 //获取异常参数
- #define NET_DVR_SET_EXCEPTIONCFG 127 //设置异常参数
- #define NET_DVR_GET_SHOWSTRING 130 //获取叠加字符参数
- #define NET_DVR_SET_SHOWSTRING 131 //设置叠加字符参数
- #define NET_DVR_GET_EVENTCOMPCFG 132 //获取事件触发录像参数
- #define NET_DVR_SET_EVENTCOMPCFG 133 //设置事件触发录像参数
- #define NET_DVR_GET_AUXOUTCFG 140 //获取辅助输出设置
- #define NET_DVR_SET_AUXOUTCFG 141 //设置辅助输出设置
- //2006-04-13 -s系列双输出
- #define NET_DVR_GET_PREVIEWCFG_AUX 142 //获取预览参数
- #define NET_DVR_SET_PREVIEWCFG_AUX 143 //设置预览参数
- #define NET_DVR_GET_PICCFG_EX 200 //获取图象参数(扩展)
- #define NET_DVR_SET_PICCFG_EX 201 //设置图象参数(扩展)
- #define NET_DVR_GET_USERCFG_EX 202 //获取用户参数
- #define NET_DVR_SET_USERCFG_EX 203 //设置用户参数
- #define NET_DVR_GET_NETAPPCFG 222 //获取网络应用参数 NTP/DDNS
- #define NET_DVR_SET_NETAPPCFG 223 //设置网络应用参数 NTP/DDNS
- #define NET_DVR_GET_NFSCFG 230 /* NFS disk config */
- #define NET_DVR_SET_NFSCFG 231
- #define NET_DVR_GET_NETCFG_OTHER 244 //获取网络参数(多路解码器)
- #define NET_DVR_SET_NETCFG_OTHER 245 //设置网络参数(多路解码器)
- #define NET_DVR_GET_EMAILPARACFG 250 //Get EMAIL parameters
- #define NET_DVR_SET_EMAILPARACFG 251 //Setup EMAIL parameters
- //2008-03-15
- #define NET_DVR_GET_DDNSCFG_EX 274 //获取扩展DDNS参数
- #define NET_DVR_SET_DDNSCFG_EX 275 //设置扩展DDNS参数
- //回调函数类型
- #define COMM_ALARM 0x1100 //报警信息
- #define COMM_TRADEINFO 0x1500 //ATMDVR主动上传交易信息
- //消息方式
- //异常类型
- #define EXCEPTION_AUDIOEXCHANGE 0x8001 //语音对讲异常
- #define EXCEPTION_ALARM 0x8002 //报警异常
- #define EXCEPTION_PREVIEW 0x8003 //网络预览异常
- #define EXCEPTION_SERIAL 0x8004 //透明通道异常
- #define EXCEPTION_RECONNECT 0x8005 //预览时重连
- #define NAME_LEN 32
- #define SERIALNO_LEN 48
- #define MACADDR_LEN 6
- #define MAX_ETHERNET 2
- #define PATHNAME_LEN 128
- #define PASSWD_LEN 16
- #define MAX_CHANNUM 16
- #define MAX_ALARMOUT 4
- #define MAX_TIMESEGMENT 4
- #define MAX_PRESET 128
- #define MAX_DAYS 7
- #define PHONENUMBER_LEN 32
- #define MAX_DISKNUM 16
- #define MAX_WINDOW 16
- #define MAX_VGA 1
- #define MAX_USERNUM 16
- #define MAX_EXCEPTIONNUM 16
- #define MAX_LINK 6
- #define MAX_ALARMIN 16
- #define MAX_VIDEOOUT 2
- #define MAX_NAMELEN 16 //DVR本地登陆名
- #define MAX_RIGHT 32 //权限
- #define CARDNUM_LEN 20
- #define MAX_SHELTERNUM 4 //遮挡区域数
- #define MAX_DECPOOLNUM 4
- #define MAX_DECNUM 4
- #define MAX_TRANSPARENTNUM 2
- #define MAX_STRINGNUM 4
- #define MAX_AUXOUT 4
- #define MAX_NFS_DISK 8
- #define MAX_CYCLE_CHAN 16
- #define MAX_DOMAIN_NAME 64
- #define MAX_SERIAL_NUM 64
- /* 网络接口定义 */
- #define NET_IF_10M_HALF 1 /* 10M ethernet */
- #define NET_IF_10M_FULL 2
- #define NET_IF_100M_HALF 3 /* 100M ethernet */
- #define NET_IF_100M_FULL 4
- #define NET_IF_AUTO 5
- //设备型号(DVR类型)
- /* 设备类型 */
- #define DVR 1 /*对尚未定义的dvr类型返回NETRET_DVR*/
- #define ATMDVR 2 /*atm dvr*/
- #define DVS 3 /*DVS*/
- #define DEC 4 /* 6001D */
- #define ENC_DEC 5 /* 6001F */
- #define DVR_HC 6 /*8000HC*/
- #define DVR_HT 7 /*8000HT*/
- #define DVR_HF 8 /*8000HF*/
- #define DVR_HS 9 /* 8000HS DVR(no audio) */
- #define DVR_HTS 10 /* 8016HTS DVR(no audio) */
- #define DVR_HB 11 /* HB DVR(SATA HD) */
- #define DVR_HCS 12 /* 8000HCS DVR */
- #define DVS_A 13 /* 带ATA硬盘的DVS */
- #define DVR_HC_S 14 /* 8000HC-S */
- #define DVR_HT_S 15 /* 8000HT-S */
- #define DVR_HF_S 16 /* 8000HF-S */
- #define DVR_HS_S 17 /* 8000HS-S */
- #define ATMDVR_S 18 /* ATM-S */
- #define DVR_7000H 19 /*7000 DVR*/
- #define DEC_MAT 20 /*多路解码器*/
- #define DVR_MOBILE 21 /* mobile DVR */
- #define DVR_HD_S 22 /* 8000HD-S */
- #define DVR_HD_SL 23 /* 8000HD-SL */
- #define DVR_HC_SL 24 /* 8000HC-SL */
- #define DVR_HS_ST 25 /* 8000HS-ST */
- #define DVS_HW 26 /* 6000HW */
- #define IPCAM 30 /*IP 摄像机*/
- #define IPDOME 40 /*IP 快球*/
- #define IPMOD 50 /*IP 模块*/
- typedef struct {
- BYTE sSerialNumber[SERIALNO_LEN]; //序列号
- BYTE byAlarmInPortNum; //DVR报警输入个数
- BYTE byAlarmOutPortNum; //DVR报警输出个数
- BYTE byDiskNum; //DVR 硬盘个数
- BYTE byDVRType; //DVR类型,
- BYTE byChanNum; //DVR 通道个数
- BYTE byStartChan; //起始通道号,例如DVS-1,DVR - 1
- }NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO;
- //预览参数
- typedef struct{
- long bToScreen;
- long bToVideoOut;
- long nLeft;
- long nTop;
- long nWidth;
- long nHeight;
- long nReserved;
- }NET_DVR_DISPLAY_PARA,*LPNET_DVR_DISPLAY_PARA;
- typedef struct{
- LONG lChannel;//通道号
- LONG lLinkMode;//最高位(31)为0表示主码流,为1表示子码流,0-30位表示码流连接方式: 0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-音视频分开(TCP)
- HWND hPlayWnd;//播放窗口的句柄,为NULL表示不播放图象
- char* sMultiCastIP;//多播组地址
- }NET_DVR_CLIENTINFO,*LPNET_DVR_CLIENTINFO;
- typedef struct{
- LONG lChannel;//通道号
- LONG lLinkMode; //最高位(31)为0表示主码流,为1表示子码流,0-30位表示码流连接方式: 0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-电话线,5-128k宽带,6-256k宽带,7-384k宽带,8-512k宽带;
- char* sMultiCastIP;
- NET_DVR_DISPLAY_PARA struDisplayPara;
- }NET_DVR_CARDINFO,*LPNET_DVR_CARDINFO;
- typedef struct{
- DWORD dwYear; //年
- DWORD dwMonth; //月
- DWORD dwDay; //日
- DWORD dwHour; //时
- DWORD dwMinute; //分
- DWORD dwSecond; //秒
- }NET_DVR_TIME,*LPNET_DVR_TIME;
- typedef struct{
- //开始时间
- BYTE byStartHour;
- BYTE byStartMin;
- //结束时间
- BYTE byStopHour;
- BYTE byStopMin;
- }NET_DVR_SCHEDTIME,*LPNET_DVR_SCHEDTIME;
- /*处理方式*/
- #define NOACTION 0x0 /*无响应*/
- #define WARNONMONITOR 0x1 /*监视器上警告*/
- #define WARNONAUDIOOUT 0x2 /*声音警告*/
- #define UPTOCENTER 0x4 /*上传中心*/
- #define TRIGGERALARMOUT 0x8 /*触发报警输出*/
- typedef struct
- {
- DWORD dwHandleType; /*处理方式,处理方式的"或"结果*/
- /*0x00: 无响应*/
- /*0x01: 监视器上警告*/
- /*0x02: 声音警告*/
- /*0x04: 上传中心*/
- /*0x08: 触发报警输出*/
- /*0x10: 触发抓图*/
- BYTE byRelAlarmOut[MAX_ALARMOUT]; //报警触发的输出通道,报警触发的输出,为1表示触发该输出
- }NET_DVR_HANDLEEXCEPTION;
- //DVR设备参数
- typedef struct{
- DWORD dwSize;
- BYTE sDVRName[NAME_LEN]; //DVR名称
- DWORD dwDVRID; //DVR ID,用于遥控器
- DWORD dwRecycleRecord; //是否循环录像,0:不是; 1:是
- //以下不能更改
- BYTE sSerialNumber[SERIALNO_LEN]; //序列号
- DWORD dwSoftwareVersion; //软件版本号,高16位是主版本,低16位是次版本
- DWORD dwSoftwareBuildDate; //软件生成日期,0xYYYYMMDD
- DWORD dwDSPSoftwareVersion; //DSP软件版本,高16位是主版本,低16位是次版本
- DWORD dwDSPSoftwareBuildDate; // DSP软件生成日期,0xYYYYMMDD
- DWORD dwPanelVersion; // 前面板版本,高16位是主版本,低16位是次版本
- DWORD dwHardwareVersion; // 硬件版本,高16位是主版本,低16位是次版本
- BYTE byAlarmInPortNum; //DVR报警输入个数
- BYTE byAlarmOutPortNum; //DVR报警输出个数
- BYTE byRS232Num; //DVR 232串口个数
- BYTE byRS485Num; //DVR 485串口个数
- BYTE byNetworkPortNum; //网络口个数
- BYTE byDiskCtrlNum; //DVR 硬盘控制器个数
- BYTE byDiskNum; //DVR 硬盘个数
- BYTE byDVRType; //DVR类型,
- BYTE byChanNum; //DVR 通道个数
- BYTE byStartChan; //起始通道号,例如DVS-1,DVR - 1
- BYTE byDecordChans; //DVR 解码路数
- BYTE byVGANum; //VGA口的个数
- BYTE byUSBNum; //USB口的个数
- char reservedData[3]; //保留
- }NET_DVR_DEVICECFG,*LPNET_DVR_DEVICECFG;
- typedef struct {
- char sDVRIP[16]; //DVR IP地址
- char sDVRIPMask[16]; // DVR IP地址掩码
- DWORD dwNetInterface; //网络接口 1-10MBase-T 2-10MBase-T全双工 3-100MBase-TX 4-100M全双工 5-10M/100M自适应
- WORD wDVRPort; //端口号
- BYTE byMACAddr[MACADDR_LEN]; //服务器的物理地址
- }NET_DVR_ETHERNET;
- //网络配置结构
- typedef struct{
- DWORD dwSize;
- NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET]; /* 以太网口 */
- char sManageHostIP[16]; //远程管理主机地址
- WORD wManageHostPort; //远程管理主机端口号
- char sIPServerIP[16]; //DNS服务器地址
- char sMultiCastIP[16]; //多播组地址
- char sGatewayIP[16]; //网关地址
- char sNFSIP[16]; //NAS主机IP地址
- BYTE sNFSDirectory[PATHNAME_LEN];//NAS目录
- DWORD dwPPPOE; //0-不启用,1-启用
- BYTE sPPPoEUser[NAME_LEN]; //PPPoE用户名
- char sPPPoEPassword[PASSWD_LEN];// PPPoE密码
- char sPPPoEIP[16]; //PPPoE IP地址(只读)
- WORD wHttpPort; //HTTP端口号
- }NET_DVR_NETCFG,*LPNET_DVR_NETCFG;
- //通道图象结构
- //移动侦测
- typedef struct{
- BYTE byMotionScope[18][22]; /*侦测区域,共有22*18个小宏块,为1表示该宏块是移动侦测区域,0-表示不是*/
- BYTE byMotionSensitive; /*移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭*/
- BYTE byEnableHandleMotion; /* 是否处理移动侦测 */
- char reservedData[2];
- NET_DVR_HANDLEEXCEPTION strMotionHandleType; /* 处理方式 */
- NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//布防时间
- BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道
- }NET_DVR_MOTION,*LPNET_DVR_MOTION;
- //遮挡报警区域为704*576
- typedef struct{
- DWORD dwEnableHideAlarm; /* 是否启动遮挡报警 ,0-否,1-低灵敏度 2-中灵敏度 3-高灵敏度 */
- WORD wHideAlarmAreaTopLeftX; /* 遮挡区域的x坐标 */
- WORD wHideAlarmAreaTopLeftY; /* 遮挡区域的y坐标 */
- WORD wHideAlarmAreaWidth; /* 遮挡区域的宽 */
- WORD wHideAlarmAreaHeight; /*遮挡区域的高*/
- NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType; /* 处理方式 */
- NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//布防时间
- }NET_DVR_HIDEALARM,*LPNET_DVR_HIDEALARM;
- //信号丢失报警
- typedef struct{
- BYTE byEnableHandleVILost; /* 是否处理信号丢失报警 */
- NET_DVR_HANDLEEXCEPTION strVILostHandleType; /* 处理方式 */
- NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//布防时间
- }NET_DVR_VILOST,*LPNET_DVR_VILOST;
- typedef struct
- {
- DWORD dwSize;
- BYTE sChanName[NAME_LEN];
- DWORD dwVideoFormat; /* 只读:视频制式 1-NTSC 2-PAL*/
- BYTE byBrightness; /*亮度,0-255*/
- BYTE byContrast; /*对比度,0-255*/
- BYTE bySaturation; /*饱和度,0-255 */
- BYTE byHue; /*色调,0-255*/
- //显示通道名
- DWORD dwShowChanName; /* 预览的图象上是否显示通道名称,0-不显示,1-显示 区域为704*576 */
- WORD wShowNameTopLeftX; /* 通道名称显示位置的x坐标 */
- WORD wShowNameTopLeftY; /* 通道名称显示位置的y坐标 */
- //信号丢失报警
- NET_DVR_VILOST struVILost;
- //移动侦测
- NET_DVR_MOTION struMotion;
- //遮挡报警
- NET_DVR_HIDEALARM struHideAlarm;
- //遮挡
- DWORD dwEnableHide; /* 是否启动遮挡 ,0-否,1-是 区域为704*576*/
- WORD wHideAreaTopLeftX; /* 遮挡区域的x坐标 */
- WORD wHideAreaTopLeftY; /* 遮挡区域的y坐标 */
- WORD wHideAreaWidth; /* 遮挡区域的宽 */
- WORD wHideAreaHeight; /*遮挡区域的高*/
- //OSD
- DWORD dwShowOsd; /* 预览的图象上是否显示OSD,0-不显示,1-显示*/
- WORD wOSDTopLeftX; /* OSD的x坐标 */
- WORD wOSDTopLeftY; /* OSD的y坐标 */
- BYTE byOSDType; /* OSD类型(主要是年月日格式) */
- /* 0: XXXX-XX-XX 年月日 */
- /* 1: XX-XX-XXXX 月日年 */
- /* 2: XXXX年XX月XX日 */
- /* 3: XX月XX日XXXX年 */
- BYTE byDispWeek; /* 是否显示星期 */
- BYTE byOSDAttrib; /* OSD属性:透明,闪烁 */
- /* 1: 透明,闪烁 */
- /* 2: 透明,不闪烁 */
- /* 3: 闪烁,不透明 */
- /* 4: 不透明,不闪烁 */
- }NET_DVR_PICCFG,*LPNET_DVR_PICCFG;
- typedef struct{
- WORD wHideAreaTopLeftX; /* 遮挡区域的x坐标 */
- WORD wHideAreaTopLeftY; /* 遮挡区域的y坐标 */
- WORD wHideAreaWidth; /* 遮挡区域的宽 */
- WORD wHideAreaHeight; /*遮挡区域的高*/
- }NET_DVR_SHELTER,*LPNET_DVR_SHELTER;
- //SDK_V14
- typedef struct
- {
- DWORD dwSize;
- BYTE sChanName[NAME_LEN];
- DWORD dwVideoFormat; /* 只读 视频制式 1-NTSC 2-PAL*/
- BYTE byBrightness; /*亮度,0-255*/
- BYTE byContrast; /*对比度,0-255*/
- BYTE bySaturation; /*饱和度,0-255 */
- BYTE byHue; /*色调,0-255*/
- //显示通道名
- DWORD dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域大小704*576
- WORD wShowNameTopLeftX; /* 通道名称显示位置的x坐标 */
- WORD wShowNameTopLeftY; /* 通道名称显示位置的y坐标 */
- //信号丢失报警
- NET_DVR_VILOST struVILost;
- //移动侦测
- NET_DVR_MOTION struMotion;
- //遮挡报警
- NET_DVR_HIDEALARM struHideAlarm;
- //遮挡 区域大小704*576
- DWORD dwEnableHide; /* 是否启动遮挡 ,0-否,1-是*/
- NET_DVR_SHELTER struShelter[MAX_SHELTERNUM];
- //OSD
- DWORD dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576
- WORD wOSDTopLeftX; /* OSD的x坐标 */
- WORD wOSDTopLeftY; /* OSD的y坐标 */
- BYTE byOSDType; /* OSD类型(主要是年月日格式) */
- /* 0: XXXX-XX-XX 年月日 */
- /* 1: XX-XX-XXXX 月日年 */
- /* 2: XXXX年XX月XX日 */
- /* 3: XX月XX日XXXX年 */
- BYTE byDispWeek; /* 是否显示星期 */
- BYTE byOSDAttrib; /* OSD属性:透明,闪烁 */
- /* 1: 透明,闪烁 */
- /* 2: 透明,不闪烁 */
- /* 3: 闪烁,不透明 */
- /* 4: 不透明,不闪烁 */
- }NET_DVR_PICCFG_EX,*LPNET_DVR_PICCFG_EX;
- //压缩参数
- typedef struct{
- BYTE byStreamType; //码流类型0-视频流,1-复合流 2008-03-31 作为事件触发参数结构时,这个字节的最高位用来作为是否启用事件触发参数的标志位
- //0-不启用,1-启用
- BYTE byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF
- BYTE byBitrateType; //码率类型0:变码率,1:定码率
- BYTE byPicQuality; //图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差
- DWORD dwVideoBitrate; //视频码率 0-保留 1-保留 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-16K MAX-8192K)。
- DWORD 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;
- }NET_DVR_COMPRESSION_INFO,*LPNET_DVR_COMPRESSION_INFO;
- typedef struct{
- BYTE byStreamType; //码流类型0-视频流,1-复合流
- BYTE byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF
- BYTE byBitrateType; //码率类型0:变码率,1:定码率
- BYTE byPicQuality; //图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差
- DWORD 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)。
- DWORD 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;
- WORD wIntervalFrameI; //I帧间隔
- //2006-08-11 增加单P帧的配置接口,可以改善实时流延时问题
- BYTE byIntervalBPFrame;//0-BBP帧; 1-BP帧; 2-单P帧 BP帧设置暂不支持
- BYTE byRes;
- }NET_DVR_COMPRESSION_INFO_EX,*LPNET_DVR_COMPRESSION_INFO_EX;
- typedef struct{
- DWORD dwSize;
- NET_DVR_COMPRESSION_INFO struRecordPara; //录像/事件触发参数
- NET_DVR_COMPRESSION_INFO struNetPara; //网传/保留
- }NET_DVR_COMPRESSIONCFG,*LPNET_DVR_COMPRESSIONCFG;
- typedef struct{
- DWORD dwSize;
- NET_DVR_COMPRESSION_INFO_EX struRecordPara; //录像
- NET_DVR_COMPRESSION_INFO_EX struNetPara; //网传
- }NET_DVR_COMPRESSIONCFG_EX,*LPNET_DVR_COMPRESSIONCFG_EX;
- //录像
- typedef struct{
- NET_DVR_SCHEDTIME struRecordTime;
- BYTE byRecordType; //0:定时录像,1:移动侦测,2:报警录像,3:动测|报警,4:动测&报警, 5:命令触发, 6: 手动录像
- char reservedData[3];
- }NET_DVR_RECORDSCHED,*LPNET_DVR_RECORDSCHED;
- typedef struct {
- WORD wAllDayRecord; /* 是否全天录像 */
- BYTE byRecordType; /* 录象类型 0:定时录像,1:移动侦测,2:报警录像,3:动测|报警,4:动测&报警 5:命令触发, 6: 手动录像*/
- char reservedData;
- }NET_DVR_RECORDDAY;
- typedef struct {
- DWORD dwSize;
- DWORD dwRecord; /*是否录像 0-否 1-是*/
- NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS];
- NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT];
- DWORD dwRecordTime; /* 录象时间长度 */
- DWORD dwPreRecordTime; /* 预录时间 0-不预录 1-5秒 2-10秒 3-15秒 4-20秒 5-25秒 6-30秒 7-0xffffffff(尽可能预录) */
- }NET_DVR_RECORD,*LPNET_DVR_RECORD;
- /* PTZ type */
- #define YOULI 0
- #define LILIN_1016 1
- #define LILIN_820 2
- #define PELCO_P 3
- #define DM_QUICKBALL 4
- #define HD600 5
- #define JC4116 6
- #define PELCO_DWX 7
- #define PELCO_D 8
- #define VCOM_VC_2000 9
- #define NETSTREAMER 10
- #define SAE 11
- #define SAMSUNG 12
- #define KALATEL_KTD_312 13
- #define CELOTEX 14
- #define TLPELCO_P 15
- #define TL_HHX2000 16
- #define BBV 17
- #define RM110 18
- #define KC3360S 19
- #define ACES 20
- #define ALSON 21
- #define INV3609HD 22
- #define HOWELL 23
- #define TC_PELCO_P 24
- #define TC_PELCO_D 25
- #define AUTO_M 26
- #define AUTO_H 27
- #define ANTEN 28
- #define CHANGLIN 29
- #define DELTADOME 30
- #define XYM_12 31
- #define ADR8060 32
- #define EVI 33
- #define Demo_Speed 34
- #define DM_PELCO_D 35
- #define ST_832 36
- #define LC_D2104 37
- #define HUNTER 38
- #define A01 39
- #define TECHWIN 40
- #define WEIHAN 41
- #define LG 42
- #define D_MAX 43
- #define PANASONIC 44
- #define KTD_348 45
- #define INFINOVA 46
- #define PIH_7625 47
- #define IDOME_IVIEW_LCU 48
- #define Dennar_dDome 49
- #define Philips 50
- #define SAMPLE 51
- #define PLD 52
- #define PARCO 53
- #define HY 54
- #define NAIJIE 55
- #define CAT_KING 56
- #define YH_06 57
- #define SP9096X 58
- #define M_PANEL 59
- #define M_MV2050 60
- #define SAE_QUICKBALL 61
- #define RED_APPLE 62
- #define NKO8G 63
- #define DH_CC440 64
- #define TX_CONTROL_232 65
- #define VCL_SPEED_DOME 66
- #define ST_2C160 67
- #define TDWY 68
- #define TWHC 69
- #define USNT 70
- #define KLT_NVD2200PS 71
- #define VIDO_B01 72
- #define LG_MULTIX 73
- #define ENKEL 74
- #define YT_PELCOD 75
- #define HIKVISION 76
- #define PE60 77
- #define LiAo 78
- #define NK16 79
- #define DaLi 80
- #define HN_4304 81
- #define VIDEOTEC 82
- #define HNDCB 83
- #define Lion_2007 84
- #define LG_LVC_C372 85
- #define Gold_Video 86
- #define NVD1600PS 87
- #define TC615P 88
- #define NANWANG 89
- #define NANWANG_1602 90
- #define SIEMENS 91
- #define WVCS850 92
- #define PHLIPS_2 93
- #define PHLIPS_3 94
- #define AD 95
- #define TYCO_AD 96
- #define VICON 97
- #define TKC676 98
- #define YAAN_NEW 99
- #define DL_NVS_1Z 100
- #define I3_Z1200 101
- #define I3_Z2200 102
- //解码器
- typedef struct{
- DWORD dwSize;
- DWORD 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;
- BYTE byDataBit;// 数据有几位 0-5位,1-6位,2-7位,3-8位;
- BYTE byStopBit;// 停止位 0-1位,1-2位;
- BYTE byParity;// 校验 0-无校验,1-奇校验,2-偶校验;
- BYTE byFlowcontrol;// 0-无,1-软流控,2-硬流控
- WORD 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
- WORD wDecoderAddress; /*解码器地址:0 - 255*/
- BYTE bySetPreset[MAX_PRESET]; /* 预置点是否设置,0-没有设置,1-设置*/
- BYTE bySetCruise[MAX_PRESET]; /* 巡航是否设置: 0-没有设置,1-设置 */
- BYTE bySetTrack[MAX_PRESET]; /* 轨迹是否设置,0-没有设置,1-设置*/
- }NET_DVR_DECODERCFG,*LPNET_DVR_DECODERCFG;
- //RS232串口
- typedef struct{
- char sRemoteIP[16]; //远端IP地址
- char sLocalIP[16]; //本地IP地址
- char sLocalIPMask[16]; //本地IP地址掩码
- BYTE sUsername[NAME_LEN]; /* 用户名 */
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- BYTE byPPPMode; //PPP模式, 0-主动,1-被动
- BYTE byRedial; //是否回拨 :0-否,1-是
- BYTE byRedialMode; //回拨模式,0-由拨入者指定,1-预置回拨号码
- BYTE byDataEncrypt; //数据加密,0-否,1-是
- DWORD dwMTU; //MTU
- char sTelephoneNumber[PHONENUMBER_LEN]; //电话号码
- }NET_DVR_PPPCFG,*LPNET_DVR_PPPCFG;
- typedef struct{
- DWORD dwSize;
- DWORD 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;
- BYTE byDataBit;// 数据有几位 0-5位,1-6位,2-7位,3-8位;
- BYTE byStopBit;// 停止位 0-1位,1-2位;
- BYTE byParity;// 校验 0-无校验,1-奇校验,2-偶校验;
- BYTE byFlowcontrol;// 0-无,1-软流控,2-硬流控
- DWORD dwWorkMode;// 工作模式,0-窄带传输(232串口用于PPP拨号),1-控制台(232串口用于参数控制),2-透明通道
- NET_DVR_PPPCFG struPPPConfig;
- }NET_DVR_RS232CFG,*LPNET_DVR_RS232CFG;
- //报警输入
- typedef struct{
- DWORD dwSize;
- BYTE sAlarmInName[NAME_LEN]; /* 名称 */
- BYTE byAlarmType; //报警器类型,0:常开,1:常闭
- BYTE byAlarmInHandle; /* 是否处理 */
- NET_DVR_HANDLEEXCEPTION struAlarmHandleType; /* 处理方式 */
- NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//布防时间
- BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道
- BYTE byEnablePreset[MAX_CHANNUM]; /* 是否调用预置点 */
- BYTE byPresetNo[MAX_CHANNUM]; /* 调用的云台预置点序号,一个报警输入可以调用多个通道的云台预置点, 0xff表示不调用预置点。*/
- BYTE byEnableCruise[MAX_CHANNUM]; /* 是否调用巡航 */
- BYTE byCruiseNo[MAX_CHANNUM]; /* 巡航 */
- BYTE byEnablePtzTrack[MAX_CHANNUM]; /* 是否调用轨迹 */
- BYTE byPTZTrack[MAX_CHANNUM]; /* 调用的云台的轨迹序号 */
- }NET_DVR_ALARMINCFG,*LPNET_DVR_ALARMINCFG;
- //上传报警信息
- typedef struct{
- DWORD dwAlarmType;/*0-信号量报警,1-硬盘满,2-信号丢失,3-移动侦测,4-硬盘未格式化,5-读写硬盘出错,6-遮挡报警,7-制式不匹配, 8-非法访问*/
- DWORD dwAlarmInputNumber;/*报警输入端口*/
- DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*报警输入端口对应的输出端口,哪一位为1表示对应哪一个输出*/
- DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*报警输入端口对应的录像通道,哪一位为1表示对应哪一路录像,dwAlarmRelateChannel[0]对应第1个通道*/
- DWORD dwChannel[MAX_CHANNUM];/*dwAlarmType为2或3时,表示哪个通道,dwChannel[0]位对应第0个通道*/
- DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmType为4时,表示哪个硬盘*/
- }NET_DVR_ALARMINFO,*LPNET_DVR_ALARMINFO;
- //DVR报警输出
- typedef struct{
- DWORD dwSize;
- BYTE sAlarmOutName[NAME_LEN]; /* 名称 */
- DWORD dwAlarmOutDelay; /* 输出保持时间(-1为无限,手动关闭) */
- NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];/* 报警输出激活时间段 */
- }NET_DVR_ALARMOUTCFG,*LPNET_DVR_ALARMOUTCFG;
- //DVR本地预览参数
- typedef struct{
- DWORD dwSize;
- BYTE byPreviewNumber;//预览数目,0-1画面,1-4画面,2-9画面,3-16画面,0xff:最大画面
- BYTE byEnableAudio;//是否声音预览,0-不预览,1-预览
- WORD wSwitchTime;//切换时间,0-不切换,1-5s,2-10s,3-20s,4-60s,5-120s,6-300s
- BYTE bySwitchSeq[MAX_WINDOW];//切换顺序,如果lSwitchSeq[i]为 0xff表示不用
- }NET_DVR_PREVIEWCFG,*LPNET_DVR_PREVIEWCFG;
- //DVR视频输出
- typedef struct {
- WORD wResolution; /* 分辨率 */
- WORD wFreq; /* 刷新频率 */
- DWORD dwBrightness; /* 亮度 */
- }NET_DVR_VGAPARA;
- typedef struct{
- WORD wDisplayLogo; /* 显示视频通道号 */
- WORD wDisplayOsd; /* 显示时间 */
- }NET_DVR_MATRIXPARA;
- typedef struct{
- BYTE byVideoFormat; /* 输出制式,0-PAL,1-N */
- BYTE byMenuAlphaValue; /* 菜单与背景图象对比度 */
- WORD wScreenSaveTime; /* 屏幕保护时间 */
- WORD wVOffset; /* 视频输出偏移 */
- WORD wBrightness; /* 视频输出亮度 */
- BYTE byStartMode; /* 启动后视频输出模式(0:菜单,1:预览)*/
- char reservedData;
- }NET_DVR_VOOUT;
- typedef struct {
- DWORD dwSize;
- NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT];
- NET_DVR_VGAPARA struVGAPara[MAX_VGA]; /* VGA参数 */
- NET_DVR_MATRIXPARA struMatrixPara; /* MATRIX参数 */
- }NET_DVR_VIDEOOUT,*LPNET_DVR_VIDEOOUT;
- //DVR用户参数
- typedef struct{
- BYTE sUserName[NAME_LEN]; /* 用户名 */
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- DWORD dwLocalRight[MAX_RIGHT]; /* 权限 */
- /*数组0: 本地控制云台*/
- /*数组1: 本地手动录象*/
- /*数组2: 本地回放*/
- /*数组3: 本地设置参数*/
- /*数组4: 本地查看状态、日志*/
- /*数组5: 本地高级操作(升级,格式化,重启,关机)*/
- DWORD dwRemoteRight[MAX_RIGHT]; /* 权限 */
- /*数组0: 远程控制云台*/
- /*数组1: 远程手动录象*/
- /*数组2: 远程回放*/
- /*数组3: 远程设置参数*/
- /*数组4: 远程查看状态、日志*/
- /*数组5: 远程高级操作(升级,格式化,重启,关机)*/
- /*数组6: 远程发起语音对讲*/
- /*数组7: 远程预览*/
- /*数组8: 远程请求报警上传、报警输出*/
- /*数组9: 远程控制,本地输出*/
- /*数组10: 远程控制串口*/
- char sUserIP[16]; /* 用户IP地址(为0时表示允许任何地址) */
- BYTE byMACAddr[MACADDR_LEN]; /* 物理地址 */
- }NET_DVR_USER_INFO,*LPNET_DVR_USER_INFO;
- typedef struct{
- DWORD dwSize;
- NET_DVR_USER_INFO struUser[MAX_USERNUM];
- }NET_DVR_USER,*LPNET_DVR_USER;
- //DVR用户参数扩展
- typedef struct{
- BYTE sUserName[NAME_LEN]; /* 用户名 */
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- DWORD dwLocalRight[MAX_RIGHT]; /* 权限 */
- /*数组0: 本地控制云台*/
- /*数组1: 本地手动录象*/
- /*数组2: 本地回放*/
- /*数组3: 本地设置参数*/
- /*数组4: 本地查看状态、日志*/
- /*数组5: 本地高级操作(升级,格式化,重启,关机)*/
- DWORD dwLocalPlaybackRight; /* 本地可以回放的通道 bit0 -- channel 1*/
- DWORD dwRemoteRight[MAX_RIGHT]; /* 权限 */
- /*数组0: 远程控制云台*/
- /*数组1: 远程手动录象*/
- /*数组2: 远程回放 */
- /*数组3: 远程设置参数*/
- /*数组4: 远程查看状态、日志*/
- /*数组5: 远程高级操作(升级,格式化,重启,关机)*/
- /*数组6: 远程发起语音对讲*/
- /*数组7: 远程预览*/
- /*数组8: 远程请求报警上传、报警输出*/
- /*数组9: 远程控制,本地输出*/
- /*数组10: 远程控制串口*/
- DWORD dwNetPreviewRight; /* 远程可以预览的通道 bit0 -- channel 1*/
- DWORD dwNetPlaybackRight; /* 远程可以回放的通道 bit0 -- channel 1*/
- char sUserIP[16]; /* 用户IP地址(为0时表示允许任何地址) */
- BYTE byMACAddr[MACADDR_LEN]; /* 物理地址 */
- }NET_DVR_USER_INFO_EX,*LPNET_DVR_USER_INFO_EX;
- typedef struct{
- DWORD dwSize;
- NET_DVR_USER_INFO_EX struUser[MAX_USERNUM];
- }NET_DVR_USER_EX,*LPNET_DVR_USER_EX;
- //DVR异常参数
- typedef struct{
- DWORD dwSize;
- NET_DVR_HANDLEEXCEPTION struExceptionHandleType[MAX_EXCEPTIONNUM];
- /*数组0-盘满,1- 硬盘出错,2-网线断,3-局域网内IP 地址冲突,4-非法访问, 5-输入/输出视频制式不匹配*/
- }NET_DVR_EXCEPTION,*LPNET_DVR_EXCEPTION;
- typedef struct
- {
- char sFileName[100];//文件名
- NET_DVR_TIME struStartTime;//文件的开始时间
- NET_DVR_TIME struStopTime;//文件的结束时间
- DWORD dwFileSize;//文件的大小
- }NET_DVR_FIND_DATA,*LPNET_DVR_FIND_DATA;
- typedef struct tagFINDDATA_CARD
- {
- char sFileName[100];//文件名
- NET_DVR_TIME struStartTime;//文件的开始时间
- NET_DVR_TIME struStopTime;//文件的结束时间
- DWORD dwFileSize;//文件的大小
- char sCardNum[32];
- }NET_DVR_FINDDATA_CARD,*LPNET_DVR_FINDDATA_CARD;
- typedef struct {
- BYTE byRecordStatic; //通道是否在录像,0-不录像,1-录像
- BYTE bySignalStatic; //连接的信号状态,0-正常,1-信号丢失
- BYTE byHardwareStatic;//通道硬件状态,0-正常,1-异常,例如DSP死掉
- char reservedData;
- DWORD dwBitRate;//实际码率
- DWORD dwLinkNum;//客户端连接的个数
- DWORD dwClientIP[MAX_LINK];//客户端的IP地址
- }NET_DVR_CHANNELSTATE,*LPNET_DVR_CHANNELSTATE;
- typedef struct {
- DWORD dwVolume;//硬盘的容量
- DWORD dwFreeSpace;//硬盘的剩余空间
- DWORD dwHardDiskStatic; //硬盘的状态,休眠,活动,不正常等,1-休眠,2-不正常,3-休眠硬盘出错
- }NET_DVR_DISKSTATE,*LPNET_DVR_DISKSTATE;
- typedef struct{
- DWORD dwDeviceStatic; //设备的状态,0-正常,1-CPU占用率太高,超过85%,2-硬件错误,例如串口死掉
- NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM];
- NET_DVR_CHANNELSTATE struChanStatic[MAX_CHANNUM];//通道的状态
- BYTE byAlarmInStatic[MAX_ALARMIN]; //报警端口的状态,0-没有报警,1-有报警
- BYTE byAlarmOutStatic[MAX_ALARMOUT]; //报警输出端口的状态,0-没有输出,1-有报警输出
- DWORD dwLocalDisplay;//本地显示状态,0-正常,1-不正常
- }NET_DVR_WORKSTATE,*LPNET_DVR_WORKSTATE;
- //DVR日志
- /* 报警 */
- //主类型
- #define MAJOR_ALARM 0x1
- //次类型
- #define MINOR_ALARM_IN 0x1 /* 报警输入 */
- #define MINOR_ALARM_OUT 0x2 /* 报警输出 */
- #define MINOR_MOTDET_START 0x3 /* 移动侦测报警开始 */
- #define MINOR_MOTDET_STOP 0x4 /* 移动侦测报警结束 */
- #define MINOR_HIDE_ALARM_START 0x5 /* 遮挡报警开始 */
- #define MINOR_HIDE_ALARM_STOP 0x6 /* 遮挡报警结束 */
- /* 异常 */
- //主类型
- #define MAJOR_EXCEPTION 0x2
- //次类型
- #define MINOR_VI_LOST 0x21 /* 信号丢失 */
- #define MINOR_ILLEGAL_ACCESS 0x22 /* 非法访问 */
- #define MINOR_HD_FULL 0x23 /* 硬盘满 */
- #define MINOR_HD_ERROR 0x24 /* 硬盘错误 */
- #define MINOR_DCD_LOST 0x25 /* MODEM 掉线 */
- #define MINOR_IP_CONFLICT 0x26 /* IP地址冲突 */
- #define MINOR_NET_BROKEN 0x27 /* 网线断 */
- /* 操作 */
- //主类型
- #define MAJOR_OPERATION 0x3
- //次类型
- #define MINOR_START_DVR 0x41 /* 开机 */
- #define MINOR_STOP_DVR 0x42 /* 关机 */
- #define MINOR_STOP_ABNORMAL 0x43 /* 非法关机 */
- #define MINOR_LOCAL_LOGIN 0x50 /* 本地登陆 */
- #define MINOR_LOCAL_LOGOUT 0x51 /* 本地注销登陆 */
- #define MINOR_LOCAL_CFG_PARM 0x52 /* 本地配置参数 */
- #define MINOR_LOCAL_PLAYBYFILE 0x53 /* 本地按文件回放 */
- #define MINOR_LOCAL_PLAYBYTIME 0x54 /* 本地按时间回放 */
- #define MINOR_LOCAL_START_REC 0x55 /* 本地开始录像 */
- #define MINOR_LOCAL_STOP_REC 0x56 /* 本地停止录像 */
- #define MINOR_LOCAL_PTZCTRL 0x57 /* 本地云台控制 */
- #define MINOR_LOCAL_PREVIEW 0x58 /* 本地预览 */
- #define MINOR_LOCAL_MODIFY_TIME 0x59 /* 本地修改时间 */
- #define MINOR_LOCAL_UPGRADE 0x5a /* 本地升级 */
- #define MINOR_LOCAL_COPYFILE 0x5b /* 本地备份文件 */
- #define MINOR_REMOTE_LOGIN 0x70 /* 远程登录 */
- #define MINOR_REMOTE_LOGOUT 0x71 /* 远程注销登陆 */
- #define MINOR_REMOTE_START_REC 0x72 /* 远程开始录像 */
- #define MINOR_REMOTE_STOP_REC 0x73 /* 远程停止录像 */
- #define MINOR_START_TRANS_CHAN 0x74 /* 开始透明传输 */
- #define MINOR_STOP_TRANS_CHAN 0x75 /* 停止透明传输 */
- #define MINOR_REMOTE_GET_PARM 0x76 /* 远程获得参数 */
- #define MINOR_REMOTE_CFG_PARM 0x77 /* 远程配置参数 */
- #define MINOR_REMOTE_GET_STATUS 0x78 /* 远程获得状态 */
- #define MINOR_REMOTE_ARM 0x79 /* 远程布防 */
- #define MINOR_REMOTE_DISARM 0x7a /* 远程撤防 */
- #define MINOR_REMOTE_REBOOT 0x7b /* 远程重启 */
- #define MINOR_START_VT 0x7c /* 开始语音对讲 */
- #define MINOR_STOP_VT 0x7d /* 停止语音对讲 */
- #define MINOR_REMOTE_UPGRADE 0x7e /* 远程升级 */
- #define MINOR_REMOTE_PLAYBYFILE 0x7f /* 远程按文件回放 */
- #define MINOR_REMOTE_PLAYBYTIME 0x80 /* 远程按时间回放 */
- #define MINOR_REMOTE_PTZCTRL 0x81 /* 远程云台控制 */
- //当日志的主类型为MAJOR_OPERATION=03,次类型为MINOR_LOCAL_CFG_PARM=0x52或者MINOR_REMOTE_GET_PARM=0x76或者MINOR_REMOTE_CFG_PARM=0x77时,dwParaType:参数类型有效,其含义如下:
- #define PARA_VIDEOOUT 0x1
- #define PARA_IMAGE 0x2
- #define PARA_ENCODE 0x4
- #define PARA_NETWORK 0x8
- #define PARA_ALARM 0x10
- #define PARA_EXCEPTION 0x20
- #define PARA_DECODER 0x40 /*解码器*/
- #define PARA_RS232 0x80
- #define PARA_PREVIEW 0x100
- #define PARA_SECURITY 0x200
- #define PARA_DATETIME 0x400
- #define PARA_FRAMETYPE 0x800 /*帧格式*/
- typedef struct {
- NET_DVR_TIME strLogTime;
- DWORD dwMajorType; //主类型 1-报警; 2-异常; 3-操作; 0xff-全部
- DWORD dwMinorType;//次类型 0xff-全部;
- BYTE sPanelUser[MAX_NAMELEN]; //操作面板的用户名
- BYTE sNetUser[MAX_NAMELEN];//网络操作的用户名
- char sRemoteHostAddr[16];//远程主机地址
- DWORD dwParaType;//参数类型
- DWORD dwChannel;//通道号
- DWORD dwDiskNumber;//硬盘号
- DWORD dwAlarmInPort;//报警输入端口
- DWORD dwAlarmOutPort;//报警输出端口
- }NET_DVR_LOG,*LPNET_DVR_LOG;
- typedef struct {
- char sRedirectorIP[16]; // 转发服务器IP地址
- WORD wRedirectorPort; //端口号
- }NET_DVR_REDIRECTORINFO, *LPNET_DVR_REDIRECTORINFO;
- typedef struct{
- BYTE Output[MAX_ALARMOUT];
- }NET_DVR_ALARMOUTSTATUS, *LPNET_DVR_ALARMOUTSTATUS;
- typedef struct{
- USHORT m_Year;
- USHORT m_Month;
- USHORT m_Day;
- USHORT m_Hour;
- USHORT m_Minute;
- USHORT m_Second;
- BYTE DeviceName[24]; //设备名称
- DWORD dwChannelNumer; //通道号
- BYTE CardNumber[32]; //卡号
- char cTradeType[12]; //交易类型
- DWORD dwCash; //交易金额
- }NET_DVR_TRADEINFO, *LPNET_DVR_TRADEINFO;
- //以下为ATM专用
- /*帧格式*/
- typedef struct{
- BYTE code[12]; /* 代码 */
- }NET_DVR_FRAMETYPECODE;
- typedef struct{
- DWORD dwSize;
- char sATMIP[16]; /* ATM IP地址 */
- DWORD dwATMType; /* ATM类型 */
- DWORD dwInputMode; /* 输入方式 */
- DWORD dwFrameSignBeginPos; /* 报文标志位的起始位置*/
- DWORD dwFrameSignLength; /* 报文标志位的长度 */
- BYTE byFrameSignContent[12]; /* 报文标志位的内容 */
- DWORD dwCardLengthInfoBeginPos; /* 卡号长度信息的起始位置 */
- DWORD dwCardLengthInfoLength; /* 卡号长度信息的长度 */
- DWORD dwCardNumberInfoBeginPos; /* 卡号信息的起始位置 */
- DWORD dwCardNumberInfoLength; /* 卡号信息的长度 */
- DWORD dwBusinessTypeBeginPos; /* 交易类型的起始位置 */
- DWORD dwBusinessTypeLength; /* 交易类型的长度 */
- NET_DVR_FRAMETYPECODE frameTypeCode[10];/* 类型 */
- }NET_DVR_FRAMEFORMAT, *LPNET_DVR_FRAMEFORMAT;
- //DS-6001D/F
- /*解码设备控制码定义*/
- #define NET_DEC_STARTDEC 1
- #define NET_DEC_STOPDEC 2
- #define NET_DEC_STOPCYCLE 3
- #define NET_DEC_CONTINUECYCLE 4
- /*连接的通道配置*/
- typedef struct {
- char sDVRIP[16]; /* DVR IP地址 */
- WORD wDVRPort; /* 端口号 */
- BYTE sUserName[NAME_LEN]; /* 用户名 */
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- BYTE byChannel; /* 通道号 */
- BYTE byLinkMode; /* 连接模式 */
- BYTE byLinkType; /* 连接类型 0-主码流 1-子码流 */
- }NET_DVR_DECCHANINFO, *LPNET_DVR_DECCHANINFO;
- /*每个解码通道的配置*/
- typedef struct {
- BYTE byPoolChans; /*每路解码通道上的循环通道数量, 最多4通道*/
- NET_DVR_DECCHANINFO struchanConInfo[MAX_DECPOOLNUM];
- BYTE byEnablePoll; /*是否轮巡 0-否 1-是*/
- BYTE byPoolTime; /*轮巡时间 0-保留 1-10秒 2-15秒 3-20秒 4-30秒 5-45秒 6-1分钟 7-2分钟 8-5分钟 */
- }NET_DVR_DECINFO, *LPNET_DVR_DECINFO;
- /*整个设备解码配置*/
- typedef struct {
- DWORD dwSize;
- DWORD dwDecChanNum; /*解码通道的数量*/
- NET_DVR_DECINFO struDecInfo[MAX_DECNUM];
- }NET_DVR_DECCFG, *LPNET_DVR_DECCFG;
- //2005-08-01
- /* 解码设备透明通道设置 */
- typedef struct {
- DWORD dwEnableTransPort; /* 是否启动透明通道 0-不启用 1-启用*/
- char sDecoderIP[16]; /* DVR IP地址 */
- WORD wDecoderPort; /* 端口号 */
- WORD wDVRTransPort; /* 配置前端DVR是从232/485输出,1表示232串口,2表示485串口 */
- char cReserve[4];
- }NET_DVR_PORTINFO, *LPNET_DVR_PORTINFO;
- typedef struct {
- DWORD dwSize;
- NET_DVR_PORTINFO struTransPortInfo[MAX_TRANSPARENTNUM]; /* 数组0表示232 数组1表示485 */
- }NET_DVR_PORTCFG, *LPNET_DVR_PORTCFG;
- /* 控制网络文件回放 */
- typedef struct {
- DWORD dwSize;
- char sDecoderIP[16]; /* DVR IP地址 */
- WORD wDecoderPort; /* 端口号 */
- WORD wLoadMode; /* 回放下载模式 1-按名字 2-按时间 */
- union
- {
- BYTE byFile[100]; /* 回放的文件名 */
- struct
- {
- DWORD dwChannel;
- BYTE sUserName[NAME_LEN]; /*请求视频用户名*/
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- NET_DVR_TIME struStartTime; /* 按时间回放的开始时间 */
- NET_DVR_TIME struStopTime; /* 按时间回放的结束时间 */
- }bytime;
- }mode_size;
- }NET_DVR_PLAYREMOTEFILE,*LPNET_DVR_PLAYREMOTEFILE;
- /*当前设备解码连接状态*/
- typedef struct {
- DWORD dwWorkType; /*工作方式:1:轮巡、2:动态连接解码、3:按文件回放 4:按时间回放*/
- char sDVRIP[16]; /*连接的设备ip*/
- WORD wDVRPort; /*连接端口号*/
- BYTE byChannel; /* 通道号 */
- BYTE byLinkMode; /* 连接模式 */
- DWORD dwLinkType; /*连接类型 0-主码流 1-子码流*/
- union
- {
- struct
- {
- BYTE sUserName[NAME_LEN]; /*请求视频用户名*/
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- char cReserve[52];
- }userInfo;
- struct
- {
- BYTE fileName[100];
- }fileInfo;
- struct
- {
- DWORD dwChannel;
- BYTE sUserName[NAME_LEN]; /*请求视频用户名*/
- BYTE sPassword[PASSWD_LEN]; /* 密码 */
- NET_DVR_TIME struStartTime; /* 按时间回放的开始时间 */
- NET_DVR_TIME struStopTime; /* 按时间回放的结束时间 */
- }timeInfo;
- }objectInfo;
- }NET_DVR_DECCHANSTATUS, *LPNET_DVR_DECCHANSTATUS;
- typedef struct {
- DWORD dwSize;
- NET_DVR_DECCHANSTATUS struDecState[MAX_DECNUM];
- }NET_DVR_DECSTATUS, *LPNET_DVR_DECSTATUS;
- //叠加字符
- typedef struct
- {
- WORD wShowString; // 预览的图象上是否显示字符,0-不显示,1-显示 区域大小704*576,单个字符的大小为32*32
- WORD wStringSize; /* 该行字符的长度,不能大于44个字符 */
- WORD wShowStringTopLeftX; /* 字符显示位置的x坐标 */
- WORD wShowStringTopLeftY; /* 字符名称显示位置的y坐标 */
- char sString[44]; /* 要显示的字符内容 */
- }NET_DVR_SHOWSTRINGINFO, *LPNET_DVR_SHOWSTRINGINFO;
- //叠加字符
- typedef struct
- {
- DWORD dwSize;
- NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM]; /* 要显示的字符内容 */
- }NET_DVR_SHOWSTRING, *LPNET_DVR_SHOWSTRING;
- /* ftp 上传参数*/
- typedef struct
- {
- DWORD dwSize;
- DWORD dwEnableFTP; /*是否启动ftp上传功能*/
- char sFTPIP[16]; /*ftp 服务器*/
- DWORD dwFTPPort; /*ftp端口*/
- BYTE sUserName[NAME_LEN]; /*用户名*/
- BYTE sPassword[PASSWD_LEN]; /*密码*/
- //BYTE reservedData[32];
- DWORD dwDirLevel; /*0 = 不使用目录结构,直接保存在根目录,1 = 使用1级目录,2=使用2级目录*/
- WORD wTopDirMode; /* 0x1 = 使用设备名,0x2 = 使用设备号,0x3 = 使用设备ip地址*/
- WORD wSubDirMode; /* 0x4 = 使用通道名,0x5 = 使用通道号*/
- BYTE reservedData[24];
- }NET_DVR_FTPCFG, *LPNET_DVR_FTPCFG;
- /*可用来命名图片的相关元素 */
- #define PICNAME_ITEM_DEV_NAME 1
- #define PICNAME_ITEM_DEV_NO 2
- #define PICNAME_ITEM_DEV_IP 3
- #define PICNAME_ITEM_CHAN_NAME 4
- #define PICNAME_ITEM_CHAN_NO 5
- #define PICNAME_ITEM_TIME 6
- #define PICNAME_ITEM_CARDNO 7
- #define PICNAME_MAXITEM 15
- typedef struct
- {
- BYTE byItemOrder[PICNAME_MAXITEM]; /* 桉数组定义文件命名的规则 */
- BYTE byDelimiter; /*分隔符,一般为'_'*/
- }NET_DVR_PICTURE_NAME, *LPNET_DVR_PICTURE_NAME;
- //图片质量
- typedef struct
- {
- WORD wPicSize; /* 0=CIF, 1=QCIF, 2=D1 */
- WORD wPicQuality; /* 图片质量系数 0-最好 1-较好 2-一般 */
- }NET_DVR_JPEGPARA, *LPNET_DVR_JPEGPARA;
- /* 串口抓图设置*/
- typedef struct
- {
- BYTE byStrFlag; /*串口数据开始符*/
- BYTE byEndFlag; /*结束符*/
- WORD wCardIdx; /*卡号相对起始位*/
- DWORD dwCardLen; /*卡号长度*/
- DWORD dwTriggerPicChans; /*所触发的通道号,按位,从第1位开始计,即0x2表示第一通道*/
- }NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA;
- typedef struct
- {
- DWORD dwSize;
- NET_DVR_JPEGPARA struJpegPara[MAX_CHANNUM]; /*每个通道的图像参数*/
- WORD wBurstMode; /*抓图方式,按位设置.0x1=报警输入触发,0x2=移动侦测触发 0x4=232触发,0x8=485触发,0x10=网络触发*/
- WORD wUploadInterval; /*图片上传间隔(秒)[0,65535]*/
- NET_DVR_PICTURE_NAME struPicNameRule; /* 图片命名规则 */
- BYTE bySaveToHD; /*是否保存到硬盘*/
- BYTE res1;
- WORD wCatchInterval; /*抓图间隔(毫秒)[0,65535]*/
- BYTE res2[12];
- NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg;
- NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg;
- DWORD dwTriggerPicTimes[MAX_CHANNUM]; /* 每个通道一次触发拍照次数 */
- DWORD dwAlarmInPicChanTriggered[MAX_ALARMIN]; /*报警触发抓拍通道,按位设置,从第0位开始*/
- }NET_DVR_JPEGCFG, *LPNET_DVR_JPEGCFG;
- typedef struct
- {
- DWORD dwReturn; /*是否直接返回图片数据*/
- DWORD dwUploadFtp; /*是否上传Ftp服务器*/
- DWORD dwSaveHd; /*是否保存到设备硬盘*/
- char sImageName[PATHNAME_LEN]; /*自定义的生成图片文件名*/
- char sOsdStr[16]; /*需要叠加在图片上的OSD字符串*/
- WORD wOsdLen; /*OSD字符串长度*/
- }NET_DVR_GETJPEG, *LPNET_DVR_GETJPEG;
- //HS设备辅助输出参数
- typedef struct
- {
- DWORD dwSize;
- DWORD dwAlarmOutChan; /* 选择报警弹出大画面的输出通道: 0:主输出/1:辅1/2:辅2/3:辅3/4:辅4 */
- DWORD dwAlarmChanSwitchTime; /* 报警通道切换时间:1:1秒 - 10:10秒 */
- DWORD dwAuxSwitchTime[MAX_AUXOUT]; /* 辅助输出切换时间: 0-不切换,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */
- BYTE byAuxOrder[MAX_AUXOUT][MAX_WINDOW]; /* 辅助输出预览顺序, 0xff表示相应的窗口不预览 */
- }NET_DVR_AUXOUTCFG, *LPNET_DVR_AUXOUTCFG;
- typedef struct tagPOINT_FRAME
- {
- int xTop; // 方框起始点的x坐标
- int yTop; // 方框结束点的y坐标
- int xBottom; // 方框结束点的x坐标
- int yBottom; //方框结束点的y坐标
- int bCounter; //保留
- }NET_DVR_POINT_FRAME, *LPNET_DVR_POINT_FRAME;
- typedef struct tagCRUISE_RET{
- struct{
- BYTE PresetNum; //预置点
- BYTE Dwell; //停留时间
- BYTE Speed; //速度
- BYTE Reserve; //保留
- }struCruisePoint[32]; //最大支持32个巡航点
- }NET_DVR_CRUISE_RET, *LPNET_DVR_CRUISE_RET;
- //2007-05-23 多路解码器 added by zxy
- typedef struct tagNETCFG_OTHER{
- DWORD dwSize;
- char sFirstDNSIP[16];
- char sSecondDNSIP[16];
- char sRes[32];
- }NET_DVR_NETCFG_OTHER,*LPNET_DVR_NETCFG_OTHER;
- //2007-05-25 多路解码器数字矩阵配置
- //2007-11-05 启动/停止动态解码
- typedef struct tagDVRCHANINFO
- {
- char sDVRIP[16]; /* DVR IP地址 */
- WORD wDVRPort; /* 端口号 */
- BYTE byChannel; /* 通道号 */
- BYTE byTransProtocol; /* 传输协议类型 */
- BYTE byTransMode; /* 传输码流模式 0-主码流 1-子码流*/
- BYTE byRes[3];
- BYTE sUserName[NAME_LEN]; /* 监控主机登陆帐号 */
- BYTE sPassword[PASSWD_LEN]; /* 监控主机密码 */
- }NET_DVR_MATRIX_DECINFO, *LPNET_DVR_MATRIX_DECINFO;
- //启动/停止动态解码
- typedef struct tagDYNAMIC_TEST
- {
- DWORD dwSize;
- NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 动态解码通道信息 */
- }NET_DVR_MATRIX_DYNAMIC_DEC, *LPNET_DVR_MATRIX_DYNAMIC_DEC;
- //2007-12-13 modified by zxy 修改多路解码器的NET_DVR_MATRIX_DEC_CHAN_STATUS结构
- typedef struct tagMATRIX_DEC_CHAN_STATUS
- {
- DWORD dwSize;
- DWORD dwIsLinked; /* Network link status tag, 0: hasn't linked yet, 1: linked */
- DWORD dwStreamCpRate; /* Stream copy rate, X kbits/second */
- char cRes[64]; /* 保留 */
- }NET_DVR_MATRIX_DEC_CHAN_STATUS, *LPNET_DVR_MATRIX_DEC_CHAN_STATUS;
- //end 2007-12-13 modified by zxy
- typedef struct tagDEC_MATRIX_CHAN_INFO
- {
- DWORD dwSize;
- NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 解码通道信息 */
- DWORD dwDecState; /* 0-动态解码 1-循环解码 2-按时间回放 3-按文件回放 4-被动模式 */
- NET_DVR_TIME StartTime; /* 按时间回放开始时间 */
- NET_DVR_TIME StopTime; /* 按时间回放停止时间 */
- char sFileName[128]; /* 按文件回放文件名 */
- }NET_DVR_MATRIX_DEC_CHAN_INFO, *LPNET_DVR_MATRIX_DEC_CHAN_INFO;
- //连接的通道配置 2007-11-05
- typedef struct tagMATRIXDECCHANINFO
- {
- DWORD dwEnable; /* 是否启用 0-否 1-启用*/
- NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 轮循解码通道信息 */
- }NET_DVR_MATRIX_DECCHANINFO, *LPNET_DVR_MATRIX_DECCHANINFO;
- //2007-11-05 新增每个解码通道的配置
- typedef struct tagLOOPDECINFO
- {
- DWORD dwSize;
- DWORD dwPoolTime; /*轮巡时间 */
- NET_DVR_MATRIX_DECCHANINFO struchanConInfo[MAX_CYCLE_CHAN];
- }NET_DVR_MATRIX_LOOP_DECINFO, *LPNET_DVR_MATRIX_LOOP_DECINFO;
- typedef struct tagEMAILCFG
- { /* 12 bytes */
- DWORD dwSize;
- char sUserName[32]; /* 帐户名 */
- char sPassWord[32]; /* 帐户密码 */
- char sFromName[32]; /* 发送者显示名称 *///字符串中的第一个字符和最后一个字符不能是"@",并且字符串中要有"@"字符
- char sFromAddr[48]; /* 发送者邮箱地址 */
- char sToName1[32]; /* Receiver1 */
- char sToName2[32]; /* Receiver2 */
- char sToAddr1[48]; /* Receiver address1 */
- char sToAddr2[48]; /* Receiver address2 */
- char sEmailServer[32]; /* Email server address */
- BYTE byServerType; /* Email server type: 0-SMTP, 1-POP, 2-IMTP…*/
- BYTE byUseAuthen; /* Email server authentication method: 1-enable, 0-disable */
- BYTE byAttachment; /* enable attachment */
- BYTE byMailinterval; /* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/
- } NET_DVR_EMAILCFG, *LPNET_DVR_EMAILCFG;
- typedef struct tagNTPPARA{
- BYTE sNTPServer[64]; /* Domain Name or IP addr of NTP server */
- WORD wInterval; /* adjust time interval(hours) */
- BYTE byEnableNTP; /* enable NPT client 0-no,1-yes*/
- signed char cTimeDifferenceH; /* 与国际标准时间的时差 -12 ... +13 */
- signed char cTimeDifferenceM;
- BYTE res[11];
- }NET_DVR_NTPPARA, *LPNET_DVR_NTPPARA;
- typedef struct tagDDNSPARA{
- BYTE sUsername[NAME_LEN]; /* DDNS账号用户名/密码 */
- BYTE sPassword[PASSWD_LEN];
- BYTE sDomainName[64]; /* 域名 */
- BYTE byEnableDDNS; /*是否应用 0-否,1-是*/
- BYTE res[15];
- }NET_DVR_DDNSPARA, *LPNET_DVR_DDNSPARA;
- typedef struct tagNETAPPCFG{
- DWORD dwSize;
- char sDNSIp[16]; /* DNS服务器地址 */
- NET_DVR_NTPPARA struNtpClientParam; /* NTP参数 */
- NET_DVR_DDNSPARA struDDNSClientParam; /* DDNS参数 */
- BYTE res[464]; /* 保留 */
- }NET_DVR_NETAPPCFG, *LPNET_DVR_NETAPPCFG;
- typedef struct tag_NFSCFG{
- DWORD dwSize;
- struct{
- char sNfsHostIPAddr[16];
- BYTE sNfsDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128
- }struNfsDiskParam[MAX_NFS_DISK];
- }NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG;
- typedef struct tagNET_DDNSPARA_EX
- {
- BYTE byHostIndex; /* 0-(保留) 1-Dyndns 2-PeanutHull(花生壳) */
- BYTE byEnableDDNS; /*是否应用DDNS 0-否,1-是*/
- WORD wDDNSPort; /* DDNS端口号 */
- BYTE sUsername[NAME_LEN]; /* DDNS用户名*/
- BYTE sPassword[PASSWD_LEN]; /* DDNS密码 */
- BYTE sDomainName[MAX_DOMAIN_NAME]; /* 设备配备的域名地址 */
- BYTE sServerName[MAX_DOMAIN_NAME]; /* DDNS 对应的服务器地址,可以是IP地址或域名 */
- BYTE byRes[16];
- }NET_DVR_DDNSPARA_EX, *LPNET_DVR_DDNSPARA_EX;
- NET_DVR_API BOOL __stdcall NET_DVR_Init();
- NET_DVR_API BOOL __stdcall NET_DVR_Cleanup();
- NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessage(UINT nMessage,HWND hWnd);
- NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack(BOOL (CALLBACK *fMessCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen));
- NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_EX(BOOL (CALLBACK *fMessCallBack_EX)(LONG lCommand,LONG lUserID,char *pBuf,DWORD dwBufLen));
- NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_NEW(BOOL (CALLBACK *fMessCallBack_NEW)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, WORD dwLinkDVRPort));
- NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack(BOOL (CALLBACK *fMessageCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, DWORD dwUser), DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_SetConnectTime(DWORD dwWaitTime,DWORD dwTryTimes);
- NET_DVR_API DWORD __stdcall NET_DVR_GetSDKVersion();
- NET_DVR_API DWORD __stdcall NET_DVR_GetSDKBuildVersion();
- NET_DVR_API int __stdcall NET_DVR_IsSupport();
- NET_DVR_API BOOL __stdcall NET_DVR_StartListen(char *sLocalIP,WORD wLocalPort);
- NET_DVR_API BOOL __stdcall NET_DVR_StopListen();
- NET_DVR_API LONG __stdcall NET_DVR_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo);
- NET_DVR_API BOOL __stdcall NET_DVR_Logout(LONG lUserID);
- NET_DVR_API DWORD __stdcall NET_DVR_GetLastError();
- NET_DVR_API BOOL __stdcall NET_DVR_SetShowMode(DWORD dwShowType,COLORREF colorKey);
- NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, WORD wServerPort, BYTE *sDVRName,WORD wDVRNameLen,BYTE *sDVRSerialNumber,WORD wDVRSerialLen,char* sGetIP);
- //图像预览
- NET_DVR_API LONG __stdcall NET_DVR_RealPlay(LONG lUserID,LPNET_DVR_CLIENTINFO lpClientInfo);
- NET_DVR_API BOOL __stdcall NET_DVR_StopRealPlay(LONG lRealHandle);
- NET_DVR_API int __stdcall NET_DVR_GetRealPlayerIndex(LONG lRealHandle);
- //视频参数是索引值 1-10
- NET_DVR_API BOOL __stdcall NET_DVR_ClientSetVideoEffect(LONG lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue);
- NET_DVR_API BOOL __stdcall NET_DVR_ClientGetVideoEffect(LONG lRealHandle,DWORD *pBrightValue,DWORD *pContrastValue, DWORD *pSaturationValue,DWORD *pHueValue);
- NET_DVR_API BOOL __stdcall NET_DVR_RigisterDrawFun(LONG lRealHandle,void (CALLBACK* fDrawFun)(LONG lRealHandle,HDC hDc,DWORD dwUser),DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_SetPlayerBufNumber(LONG lRealHandle,DWORD dwBufNum);
- NET_DVR_API BOOL __stdcall NET_DVR_ThrowBFrame(LONG lRealHandle,DWORD dwNum);
- NET_DVR_API BOOL __stdcall NET_DVR_SetAudioMode(DWORD dwMode);
- NET_DVR_API BOOL __stdcall NET_DVR_OpenSound(LONG lRealHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_CloseSound();
- NET_DVR_API BOOL __stdcall NET_DVR_OpenSoundShare(LONG lRealHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_CloseSoundShare(LONG lRealHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_Volume(LONG lRealHandle,WORD wVolume);
- NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData(LONG lRealHandle,char *sFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_StopSaveRealData(LONG lRealHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBack(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrame(LONG lUserID, LONG lChannel);
- NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrameSub(LONG lUserID, LONG lChannel);
- NET_DVR_API BOOL __stdcall NET_DVR_RefreshPlay(LONG lPlayHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture(LONG lRealHandle,char *sPicFileName);
- //云台控制
- NET_DVR_API BOOL __stdcall NET_DVR_PTZControl(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCommand,DWORD dwStop);
- NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize);
- NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_Other(LONG lUserID,LONG lChannel,char *pPTZCodeBuf,DWORD dwBufSize);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_Other(LONG lUserID,LONG lChannel,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_EX(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_EX(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_EX(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack(LONG lRealHandle,DWORD dwPTZTrackCmd);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_Other(LONG lUserID,LONG lChannel,DWORD dwPTZTrackCmd);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_EX(LONG lRealHandle,DWORD dwPTZTrackCmd);
- //带速度的云台控制
- NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_Other(LONG lUserID, LONG lChannel, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed);
- //2007-05-11 IP快球
- NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCruise(LONG lUserID,LONG lChannel,LONG lCruiseRoute, LPNET_DVR_CRUISE_RET lpCruiseRet);
- NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn(LONG lRealHandle, LPNET_DVR_POINT_FRAME pStruPointFrame);
- //文件回放
- NET_DVR_API LONG __stdcall NET_DVR_FindFile(LONG lUserID,LONG lChannel,DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
- NET_DVR_API LONG __stdcall NET_DVR_FindNextFile(LONG lFindHandle,LPNET_DVR_FIND_DATA lpFindData);
- NET_DVR_API BOOL __stdcall NET_DVR_FindClose(LONG lFindHandle);
- NET_DVR_API LONG __stdcall NET_DVR_FindFileByCard(LONG lUserID,LONG lChannel,DWORD dwFileType, BOOL bNeedCardNum, BYTE *sCardNumber, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
- NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName(LONG lUserID,char *sPlayBackFileName, HWND hWnd);
- NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd);
- NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl(LONG lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *lpOutValue);
- NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBack(LONG lPlayHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_PlayBackSaveData(LONG lPlayHandle,char *sFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBackSave(LONG lPlayHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_DVR_TIME lpOsdTime);
- NET_DVR_API BOOL __stdcall NET_DVR_PlayBackCaptureFile(LONG lPlayHandle,char *sFileName);
- NET_DVR_API LONG __stdcall NET_DVR_GetFileByName(LONG lUserID,char *sDVRFileName,char *sSavedFileName);
- NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_StopGetFile(LONG lFileHandle);
- NET_DVR_API int __stdcall NET_DVR_GetDownloadPos(LONG lFileHandle);
- NET_DVR_API int __stdcall NET_DVR_GetPlayBackPlayerIndex(LONG lPlayHandle);
- //恢复默认值
- NET_DVR_API BOOL __stdcall NET_DVR_RestoreConfig(LONG lUserID);
- //保存参数
- NET_DVR_API BOOL __stdcall NET_DVR_SaveConfig(LONG lUserID);
- //重启
- NET_DVR_API BOOL __stdcall NET_DVR_RebootDVR(LONG lUserID);
- //关闭DVR
- NET_DVR_API BOOL __stdcall NET_DVR_ShutDownDVR(LONG lUserID);
- //升级
- NET_DVR_API LONG __stdcall NET_DVR_Upgrade(LONG lUserID,char *sFileName);
- NET_DVR_API int __stdcall NET_DVR_GetUpgradeState(LONG lUpgradeHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_CloseUpgradeHandle(LONG lUpgradeHandle);
- //远程格式化硬盘
- NET_DVR_API LONG __stdcall NET_DVR_FormatDisk(LONG lUserID,LONG lDiskNumber);
- NET_DVR_API BOOL __stdcall NET_DVR_GetFormatProgress(LONG lFormatHandle,LONG *pCurrentFormatDisk,LONG *pCurrentDiskPos,LONG *pFormatStatic);
- NET_DVR_API BOOL __stdcall NET_DVR_CloseFormatHandle(LONG lFormatHandle);
- //报警
- NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan(LONG lUserID);
- NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan(LONG lAlarmHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut(LONG lUserID,LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState);
- NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmOut(LONG lUserID,LONG lAlarmOutPort,LONG lAlarmOutStatic);
- //语音对讲
- NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle,char *pRecvDataBuffer,DWORD dwBufSize,BYTE byAudioFlag,DWORD dwUser), DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceComClientVolume(LONG lVoiceComHandle,WORD wVolume);
- NET_DVR_API BOOL __stdcall NET_DVR_StopVoiceCom(LONG lVoiceComHandle);
- //语音广播
- NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart();
- NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStop();
- NET_DVR_API BOOL __stdcall NET_DVR_AddDVR(LONG lUserID);
- NET_DVR_API BOOL __stdcall NET_DVR_DelDVR(LONG lUserID);
- //语音转发
- NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle,char *pRecvDataBuffer,DWORD dwBufSize,BYTE byAudioFlag,DWORD dwUser), DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_VoiceComSendData(LONG lVoiceComHandle,char *pSendBuf,DWORD dwBufSize);
- ////////////////////////////////////////////////////////////
- //透明通道设置
- NET_DVR_API LONG __stdcall NET_DVR_SerialStart(LONG lUserID,LONG lSerialPort,void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser);
- NET_DVR_API BOOL __stdcall NET_DVR_SerialSend(LONG lSerialHandle, LONG lChannel, char *pSendBuf,DWORD dwBufSize);
- NET_DVR_API BOOL __stdcall NET_DVR_SerialStop(LONG lSerialHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_SendTo232Port(LONG lUserID,char *pSendBuf,DWORD dwBufSize);
- //远程控制本地显示
- NET_DVR_API BOOL __stdcall NET_DVR_ClickKey(LONG lUserID,LONG lKeyIndex);
- //远程控制手动录像
- NET_DVR_API BOOL __stdcall NET_DVR_StartDVRRecord(LONG lUserID,LONG lChannel,LONG lRecordType);
- NET_DVR_API BOOL __stdcall NET_DVR_StopDVRRecord(LONG lUserID,LONG lChannel);
- //解码卡
- NET_DVR_API BOOL __stdcall NET_DVR_InitDevice_Card(long *pDeviceTotalChan);
- NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDevice_Card();
- NET_DVR_API BOOL __stdcall NET_DVR_InitDDraw_Card(HWND hParent,COLORREF colorKey);
- NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDraw_Card();
- NET_DVR_API LONG __stdcall NET_DVR_RealPlay_Card(LONG lUserID,LPNET_DVR_CARDINFO lpCardInfo,long lChannelNum);
- NET_DVR_API BOOL __stdcall NET_DVR_ResetPara_Card(LONG lRealHandle,LPNET_DVR_DISPLAY_PARA lpDisplayPara);
- NET_DVR_API BOOL __stdcall NET_DVR_RefreshSurface_Card();
- NET_DVR_API BOOL __stdcall NET_DVR_ClearSurface_Card();
- NET_DVR_API BOOL __stdcall NET_DVR_RestoreSurface_Card();
- NET_DVR_API BOOL __stdcall NET_DVR_OpenSound_Card(LONG lRealHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_CloseSound_Card(LONG lRealHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_SetVolume_Card(LONG lRealHandle,WORD wVolume);
- NET_DVR_API BOOL __stdcall NET_DVR_AudioPreview_Card(LONG lRealHandle,BOOL bEnable);
- NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture_Card(LONG lRealHandle, char *sPicFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_SetDspErrMsg_Card(UINT nMessage,HWND hWnd);
- NET_DVR_API BOOL __stdcall NET_DVR_ResetDSP_Card(long lChannelNum);
- NET_DVR_API BOOL __stdcall NET_DVR_GetSerialNum_Card(long lChannelNum,DWORD *pDeviceSerialNo);
- NET_DVR_API HANDLE __stdcall NET_DVR_GetChanHandle_Card(LONG lRealHandle);
- //服务器状态
- NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState(LONG lUserID,LPNET_DVR_WORKSTATE lpWorkState);
- //日志
- NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog(LONG lUserID,LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);
- NET_DVR_API LONG __stdcall NET_DVR_FindNextLog(LONG lLogHandle,LPNET_DVR_LOG lpLogData);
- NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose(LONG lLogHandle);
- //参数设置
- NET_DVR_API BOOL __stdcall NET_DVR_GetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpOutBuffer,DWORD dwOutBufferSize,LPDWORD lpBytesReturned);
- NET_DVR_API BOOL __stdcall NET_DVR_SetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpInBuffer,DWORD dwInBufferSize);
- NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat);
- NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat);
- //解码
- NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(int nBitrate);
- NET_DVR_API void __stdcall NET_DVR_ReleaseG722Decoder(void *pDecHandle);
- NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *pDecHandle, unsigned char* pInBuffer, unsigned char* pOutBuffer);
- //编码
- NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder();
- NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *pEncodeHandle,unsigned char* pInBuffer, unsigned char* pOutBuffer);
- NET_DVR_API void __stdcall NET_DVR_ReleaseG722Encoder(void *pEncodeHandle);
- //参数设置
- NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile(LONG lUserID, char *sFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile(LONG lUserID, char *sFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_EX(LONG lUserID, char *sOutBuffer, DWORD dwOutSize);
- NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile_EX(LONG lUserID, char *sInBuffer, DWORD dwInSize);
- //6001D/F解码设备接口
- NET_DVR_API BOOL __stdcall NET_DVR_SetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo);
- NET_DVR_API BOOL __stdcall NET_DVR_GetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo);
- NET_DVR_API BOOL __stdcall NET_DVR_SetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort);
- NET_DVR_API BOOL __stdcall NET_DVR_GetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort);
- NET_DVR_API BOOL __stdcall NET_DVR_DecPlayBackCtrl(LONG lUserID, LONG lChannel, DWORD dwControlCode, DWORD dwInValue,DWORD *lpOutValue, LPNET_DVR_PLAYREMOTEFILE lpRemoteFileInfo);
- NET_DVR_API BOOL __stdcall NET_DVR_StartDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo);
- NET_DVR_API BOOL __stdcall NET_DVR_StopDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo);
- NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlDec(LONG lUserID, LONG lChannel, DWORD dwControlCode);
- NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlScreen(LONG lUserID, LONG lChannel, DWORD dwControl);
- NET_DVR_API BOOL __stdcall NET_DVR_GetDecCurLinkStatus(LONG lUserID, LONG lChannel, LPNET_DVR_DECSTATUS lpDecStatus);
- //JPEG抓图
- NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sPicFileName);
- NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture_NEW(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sJpegPicBuffer, DWORD dwPicSize, LPDWORD lpSizeReturned);
- //设置ATM PORT配置
- NET_DVR_API BOOL __stdcall NET_DVR_SetATMPortCFG(LONG lUserID, WORD wATMPort);
- //获取ATM PORT配置
- NET_DVR_API BOOL __stdcall NET_DVR_GetATMPortCFG(LONG lUserID, WORD *lpOutATMPort);
- //增加是否启用缩放接口
- //设置缩放配置
- NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG(LONG lUserID, DWORD dwScale);
- //获取缩放配置
- NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG(LONG lUserID, DWORD *lpOutScale);
- //支持显卡
- //#if (WINVER > 0x0400)
- //Note: These funtion must be builded under win2000 or above with Microsoft Platform sdk.
- // You can download the sdk from "http://www.microsoft.com/msdownload/platformsdk/sdkupdate/";
- NET_DVR_API BOOL __stdcall NET_DVR_InitDDrawDevice();
- NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDrawDevice();
- NET_DVR_API LONG __stdcall NET_DVR_GetDDrawDeviceTotalNums();
- NET_DVR_API BOOL __stdcall NET_DVR_SetDDrawDevice(LONG lPlayPort, DWORD nDeviceNum);
- //#endif
- //多路解码器
- //2007-11-30 V211支持以下接口
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixStopDynamic(LONG lUserID, DWORD dwDecChanNum);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO lpInter);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecEnable(LONG lUserID, LPDWORD lpdwEnable);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable);
- NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_STATUS lpInter);
|