VzClientSDK.cs 103 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Runtime.InteropServices;
  6. namespace VzClientSDKDemo
  7. {
  8. class VzClientSDK
  9. {
  10. public VzClientSDK()
  11. {
  12. //
  13. // TODO: 在此处添加构造函数逻辑
  14. //VzClientSDK.VzLPRClient_ForceTrigger
  15. //
  16. }
  17. /**可过滤的车牌识别触发类型*/
  18. public const int VZ_LPRC_TRIG_ENABLE_STABLE = 0x1; /**<允许触发稳定结果*/
  19. public const int VZ_LPRC_TRIG_ENABLE_VLOOP = 0x2; /**<允许触发虚拟线圈结果*/
  20. public const int VZ_LPRC_TRIG_ENABLE_IO_IN1 = 0x10; /**<允许外部IO_IN_1触发*/
  21. public const int VZ_LPRC_TRIG_ENABLE_IO_IN2 = 0x20; /**<允许外部IO_IN_2触发*/
  22. public const int VZ_LPRC_TRIG_ENABLE_IO_IN3 = 0x40; /**<允许外部IO_IN_3触发*/
  23. //车牌类型
  24. public const int LT_UNKNOWN = 0; //未知车牌
  25. public const int LT_BLUE = 1; //蓝牌小汽车
  26. public const int LT_BLACK = 2; //黑牌小汽车
  27. public const int LT_YELLOW = 3; //单排黄牌
  28. public const int LT_YELLOW2 = 4; //双排黄牌(大车尾牌,农用车)
  29. public const int LT_POLICE = 5; //警车车牌
  30. public const int LT_ARMPOL = 6; //武警车牌
  31. public const int LT_INDIVI = 7; //个性化车牌
  32. public const int LT_ARMY = 8; //单排军车牌
  33. public const int LT_ARMY2 = 9; //双排军车牌
  34. public const int LT_EMBASSY = 10; //使馆车牌
  35. public const int LT_HONGKONG= 11; //香港进出中国大陆车牌
  36. public const int LT_TRACTOR = 12; //农用车牌
  37. public const int LT_COACH = 13; //教练车牌
  38. public const int LT_MACAO = 14; //澳门进出中国大陆车牌
  39. public const int LT_ARMPOL2 = 15; //双层武警车牌
  40. public const int LT_ARMPOL_ZONGDUI = 16; // 武警总队车牌
  41. public const int LT_ARMPOL2_ZONGDUI = 17; // 双层武警总队车牌
  42. public const int LI_AVIATION = 18; //民航
  43. public const int LI_ENERGY = 19; //新能源小型车
  44. public const int LI_NO_PLATE = 20; //无车牌
  45. /**可配置的识别类型*/
  46. public const int VZ_LPRC_REC_BLUE = (1 << (LT_BLUE)); /**<蓝牌车*/
  47. public const int VZ_LPRC_REC_YELLOW = (1 << (LT_YELLOW) | 1 << (LT_YELLOW2)); /**<黄牌车*/
  48. public const int VZ_LPRC_REC_BLACK = (1 << (LT_BLACK)); /**<黑牌车*/
  49. public const int VZ_LPRC_REC_COACH = (1 << (LT_COACH)); /**<教练车*/
  50. public const int VZ_LPRC_REC_POLICE = (1 << (LT_POLICE)); /**<警车*/
  51. public const int VZ_LPRC_REC_AMPOL = (1 << (LT_ARMPOL)); /**<武警车*/
  52. public const int VZ_LPRC_REC_ARMY = (1 << (LT_ARMY) | 1 << (LT_ARMY2)); /**<军车*/
  53. public const int VZ_LPRC_REC_GANGAO = (1 << (LT_HONGKONG) | 1 << (LT_MACAO)); /**<港澳进出大陆车*/
  54. public const int VZ_LPRC_REC_EMBASSY = (1 << (LT_EMBASSY)); /**<使馆车*/
  55. public const int VZ_LPRC_REC_AVIATION = (1 << (LT_EMBASSY)); /**<民航*/
  56. public const int VZ_LPRC_REC_ENERGY = (1 << (LI_ENERGY)); /**<新能源*/
  57. public const int VZ_LPRC_REC_NO_PLATE = (1 << (LI_NO_PLATE)); /**<无车牌*/
  58. //触发输入的类型
  59. public enum VZ_InputType : uint
  60. {
  61. nWhiteList = 0, //通过
  62. nNotWhiteList, //不通过
  63. nNoLicence, //无车牌
  64. nBlackList, //黑名单
  65. nExtIoctl1, //开关量/电平输入 1
  66. nExtIoctl2, //开关量/电平输入 2
  67. nExtIoctl3 //开关量/电平输入 3
  68. };
  69. //输出配置
  70. public struct VZ_LPRC_OutputConfig
  71. {
  72. public int switchout1; //开关量输出 1
  73. public int switchout2; //开关量输出 2
  74. public int switchout3; //开关量输出 3
  75. public int switchout4; //开关量输出 4
  76. public int levelout1; //电平输出 1
  77. public int levelout2; //电平输出 2
  78. public int rs485out1; //RS485-1
  79. public int rs485out2; //RS485-2
  80. VZ_InputType eInputType; //触发输入的类型
  81. };
  82. public const int MAX_OutputConfig_Len = 7;
  83. //输出配置信息
  84. public struct VZ_OutputConfigInfo
  85. {
  86. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = MAX_OutputConfig_Len, ArraySubType = UnmanagedType.I1)]
  87. public VZ_LPRC_OutputConfig[] oConfigInfo; //多个输出配置输出的消息
  88. };
  89. ///**加密类型**/
  90. public const int ENCRYPT_NAME_LENGTH = 32;
  91. public struct VZ_EMS_INFO
  92. {
  93. public UInt32 uId; //加密ID
  94. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = ENCRYPT_NAME_LENGTH)]
  95. public string sName; //加密名
  96. }
  97. public const int ENCRYPT_LENGTH = 16;
  98. public const int SIGNATURE_LENGTH = 32;
  99. /**当前识别结果加密类型**/
  100. public struct VZ_LPRC_ACTIVE_ENCRYPT
  101. {
  102. public UInt32 uActiveID;//当前加密类型ID
  103. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = ENCRYPT_LENGTH)]
  104. public VZ_EMS_INFO[] oEncrpty;//系统加密类型
  105. public UInt32 uSize;//系统加密类型长度
  106. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = SIGNATURE_LENGTH)]
  107. public string signature;//SIGNATURE
  108. }
  109. /**串口参数*/
  110. public struct VZ_SERIAL_PARAMETER
  111. {
  112. public UInt32 uBaudRate; // <波特率 300,600,1200,2400,4800,9600,19200,34800,57600,115200
  113. public UInt32 uParity; // <校验位 其值为0-2=no,odd,even
  114. public UInt32 uDataBits; // <数据位 其值为7,8 位数据位
  115. public UInt32 uStopBit; // <停止位 其值为1,2位停止位
  116. };
  117. //设置回调函数时需要制定的类型
  118. public enum VZ_LPRC_CALLBACK_TYPE : uint
  119. {
  120. VZ_LPRC_CALLBACK_COMMON_NOTIFY = 0, //SDK通用信息反馈
  121. VZ_LPRC_CALLBACK_PLATE_STR, //车牌号码字符
  122. VZ_LRPC_CALLBACK_FULL_IMAGE, //完整图像
  123. VZ_LPRC_CALLBACK_CLIP_IMAGE, //截取图像
  124. VZ_LPRC_CALLBACK_PLATE_RESULT, //实时识别结果
  125. VZ_LPRC_CALLBACK_PLATE_RESULT_STABLE, //稳定识别结果
  126. VZ_LPRC_CALLBACK_PLATE_RESULT_TRIGGER, //触发的识别结果,包括API(软件)和IO(硬件)方式的
  127. VZ_LPRC_CALLBACK_VIDEO, //视频帧回调
  128. }
  129. //通用信息反馈类型
  130. public enum VZ_LPRC_COMMON_NOTIFY : uint
  131. {
  132. VZ_LPRC_NO_ERR = 0,
  133. VZ_LPRC_ACCESS_DENIED, //用户名密码错误
  134. VZ_LPRC_NETWORK_ERR, //网络连接故障
  135. }
  136. //识别结果的类型
  137. public enum VZ_LPRC_RESULT_TYPE : uint
  138. {
  139. VZ_LPRC_RESULT_REALTIME, /*<实时识别结果*/
  140. VZ_LPRC_RESULT_STABLE, /*<稳定识别结果*/
  141. VZ_LPRC_RESULT_FORCE_TRIGGER, /*<调用“VzLPRClient_ForceTrigger”触发的识别结果*/
  142. VZ_LPRC_RESULT_IO_TRIGGER, /*<外部IO信号触发的识别结果*/
  143. VZ_LPRC_RESULT_VLOOP_TRIGGER, /*<虚拟线圈触发的识别结果*/
  144. VZ_LPRC_RESULT_MULTI_TRIGGER, /*<由_FORCE_\_IO_\_VLOOP_中的一种或多种同时触发,具体需要根据每个识别结果的TH_PlateResult::uBitsTrigType来判断*/
  145. VZ_LPRC_RESULT_TYPE_NUM /*<结果种类个数*/
  146. }
  147. //顶点定义
  148. //X_1000和Y_1000的取值范围为[0, 1000];
  149. //即位置信息为实际图像位置在整体图像位置的相对尺寸;
  150. //例如X_1000 = x*1000/win_width,其中x为点在图像中的水平像素位置,win_width为图像宽度
  151. [StructLayout(LayoutKind.Sequential)]
  152. public struct VZ_LPRC_VERTEX
  153. {
  154. public uint X_1000;
  155. public uint Y_1000;
  156. }
  157. public const int VZ_LPRC_ROI_VERTEX_NUM_EX = 12;
  158. //识别区域信息定义
  159. [StructLayout(LayoutKind.Sequential)]
  160. public struct VZ_LPRC_ROI_EX
  161. {
  162. public byte byRes1; //预留
  163. public byte byEnable; //是否有效
  164. public byte byDraw; //是否绘制
  165. public byte byRes2; //预留
  166. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.I1)]
  167. public byte[] byRes3; //预留
  168. uint uNumVertex; //顶点实际个数
  169. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = VZ_LPRC_ROI_VERTEX_NUM_EX)]
  170. public VZ_LPRC_VERTEX[] struVertex; //顶点数组
  171. }
  172. public const int VZ_LPRC_VIRTUAL_LOOP_NAME_LEN = 32;
  173. public const int VZ_LPRC_VIRTUAL_LOOP_VERTEX_NUM = 4;
  174. //虚拟线圈信息定义
  175. [StructLayout(LayoutKind.Sequential)]
  176. public struct VZ_LPRC_VIRTUAL_LOOP
  177. {
  178. public byte byID; //序号
  179. public byte byEnable; //是否有效
  180. public byte byDraw; //是否绘制
  181. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 1, ArraySubType = UnmanagedType.I1)]
  182. public byte[] byRes; //预留
  183. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = VZ_LPRC_VIRTUAL_LOOP_NAME_LEN)]
  184. public string strName;
  185. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = VZ_LPRC_VIRTUAL_LOOP_VERTEX_NUM)]
  186. public VZ_LPRC_VERTEX[] struVertex; //顶点数组
  187. public uint eCrossDir; // 穿越方向限制
  188. public uint uTriggerTimeGap; // 对相同车牌的触发时间间隔的限制,单位为秒
  189. public uint uMaxLPWidth; // 最大车牌尺寸限制
  190. public uint uMinLPWidth; // 最小车牌尺寸限制
  191. }
  192. public const int VZ_LPRC_VIRTUAL_LOOP_MAX_NUM = 8;
  193. //虚拟线圈序列
  194. [StructLayout(LayoutKind.Sequential)]
  195. public struct VZ_LPRC_VIRTUAL_LOOPS
  196. {
  197. public uint uNumVirtualLoop; //实际个数
  198. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = VZ_LPRC_VIRTUAL_LOOP_MAX_NUM)]
  199. public VZ_LPRC_VIRTUAL_LOOP[] struLoop;
  200. }
  201. public const int VZ_LPRC_PROVINCE_STR_LEN = 128;
  202. //预设省份信息
  203. [StructLayout(LayoutKind.Sequential)]
  204. public struct VZ_LPRC_PROVINCE_INFO
  205. {
  206. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = VZ_LPRC_PROVINCE_STR_LEN, ArraySubType = UnmanagedType.I1)]
  207. public char[] strProvinces; //所有支持的省份简称构成的字符串
  208. public int nCurrIndex; //当前的预设省份的序号,在strProvinces中的,-1为未设置
  209. }
  210. [StructLayout(LayoutKind.Sequential)]
  211. public struct TH_RECT
  212. {
  213. public int left;
  214. public int top;
  215. public int right;
  216. public int bottom;
  217. }
  218. /**分解时间*/
  219. [StructLayout(LayoutKind.Sequential)]
  220. public struct VzBDTime
  221. {
  222. public byte bdt_sec; /*<秒,取值范围[0,59]*/
  223. public byte bdt_min; /*<分,取值范围[0,59]*/
  224. public byte bdt_hour; /*<时,取值范围[0,23]*/
  225. public byte bdt_mday; /*<一个月中的日期,取值范围[1,31]*/
  226. public byte bdt_mon; /*<月份,取值范围[1,12]*/
  227. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 3, ArraySubType = UnmanagedType.I1)]
  228. public byte[] res1; /*<预留*/
  229. public uint bdt_year; /*<年份*/
  230. [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I1)]
  231. public byte[] res2; /*<预留*/
  232. } //broken-down time
  233. [StructLayout(LayoutKind.Sequential)]
  234. public struct VZ_TIMEVAL
  235. {
  236. public uint uTVSec;
  237. public uint uTVUSec;
  238. }
  239. [StructLayout(LayoutKind.Sequential)]
  240. public struct TH_PlateResult
  241. {
  242. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
  243. public char[] license; // 车牌号码
  244. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
  245. public char[] color; // 车牌颜色
  246. public int nColor; // 车牌颜色序号
  247. public int nType; // 车牌类型
  248. public int nConfidence; // 车牌可信度
  249. public int nBright; // 亮度评价
  250. public int nDirection; // 运动方向,0 unknown, 1 left, 2 right, 3 up , 4 down
  251. public TH_RECT rcLocation; //车牌位置
  252. public int nTime; //识别所用时间
  253. public VZ_TIMEVAL tvPTS; //识别时间点
  254. public uint uBitsTrigType; //强制触发结果的类型,见TH_TRIGGER_TYPE_BIT
  255. public byte nCarBright; //车的亮度
  256. public byte nCarColor; //车的颜色
  257. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
  258. public char[] reserved0; //为了对齐
  259. public uint uId; //记录的编号
  260. public VzBDTime struBDTime; //分解时间
  261. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 84, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
  262. public char[] reserved; // 保留
  263. }
  264. [StructLayout(LayoutKind.Sequential)]
  265. public struct VzYUV420P
  266. {
  267. public IntPtr pY;
  268. public IntPtr pU;
  269. public IntPtr pV;
  270. int widthStepY;
  271. int widthStepU;
  272. int widthStepV;
  273. int width;
  274. int height;
  275. }
  276. //图像信息
  277. [StructLayout(LayoutKind.Sequential)]
  278. public struct VZ_LPRC_IMAGE_INFO
  279. {
  280. public uint uWidth;
  281. public uint uHeight;
  282. public uint uPitch;
  283. public uint uPixFmt;
  284. public IntPtr pBuffer;
  285. }
  286. //智能视频
  287. [StructLayout(LayoutKind.Sequential)]
  288. public struct VZ_LPRC_DRAWMODE{
  289. public byte byDspAddTarget; //dsp叠加报警目标
  290. public byte byDspAddRule; //dsp叠加设置规则
  291. public byte byDspAddTrajectory; //dsp叠加轨迹
  292. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 2, ArraySubType = System.Runtime.InteropServices.UnmanagedType.I1)]
  293. public byte[] dwRes;
  294. };
  295. //设备序列号
  296. [StructLayout(LayoutKind.Sequential)]
  297. public struct VZ_DEV_SERIAL_NUM
  298. {
  299. public uint uHi;
  300. public uint uLo;
  301. }
  302. //********白名单********//
  303. [StructLayout(LayoutKind.Sequential)]
  304. public struct VZ_TM
  305. {
  306. /// short
  307. public short nYear;
  308. /// short
  309. public short nMonth;
  310. /// short
  311. public short nMDay;
  312. /// short
  313. public short nHour;
  314. /// short
  315. public short nMin;
  316. /// short
  317. public short nSec;
  318. }
  319. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  320. public struct VZ_TM_WEEK_DAY
  321. {
  322. /// char
  323. public byte bSun;
  324. /// char
  325. public byte bMon;
  326. /// char
  327. public byte bTue;
  328. /// char
  329. public byte bWed;
  330. /// char
  331. public byte bThur;
  332. /// char
  333. public byte bFri;
  334. /// char
  335. public byte bSat;
  336. /// char
  337. public byte reserved;
  338. }
  339. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  340. public struct VZ_LPRC_OSD_Param
  341. {
  342. public byte dstampenable; // 0 off 1 on
  343. public int dateFormat; // 0:YYYY/MM/DD;1:MM/DD/YYYY;2:DD/MM/YYYY
  344. public int datePosX;
  345. public int datePosY;
  346. public byte tstampenable; // 0 off 1 on
  347. public int timeFormat; // 0:12Hrs;1:24Hrs
  348. public int timePosX;
  349. public int timePosY;
  350. public byte nLogoEnable; // 0 off 1 on
  351. public int nLogoPositionX; //< logo position
  352. public int nLogoPositionY; //< logo position
  353. public byte nTextEnable; //0 off 1 on
  354. public int nTextPositionX; //< text position
  355. public int nTextPositionY; //< text position
  356. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 16)]
  357. public string overlaytext; //user define text //user define text
  358. }
  359. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  360. public struct VZ_TM_DAY
  361. {
  362. /// short
  363. public short nHour;
  364. /// short
  365. public short nMin;
  366. /// short
  367. public short nSec;
  368. /// short
  369. public short reserved;
  370. }
  371. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  372. public struct VZ_TM_WEEK_SEGMENT
  373. {
  374. /// unsigned int
  375. public uint uEnable;
  376. /// VZ_TM_WEEK_DAY->Anonymous_a54d933b_d2e6_4eba_97b3_61ea9b47dd3b
  377. public VZ_TM_WEEK_DAY struDaySelect;
  378. /// VZ_TM_DAY->Anonymous_2bafa8b8_e11f_4cdc_a109_eb09791f91d6
  379. public VZ_TM_DAY struDayTimeStart;
  380. /// VZ_TM_DAY->Anonymous_2bafa8b8_e11f_4cdc_a109_eb09791f91d6
  381. public VZ_TM_DAY struDayTimeEnd;
  382. }
  383. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  384. public struct VZ_TM_RANGE
  385. {
  386. /// VZ_TM->Anonymous_40d76b6c_816a_4821_a5db_3480cee2a116
  387. public VZ_TM struTimeStart;
  388. /// VZ_TM->Anonymous_40d76b6c_816a_4821_a5db_3480cee2a116
  389. public VZ_TM struTimeEnd;
  390. }
  391. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  392. public struct VZ_TM_PERIOD_OR_RANGE
  393. {
  394. /// unsigned int
  395. public uint uEnable;
  396. /// VZ_TM_WEEK_SEGMENT[8]
  397. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 8, ArraySubType = System.Runtime.InteropServices.UnmanagedType.Struct)]
  398. public VZ_TM_WEEK_SEGMENT[] struWeekSeg;
  399. }
  400. /**设备日期时间参数*/
  401. public struct VZ_DATE_TIME_INFO
  402. {
  403. public uint uYear; /*<年*/
  404. public uint uMonth; /*<月 [1, 12]*/
  405. public uint uMDay; /*<月中的天数 [1, 31]*/
  406. public uint uHour; /*<时*/
  407. public uint uMin; /*<分*/
  408. public uint uSec; /*<秒*/
  409. }
  410. public enum VZ_LPR_WLIST_ERROR
  411. {
  412. /// VZ_LPR_WLIST_ERROR_NO_ERROR -> 0
  413. VZ_LPR_WLIST_ERROR_NO_ERROR = 0,
  414. VZ_LPR_WLIST_ERROR_PLATEID_EXISTS,
  415. VZ_LPR_WLIST_ERROR_INSERT_CUSTOMERINFO_FAILED,
  416. VZ_LPR_WLIST_ERROR_INSERT_VEHICLEINFO_FAILED,
  417. VZ_LPR_WLIST_ERROR_UPDATE_CUSTOMERINFO_FAILED,
  418. VZ_LPR_WLIST_ERROR_UPDATE_VEHICLEINFO_FAILED,
  419. VZ_LPR_WLIST_ERROR_PLATEID_EMPTY,
  420. VZ_LPR_WLIST_ERROR_ROW_NOT_CHANGED,
  421. VZ_LPR_WLIST_ERROR_CUSTOMERINFO_NOT_CHANGED,
  422. VZ_LPR_WLIST_ERROR_VEHICLEINFO_NOT_CHANGED,
  423. VZ_LPR_WLIST_ERROR_CUSTOMER_VEHICLE_NOT_MATCH,
  424. VZ_LPR_WLIST_ERROR_SERVER_GONE,
  425. }
  426. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  427. public struct VZ_LPR_WLIST_VEHICLE
  428. {
  429. /// unsigned int
  430. public uint uVehicleID; //车辆在数据库的ID
  431. /// char[32]
  432. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  433. public string strPlateID; //车牌字符串
  434. /// unsigned int
  435. public uint uCustomerID; //客户在数据库的ID
  436. /// unsigned int
  437. public uint bEnable; //该记录有效标记(是否启用)
  438. /// unsigned int
  439. public uint bEnableTMEnable; //是否开启生效时间
  440. /// unsigned int
  441. public uint bEnableTMOverdule; //是否开启过期时间
  442. /// VZ_TM*
  443. public VZ_TM struTMEnable; //该记录生效时间
  444. public VZ_TM struTMOverdule; //该记录过期时间
  445. /// unsigned int
  446. public uint bUsingTimeSeg; //是否使用周期时间段
  447. /// VZ_TM_PERIOD_OR_RANGE->Anonymous_6f46bf7e_03f5_450b_84da_e56739a41561
  448. public VZ_TM_PERIOD_OR_RANGE struTimeSegOrRange;//周期时间段信息
  449. /// unsigned int
  450. public uint bAlarm; //是否触发报警(黑名单记录)
  451. public uint iColor; //车辆颜色
  452. public uint iPlateType; //车牌类型
  453. // 车辆代码
  454. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  455. public string strCode; //车辆编码
  456. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 64)]
  457. public string strComment; //车辆编码
  458. }
  459. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  460. public struct VZ_LPR_WLIST_CUSTOMER
  461. {
  462. /// unsigned int
  463. public uint uCustomerID;
  464. /// char[32]
  465. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  466. public string strName;
  467. /// char[32]
  468. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  469. public string strCode;
  470. /// char[256]
  471. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 256)]
  472. public string reserved;
  473. }
  474. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  475. public struct VZ_LPR_WLIST_ROW
  476. {
  477. /// VZ_LPR_WLIST_CUSTOMER*
  478. public System.IntPtr pCustomer;
  479. /// VZ_LPR_WLIST_VEHICLE*
  480. public System.IntPtr pVehicle;
  481. }
  482. //查找数据条件
  483. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  484. public struct VZ_LPR_WLIST_SEARCH_CONSTRAINT
  485. {
  486. /// char[32]
  487. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  488. public string key; //查找的字段
  489. /// char[128]
  490. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 128)]
  491. public string search_string; //查找的字符串
  492. }
  493. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  494. public struct VZ_LPR_MSG_PLATE_INFO
  495. {
  496. /// char[32]
  497. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  498. public string plate;
  499. /// char[128]
  500. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 260)]
  501. public string img_path;
  502. }
  503. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  504. public struct VZ_LPR_DEVICE_INFO
  505. {
  506. /// char[32]
  507. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  508. public string device_ip;
  509. /// char[64]
  510. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 64)]
  511. public string serial_no;
  512. }
  513. public enum VZ_LPR_WLIST_LIMIT_TYPE
  514. {
  515. VZ_LPR_WLIST_LIMIT_TYPE_ONE, //查找一条
  516. VZ_LPR_WLIST_LIMIT_TYPE_ALL, //查找所有
  517. VZ_LPR_WLIST_LIMIT_TYPE_RANGE, //查找一段
  518. }
  519. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  520. public struct VZ_LPR_WLIST_RANGE_LIMIT
  521. {
  522. public int startIndex; //查找起始位置
  523. public int count; //查找条数
  524. }
  525. //查找条数限制
  526. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  527. public struct VZ_LPR_WLIST_LIMIT
  528. {
  529. /// VZ_LPR_WLIST_LIMIT_TYPE->Anonymous_988ed792_488c_49e0_9b97_4fef91401704
  530. public VZ_LPR_WLIST_LIMIT_TYPE limitType; //查找条数限制
  531. /// VZ_LPR_WLIST_RANGE_LIMIT*
  532. public System.IntPtr pRangeLimit; //查找哪一段数据
  533. }
  534. public enum VZ_LPR_WLIST_SORT_DIRECTION
  535. {
  536. /// VZ_LPR_WLIST_SORT_DIRECTION_DESC -> 0
  537. VZ_LPR_WLIST_SORT_DIRECTION_DESC = 0,
  538. /// VZ_LPR_WLIST_SORT_DIRECTION_ASC -> 1
  539. VZ_LPR_WLIST_SORT_DIRECTION_ASC = 1,
  540. }
  541. //结果的排列方式
  542. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  543. public struct VZ_LPR_WLIST_SORT_TYPE
  544. {
  545. /// char[32]
  546. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  547. public string key; //排序的字段
  548. /// VZ_LPR_WLIST_SORT_DIRECTION->Anonymous_dde74036_93c7_4601_966c_0439d47c4836
  549. public VZ_LPR_WLIST_SORT_DIRECTION direction; //排序的方式
  550. }
  551. //查找的方式
  552. public enum VZ_LPR_WLIST_SEARCH_TYPE
  553. {
  554. VZ_LPR_WLIST_SEARCH_TYPE_LIKE, //包含字符
  555. VZ_LPR_WLIST_SEARCH_TYPE_EQUAL, //完全匹配
  556. }
  557. //查找条件
  558. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  559. public struct VZ_LPR_WLIST_SEARCH_WHERE
  560. {
  561. /// VZ_LPR_WLIST_SEARCH_TYPE->Anonymous_e3b38339_d7de_4d6d_998f_8f03f1a82e9c
  562. public VZ_LPR_WLIST_SEARCH_TYPE searchType;//查找的方式,如果是完全匹配,每个条件之间为与;是包含字符时,每个条件之间为或
  563. /// unsigned int
  564. public uint searchConstraintCount; //查找条件个数,为0表示没有搜索条件
  565. /// VZ_LPR_WLIST_SEARCH_CONSTRAINT*
  566. public System.IntPtr pSearchConstraints; //查找条件数组指针
  567. }
  568. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  569. public struct VZ_LPR_WLIST_LOAD_CONDITIONS
  570. {
  571. /// VZ_LPR_WLIST_SEARCH_WHERE*
  572. public System.IntPtr pSearchWhere; //查找条件
  573. /// VZ_LPR_WLIST_LIMIT*
  574. public System.IntPtr pLimit; //查找条数限制
  575. /// VZ_LPR_WLIST_SORT_TYPE*
  576. public System.IntPtr pSortType; //结果的排序方式,为空表示按默认排序
  577. }
  578. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
  579. public struct VZ_LPR_WLIST_KEY_DEFINE
  580. {
  581. /// char[32]
  582. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  583. public string key;
  584. /// char[32]
  585. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  586. public string name;
  587. }
  588. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  589. public struct VZ_LPR_WLIST_IMPORT_RESULT
  590. {
  591. /// int
  592. public int ret;
  593. /// int
  594. public int error_code;
  595. }
  596. public enum VZLPRC_WLIST_CB_TYPE
  597. {
  598. /// VZLPRC_WLIST_CB_TYPE_ROW -> 0
  599. VZLPRC_WLIST_CB_TYPE_ROW = 0,
  600. VZLPRC_WLIST_CB_TYPE_CUSTOMER,
  601. VZLPRC_WLIST_CB_TYPE_VEHICLE,
  602. }
  603. /**LED补光灯命令*/
  604. public enum VZ_LED_CTRL
  605. {
  606. VZ_LED_AUTO, /*<自动控制LED的开和关*/
  607. VZ_LED_MANUAL_ON, /*<手动控制LED开启*/
  608. VZ_LED_MANUAL_OFF, /*<手动控制LED关闭*/
  609. }
  610. /**************************************中心服务器***********************************************/
  611. //中心服务器网络
  612. public const int LPRC_CENTER_IPLEN = 200;
  613. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  614. public struct VZ_LPRC_CENTER_SERVER_NET
  615. {
  616. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = LPRC_CENTER_IPLEN)]
  617. public string centerServerIp; //中心服务器地址
  618. public UInt16 port; //中心服务器端口
  619. public Byte enableSsl; //是否使用ssl协议
  620. public UInt16 sslPort; //ssl协议端口
  621. public UInt16 timeout; //超时时间设置错误, 范围【1~30】
  622. }
  623. public const int URLLENGTH = 1000;
  624. //中心服务器网络设备注册
  625. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  626. public struct VZ_LPRC_CENTER_SERVER_DEVICE_REG
  627. {
  628. public Byte type; //中心服务器设备注册类型 0:取消心跳 1:普通心跳 2:comet轮询
  629. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = URLLENGTH)]
  630. public string url; //中心服务器设备注册地址
  631. }
  632. //中心服务器网络车牌
  633. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  634. public struct VZ_LPRC_CENTER_SERVER_PLATE
  635. {
  636. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = URLLENGTH)]
  637. public string url; //中心服务器车牌地址
  638. public Byte enable; //中心服务器车牌推送使能
  639. public Byte contentLevel; //中心服务器车牌内容详细等级 0:全部 1:较详细 2:较简略 3:简略
  640. public Byte sendLargeImage; //中心服务器车牌是否发送大图片
  641. public Byte sendSmallImage; //中心服务器车牌是否发送小图片
  642. }
  643. //中心服务器网络设备端口触发
  644. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  645. public struct VZ_LPRC_CENTER_SERVER_GIONIN
  646. {
  647. public Byte enable; //中心服务器网络设备端口触发使能
  648. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = URLLENGTH)]
  649. public string url; //中心服务器网络设备端口触发地址
  650. }
  651. //中心服务器网络设备串口
  652. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  653. public struct VZ_LPRC_CENTER_SERVER_SERIAL
  654. {
  655. public Byte enable; //中心服务器网络设备串口使能
  656. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = URLLENGTH)]
  657. public string url; //中心服务器网络设备串口地址
  658. }
  659. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  660. public struct VZ_LPRC_R_ENCODE_PARAM
  661. {
  662. public int default_stream; /* 当前选择的码流 */
  663. public int stream_id; /* 码流类型 */
  664. public int resolution; /* 分辨率; */
  665. public int frame_rate; /* [0, 25],帧率; */
  666. public int encode_type; /* h264; */
  667. public int rate_type; /* 码流类型,对应码流控制; */
  668. public int data_rate; /* 码流上限; */
  669. public int video_quality; /* 视频质量; */
  670. }
  671. public int VZ_LPRC_MAX_RESOLUTION = 12;
  672. public int VZ_LPRC_MAX_RATE = 5;
  673. public int VZ_LPRC_MAX_VIDEO_QUALITY = 12;
  674. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  675. public struct VZ_LPRC_R_RESOLUTION
  676. {
  677. public int resolution_type; /* 码流类型 */
  678. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  679. public string resolution_content; //码流类型
  680. }
  681. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  682. public struct VZ_LPRC_R_RATE_TYPE
  683. {
  684. public int rate_type_value;
  685. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  686. public string rate_type_content;
  687. }
  688. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  689. public struct VZ_LPRC_R_VIDEO_QUALITY
  690. {
  691. int video_quality_type;
  692. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 32)]
  693. public string video_quality_content;
  694. }
  695. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  696. public struct VZ_LPRC_R_ENCODE_PARAM_PROPERTY
  697. {
  698. public int encode_stream; /* 当前选择的码流 */
  699. public int resolution_cur; /* 分辨率 */
  700. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = System.Runtime.InteropServices.UnmanagedType.Struct)]
  701. public VZ_LPRC_R_RESOLUTION[] resolution; /* 分辨率 */
  702. public int frame_rate_cur; /* 当前帧率; */
  703. public int frame_rate_min; /* 最小帧率; */
  704. public int frame_rate_max; /* 最大帧率; */
  705. public int rate_type_cur; /* 码率控制 */
  706. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 5, ArraySubType = System.Runtime.InteropServices.UnmanagedType.Struct)]
  707. public VZ_LPRC_R_RATE_TYPE[] rate_type;
  708. public int data_rate_cur; /* 码流上限; */
  709. public int data_rate_min;
  710. public int data_rate_max;
  711. public int video_quality_cur; /* 视频质量; */
  712. [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 12, ArraySubType = System.Runtime.InteropServices.UnmanagedType.Struct)]
  713. public VZ_LPRC_R_VIDEO_QUALITY[] video_quality;
  714. }
  715. [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
  716. public struct VZ_LPRC_R_VIDEO_PARAM
  717. {
  718. public int brightness;
  719. public int contrast;
  720. public int saturation;
  721. public int sharpness;
  722. public int hue;
  723. public int exposure;
  724. public int max_exposure;
  725. public int gain;
  726. public int max_gain;
  727. public int denoise;
  728. public int flip;
  729. public int frquency;
  730. public int night_mode;
  731. }
  732. //API
  733. /**
  734. * @brief 全局初始化,在所有接口调用之前调用
  735. * @return 0表示成功,-1表示失败
  736. */
  737. [DllImport("kernel32.dll")]
  738. public static extern void CopyMemory(IntPtr Destination, IntPtr Source, int Length);
  739. [DllImport("VzLPRSDK.dll")]
  740. public static extern int VzLPRClient_Setup();
  741. /**
  742. * @brief 全局释放
  743. */
  744. [DllImport("VzLPRSDK.dll")]
  745. public static extern void VzLPRClient_Cleanup();
  746. public delegate void VZLPRC_COMMON_NOTIFY_CALLBACK(int handle, IntPtr pUserData,
  747. VZ_LPRC_COMMON_NOTIFY eNotify, string pStrDetail);
  748. /**
  749. * @brief 设置设备连接反馈结果相关的回调函数
  750. * @param [IN] func 设备连接结果和状态,通过该回调函数返回
  751. * @param [IN] pUserData 回调函数中的上下文
  752. * @return 0表示成功,-1表示失败
  753. */
  754. [DllImport("VzLPRSDK.dll")]
  755. public static extern int VZLPRClient_SetCommonNotifyCallBack(VZLPRC_COMMON_NOTIFY_CALLBACK func, IntPtr pUserData);
  756. /**
  757. * @brief 打开一个设备
  758. * @param [IN] pStrIP 设备的IP地址
  759. * @param [IN] wPort 设备的端口号
  760. * @param [IN] pStrUserName 访问设备所需用户名
  761. * @param [IN] pStrPassword 访问设备所需密码
  762. * @return 返回设备的操作句柄,当打开失败时,返回-1
  763. */
  764. [DllImport("VzLPRSDK.dll")]
  765. public static extern int VzLPRClient_Open( string pStrIP, ushort wPort, string pStrUserName, string pStrPassword);
  766. /**
  767. * @brief 关闭一个设备
  768. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  769. * @return 0表示成功,-1表示失败
  770. */
  771. [DllImport("VzLPRSDK.dll")]
  772. public static extern int VzLPRClient_Close(int handle);
  773. /**
  774. * @brief 通过IP地址关闭一个设备
  775. * @param [IN] pStrIP 设备的IP地址
  776. * @return 0表示成功,-1表示失败
  777. */
  778. [DllImport("VzLPRSDK.dll")]
  779. public static extern int VzLPRClient_CloseByIP(string pStrIP);
  780. /**
  781. * @brief 获取连接状态
  782. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  783. * @param[IN/OUT] pStatus 输入获取状态的变量地址,输出内容为 1已连上,0未连上
  784. * @return 0表示成功,-1表示失败
  785. */
  786. [DllImport("VzLPRSDK.dll")]
  787. public static extern int VzLPRClient_IsConnected(int handle, ref byte pStatus);
  788. /**
  789. * @brief 根据句柄获取设备的IP
  790. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  791. * @param [OUT] ip 相机IP
  792. * @param [IN] max_count IP传入长度
  793. * @return 返回值为0表示成功,返回其他值表示失败。
  794. */
  795. [DllImport("VzLPRSDK.dll")]
  796. public static extern int VzLPRClient_GetDeviceIP(int handle, ref byte ip, int max_count);
  797. /**
  798. * @brief 播放实时视频
  799. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  800. * @param [IN] hWnd 窗口的句柄
  801. * @return 播放句柄,小于0表示失败
  802. */
  803. [DllImport("VzLPRSDK.dll")]
  804. public static extern int VzLPRClient_StartRealPlay(int handle, IntPtr hWnd);
  805. /**
  806. * @brief 停止正在播放的窗口上的实时视频
  807. * @param [IN] hWnd 窗口的句柄
  808. * @return 0表示成功,-1表示失败
  809. */
  810. [DllImport("VzLPRSDK.dll")]
  811. public static extern int VzLPRClient_StopRealPlay(int hRealHandle);
  812. public delegate int VZLPRC_PLATE_INFO_CALLBACK (int handle, IntPtr pUserData,
  813. IntPtr pResult, uint uNumPlates,
  814. VZ_LPRC_RESULT_TYPE eResultType,
  815. IntPtr pImgFull,
  816. IntPtr pImgPlateClip);
  817. /**
  818. * @brief 设置识别结果的回调函数
  819. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  820. * @param [IN] func 识别结果回调函数
  821. * @param [IN] pUserData 回调函数中的上下文
  822. * @param [IN] bEnableImage 指定识别结果的回调是否需要包含截图信息:1为需要,0为不需要
  823. * @return 0表示成功,-1表示失败
  824. */
  825. [DllImport("VzLPRSDK.dll", CallingConvention = CallingConvention.StdCall)]
  826. public static extern int VzLPRClient_SetPlateInfoCallBack(int handle, VZLPRC_PLATE_INFO_CALLBACK func, IntPtr pUserData, int bEnableImage);
  827. /**
  828. * @brief 通过该回调函数获得实时图像数据
  829. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  830. * @param [IN] pUserData 回调函数的上下文
  831. * @param [IN] pFrame 图像帧信息,详见结构体定义VzYUV420P
  832. * @return 0表示成功,-1表示失败
  833. * @ingroup group_callback
  834. */
  835. public delegate void VZLPRC_VIDEO_FRAME_CALLBACK(int handle, IntPtr pUserData, ref VzYUV420P pFrame);
  836. /**
  837. * @brief 设置实时图像数据的回调函数
  838. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  839. * @param [IN] func 实时图像数据函数
  840. * @param [IN] pUserData 回调函数中的上下文
  841. * @return 0表示成功,-1表示失败
  842. * @ingroup group_device
  843. */
  844. [DllImport("VzLPRSDK.dll", CallingConvention = CallingConvention.StdCall)]
  845. public static extern int VzLPRClient_SetVideoFrameCallBack(int handle, VZLPRC_VIDEO_FRAME_CALLBACK pFunc, IntPtr pUserData);
  846. /**
  847. * @brief 发送软件触发信号,强制处理当前时刻的数据并输出结果
  848. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  849. * @return 0表示成功,-1表示失败
  850. */
  851. [DllImport("VzLPRSDK.dll")]
  852. public static extern int VzLPRClient_ForceTrigger(int handle);
  853. /**
  854. * @brief 设置虚拟线圈
  855. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  856. * @param [IN] pVirtualLoops 虚拟线圈的结构体指针
  857. * @return 0表示成功,-1表示失败
  858. */
  859. [DllImport("VzLPRSDK.dll")]
  860. public static extern int VzLPRClient_SetVirtualLoop(int handle, ref VZ_LPRC_VIRTUAL_LOOPS pVirtualLoops);
  861. /**
  862. * @brief 获取已设置的虚拟线圈
  863. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  864. * @param [IN] pVirtualLoops 虚拟线圈的结构体指针
  865. * @return 0表示成功,-1表示失败
  866. */
  867. [DllImport("VzLPRSDK.dll")]
  868. public static extern int VzLPRClient_GetVirtualLoop(int handle, ref VZ_LPRC_VIRTUAL_LOOPS pVirtualLoops);
  869. /**
  870. * @brief 获取已设置的识别区域
  871. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  872. * @param [IN] pROI 识别区域的结构体指针
  873. * @return 0表示成功,-1表示失败
  874. * @ingroup group_device
  875. */
  876. [DllImport("VzLPRSDK.dll")]
  877. public static extern int VzLPRClient_GetRegionOfInterestEx(int handle, ref VZ_LPRC_ROI_EX pROI);
  878. /**
  879. * @brief 获取已设置的预设省份
  880. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  881. * @param [IN] pProvInfo 预设省份信息指针
  882. * @return 0表示成功,-1表示失败
  883. */
  884. [DllImport("VzLPRSDK.dll")]
  885. public static extern int VzLPRClient_GetSupportedProvinces(int handle, ref VZ_LPRC_PROVINCE_INFO pProvInfo);
  886. /**
  887. * @brief 设置预设省份
  888. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  889. * @param [IN] nIndex 设置预设省份的序号,序号需要参考VZ_LPRC_PROVINCE_INFO::strProvinces中的顺序,从0开始,如果小于0,则表示不设置预设省份
  890. * @return 0表示成功,-1表示失败
  891. */
  892. [DllImport("VzLPRSDK.dll")]
  893. public static extern int VzLPRClient_PresetProvinceIndex(int handle, int nIndex);
  894. /**
  895. * @brief 将图像保存为JPEG到指定路径
  896. * @param [IN] pImgInfo 图像结构体,目前只支持默认的格式,即ImageFormatRGB
  897. * @param [IN] pFullPathName 设带绝对路径和JPG后缀名的文件名字符串
  898. * @param [IN] nQuality JPEG压缩的质量,取值范围1~100;
  899. * @return 0表示成功,-1表示失败
  900. * @note 给定的文件名中的路径需要存在
  901. * @ingroup group_global
  902. */
  903. [DllImport("VzLPRSDK.dll")]
  904. public static extern int VzLPRClient_ImageSaveToJpeg(IntPtr pImgInfo, string pFullPathName, int nQuality);
  905. /**
  906. * @brief 读出设备序列号,可用于二次加密
  907. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  908. * @param [IN/OUT] pSN 用于存放读到的设备序列号,详见定义 VZ_DEV_SERIAL_NUM
  909. * @return 返回值为0表示成功,返回-1表示失败
  910. * @ingroup group_device
  911. */
  912. [DllImport("VzLPRSDK.dll")]
  913. public static extern int VzLPRClient_GetSerialNumber(int handle, ref VZ_DEV_SERIAL_NUM pSN);
  914. /**
  915. * @brief 保存正在播放的视频的当前帧的截图到指定路径
  916. * @param [IN] nPlayHandle 播放的句柄
  917. * @param [IN] pFullPathName 设带绝对路径和JPG后缀名的文件名字符串
  918. * @param [IN] nQuality JPEG压缩的质量,取值范围1~100;
  919. * @return 0表示成功,-1表示失败
  920. * @note 使用的文件名中的路径需要存在
  921. * @ingroup group_device
  922. */
  923. [DllImport("VzLPRSDK.dll")]
  924. public static extern int VzLPRClient_GetSnapShootToJpeg2(int nPlayHandle, string pFullPathName, int nQuality);
  925. /**
  926. * @brief 通过该回调函数获得透明通道接收的数据
  927. * @param [IN] nSerialHandle VzLPRClient_SerialStart返回的句柄
  928. * @param [IN] pStrIPAddr 设备IP地址
  929. * @param [IN] usPort1 设备端口号
  930. * @param [IN] usPort2 预留
  931. * @param [IN] pUserData 回调函数上下文
  932. * @ingroup group_global
  933. */
  934. public delegate int VZDEV_SERIAL_RECV_DATA_CALLBACK(int nSerialHandle, IntPtr pRecvData, int uRecvSize, IntPtr pUserData);
  935. /**
  936. * @brief 开启透明通道
  937. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  938. * @param [IN] nSerialPort 指定使用设备的串口序号:0表示第一个串口,1表示第二个串口
  939. * @param [IN] func 接收数据的回调函数
  940. * @param [IN] pUserData 接收数据回调函数的上下文
  941. * @return 返回透明通道句柄,0表示失败
  942. * @ingroup group_device
  943. */
  944. [DllImport("VzLPRSDK.dll")]
  945. public static extern int VzLPRClient_SerialStart(int handle, int nSerialPort, VZDEV_SERIAL_RECV_DATA_CALLBACK func, IntPtr pUserData);
  946. /**
  947. * @brief 透明通道发送数据
  948. * @param [IN] nSerialHandle 由VzLPRClient_SerialStart函数获得的句柄
  949. * @param [IN] pData 将要传输的数据块的首地址
  950. * @param [IN] uSizeData 将要传输的数据块的字节数
  951. * @return 0表示成功,其他值表示失败
  952. * @ingroup group_device
  953. */
  954. [DllImport("VzLPRSDK.dll")]
  955. public static extern int VzLPRClient_SerialSend(int nSerialHandle, IntPtr pData, int uSizeData);
  956. /**
  957. * @brief 透明通道停止发送数据
  958. * @param [IN] nSerialHandle 由VzLPRClient_SerialStart函数获得的句柄
  959. * @return 0表示成功,其他值表示失败
  960. * @ingroup group_device
  961. */
  962. [DllImport("VzLPRSDK.dll")]
  963. public static extern int VzLPRClient_SerialStop(int nSerialHandle);
  964. /**
  965. * @brief 设置IO输出的状态
  966. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  967. * @param [IN] uChnId IO输出的通道号,从0开始
  968. * @param [OUT] nOutput 将要设置的IO输出的状态,0表示继电器开路,1表示继电器闭路
  969. * @return 0表示成功,-1表示失败
  970. * @ingroup group_device
  971. */
  972. [DllImport("VzLPRSDK.dll")]
  973. public static extern int VzLPRClient_SetIOOutput(int handle, int uChnId, int nOutput);
  974. /**
  975. * @brief 获取IO输出的状态
  976. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  977. * @param [IN] uChnId IO输出的通道号,从0开始
  978. * @param [OUT] pOutput IO输出的状态,0表示继电器开路,1表示继电器闭路
  979. * @return 0表示成功,-1表示失败
  980. * @ingroup group_device
  981. */
  982. [DllImport("VzLPRSDK.dll")]
  983. public static extern int VzLPRClient_GetIOOutput(int handle, int uChnId, ref int pOutput);
  984. /**
  985. * @brief 获取GPIO的状态
  986. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  987. * @param [IN] gpioIn 数据为0或1
  988. * @param [OUT] value 0代表短路,1代表开路
  989. * @return 返回值为0表示成功,返回-1表示失败
  990. * @ingroup group_device
  991. */
  992. [DllImport("VzLPRSDK.dll")]
  993. public static extern int VzLPRClient_GetGPIOValue(int handle, int gpioIn, IntPtr value);
  994. /**
  995. * @brief 根据ID获取车牌图片
  996. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  997. * @param [IN] id 车牌记录的ID
  998. * @param [IN] pdata 存储图片的内存
  999. * @param [IN][OUT] size 为传入传出值,传入为图片内存的大小,返回的是获取到jpg图片内存的大小
  1000. * @return 返回值为0表示成功,返回-1表示失败
  1001. * @ingroup group_device
  1002. */
  1003. [DllImport("VzLPRSDK.dll")]
  1004. public static extern int VzLPRClient_LoadImageById(int handle, int id, IntPtr pdata, IntPtr size);
  1005. /**
  1006. * @brief 向白名单表导入客户和车辆记录
  1007. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1008. * @param [IN] rowcount 记录的条数
  1009. * @param [IN] pRowDatas 记录的内容数组的地址
  1010. * @param [OUT] results 每条数据是否导入成功
  1011. * @return 0表示成功,-1表示失败
  1012. * @ingroup group_database
  1013. */
  1014. [DllImport("VzLPRSDK.dll")]
  1015. public static extern int VzLPRClient_WhiteListImportRows(int handle,
  1016. uint rowcount,
  1017. ref VZ_LPR_WLIST_ROW pRowDatas,
  1018. ref VZ_LPR_WLIST_IMPORT_RESULT pResults);
  1019. /**
  1020. * @brief 从数据库删除车辆信息
  1021. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1022. * @param [IN] strPlateID 车牌号码
  1023. * @return 0表示成功,-1表示失败
  1024. * @ingroup group_database
  1025. */
  1026. [DllImport("VzLPRSDK.dll")]
  1027. public static extern int VzLPRClient_WhiteListDeleteVehicle(int handle, string strPlateID);
  1028. /**
  1029. * @brief 清空数据库客户信息和车辆信息
  1030. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1031. * @return 0表示成功,-1表示失败
  1032. * @ingroup group_database
  1033. */
  1034. [DllImport("VzLPRSDK.dll")]
  1035. public static extern int VzLPRClient_WhiteListClearCustomersAndVehicles(int handle);
  1036. /**
  1037. * @brief 获取白名单表中所有车辆信息记录的条数
  1038. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1039. * @return >=0表示所有车辆信息记录的总数,-1表示失败
  1040. * @ingroup group_database
  1041. */
  1042. [DllImport("VzLPRSDK.dll")]
  1043. public static extern int VzLPRClient_WhiteListGetVehicleCount(int handle, ref uint pCount,
  1044. ref VZ_LPR_WLIST_SEARCH_WHERE pSearchWhere);
  1045. /**
  1046. * @brief 查询白名单表车辆记录数据
  1047. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1048. * @param [IN] pLoadCondition 查询条件
  1049. * @return 0表示成功,-1表示失败
  1050. * @ingroup group_database
  1051. */
  1052. [DllImport("VzLPRSDK.dll")]
  1053. public static extern int VzLPRClient_WhiteListLoadVehicle(int handle,
  1054. ref VZ_LPR_WLIST_LOAD_CONDITIONS pLoadCondition);
  1055. public delegate void VZLPRC_WLIST_QUERY_CALLBACK(VZLPRC_WLIST_CB_TYPE type, IntPtr pLP,
  1056. IntPtr pCustomer,
  1057. IntPtr pUserData);
  1058. /**
  1059. * @brief 设置白名单表和客户信息表的查询结果回调
  1060. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1061. * @param [IN] func 查询结果回调函数
  1062. * @param [IN] pUserData 回调函数中的上下文
  1063. * @return 0表示成功,-1表示失败
  1064. * @ingroup group_database
  1065. */
  1066. [DllImport("VzLPRSDK.dll")]
  1067. public static extern int VzLPRClient_WhiteListSetQueryCallBack(int handle, VZLPRC_WLIST_QUERY_CALLBACK func, IntPtr pUserData);
  1068. /**
  1069. * @brief 往白名单表中更新一个车辆信息
  1070. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1071. * @param [IN] pVehicle 将要更新的车辆信息,详见结构体定义VZ_LPR_WLIST_VEHICLE
  1072. * @return 0表示成功,-1表示失败
  1073. * @ingroup group_database
  1074. */
  1075. [DllImport("VzLPRSDK.dll")]
  1076. public static extern int VzLPRClient_WhiteListUpdateVehicleByID(int handle, ref VZ_LPR_WLIST_VEHICLE pVehicle);
  1077. /**
  1078. * @brief 查询白名单表客户和车辆记录条数
  1079. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1080. * @param [OUT] pCount 记录的条数
  1081. * @param [IN] search_constraints 搜索的条件
  1082. * @return 0表示成功,-1表示失败
  1083. * @ingroup group_database
  1084. */
  1085. [DllImport("VzLPRSDK.dll")]
  1086. public static extern int VzLPRClient_WhiteListGetRowCount(int handle, ref int count, ref VZ_LPR_WLIST_SEARCH_WHERE pSearchWhere);
  1087. /**
  1088. * @brief 设置LED控制模式
  1089. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1090. * @param [IN] eCtrl 控制LED开关模式,详见定义 VZ_LED_CTRL
  1091. * @return 返回值为0表示成功,返回其他值表示失败
  1092. * @ingroup group_device
  1093. */
  1094. [DllImport("VzLPRSDK.dll")]
  1095. public static extern int VzLPRClient_SetLEDLightControlMode(int handle, VZ_LED_CTRL eCtrl);
  1096. /**
  1097. * @brief 获取LED当前亮度等级和最大亮度等级
  1098. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1099. * @param [OUT] pLevelNow 用于输出当前亮度等级的地址
  1100. * @param [OUT] pLevelMax 用于输出最高亮度等级的地址
  1101. * @return 0表示成功,其他值表示失败
  1102. * @ingroup group_device
  1103. */
  1104. [DllImport("VzLPRSDK.dll")]
  1105. public static extern int VzLPRClient_GetLEDLightStatus(int handle, ref int pLevelNow, ref int pLevelMax);
  1106. /**
  1107. * @brief 设置LED亮度等级
  1108. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1109. * @param [IN] nLevel,LED亮度等级
  1110. * @return 0表示成功,其他值表示失败
  1111. * @ingroup group_device
  1112. */
  1113. [DllImport("VzLPRSDK.dll")]
  1114. public static extern int VzLPRClient_SetLEDLightLevel(int handle, int nLevel);
  1115. /**
  1116. * @brief 开始录像功能
  1117. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1118. * @param [IN] sFileName 录像文件的路径
  1119. * @return 返回值为0表示成功,返回-1表示失败
  1120. * @ingroup group_device
  1121. */
  1122. [DllImport("VzLPRSDK.dll")]
  1123. public static extern int VzLPRClient_SaveRealData(int handle, string sFileName);
  1124. /**
  1125. * @brief 停止录像
  1126. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1127. * @return 返回值为0表示成功,返回-1表示失败
  1128. * @ingroup group_device
  1129. */
  1130. [DllImport("VzLPRSDK.dll")]
  1131. public static extern int VzLPRClient_StopSaveRealData(int handle);
  1132. /**
  1133. * @brief 开启脱机功能
  1134. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1135. * @param [IN] pUserData 接收数据回调函数的上下文
  1136. * @return 返回值为0表示成功,返回-1表示失败
  1137. * @ingroup group_device
  1138. */
  1139. [DllImport("VzLPRSDK.dll")]
  1140. public static extern int VzLPRClient_SetOfflineCheck(int handle);
  1141. /**
  1142. * @brief 关闭脱机功能
  1143. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1144. * @param [IN] pUserData 接收数据回调函数的上下文
  1145. * @return 返回值为0表示成功,返回-1表示失败
  1146. * @ingroup group_device
  1147. */
  1148. [DllImport("VzLPRSDK.dll")]
  1149. public static extern int VzLPRClient_CancelOfflineCheck(int handle);
  1150. /**
  1151. * @brief 通过该回调函数获得透明通道接收的数据
  1152. * @param [IN] nSerialHandle VzLPRClient_SerialStart返回的句柄
  1153. * @param [IN] pRecvData 接收的数据的首地址
  1154. * @param [IN] uRecvSize 接收的数据的尺寸
  1155. * @param [IN] pUserData 回调函数上下文
  1156. * @ingroup group_callback
  1157. */
  1158. /**
  1159. * @brief 透明通道发送数据
  1160. * @param [IN] nSerialHandle 由VzLPRClient_SerialStart函数获得的句柄
  1161. * @param [IN] pData 将要传输的数据块的首地址
  1162. * @param [IN] uSizeData 将要传输的数据块的字节数
  1163. * @return 0表示成功,其他值表示失败
  1164. * @ingroup group_device
  1165. */
  1166. //[DllImport("VzLPRSDK.dll")]
  1167. //public static extern int VzLPRClient_SerialSend(int nSerialHandle,string pData, uint uSizeData);
  1168. /**
  1169. * @brief 通过该回调函数获得找到的设备基本信息
  1170. * @param [IN] pStrDevName 设备名称
  1171. * @param [IN] pStrIPAddr 设备IP地址
  1172. * @param [IN] usPort1 设备端口号
  1173. * @param [IN] usPort2 预留
  1174. * @param [IN] pUserData 回调函数上下文
  1175. * @ingroup group_callback
  1176. */
  1177. public delegate void VZLPRC_FIND_DEVICE_CALLBACK_EX(string pStrDevName, string pStrIPAddr, ushort usPort1, ushort usPort2, uint SL, uint SH, string netmask, string gateway, IntPtr pUserData);
  1178. /**
  1179. * @brief 开始查找设备
  1180. * @param [IN] func 找到的设备通过该回调函数返回
  1181. * @param [IN] pUserData 回调函数中的上下文
  1182. * @return 0表示成功,-1表示失败
  1183. * @ingroup group_global
  1184. */
  1185. [DllImport("VzLPRSDK.dll")]
  1186. public static extern int VZLPRClient_StartFindDeviceEx(VZLPRC_FIND_DEVICE_CALLBACK_EX func, IntPtr pUserData);
  1187. /**
  1188. * @brief 停止查找设备
  1189. * @ingroup group_global
  1190. */
  1191. [DllImport("VzLPRSDK.dll")]
  1192. public static extern int VZLPRClient_StopFindDevice();
  1193. /**
  1194. * @brief 根据起始时间和车牌关键字查询记录
  1195. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1196. * @param [IN] pStartTime 起始时间,格式如"2015-01-02 12:20:30"
  1197. * @param [IN] pEndTime 起始时间,格式如"2015-01-02 19:20:30"
  1198. * @param [IN] keyword 车牌号关键字, 如"川"
  1199. * @return 返回值为0表示成功,返回-1表示失败
  1200. * @说明 通过回调返回数据,最多返回100条数据,超过时请调用分页查询的接口
  1201. * @ingroup group_device
  1202. */
  1203. [DllImport("VzLPRSDK.dll")]
  1204. public static extern int VzLPRClient_QueryRecordByTimeAndPlate(int handle, string pStartTime, string pEndTime, string keyword);
  1205. /**
  1206. * @brief 根据时间和车牌号查询记录条数
  1207. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1208. * @param [IN] pStartTime 起始时间,格式如"2015-01-02 12:20:30"
  1209. * @param [IN] pEndTime 起始时间,格式如"2015-01-02 19:20:30"
  1210. * @param [IN] keyword 车牌号关键字, 如"川"
  1211. * @return 返回值为0表示失败,大于0表示记录条数
  1212. * @ingroup group_device
  1213. */
  1214. [DllImport("VzLPRSDK.dll")]
  1215. public static extern int VzLPRClient_QueryCountByTimeAndPlate(int handle, string pStartTime, string pEndTime, string keyword);
  1216. /**
  1217. * @brief 根据时间和车牌号查询分页查询记录
  1218. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1219. * @param [IN] pStartTime 起始时间,格式如"2015-01-02 12:20:30"
  1220. * @param [IN] pEndTime 起始时间,格式如"2015-01-02 19:20:30"
  1221. * @param [IN] keyword 车牌号关键字, 如"川"
  1222. * @param [IN] start 起始位置大于0,小于结束位置
  1223. * @param [IN] end 结束位置大于0,大于起始位置,获取记录条数不能大于100
  1224. * @return 返回值为0表示成功,返回-1表示失败
  1225. * @ingroup group_device
  1226. */
  1227. [DllImport("VzLPRSDK.dll")]
  1228. public static extern int VzLPRClient_QueryPageRecordByTimeAndPlate(int handle, string pStartTime, string pEndTime, string keyword, int start, int end);
  1229. /**
  1230. * @brief 设置查询车牌记录的回调函数
  1231. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1232. * @param [IN] func 识别结果回调函数,如果为NULL,则表示关闭该回调函数的功能
  1233. * @param [IN] pUserData 回调函数中的上下文
  1234. * @param [IN] bEnableImage 指定识别结果的回调是否需要包含截图信息:1为需要,0为不需要
  1235. * @return 0表示成功,-1表示失败
  1236. * @ingroup group_device
  1237. */
  1238. [DllImport("VzLPRSDK.dll")]
  1239. public static extern int VzLPRClient_SetQueryPlateCallBack(int handle, VZLPRC_PLATE_INFO_CALLBACK func, IntPtr pUserData);
  1240. /**
  1241. * @brief 获取视频OSD参数;
  1242. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1243. * @return 返回值为0表示成功,返回-1表示失败
  1244. * @ingroup group_device
  1245. */
  1246. [DllImport("VzLPRSDK.dll")]
  1247. public static extern int VzLPRClient_GetOsdParam(int handle, IntPtr pParam);
  1248. /**
  1249. * @brief 设置视频OSD参数;
  1250. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1251. * @return 返回值为0表示成功,返回-1表示失败
  1252. * @ingroup group_device
  1253. */
  1254. [DllImport("VzLPRSDK.dll")]
  1255. public static extern int VzLPRClient_SetOsdParam(int handle, IntPtr pParam);
  1256. /**
  1257. * @brief 设置设备的日期时间
  1258. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1259. * @param [IN] pDTInfo 将要设置的设备日期时间信息,详见定义 VZ_DATE_TIME_INFO
  1260. * @return 返回值为0表示成功,返回-1表示失败
  1261. * @ingroup group_device
  1262. */
  1263. [DllImport("VzLPRSDK.dll")]
  1264. public static extern int VzLPRClient_SetDateTime(int handle, IntPtr IntpDTInfo);
  1265. /**
  1266. * @brief 读出用户私有数据,可用于二次加密
  1267. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1268. * @param [IN/OUT] pBuffer 用于存放读到的用户数据
  1269. * @param [IN] uSizeBuf 用户数据缓冲区的最小尺寸,不小于128字节
  1270. * @return 返回值为实际用户数据的字节数,返回-1表示失败
  1271. * @ingroup group_device
  1272. */
  1273. [DllImport("VzLPRSDK.dll")]
  1274. public static extern int VzLPRClient_ReadUserData(int handle, IntPtr pBuffer, uint uSizeBuf);
  1275. /**
  1276. * @brief 写入用户私有数据,可用于二次加密
  1277. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1278. * @param [IN] pUserData 用户数据
  1279. * @param [IN] uSizeData 用户数据的长度,最大128字节
  1280. * @return 返回值为0表示成功,返回其他值表示失败
  1281. * @ingroup group_device
  1282. */
  1283. [DllImport("VzLPRSDK.dll")]
  1284. public static extern int VzLPRClient_WriteUserData(int handle, IntPtr pUserData, uint uSizeData);
  1285. /**
  1286. * @brief 将图像编码为JPEG,保存到指定内存
  1287. * @param [IN] pImgInfo 图像结构体,目前只支持默认的格式,即ImageFormatRGB
  1288. * @param [IN/OUT] pDstBuf JPEG数据的目的存储首地址
  1289. * @param [IN] uSizeBuf JPEG数据地址的内存的最大尺寸;
  1290. * @param [IN] nQuality JPEG压缩的质量,取值范围1~100;
  1291. * @return >0表示成功,即编码后的尺寸,-1表示失败,-2表示给定的压缩数据的内存尺寸不够大
  1292. * @ingroup group_global
  1293. */
  1294. [DllImport("VzLPRSDK.dll")]
  1295. public static extern int VzLPRClient_ImageEncodeToJpeg(IntPtr pImgInfo, IntPtr pDstBuf, int uSizeBuf, int nQuality);
  1296. /**
  1297. * @brief 设置IO输出,并自动复位
  1298. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1299. * @param [IN] uChnId IO输出的通道号,从0开始
  1300. * @param [IN] nDuration 延时时间,取值范围[500, 5000]毫秒
  1301. * @return 0表示成功,-1表示失败
  1302. * @ingroup group_device
  1303. */
  1304. [DllImport("VzLPRSDK.dll")]
  1305. public static extern int VzLPRClient_SetIOOutputAuto(int handle, int uChnId, int nDuration);
  1306. public delegate void VZLPRC_VIDEO_FRAME_CALLBACK_EX(int handle, IntPtr pUserData, ref VZ_LPRC_IMAGE_INFO pFrame);
  1307. /**
  1308. * @brief 获取实时视频帧,图像数据通过回调函数到用户层,用户可改动图像内容,并且显示到窗口
  1309. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1310. * @param [IN] hWnd 窗口的句柄,如果为有效值,则视频图像会显示到该窗口上,如果为空,则不显示视频图像
  1311. * @param [IN] func 实时图像数据函数
  1312. * @param [IN] pUserData 回调函数中的上下文
  1313. * @return 播放的句柄,-1表示失败
  1314. * @ingroup group_device
  1315. */
  1316. [DllImport("VzLPRSDK.dll", CallingConvention = CallingConvention.StdCall)]
  1317. public static extern int VzLPRClient_StartRealPlayFrameCallBack(int handle, IntPtr hWnd, VZLPRC_VIDEO_FRAME_CALLBACK_EX func, IntPtr pUserData);
  1318. /**
  1319. * @brief 获取已设置的允许的车牌识别触发类型
  1320. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1321. * @param [OUT] pBitsTrigType 允许的车牌识别触发类型按位或的变量的地址,允许触发类型位详见定义VZ_LPRC_TRIG_ENABLE_XXX
  1322. * @return 返回值:返回值为0表示成功,返回其他值表示失败
  1323. */
  1324. [DllImport("VzLPRSDK.dll")]
  1325. public static extern int VzLPRClient_GetPlateTrigType(int handle, ref int pBitsTrigType);
  1326. /**
  1327. * @brief 设置允许的车牌识别触发类型
  1328. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1329. * @param [IN] uBitsTrigType 允许的车牌识别触发类型按位或的值,允许触发类型位详见定义VZ_LPRC_TRIG_ENABLE_XXX
  1330. * @return 返回值:返回值为0表示成功,返回其他值表示失败
  1331. * @note 如果设置不允许某种类型的触发,那么该种类型的触发结果也不会保存在设备的SD卡中
  1332. * @note 默认输出稳定触发和虚拟线圈触发
  1333. * @note 不会影响手动触发和IO输入触发
  1334. */
  1335. [DllImport("VzLPRSDK.dll")]
  1336. public static extern int VzLPRClient_SetPlateTrigType(int handle, UInt32 uBitsTrigType);
  1337. /**
  1338. * @brief 获取智能视频显示模式
  1339. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1340. * @param [OUT] pDrawMode 显示模式,参考VZ_LPRC_DRAWMODE
  1341. * @return 返回值为0表示成功,返回其他值表示失败。
  1342. */
  1343. [DllImport("VzLPRSDK.dll")]
  1344. public static extern int VzLPRClient_GetDrawMode(int handle, ref VZ_LPRC_DRAWMODE pDrawMode);
  1345. /**
  1346. * @brief 设置智能视频显示模式
  1347. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1348. * @param [IN] pDrawMode 显示模式,参考VZ_LPRC_DRAWMODE
  1349. * @return 返回值为0表示成功,返回其他值表示失败。
  1350. */
  1351. [DllImport("VzLPRSDK.dll")]
  1352. public static extern int VzLPRClient_SetDrawMode(int handle, ref VZ_LPRC_DRAWMODE pDrawMode);
  1353. /**
  1354. * @brief 获取已设置的需要识别的车牌类型位
  1355. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1356. * @param [OUT] pBitsRecType 需要识别的车牌类型按位或的变量的地址,车牌类型位详见定义VZ_LPRC_REC_XXX
  1357. * @return 返回值:返回值为0表示成功,返回其他值表示失败
  1358. */
  1359. [DllImport("VzLPRSDK.dll")]
  1360. public static extern int VzLPRClient_GetPlateRecType(int handle, ref int pBitsRecType);
  1361. /**
  1362. * @brief 设置需要识别的车牌类型
  1363. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1364. * @param [IN] uBitsRecType 需要识别的车牌类型按位或的值,车牌类型位详见定义VZ_LPRC_REC_XXX
  1365. * @return 返回值:返回值为0表示成功,返回其他值表示失败
  1366. * @note 在需要识别特定车牌时,调用该接口来设置,将不同类型的车牌位定义取或,得到的结果作为参数传入;
  1367. * @note 在不必要的情况下,使用最少的车牌识别类型,将最大限度提高识别率;
  1368. * @note 默认识别蓝牌和黄牌;
  1369. * @note 例如,需要识别蓝牌、黄牌、警牌,那么输入参数uBitsRecType = VZ_LPRC_REC_BLUE|VZ_LPRC_REC_YELLOW|VZ_LPRC_REC_POLICE
  1370. */
  1371. [DllImport("VzLPRSDK.dll")]
  1372. public static extern int VzLPRClient_SetPlateRecType(int handle, UInt32 uBitsRecType);
  1373. /**
  1374. * @brief 获取输出配置0
  1375. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1376. * @param [IN] pOutputConfig 输出配置
  1377. * @return 返回值为0表示成功,返回其他值表示失败。
  1378. */
  1379. [DllImport("VzLPRSDK.dll")]
  1380. public static extern int VzLPRClient_GetOutputConfig(int handle, ref VZ_OutputConfigInfo pOutputConfigInfo);
  1381. /**
  1382. * @brief 设置输出配置
  1383. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1384. * @param [IN] pOutputConfig 输出配置
  1385. * @return 返回值为0表示成功,返回其他值表示失败。
  1386. */
  1387. [DllImport("VzLPRSDK.dll")]
  1388. public static extern int VzLPRClient_SetOutputConfig(int handle, ref VZ_OutputConfigInfo pOutputConfigInfo);
  1389. /**
  1390. * @brief 设置车牌识别触发延迟时间
  1391. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1392. * @param [IN] nDelay 触发延迟时间,时间范围[0, 10000)
  1393. * @return 返回值为0表示成功,返回其他值表示失败。
  1394. */
  1395. [DllImport("VzLPRSDK.dll")]
  1396. public static extern int VzLPRClient_SetTriggerDelay(int handle, int nDelay);
  1397. /**
  1398. * @brief 获取车牌识别触发延迟时间
  1399. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1400. * @param [OUT] nDelay 触发延迟时间,时间范围[0, 10000)
  1401. * @return 返回值为0表示成功,返回其他值表示失败。
  1402. */
  1403. [DllImport("VzLPRSDK.dll")]
  1404. public static extern int VzLPRClient_GetTriggerDelay(int handle, ref int nDelay);
  1405. /**
  1406. * @brief 设置白名单验证模式
  1407. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1408. * @param [IN] nType 0 脱机自动启用;1 启用;2 不启用
  1409. * @return 返回值为0表示成功,返回其他值表示失败。
  1410. */
  1411. [DllImport("VzLPRSDK.dll")]
  1412. public static extern int VzLPRClient_SetWLCheckMethod(int handle, int nType);
  1413. /**
  1414. * @brief 获取白名单验证模式
  1415. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1416. * @param [OUT] nType 0 脱机自动启用;1 启用;2 不启用
  1417. * @return 返回值为0表示成功,返回其他值表示失败。
  1418. */
  1419. [DllImport("VzLPRSDK.dll")]
  1420. public static extern int VzLPRClient_GetWLCheckMethod(int handle, ref int nType);
  1421. /**
  1422. * @brief 设置白名单模糊匹配
  1423. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1424. * @param [IN] nFuzzyType 0 精确匹配;1 相似字符匹配;2 普通字符模糊匹配
  1425. * @param [IN] nFuzzyLen 允许误识别长度
  1426. * @param [IN] nFuzzyType 忽略汉字
  1427. * @return 返回值为0表示成功,返回其他值表示失败。
  1428. */
  1429. [DllImport("VzLPRSDK.dll")]
  1430. public static extern int VzLPRClient_SetWLFuzzy(int handle, int nFuzzyType, int nFuzzyLen, bool bFuzzyCC);
  1431. /**
  1432. * @brief 获取白名单模糊匹配
  1433. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1434. * @param [IN] nFuzzyType 0 精确匹配;1 相似字符匹配;2 普通字符模糊匹配
  1435. * @param [IN] nFuzzyLen 允许误识别长度
  1436. * @param [IN] nFuzzyType 忽略汉字
  1437. * @return 返回值为0表示成功,返回其他值表示失败。
  1438. */
  1439. [DllImport("VzLPRSDK.dll")]
  1440. public static extern int VzLPRClient_GetWLFuzzy(int handle, ref int nFuzzyType, ref int nFuzzyLen, ref bool bFuzzyCC);
  1441. /**
  1442. * @brief 设置串口参数
  1443. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1444. * @param [IN] nSerialPort 指定使用设备的串口序号:0表示第一个串口,1表示第二个串口
  1445. * @param [IN] pParameter 将要设置的串口参数,详见定义 VZ_SERIAL_PARAMETER
  1446. * @return 0表示成功,-1表示失败
  1447. * @ingroup group_device
  1448. */
  1449. [DllImport("VzLPRSDK.dll")]
  1450. public static extern int VzLPRClient_SetSerialParameter(int handle, int nSerialPort,
  1451. ref VZ_SERIAL_PARAMETER pParameter);
  1452. /**
  1453. * @brief 获取串口参数
  1454. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1455. * @param [IN] nSerialPort 指定使用设备的串口序号:0表示第一个串口,1表示第二个串口
  1456. * @param [OUT] pParameter 将要获取的串口参数,详见定义 VZ_SERIAL_PARAMETER
  1457. * @return 0表示成功,-1表示失败
  1458. * @ingroup group_device
  1459. */
  1460. [DllImport("VzLPRSDK.dll")]
  1461. public static extern int VzLPRClient_GetSerialParameter(int handle, int nSerialPort,
  1462. ref VZ_SERIAL_PARAMETER pParameter);
  1463. // /**
  1464. // * @brief 保存正在播放的视频的当前帧的截图到指定路径
  1465. // * @param [IN] nPlayHandle 播放的句柄
  1466. // * @param [IN] pFullPathName 设带绝对路径和JPG后缀名的文件名字符串
  1467. // * @param [IN] nQuality JPEG压缩的质量,取值范围1~100;
  1468. // * @return 0表示成功,-1表示失败
  1469. // * @note 使用的文件名中的路径需要存在
  1470. // * @ingroup group_device
  1471. //*/
  1472. // [DllImport("VzLPRSDK.dll")]
  1473. // public static extern int VzLPRClient_GetSnapShootToJpeg2(int nPlayHandle, string pFullPathName, int nQuality);
  1474. /**
  1475. * @brief 获取主码流分辨率;
  1476. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1477. * @param [OUT] sizeval 详见VZDEV_FRAMESIZE_宏定义
  1478. * @return 返回值为0表示成功,返回其他值表示失败。
  1479. */
  1480. [DllImport("VzLPRSDK.dll")]
  1481. public static extern int VzLPRClient_GetVideoFrameSizeIndex(int handle, ref int sizeval);
  1482. /**
  1483. * @brief 设置主码流分辨率;
  1484. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1485. * @param [IN] sizeval 详见VZDEV_FRAMESIZE_宏定义
  1486. * @return 返回值为0表示成功,返回其他值表示失败。
  1487. */
  1488. [DllImport("VzLPRSDK.dll")]
  1489. public static extern int VzLPRClient_SetVideoFrameSizeIndex(int handle, int sizeval);
  1490. /**
  1491. * @brief 获取主码流分辨率;
  1492. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1493. * @param [OUT] sizeval
  1494. * @return 返回值为0表示成功,返回其他值表示失败。
  1495. */
  1496. [DllImport("VzLPRSDK.dll")]
  1497. public static extern int VzLPRClient_GetVideoFrameSizeIndexEx(int handle, ref int sizeval);
  1498. /**
  1499. * @brief 设置主码流分辨率;
  1500. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1501. * @param [IN] sizeval
  1502. * @return 返回值为0表示成功,返回其他值表示失败。
  1503. */
  1504. [DllImport("VzLPRSDK.dll")]
  1505. public static extern int VzLPRClient_SetVideoFrameSizeIndexEx(int handle, int sizeval);
  1506. /**
  1507. * @brief 获取主码流帧率
  1508. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1509. * @param [OUT] Rateval 帧率,范围1-25
  1510. * @return 返回值为0表示成功,返回其他值表示失败。
  1511. */
  1512. [DllImport("VzLPRSDK.dll")]
  1513. public static extern int VzLPRClient_GetVideoFrameRate(int handle, ref int Rateval);//1-25
  1514. /**
  1515. * @brief 设置主码流帧率;
  1516. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1517. * @param [IN] Rateval 帧率,范围1-25
  1518. * @return 返回值为0表示成功,返回其他值表示失败。
  1519. */
  1520. [DllImport("VzLPRSDK.dll")]
  1521. public static extern int VzLPRClient_SetVideoFrameRate(int handle, int Rateval);//1-25
  1522. /**
  1523. * @brief 获取主码流压缩模式;
  1524. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1525. * @param [OUT] modeval 详见VZDEV_VIDEO_COMPRESS_宏定义
  1526. * @return 返回值为0表示成功,返回其他值表示失败。
  1527. */
  1528. [DllImport("VzLPRSDK.dll")]
  1529. public static extern int VzLPRClient_GetVideoCompressMode(int handle, ref int modeval);//VZDEV_VIDEO_COMPRESS_XXX
  1530. /**
  1531. * @brief 设置主码流压缩模式;
  1532. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1533. * @param [IN] modeval 详见VZDEV_VIDEO_COMPRESS_宏定义
  1534. * @return 返回值为0表示成功,返回其他值表示失败。
  1535. */
  1536. [DllImport("VzLPRSDK.dll")]
  1537. public static extern int VzLPRClient_SetVideoCompressMode(int handle, int modeval);//VZDEV_VIDEO_COMPRESS_XXX
  1538. /**
  1539. * @brief 获取主码流比特率;
  1540. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1541. * @param [OUT] rateval 当前视频比特率
  1542. * @param [OUT] ratelist 暂时不用
  1543. * @return 返回值为0表示成功,返回其他值表示失败。
  1544. */
  1545. [DllImport("VzLPRSDK.dll")]
  1546. public static extern int VzLPRClient_GetVideoCBR(int handle, ref int rateval/*Kbps*/, ref int ratelist);
  1547. /**
  1548. * @brief 设置主码流比特率;
  1549. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1550. * @param [OUT] rateval 当前视频比特率
  1551. * @return 返回值为0表示成功,返回其他值表示失败。
  1552. */
  1553. [DllImport("VzLPRSDK.dll")]
  1554. public static extern int VzLPRClient_SetVideoCBR(int handle, int rateval/*Kbps*/);
  1555. /**
  1556. * @brief 获取视频参数;
  1557. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1558. * @param [OUT] brt 亮度
  1559. * @param [OUT] cst 对比度
  1560. * @param [OUT] sat 饱和度
  1561. * @param [OUT] hue 色度
  1562. * @return 返回值为0表示成功,返回其他值表示失败。
  1563. */
  1564. [DllImport("VzLPRSDK.dll")]
  1565. public static extern int VzLPRClient_GetVideoPara(int handle, ref int brt, ref int cst, ref int sat, ref int hue);
  1566. /**
  1567. * @brief 设置视频参数;
  1568. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1569. * @param [IN] brt 亮度
  1570. * @param [IN] cst 对比度
  1571. * @param [IN] sat 饱和度
  1572. * @param [IN] hue 色度
  1573. * @return 返回值为0表示成功,返回其他值表示失败。
  1574. */
  1575. [DllImport("VzLPRSDK.dll")]
  1576. public static extern int VzLPRClient_SetVideoPara(int handle, int brt, int cst, int sat, int hue);
  1577. /**
  1578. * @brief 设置通道主码流编码方式
  1579. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1580. * @param [OUT] cmd 返回的编码方式, 0->H264 1->MPEG4 2->JPEG 其他->错误
  1581. * @return 返回值为0表示成功,返回其他值表示失败。
  1582. */
  1583. [DllImport("VzLPRSDK.dll")]
  1584. public static extern int VzLPRClient_SetVideoEncodeType(int handle, int cmd);
  1585. /**
  1586. * @brief 获取视频的编码方式
  1587. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1588. * @param [OUT] pEncType 返回的编码方式, 0:H264 1:MPEG4 2:JPEG 其他:错误
  1589. * @return 返回值为0表示成功,返回-1表示失败
  1590. * @ingroup group_device
  1591. */
  1592. [DllImport("VzLPRSDK.dll")]
  1593. public static extern int VzLPRClient_GetVideoEncodeType(int handle, ref int pEncType);
  1594. /**
  1595. * @brief 获取视频图像质量;
  1596. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1597. * @param [IN] levelval //0~6,6最好
  1598. * @return 返回值为0表示成功,返回其他值表示失败。
  1599. */
  1600. [DllImport("VzLPRSDK.dll")]
  1601. public static extern int VzLPRClient_GetVideoVBR(int handle, ref int levelval);
  1602. /**
  1603. * @brief 设置视频图像质量;
  1604. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1605. * @param [IN] levelval //0~6,6最好
  1606. * @return 返回值为0表示成功,返回其他值表示失败。
  1607. */
  1608. [DllImport("VzLPRSDK.dll")]
  1609. public static extern int VzLPRClient_SetVideoVBR(int handle, int levelval);
  1610. /**
  1611. * @brief 获取视频制式;
  1612. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1613. * @param [IN] frequency 0:MaxOrZero, 1: 50Hz, 2:60Hz
  1614. * @return 返回值为0表示成功,返回其他值表示失败。
  1615. */
  1616. [DllImport("VzLPRSDK.dll")]
  1617. public static extern int VzLPRClient_GetFrequency(int handle, ref int frequency);
  1618. /**
  1619. * @brief 设置视频制式;
  1620. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1621. * @param [IN] frequency 0:MaxOrZero, 1: 50Hz, 2:60Hz
  1622. * @return 返回值为0表示成功,返回其他值表示失败。
  1623. */
  1624. [DllImport("VzLPRSDK.dll")]
  1625. public static extern int VzLPRClient_SetFrequency(int handle, int frequency);
  1626. /**
  1627. * @brief 获取曝光时间;
  1628. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1629. * @param [IN] shutter 2:>0~8ms 停车场推荐, 3: 0~4ms, 4:0~2ms 卡口推荐
  1630. * @return 返回值为0表示成功,返回其他值表示失败。
  1631. */
  1632. [DllImport("VzLPRSDK.dll")]
  1633. public static extern int VzLPRClient_GetShutter(int handle, ref int shutter);
  1634. /**
  1635. * @brief 设置曝光时间;
  1636. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1637. * @param [IN] shutter 2:>0~8ms 停车场推荐, 3: 0~4ms, 4:0~2ms 卡口推荐
  1638. * @return 返回值为0表示成功,返回其他值表示失败。
  1639. */
  1640. [DllImport("VzLPRSDK.dll")]
  1641. public static extern int VzLPRClient_SetShutter(int handle, int shutter);
  1642. /**
  1643. * @brief 获取图像翻转;
  1644. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1645. * @param [IN] flip, 0: 原始图像, 1:上下翻转, 2:左右翻转, 3:中心翻转
  1646. * @return 返回值为0表示成功,返回其他值表示失败。
  1647. */
  1648. [DllImport("VzLPRSDK.dll")]
  1649. public static extern int VzLPRClient_GetFlip(int handle, ref int flip);
  1650. /**
  1651. * @brief 设置图像翻转;
  1652. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1653. * @param [IN] flip, 0: 原始图像, 1:上下翻转, 2:左右翻转, 3:中心翻转
  1654. * @return 返回值为0表示成功,返回其他值表示失败。
  1655. */
  1656. [DllImport("VzLPRSDK.dll")]
  1657. public static extern int VzLPRClient_SetFlip(int handle, int flip);
  1658. /**
  1659. * @brief 修改网络参数
  1660. * @param [IN] SL 设备序列号低位字节
  1661. * @param [IN] SH 设备序列号高位字节
  1662. * @param [IN] strNewIP 新IP 格式如"192.168.3.109"
  1663. * @param [IN] strGateway 网关 格式如"192.168.3.1"
  1664. * @param [IN] strNetmask 子网掩码 格式如"255.255.255.0"
  1665. * @note 可以用来实现跨网段修改IP的功能
  1666. * @ingroup group_global
  1667. */
  1668. [DllImport("VzLPRSDK.dll")]
  1669. public static extern int VzLPRClient_UpdateNetworkParam(uint SL, uint SH, string strNewIP, string strGateway, string strNetmask);
  1670. /**
  1671. * @brief 获取设备序列号;
  1672. * @param [IN] ip ip统一使用字符串的形式传入
  1673. * @param [IN] port 使用和登录时相同的端口
  1674. * @param [OUT] SerHi 序列号高位
  1675. * @param [OUT] SerLo 序列号低位
  1676. * @return 返回值为0表示成功,返回其他值表示失败。
  1677. */
  1678. [DllImport("VzLPRSDK.dll")]
  1679. public static extern int VzLPRClient_GetSerialNo(string ip, short port, ref int SerHi, ref int SerLo);
  1680. /**
  1681. * @brief 开始实时图像数据流,用于实时获取图像数据
  1682. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1683. * @return 返回值为0表示成功,返回其他值表示失败。
  1684. * @ingroup group_device
  1685. */
  1686. [DllImport("VzLPRSDK.dll")]
  1687. public static extern int VzLPRClient_StartRealPlayDecData(int handle);
  1688. /**
  1689. * @brief 停止实时图像数据流
  1690. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1691. * @return 返回值为0表示成功,返回其他值表示失败。
  1692. * @ingroup group_device
  1693. */
  1694. [DllImport("VzLPRSDK.dll")]
  1695. public static extern int VzLPRClient_StopRealPlayDecData(int handle);
  1696. /**
  1697. * @brief 从解码流中获取JPEG图像,保存到指定内存
  1698. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1699. * @param [IN/OUT] pDstBuf JPEG数据的目的存储首地址
  1700. * @param [IN] uSizeBuf JPEG数据地址的内存的最大尺寸;
  1701. * @param [IN] nQuality JPEG压缩的质量,取值范围1~100;
  1702. * @return >0表示成功,即编码后的尺寸,-1表示失败,-2表示给定的压缩数据的内存尺寸不够大
  1703. * @ingroup group_global
  1704. */
  1705. [DllImport("VzLPRSDK.dll")]
  1706. public static extern int VzLPRClient_GetJpegStreamFromRealPlayDec(int handle, IntPtr pDstBuf, uint uSizeBuf, int nQuality);
  1707. /**
  1708. * @brief 设置是否输出实时结果
  1709. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1710. * @param [IN] bOutput 是否输出
  1711. * @return 0表示成功,-1表示失败
  1712. */
  1713. [DllImport("VzLPRSDK.dll")]
  1714. public static extern int VzLPRClient_SetIsOutputRealTimeResult(int handle, bool bOutput);
  1715. /**
  1716. * @brief 获取设备加密类型和当前加密类型
  1717. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1718. * @param [IN] pData 加密信息
  1719. * @return 返回值为0表示成功,返回其他值表示失败。
  1720. */
  1721. [DllImport("VzLPRSDK.dll")]
  1722. public static extern int VzLPRClient_GetEMS(int handle, ref VZ_LPRC_ACTIVE_ENCRYPT pData);
  1723. /**
  1724. * @brief 设置设备加密类型
  1725. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1726. * @param [IN] pCurrentKey 当前识别密码
  1727. * @param [IN] nEncyptId 修改的加密类型ID
  1728. * @return 返回值为0表示成功,返回其他值表示失败。
  1729. */
  1730. [DllImport("VzLPRSDK.dll")]
  1731. public static extern int VzLPRClient_SetEncrypt(int handle, IntPtr pCurrentKey, UInt32 nEncyptId);
  1732. /**
  1733. * @brief 修改设备识别密码
  1734. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1735. * @param [IN] pCurrentKey 当前识别密码
  1736. * @param [IN] pNewKey 新识别密码
  1737. * @return 返回值为0表示成功,返回其他值表示失败。
  1738. */
  1739. [DllImport("VzLPRSDK.dll")]
  1740. public static extern int VzLPRClient_ChangeEncryptKey(int handle, IntPtr pCurrentKey, IntPtr pNewKey);
  1741. /**
  1742. * @brief 重置设备识别密码
  1743. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1744. * @param [IN] pPrimeKey 当前设备主密码
  1745. * @param [IN] pNewKey 新识别密码
  1746. * @return 返回值为0表示成功,返回其他值表示失败。
  1747. */
  1748. [DllImport("VzLPRSDK.dll")]
  1749. public static extern int VzLPRClient_ResetEncryptKey(int handle, IntPtr pPrimeKey, IntPtr pNewKey);
  1750. /**
  1751. * @brief 语音播放功能
  1752. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1753. * @param [IN] voice 播放的语音文字
  1754. * @param [IN] interval 语音文件的播放间隔(0-5000)
  1755. * @param [IN] volume 声音大小(0-100)
  1756. * @param [IN] male 声音类型(男声0,女生1)
  1757. * @return 返回值为0表示成功,返回其他值表示失败。
  1758. */
  1759. [DllImport("VzLPRSDK.dll")]
  1760. public static extern int VzLPRClient_PlayVoice(int handle, string voice, int interval, int volume, int male);
  1761. //**************************************************************
  1762. // 中心服务器配置
  1763. /**
  1764. * @brief 设置中心服务器网络
  1765. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1766. * @param [IN] pCenterServerNet 中心服务器信息结构
  1767. * @return 返回值为0表示成功,返回其他值表示失败。
  1768. */
  1769. [DllImport("VzLPRSDK.dll")]
  1770. public static extern int VzLPRClient_SetCenterServerNet(int handle, ref VZ_LPRC_CENTER_SERVER_NET pCenterServerNet);
  1771. /**
  1772. * @brief 获取中心服务器网络
  1773. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1774. * @param [IN] pCenterServerNet 中心服务器信息结构
  1775. * @return 返回值为0表示成功,返回其他值表示失败。
  1776. */
  1777. [DllImport("VzLPRSDK.dll")]
  1778. public static extern int VzLPRClient_GetCenterServerNet(int handle, ref VZ_LPRC_CENTER_SERVER_NET pCenterServerNet);
  1779. /**
  1780. * @brief 设置中心服务器设备注册
  1781. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1782. * @param [IN] pCenterServerDeviceReg 中心服务器注册结构
  1783. * @return 返回值为0表示成功,返回其他值表示失败。
  1784. */
  1785. [DllImport("VzLPRSDK.dll")]
  1786. public static extern int VzLPRClient_SetCenterServerDeviceReg(int handle, ref VZ_LPRC_CENTER_SERVER_DEVICE_REG pCenterServerDeviceReg);
  1787. /**
  1788. * @brief 获取中心服务器设备注册
  1789. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1790. * @param [IN] pCenterServerDeviceReg 中心服务器注册结构
  1791. * @return 返回值为0表示成功,返回其他值表示失败。
  1792. */
  1793. [DllImport("VzLPRSDK.dll")]
  1794. public static extern int VzLPRClient_GetCenterServerDeviceReg(int handle, ref VZ_LPRC_CENTER_SERVER_DEVICE_REG pCenterServerDeviceReg);
  1795. /**
  1796. * @brief 设置中心服务器网络车牌推送信息
  1797. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1798. * @param [IN] pCenterServerPlate 中心服务器车牌推送信息
  1799. * @return 返回值为0表示成功,返回其他值表示失败。
  1800. */
  1801. [DllImport("VzLPRSDK.dll")]
  1802. public static extern int VzLPRClient_SetCenterServerPlate(int handle, ref VZ_LPRC_CENTER_SERVER_PLATE pCenterServerPlate);
  1803. /**
  1804. * @brief 获取中心服务器网络车牌推送信息
  1805. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1806. * @param [IN] pCenterServerPlate 中心服务器车牌推送信息
  1807. * @return 返回值为0表示成功,返回其他值表示失败。
  1808. */
  1809. [DllImport("VzLPRSDK.dll")]
  1810. public static extern int VzLPRClient_GetCenterServerPlate(int handle, ref VZ_LPRC_CENTER_SERVER_PLATE pCenterServerPlate);
  1811. /**
  1812. * @brief 设置中心服务器网络
  1813. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1814. * @param [IN] pCenterServerNet 中心服务器信息
  1815. * @return 返回值为0表示成功,返回其他值表示失败。
  1816. */
  1817. [DllImport("VzLPRSDK.dll")]
  1818. public static extern int VzLPRClient_SetCenterServerGionin(int handle, ref VZ_LPRC_CENTER_SERVER_GIONIN pCenterServerGionin);
  1819. /**
  1820. * @brief 获取中心服务器网络端口触发信息
  1821. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1822. * @param [IN] pCenterServerGionin 中心服务器端口触发信息
  1823. * @return 返回值为0表示成功,返回其他值表示失败。
  1824. */
  1825. [DllImport("VzLPRSDK.dll")]
  1826. public static extern int VzLPRClient_GetCenterServerGionin(int handle, ref VZ_LPRC_CENTER_SERVER_GIONIN pCenterServerGionin);
  1827. /**
  1828. * @brief 设置中心服务器网络串口信息
  1829. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1830. * @param [IN] pCenterServerSerial 中心服务器串口信息
  1831. * @return 返回值为0表示成功,返回其他值表示失败。
  1832. */
  1833. [DllImport("VzLPRSDK.dll")]
  1834. public static extern int VzLPRClient_SetCenterServerSerial(int handle, ref VZ_LPRC_CENTER_SERVER_SERIAL pCenterServerSerial);
  1835. /**
  1836. * @brief 获取中心服务器网络串口信息
  1837. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1838. * @param [IN] pCenterServerSerial 中心服务器串口信息
  1839. * @return 返回值为0表示成功,返回其他值表示失败。
  1840. */
  1841. [DllImport("VzLPRSDK.dll")]
  1842. public static extern int VzLPRClient_GetCenterServerSerial(int handle, ref VZ_LPRC_CENTER_SERVER_SERIAL pCenterServerSerial);
  1843. /**
  1844. * @brief 设置中心服务器网络主机备份信息
  1845. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1846. * @param [IN] pCenterServerHostBak 中心服务器主机备份信息 例如:"192.168.3.5;192.168.3.6"
  1847. * @return 返回值为0表示成功,返回其他值表示失败。
  1848. */
  1849. [DllImport("VzLPRSDK.dll")]
  1850. public static extern int VzLPRClient_SetCenterServerHostBak(int handle, string pCenterServerHostBak);
  1851. /**
  1852. * @brief 获取中心服务器网络主机备份信息
  1853. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1854. * @param [IN] pCenterServerHostBak 中心服务器主机备份信息 例如:"192.168.3.5;192.168.3.6"
  1855. * @return 返回值为0表示成功,返回其他值表示失败。
  1856. */
  1857. [DllImport("VzLPRSDK.dll")]
  1858. public static extern int VzLPRClient_GetCenterServerHostBak(int handle, ref string pCenterServerHostBak);
  1859. /**
  1860. * @brief 获取设备硬件信息
  1861. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1862. * @param [OUT] board_version 设备类型
  1863. * @param [OUT] exdataSize 额外数据长度。
  1864. * @return 返回值为0表示成功,返回其他值表示失败。
  1865. */
  1866. [DllImport("VzLPRSDK.dll")]
  1867. public static extern int VzLPRClient_GetHwBoardVersion(int handle, ref int board_version, ref Int64 exdataSize);
  1868. /**
  1869. * @brief 获取设备硬件类型
  1870. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1871. * @param [OUT] board_type 设备类型(0:3730,1:6446,2:8127)
  1872. * @return 返回值为0表示成功,返回其他值表示失败。
  1873. */
  1874. [DllImport("VzLPRSDK.dll")]
  1875. public static extern int VzLPRClient_GetHwBoardType(int handle, ref int board_type);
  1876. /**
  1877. * @brief 获取定焦版本相机安装距离
  1878. * @param [IN] iUserID VZC_Login函数返回的用户ID
  1879. * @param [OUT] reco_dis安装距离 0:2-4米, 2: 4-6米, 1: 6-8米
  1880. * @return 返回值为0表示成功,返回其他值表示失败。
  1881. */
  1882. [DllImport("VzLPRSDK.dll")]
  1883. public static extern int VzLPRClient_GetAlgResultParam(int handle, ref int reco_dis);
  1884. /**
  1885. * @brief 获取定焦版本相机安装距离
  1886. * @param [IN] iUserID VZC_Login函数返回的用户ID
  1887. * @param [OUT] reco_dis安装距离 0:2-4米, 2: 4-6米, 1: 6-8米
  1888. * @return 返回值为0表示成功,返回其他值表示失败。
  1889. */
  1890. [DllImport("VzLPRSDK.dll")]
  1891. public static extern int VzLPRClient_SetAlgResultParam(int handle, int reco_dis);
  1892. /**
  1893. * @brief 获取图像增强配置
  1894. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1895. * @param [OUT] mode 设备类型
  1896. * @param [OUT] strength 额外数据长度。
  1897. * @return 返回值为0表示成功,返回其他值表示失败。
  1898. */
  1899. [DllImport("VzLPRSDK.dll")]
  1900. public static extern int VzLPRClient_GetDenoise(int handle, ref int mode, ref int strength);
  1901. /**
  1902. * @brief 设置图像增强配置
  1903. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1904. * @param [OUT] mode 设备类型
  1905. * @param [OUT] strength 额外数据长度。
  1906. * @return 返回值为0表示成功,返回其他值表示失败。
  1907. */
  1908. [DllImport("VzLPRSDK.dll")]
  1909. public static extern int VzLPRClient_SetDenoise(int handle, int mode, int strength);
  1910. /**
  1911. * @brief 获取R相机的编码参数;
  1912. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1913. * @param [IN] iChannel 通道号
  1914. * @param [IN] stream 0主码流 1子码流
  1915. * @param [OUT] param 编码参数
  1916. * @return 返回值为0表示成功,返回其他值表示失败。
  1917. */
  1918. [DllImport("VzLPRSDK.dll")]
  1919. public static extern int VzLPRClient_RGet_Encode_Param(int handle, int stream, ref VZ_LPRC_R_ENCODE_PARAM param);
  1920. /**
  1921. * @brief 设置R相机的编码参数;
  1922. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1923. * @param [IN] iChannel 通道号
  1924. * @param [IN] stream 0主码流 1子码流
  1925. * @return 返回值为0表示成功,返回其他值表示失败。
  1926. */
  1927. [DllImport("VzLPRSDK.dll")]
  1928. public static extern int VzLPRClient_RSet_Encode_Param(int handle, int stream, ref VZ_LPRC_R_ENCODE_PARAM param);
  1929. /**
  1930. * @brief 获取R相机支持的编码参数;
  1931. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1932. * @param [IN] iChannel 通道号
  1933. * @param [IN] stream 0主码流 1子码流
  1934. * @return 返回值为0表示成功,返回其他值表示失败。
  1935. */
  1936. [DllImport("VzLPRSDK.dll")]
  1937. public static extern int VzLPRClient_RGet_Encode_Param_Property(int handle, ref VZ_LPRC_R_ENCODE_PARAM_PROPERTY param);
  1938. /**
  1939. * @brief 获取R相机的视频参数;
  1940. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1941. * @param [OUT] param 视频参数
  1942. * @return 返回值为0表示成功,返回其他值表示失败。
  1943. */
  1944. [DllImport("VzLPRSDK.dll")]
  1945. public static extern int VzLPRClient_RGet_Video_Param(int handle, ref VZ_LPRC_R_VIDEO_PARAM param);
  1946. /**
  1947. * @brief 获取R相机的视频参数;
  1948. * @param [IN] handle 由VzLPRClient_Open函数获得的句柄
  1949. * @param [IN] iChannel 通道号
  1950. * @return 返回值为0表示成功,返回其他值表示失败。
  1951. */
  1952. [DllImport("VzLPRSDK.dll")]
  1953. public static extern int VzLPRClient_RSet_Video_Param(int handle, ref VZ_LPRC_R_VIDEO_PARAM param);
  1954. }
  1955. }