diff --git a/lib/hik/linux64/HCNetSDKCom/libAudioIntercom.so b/lib/hik/linux64/HCNetSDKCom/libAudioIntercom.so
new file mode 100644
index 00000000..49685d9b
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libAudioIntercom.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCAlarm.so b/lib/hik/linux64/HCNetSDKCom/libHCAlarm.so
new file mode 100644
index 00000000..a54dee3b
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCAlarm.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCCoreDevCfg.so b/lib/hik/linux64/HCNetSDKCom/libHCCoreDevCfg.so
new file mode 100644
index 00000000..5ada40ff
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCCoreDevCfg.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCDisplay.so b/lib/hik/linux64/HCNetSDKCom/libHCDisplay.so
new file mode 100644
index 00000000..9871c9e8
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCDisplay.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCGeneralCfgMgr.so b/lib/hik/linux64/HCNetSDKCom/libHCGeneralCfgMgr.so
new file mode 100644
index 00000000..76662331
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCGeneralCfgMgr.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCIndustry.so b/lib/hik/linux64/HCNetSDKCom/libHCIndustry.so
new file mode 100644
index 00000000..4b11107d
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCIndustry.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCPlayBack.so b/lib/hik/linux64/HCNetSDKCom/libHCPlayBack.so
new file mode 100644
index 00000000..6137552b
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCPlayBack.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCPreview.so b/lib/hik/linux64/HCNetSDKCom/libHCPreview.so
new file mode 100644
index 00000000..035cd3d8
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCPreview.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libHCVoiceTalk.so b/lib/hik/linux64/HCNetSDKCom/libHCVoiceTalk.so
new file mode 100644
index 00000000..6a2ab908
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libHCVoiceTalk.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libStreamTransClient.so b/lib/hik/linux64/HCNetSDKCom/libStreamTransClient.so
new file mode 100644
index 00000000..6b16337d
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libStreamTransClient.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libSystemTransform.so b/lib/hik/linux64/HCNetSDKCom/libSystemTransform.so
new file mode 100644
index 00000000..086c6318
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libSystemTransform.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libanalyzedata.so b/lib/hik/linux64/HCNetSDKCom/libanalyzedata.so
new file mode 100644
index 00000000..fa416e92
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libanalyzedata.so differ
diff --git a/lib/hik/linux64/HCNetSDKCom/libiconv2.so b/lib/hik/linux64/HCNetSDKCom/libiconv2.so
new file mode 100644
index 00000000..d17b0a8d
Binary files /dev/null and b/lib/hik/linux64/HCNetSDKCom/libiconv2.so differ
diff --git a/lib/hik/linux64/HCNetSDK_Log_Switch.xml b/lib/hik/linux64/HCNetSDK_Log_Switch.xml
new file mode 100644
index 00000000..8b7e2360
--- /dev/null
+++ b/lib/hik/linux64/HCNetSDK_Log_Switch.xml
@@ -0,0 +1,12 @@
+
+
+
+ 3
+ ./SDKLOG/
+ true
+
+
+ 120
+ 1
+
+
\ No newline at end of file
diff --git a/lib/hik/linux64/libAudioRender.so b/lib/hik/linux64/libAudioRender.so
new file mode 100644
index 00000000..f39a4a1b
Binary files /dev/null and b/lib/hik/linux64/libAudioRender.so differ
diff --git a/lib/hik/linux64/libHCCore.so b/lib/hik/linux64/libHCCore.so
new file mode 100644
index 00000000..78469021
Binary files /dev/null and b/lib/hik/linux64/libHCCore.so differ
diff --git a/lib/hik/linux64/libNPQos.so b/lib/hik/linux64/libNPQos.so
new file mode 100644
index 00000000..49727157
Binary files /dev/null and b/lib/hik/linux64/libNPQos.so differ
diff --git a/lib/hik/linux64/libPlayCtrl.so b/lib/hik/linux64/libPlayCtrl.so
new file mode 100644
index 00000000..e255c229
Binary files /dev/null and b/lib/hik/linux64/libPlayCtrl.so differ
diff --git a/lib/hik/linux64/libSuperRender.so b/lib/hik/linux64/libSuperRender.so
new file mode 100644
index 00000000..3f36846f
Binary files /dev/null and b/lib/hik/linux64/libSuperRender.so differ
diff --git a/lib/hik/linux64/libcrypto.so.1.1 b/lib/hik/linux64/libcrypto.so.1.1
new file mode 100644
index 00000000..88c3746e
Binary files /dev/null and b/lib/hik/linux64/libcrypto.so.1.1 differ
diff --git a/lib/hik/linux64/libhcnetsdk.so b/lib/hik/linux64/libhcnetsdk.so
new file mode 100644
index 00000000..2607cee2
Binary files /dev/null and b/lib/hik/linux64/libhcnetsdk.so differ
diff --git a/lib/hik/linux64/libhpr.so b/lib/hik/linux64/libhpr.so
new file mode 100644
index 00000000..8efcabbc
Binary files /dev/null and b/lib/hik/linux64/libhpr.so differ
diff --git a/lib/hik/linux64/libopenal.so.1 b/lib/hik/linux64/libopenal.so.1
new file mode 100644
index 00000000..a9dcb820
Binary files /dev/null and b/lib/hik/linux64/libopenal.so.1 differ
diff --git a/lib/hik/linux64/libssl.so.1.1 b/lib/hik/linux64/libssl.so.1.1
new file mode 100644
index 00000000..f3e44813
Binary files /dev/null and b/lib/hik/linux64/libssl.so.1.1 differ
diff --git a/lib/hik/linux64/libz.so b/lib/hik/linux64/libz.so
new file mode 100644
index 00000000..13b4ed93
Binary files /dev/null and b/lib/hik/linux64/libz.so differ
diff --git a/lib/hik/win64/AudioRender.dll b/lib/hik/win64/AudioRender.dll
new file mode 100644
index 00000000..49356840
Binary files /dev/null and b/lib/hik/win64/AudioRender.dll differ
diff --git a/lib/hik/win64/ClientDemo.exe b/lib/hik/win64/ClientDemo.exe
new file mode 100644
index 00000000..75aedfa0
Binary files /dev/null and b/lib/hik/win64/ClientDemo.exe differ
diff --git a/lib/hik/win64/ClientDemoDll/ReadMe.txt b/lib/hik/win64/ClientDemoDll/ReadMe.txt
new file mode 100644
index 00000000..8006f36c
--- /dev/null
+++ b/lib/hik/win64/ClientDemoDll/ReadMe.txt
@@ -0,0 +1 @@
+The dll in this directory(iconv.dll,libxml2.dll,zlib1.dll,calib.dll)only used in ClientDemo.
\ No newline at end of file
diff --git a/lib/hik/win64/ClientDemoDll/calib.dll b/lib/hik/win64/ClientDemoDll/calib.dll
new file mode 100644
index 00000000..328c63e7
Binary files /dev/null and b/lib/hik/win64/ClientDemoDll/calib.dll differ
diff --git a/lib/hik/win64/ClientDemoDll/iconv.dll b/lib/hik/win64/ClientDemoDll/iconv.dll
new file mode 100644
index 00000000..df718829
Binary files /dev/null and b/lib/hik/win64/ClientDemoDll/iconv.dll differ
diff --git a/lib/hik/win64/ClientDemoDll/libcrypto-1_1-x64.dll b/lib/hik/win64/ClientDemoDll/libcrypto-1_1-x64.dll
new file mode 100644
index 00000000..f2f96d78
Binary files /dev/null and b/lib/hik/win64/ClientDemoDll/libcrypto-1_1-x64.dll differ
diff --git a/lib/hik/win64/ClientDemoDll/libssl-1_1-x64.dll b/lib/hik/win64/ClientDemoDll/libssl-1_1-x64.dll
new file mode 100644
index 00000000..8034d795
Binary files /dev/null and b/lib/hik/win64/ClientDemoDll/libssl-1_1-x64.dll differ
diff --git a/lib/hik/win64/ClientDemoDll/libxml2.dll b/lib/hik/win64/ClientDemoDll/libxml2.dll
new file mode 100644
index 00000000..c8d57f37
Binary files /dev/null and b/lib/hik/win64/ClientDemoDll/libxml2.dll differ
diff --git a/lib/hik/win64/ClientDemoDll/zlib1.dll b/lib/hik/win64/ClientDemoDll/zlib1.dll
new file mode 100644
index 00000000..82913fb9
Binary files /dev/null and b/lib/hik/win64/ClientDemoDll/zlib1.dll differ
diff --git a/lib/hik/win64/DemoLocalCfg.json b/lib/hik/win64/DemoLocalCfg.json
new file mode 100644
index 00000000..e69de29b
diff --git a/lib/hik/win64/DeviceCfg.json b/lib/hik/win64/DeviceCfg.json
new file mode 100644
index 00000000..c176150e
--- /dev/null
+++ b/lib/hik/win64/DeviceCfg.json
@@ -0,0 +1,25 @@
+{
+ "Devices": [{
+ "ID": 0,
+ "SerialNumber": "DS-K221020240130V010006CHGB5685986",
+ "ChannelNumber": 0,
+ "StartChannel": 1,
+ "AlarmInNum": 0,
+ "AlarmOutNum": 2,
+ "IPChanNum": 0,
+ "MirrorChanNum": 0,
+ "StartMirrorChanNo": 0,
+ "LocalNodeName": "192.168.110.196",
+ "DeviceType": 864,
+ "DiskNum": 0,
+ "LoginUserName": "admin",
+ "LoginUserPwd": "qweasd123",
+ "DeviceIP": "192.168.110.196",
+ "DeviceMultiIP": "0.0.0.0",
+ "DevicePort": 8000,
+ "DeviceName": "",
+ "LoginMode": 0,
+ "Https": 0,
+ "Channels": []
+ }]
+}
\ No newline at end of file
diff --git a/lib/hik/win64/GdiPlus.dll b/lib/hik/win64/GdiPlus.dll
new file mode 100644
index 00000000..b759ed6c
Binary files /dev/null and b/lib/hik/win64/GdiPlus.dll differ
diff --git a/lib/hik/win64/GdiPlus.lib b/lib/hik/win64/GdiPlus.lib
new file mode 100644
index 00000000..6fb1bb67
Binary files /dev/null and b/lib/hik/win64/GdiPlus.lib differ
diff --git a/lib/hik/win64/HCCore.dll b/lib/hik/win64/HCCore.dll
new file mode 100644
index 00000000..48f84115
Binary files /dev/null and b/lib/hik/win64/HCCore.dll differ
diff --git a/lib/hik/win64/HCCore.lib b/lib/hik/win64/HCCore.lib
new file mode 100644
index 00000000..495c74a2
Binary files /dev/null and b/lib/hik/win64/HCCore.lib differ
diff --git a/lib/hik/win64/HCNetSDK.dll b/lib/hik/win64/HCNetSDK.dll
new file mode 100644
index 00000000..2ed412ec
Binary files /dev/null and b/lib/hik/win64/HCNetSDK.dll differ
diff --git a/lib/hik/win64/HCNetSDK.lib b/lib/hik/win64/HCNetSDK.lib
new file mode 100644
index 00000000..ff8e9e2b
Binary files /dev/null and b/lib/hik/win64/HCNetSDK.lib differ
diff --git a/lib/hik/win64/HCNetSDKCom/AnalyzeData.dll b/lib/hik/win64/HCNetSDKCom/AnalyzeData.dll
new file mode 100644
index 00000000..2317b390
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/AnalyzeData.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/AudioIntercom.dll b/lib/hik/win64/HCNetSDKCom/AudioIntercom.dll
new file mode 100644
index 00000000..071a5e28
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/AudioIntercom.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/AudioRender.dll b/lib/hik/win64/HCNetSDKCom/AudioRender.dll
new file mode 100644
index 00000000..49356840
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/AudioRender.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCAlarm.dll b/lib/hik/win64/HCNetSDKCom/HCAlarm.dll
new file mode 100644
index 00000000..bdb84067
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCAlarm.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCAlarm.lib b/lib/hik/win64/HCNetSDKCom/HCAlarm.lib
new file mode 100644
index 00000000..0aa0d4c1
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCAlarm.lib differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCCoreDevCfg.dll b/lib/hik/win64/HCNetSDKCom/HCCoreDevCfg.dll
new file mode 100644
index 00000000..7cd924e7
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCCoreDevCfg.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCDisplay.dll b/lib/hik/win64/HCNetSDKCom/HCDisplay.dll
new file mode 100644
index 00000000..f0a2b7ca
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCDisplay.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCGeneralCfgMgr.dll b/lib/hik/win64/HCNetSDKCom/HCGeneralCfgMgr.dll
new file mode 100644
index 00000000..37196945
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCGeneralCfgMgr.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCGeneralCfgMgr.lib b/lib/hik/win64/HCNetSDKCom/HCGeneralCfgMgr.lib
new file mode 100644
index 00000000..7091c25b
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCGeneralCfgMgr.lib differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCIndustry.dll b/lib/hik/win64/HCNetSDKCom/HCIndustry.dll
new file mode 100644
index 00000000..9af77a1b
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCIndustry.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCPlayBack.dll b/lib/hik/win64/HCNetSDKCom/HCPlayBack.dll
new file mode 100644
index 00000000..8d8e8a78
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCPlayBack.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCPreview.dll b/lib/hik/win64/HCNetSDKCom/HCPreview.dll
new file mode 100644
index 00000000..005656d4
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCPreview.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCPreview.lib b/lib/hik/win64/HCNetSDKCom/HCPreview.lib
new file mode 100644
index 00000000..18d4d638
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCPreview.lib differ
diff --git a/lib/hik/win64/HCNetSDKCom/HCVoiceTalk.dll b/lib/hik/win64/HCNetSDKCom/HCVoiceTalk.dll
new file mode 100644
index 00000000..eb04a1ec
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/HCVoiceTalk.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/OpenAL32.dll b/lib/hik/win64/HCNetSDKCom/OpenAL32.dll
new file mode 100644
index 00000000..4b35df41
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/OpenAL32.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/StreamTransClient.dll b/lib/hik/win64/HCNetSDKCom/StreamTransClient.dll
new file mode 100644
index 00000000..a69e9bf5
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/StreamTransClient.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/SystemTransform.dll b/lib/hik/win64/HCNetSDKCom/SystemTransform.dll
new file mode 100644
index 00000000..f704e491
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/SystemTransform.dll differ
diff --git a/lib/hik/win64/HCNetSDKCom/libiconv2.dll b/lib/hik/win64/HCNetSDKCom/libiconv2.dll
new file mode 100644
index 00000000..978e2fa5
Binary files /dev/null and b/lib/hik/win64/HCNetSDKCom/libiconv2.dll differ
diff --git a/lib/hik/win64/HXVA.dll b/lib/hik/win64/HXVA.dll
new file mode 100644
index 00000000..b7ebfccf
Binary files /dev/null and b/lib/hik/win64/HXVA.dll differ
diff --git a/lib/hik/win64/HmMerge.dll b/lib/hik/win64/HmMerge.dll
new file mode 100644
index 00000000..d46a6acd
Binary files /dev/null and b/lib/hik/win64/HmMerge.dll differ
diff --git a/lib/hik/win64/LocalSensorAdd.dat b/lib/hik/win64/LocalSensorAdd.dat
new file mode 100644
index 00000000..e69de29b
diff --git a/lib/hik/win64/LocalXml.zip b/lib/hik/win64/LocalXml.zip
new file mode 100644
index 00000000..3620e685
Binary files /dev/null and b/lib/hik/win64/LocalXml.zip differ
diff --git a/lib/hik/win64/MP_Render.dll b/lib/hik/win64/MP_Render.dll
new file mode 100644
index 00000000..e5cde636
Binary files /dev/null and b/lib/hik/win64/MP_Render.dll differ
diff --git a/lib/hik/win64/NPQos.dll b/lib/hik/win64/NPQos.dll
new file mode 100644
index 00000000..c709f561
Binary files /dev/null and b/lib/hik/win64/NPQos.dll differ
diff --git a/lib/hik/win64/OpenAL32.dll b/lib/hik/win64/OpenAL32.dll
new file mode 100644
index 00000000..4b35df41
Binary files /dev/null and b/lib/hik/win64/OpenAL32.dll differ
diff --git a/lib/hik/win64/PlayCtrl.dll b/lib/hik/win64/PlayCtrl.dll
new file mode 100644
index 00000000..2a5eb97f
Binary files /dev/null and b/lib/hik/win64/PlayCtrl.dll differ
diff --git a/lib/hik/win64/PlayCtrl.lib b/lib/hik/win64/PlayCtrl.lib
new file mode 100644
index 00000000..ddcf2f41
Binary files /dev/null and b/lib/hik/win64/PlayCtrl.lib differ
diff --git a/lib/hik/win64/SuperRender.dll b/lib/hik/win64/SuperRender.dll
new file mode 100644
index 00000000..b00c0c2a
Binary files /dev/null and b/lib/hik/win64/SuperRender.dll differ
diff --git a/lib/hik/win64/YUVProcess.dll b/lib/hik/win64/YUVProcess.dll
new file mode 100644
index 00000000..d86ec3f1
Binary files /dev/null and b/lib/hik/win64/YUVProcess.dll differ
diff --git a/lib/hik/win64/hlog.dll b/lib/hik/win64/hlog.dll
new file mode 100644
index 00000000..fe2298ab
Binary files /dev/null and b/lib/hik/win64/hlog.dll differ
diff --git a/lib/hik/win64/hpr.dll b/lib/hik/win64/hpr.dll
new file mode 100644
index 00000000..eef0d556
Binary files /dev/null and b/lib/hik/win64/hpr.dll differ
diff --git a/lib/hik/win64/libcrypto-1_1-x64.dll b/lib/hik/win64/libcrypto-1_1-x64.dll
new file mode 100644
index 00000000..67313387
Binary files /dev/null and b/lib/hik/win64/libcrypto-1_1-x64.dll differ
diff --git a/lib/hik/win64/libmmd.dll b/lib/hik/win64/libmmd.dll
new file mode 100644
index 00000000..8becb5e3
Binary files /dev/null and b/lib/hik/win64/libmmd.dll differ
diff --git a/lib/hik/win64/libssl-1_1-x64.dll b/lib/hik/win64/libssl-1_1-x64.dll
new file mode 100644
index 00000000..ac5e8fd0
Binary files /dev/null and b/lib/hik/win64/libssl-1_1-x64.dll differ
diff --git a/lib/hik/win64/zlib1.dll b/lib/hik/win64/zlib1.dll
new file mode 100644
index 00000000..9c37a84b
Binary files /dev/null and b/lib/hik/win64/zlib1.dll differ
diff --git a/pom.xml b/pom.xml
index 5e5f0ca5..31374a71 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,8 @@
1.7.3
2.3.0
-
+
+ 1.0
3.11.0
3.1.2
@@ -73,8 +74,8 @@
dev
-
-
+
+
47.109.37.87:8848
47.109.37.87:4560
DEFAULT_GROUP
@@ -92,8 +93,8 @@
dev
-
-
+
+
47.109.37.87:8848
47.109.37.87:4560
DEFAULT_GROUP
@@ -108,15 +109,15 @@
prod
prod
-
-
+
+
47.109.37.87:8848
47.109.37.87:4560
DEFAULT_GROUP
DEFAULT_GROUP
nacos
nacos
-
+
@@ -376,6 +377,18 @@
${mapstruct-plus.version}
+
+ com.hik
+ examples
+ ${hik-sdk.version}
+
+
+
+ com.hik
+ jna
+ ${hik-sdk.version}
+
+
org.apache.rocketmq
diff --git a/ruoyi-modules/Sis/pom.xml b/ruoyi-modules/Sis/pom.xml
index 1a005cda..d528bf1c 100644
--- a/ruoyi-modules/Sis/pom.xml
+++ b/ruoyi-modules/Sis/pom.xml
@@ -111,6 +111,16 @@
property-api
+
+ com.hik
+ examples
+
+
+
+ com.hik
+ jna
+
+
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/SisApplication.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/SisApplication.java
index abf1ada4..9d5806fa 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/SisApplication.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/SisApplication.java
@@ -1,6 +1,7 @@
package org.dromara.sis;
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+import org.dromara.sis.sdk.hik.service.SdkBaseServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
@@ -14,6 +15,8 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
@SpringBootApplication
public class SisApplication {
public static void main(String[] args) {
+ // 鍔犺浇hik sdk
+ SdkBaseServer.initSdk();
SpringApplication application = new SpringApplication(SisApplication.class);
application.setApplicationStartup(new BufferingApplicationStartup(2048));
application.run(args);
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HCNetSDK.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HCNetSDK.java
new file mode 100644
index 00000000..cf8a18db
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HCNetSDK.java
@@ -0,0 +1,10712 @@
+package org.dromara.sis.sdk.hik;
+
+import com.sun.jna.*;
+import com.sun.jna.examples.win32.W32API;
+import com.sun.jna.examples.win32.W32API.HWND;
+import com.sun.jna.ptr.ByteByReference;
+import com.sun.jna.ptr.IntByReference;
+import com.sun.jna.ptr.ShortByReference;
+
+import java.util.Arrays;
+import java.util.List;
+
+//SDK鎺ュ彛璇存槑,HCNetSDK.dll
+public interface HCNetSDK extends Library {
+
+ /*** 瀹忓畾涔 ***/
+ //甯搁噺
+
+ public static final int MAX_NAMELEN = 16; //DVR鏈湴鐧婚檰鍚
+ public static final int MAX_RIGHT = 32; //璁惧鏀寔鐨勬潈闄愶紙1-12琛ㄧず鏈湴鏉冮檺锛13-32琛ㄧず杩滅▼鏉冮檺锛
+ public static final int NAME_LEN = 32; //鐢ㄦ埛鍚嶉暱搴
+ public static final int PASSWD_LEN = 16; //瀵嗙爜闀垮害
+ public static final int SERIALNO_LEN = 48; //搴忓垪鍙烽暱搴
+ public static final int MACADDR_LEN = 6; //mac鍦板潃闀垮害
+ public static final int MAX_ETHERNET = 2; //璁惧鍙厤浠ュお缃戠粶
+ public static final int PATHNAME_LEN = 128; //璺緞闀垮害
+ public static final int MAX_TIMESEGMENT_V30 = 8; //9000璁惧鏈澶ф椂闂存鏁
+ public static final int MAX_TIMESEGMENT = 4; //8000璁惧鏈澶ф椂闂存鏁
+ public static final int MAX_SHELTERNUM = 4; //8000璁惧鏈澶ч伄鎸″尯鍩熸暟
+ public static final int MAX_DAYS = 7; //姣忓懆澶╂暟
+ public static final int PHONENUMBER_LEN = 32; //pppoe鎷ㄥ彿鍙风爜鏈澶ч暱搴
+ public static final int MAX_DISKNUM_V30 = 33; //9000璁惧鏈澶х‖鐩樻暟/* 鏈澶33涓‖鐩(鍖呮嫭16涓唴缃甋ATA纭洏銆1涓猠SATA纭洏鍜16涓狽FS鐩) */
+ public static final int MAX_DISKNUM = 16; //8000璁惧鏈澶х‖鐩樻暟
+ public static final int MAX_DISKNUM_V10 = 8; //1.2鐗堟湰涔嬪墠鐗堟湰
+ public static final int MAX_WINDOW_V30 = 32; //9000璁惧鏈湴鏄剧ず鏈澶ф挱鏀剧獥鍙f暟
+ public static final int MAX_WINDOW = 16; //8000璁惧鏈澶х‖鐩樻暟
+ public static final int MAX_VGA_V30 = 4; //9000璁惧鏈澶у彲鎺GA鏁
+ public static final int MAX_VGA = 1; //8000璁惧鏈澶у彲鎺GA鏁
+ public static final int MAX_USERNUM_V30 = 32; //9000璁惧鏈澶х敤鎴锋暟
+ public static final int MAX_USERNUM = 16; //8000璁惧鏈澶х敤鎴锋暟
+ public static final int MAX_EXCEPTIONNUM_V30 = 32; //9000璁惧鏈澶у紓甯稿鐞嗘暟
+ public static final int MAX_EXCEPTIONNUM = 16; //8000璁惧鏈澶у紓甯稿鐞嗘暟
+ public static final int MAX_LINK = 6; //8000璁惧鍗曢氶亾鏈澶ц棰戞祦杩炴帴鏁
+ public static final int MAX_DECPOOLNUM = 4; //鍗曡矾瑙g爜鍣ㄦ瘡涓В鐮侀氶亾鏈澶у彲寰幆瑙g爜鏁
+ public static final int MAX_DECNUM = 4; //鍗曡矾瑙g爜鍣ㄧ殑鏈澶цВ鐮侀氶亾鏁帮紙瀹為檯鍙湁涓涓紝鍏朵粬涓変釜淇濈暀锛
+ public static final int MAX_TRANSPARENTNUM = 2; //鍗曡矾瑙g爜鍣ㄥ彲閰嶇疆鏈澶ч忔槑閫氶亾鏁
+ public static final int MAX_CYCLE_CHAN = 16; //鍗曡矾瑙g爜鍣ㄦ渶澶ц疆寰氶亾鏁
+ public static final int MAX_DIRNAME_LENGTH = 80; //鏈澶х洰褰曢暱搴
+ public static final int MAX_STRINGNUM_V30 = 8; //9000璁惧鏈澶SD瀛楃琛屾暟鏁
+ public static final int MAX_STRINGNUM = 4; //8000璁惧鏈澶SD瀛楃琛屾暟鏁
+ public static final int MAX_STRINGNUM_EX = 8; //8000瀹氬埗鎵╁睍
+ public static final int MAX_AUXOUT_V30 = 16; //9000璁惧鏈澶ц緟鍔╄緭鍑烘暟
+ public static final int MAX_AUXOUT = 4; //8000璁惧鏈澶ц緟鍔╄緭鍑烘暟
+ public static final int MAX_HD_GROUP = 16; //9000璁惧鏈澶х‖鐩樼粍鏁
+ public static final int MAX_NFS_DISK = 8; //8000璁惧鏈澶FS纭洏鏁
+ public static final int IW_ESSID_MAX_SIZE = 32; //WIFI鐨凷SID鍙烽暱搴
+ public static final int IW_ENCODING_TOKEN_MAX = 32; //WIFI瀵嗛攣鏈澶у瓧鑺傛暟
+ public static final int MAX_SERIAL_NUM = 64; //鏈澶氭敮鎸佺殑閫忔槑閫氶亾璺暟
+ public static final int MAX_DDNS_NUMS = 10; //9000璁惧鏈澶у彲閰峝dns鏁
+ public static final int MAX_DOMAIN_NAME = 64; /* 鏈澶у煙鍚嶉暱搴 */
+
+ public static final int MAX_EMAIL_ADDR_LEN = 48; //鏈澶mail鍦板潃闀垮害
+ public static final int MAX_EMAIL_PWD_LEN = 32; //鏈澶mail瀵嗙爜闀垮害
+ public static final int MAXPROGRESS = 100; //鍥炴斁鏃剁殑鏈澶х櫨鍒嗙巼
+ public static final int MAX_SERIALNUM = 2; //8000璁惧鏀寔鐨勪覆鍙f暟 1-232锛 2-485
+ public static final int CARDNUM_LEN = 20; //鍗″彿闀垮害
+ public static final int MAX_VIDEOOUT_V30 = 4; //9000璁惧鐨勮棰戣緭鍑烘暟
+ public static final int MAX_VIDEOOUT = 2; //8000璁惧鐨勮棰戣緭鍑烘暟
+ public static final int MAX_PRESET_V30 = 256; /* 9000璁惧鏀寔鐨勪簯鍙伴缃偣鏁 */
+ public static final int MAX_TRACK_V30 = 256; /* 9000璁惧鏀寔鐨勪簯鍙版暟 */
+ public static final int MAX_CRUISE_V30 = 256; /* 9000璁惧鏀寔鐨勪簯鍙板贰鑸暟 */
+ public static final int MAX_PRESET = 128; /* 8000璁惧鏀寔鐨勪簯鍙伴缃偣鏁 */
+ public static final int MAX_TRACK = 128; /* 8000璁惧鏀寔鐨勪簯鍙版暟 */
+ public static final int MAX_CRUISE = 128; /* 8000璁惧鏀寔鐨勪簯鍙板贰鑸暟 */
+ public static final int CRUISE_MAX_PRESET_NUMS = 32; /* 涓鏉″贰鑸渶澶氱殑宸¤埅鐐 */
+ public static final int MAX_SERIAL_PORT = 8; //9000璁惧鏀寔232涓插彛鏁
+ public static final int MAX_PREVIEW_MODE = 8; /* 璁惧鏀寔鏈澶ч瑙堟ā寮忔暟鐩 1鐢婚潰,4鐢婚潰,9鐢婚潰,16鐢婚潰.... */
+ public static final int MAX_MATRIXOUT = 16; /* 鏈澶фā鎷熺煩闃佃緭鍑轰釜鏁 */
+ public static final int LOG_INFO_LEN = 11840; /* 鏃ュ織闄勫姞淇℃伅 */
+ public static final int DESC_LEN = 16; /* 浜戝彴鎻忚堪瀛楃涓查暱搴 */
+ public static final int PTZ_PROTOCOL_NUM = 200; /* 9000鏈澶ф敮鎸佺殑浜戝彴鍗忚鏁 */
+ public static final int MAX_AUDIO = 1; //8000璇煶瀵硅閫氶亾鏁
+ public static final int MAX_AUDIO_V30 = 2; //9000璇煶瀵硅閫氶亾鏁
+ public static final int MAX_CHANNUM = 16; //8000璁惧鏈澶ч氶亾鏁
+ public static final int MAX_ALARMIN = 16; //8000璁惧鏈澶ф姤璀﹁緭鍏ユ暟
+ public static final int MAX_ALARMOUT = 4; //8000璁惧鏈澶ф姤璀﹁緭鍑烘暟
+ //9000 IPC鎺ュ叆
+ public static final int MAX_ANALOG_CHANNUM = 32; //鏈澶32涓ā鎷熼氶亾
+ public static final int MAX_ANALOG_ALARMOUT = 32; //鏈澶32璺ā鎷熸姤璀﹁緭鍑
+ public static final int MAX_ANALOG_ALARMIN = 32; //鏈澶32璺ā鎷熸姤璀﹁緭鍏
+ public static final int MAX_IP_ALARMIN_V40 = 4096; //鍏佽鍔犲叆鐨勬渶澶氭姤璀﹁緭鍏ユ暟
+ public static final int MAX_IP_ALARMOUT_V40 = 4096; //鍏佽鍔犲叆鐨勬渶澶氭姤璀﹁緭鍑烘暟
+ public static final int MAX_ALARMOUT_V40 = (MAX_IP_ALARMOUT_V40 + MAX_ANALOG_ALARMOUT); //4128
+ public static final int MAX_ALARMIN_V40 = (MAX_IP_ALARMIN_V40 + MAX_ANALOG_ALARMOUT); //4128
+ public static final int MAX_CHANNUM_V40 = 512;
+ public static final int MAX_IP_DEVICE = 32; //鍏佽鎺ュ叆鐨勬渶澶P璁惧鏁
+ public static final int MAX_IP_CHANNEL = 32; //鍏佽鍔犲叆鐨勬渶澶欼P閫氶亾鏁
+ public static final int MAX_IP_ALARMIN = 128; //鍏佽鍔犲叆鐨勬渶澶氭姤璀﹁緭鍏ユ暟
+ public static final int MAX_IP_ALARMOUT = 64; //鍏佽鍔犲叆鐨勬渶澶氭姤璀﹁緭鍑烘暟
+
+ /* 鏈澶ф敮鎸佺殑閫氶亾鏁 鏈澶фā鎷熷姞涓婃渶澶P鏀寔 */
+ public static final int MAX_CHANNUM_V30 = (MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL);//64
+ public static final int MAX_ALARMOUT_V30 = (MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT);//96
+ public static final int MAX_ALARMIN_V30 = (MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN);//160
+ public static final int MAX_IP_DEVICE_V40 = 64;
+ public static final int STREAM_ID_LEN = 32;
+
+ public static final int MAX_LICENSE_LEN = 16;
+ public static final int MAX_LICENSE_LEN_EX = 32; //杞︾墝鍙锋渶澶ч暱搴
+ public static final int MAX_CARDNO_LEN = 48; //鍗″彿鏈澶ч暱搴
+ public static final int VCA_MAX_POLYGON_POINT_NUM = 10;
+
+ public static final int MAX_ID_NUM_LEN = 32; //鏈澶ц韩浠借瘉鍙烽暱搴
+ public static final int MAX_ID_NAME_LEN = 128; //鏈澶у鍚嶉暱搴
+ public static final int MAX_ID_ADDR_LEN = 280; //鏈澶т綇鍧闀垮害
+ public static final int MAX_ID_ISSUING_AUTHORITY_LEN = 128; //鏈澶х鍙戞満鍏抽暱搴
+ public static final int MAX_CARD_READER_NUM_512 = 512; //鏈澶ц鍗″櫒鏁
+ public static final int ERROR_MSG_LEN = 32; //涓嬪彂閿欒淇℃伅
+ public static final int MAX_FACE_NUM = 2; //鏈澶т汉鑴告暟
+ public static final int MAX_FINGER_PRINT_LEN = 768; //鏈澶ф寚绾归暱搴
+
+ public static final int DEV_TYPE_NAME_LEN = 24; //璁惧绫诲瀷鍚嶇О闀垮害
+ public static final int MAX_FACE_PIC_NUM = 30; /*浜鸿劯瀛愬浘涓暟*/
+ public static final int CARDNUM_LEN_V30 = 40;
+
+ public static final int MAX_NOTICE_NUMBER_LEN = 32; //鍏憡缂栧彿鏈澶ч暱搴
+ public static final int MAX_NOTICE_THEME_LEN = 64; //鍏憡涓婚鏈澶ч暱搴
+ public static final int MAX_NOTICE_DETAIL_LEN = 1024; //鍏憡璇︽儏鏈澶ч暱搴
+ public static final int MAX_NOTICE_PIC_NUM = 6; //鍏憡淇℃伅鏈澶у浘鐗囨暟閲
+ public static final int MAX_DEV_NUMBER_LEN = 32; //璁惧缂栧彿鏈澶ч暱搴
+ public static final int LOCK_NAME_LEN = 32; //閿佸悕绉
+
+ public static final int NET_SDK_EMPLOYEE_NO_LEN = 32; //宸ュ彿闀垮害
+ public static final int NET_SDK_UUID_LEN = 36; //UUID闀垮害
+
+ public static final int MAX_INQUEST_CDRW_NUM = 4; //鏈澶у埢褰曟満鏁扮洰
+ public static final int INQUEST_MESSAGE_LEN = 44; //瀹¤閲嶇偣鏍囪淇℃伅闀垮害
+ public static final int INQUEST_MAX_ROOM_NUM = 2; //鏈澶у璁涓暟
+ public static final int MAX_RESUME_SEGMENT = 2; //鏀寔鍚屾椂鎭㈠鐨勭墖娈垫暟鐩
+
+ public static final int SUPPORT_PD_NUM = 16;
+ public static final int SUPPORT_ARRAY_NUM = 8;
+ public static final int SUPPORT_VD_NUM = 128;
+ public static final int SUPPORT_PD_NUM_ = 16;
+ public static final int SUPPORT_PD_NUM_PARTTWO = 8;
+
+ public static final int CARDNUM_LEN_OUT = 32; //澶栭儴缁撴瀯浣撳崱鍙烽暱搴
+ public static final int GUID_LEN = 16; //GUID闀垮害
+
+ public static final int MAX_ROIDETECT_NUM = 8; //鏀寔鐨凴OI鍖哄煙鏁
+ public static final int MAX_LANERECT_NUM = 5; //鏈澶ц溅鐗岃瘑鍒尯鍩熸暟
+ public static final int MAX_FORTIFY_NUM = 10; //鏈澶у竷闃蹭釜鏁
+ public static final int MAX_INTERVAL_NUM = 4; //鏈澶ф椂闂撮棿闅斾釜鏁
+ public static final int MAX_CHJC_NUM = 3; //鏈澶ц溅杈嗙渷浠界畝绉板瓧绗︿釜鏁
+ public static final int MAX_VL_NUM = 5; //鏈澶ц櫄鎷熺嚎鍦堜釜鏁
+ public static final int MAX_DRIVECHAN_NUM = 16; //鏈澶ц溅閬撴暟
+ public static final int MAX_COIL_NUM = 3; //鏈澶х嚎鍦堜釜鏁
+ public static final int MAX_SIGNALLIGHT_NUM = 6; //鏈澶т俊鍙风伅涓暟
+ public static final int MAX_IOSPEED_GROUP_NUM = 4; //IO娴嬮熺粍涓暟
+ public static final int MAX_IOOUT_NUM = 4; //鏈澶O杈撳嚭鍙d釜鏁
+ public static final int MAX_IOIN_NUM = 8; //鏈澶O杈撳叆鍙d釜鏁
+ public static final int MAX_RELAY_NUM = 12; //缁х數鍣ㄦ帶鍒惰澶囨渶澶ф暟 2013-11-04
+ public static final int MAX_VEHICLE_TYPE_NUM = 8; //杞﹁締淇℃伅绠℃帶鏈澶ф暟2013-11-04
+ public static final int MAX_IOIN_NUMEX = 10; //鏈澶O杈撳叆鍙d釜鏁(鎵╁睍)
+ public static final int MAX_ITC_LANE_NUM = 6; //鏈澶ц溅閬撲釜鏁
+ public static final int MAX_LANEAREA_NUM = 2; //鍗曡溅閬撴渶澶у尯鍩熶釜鏁
+ public static final int ITC_MAX_POLYGON_POINT_NUM = 20; //妫娴嬪尯鍩熸渶澶氭敮鎸20涓偣鐨勫杈瑰舰
+ public static final int MAX_ITC_SERIALCHECK_NUM = 8; //涓插彛鏍¢獙绫诲瀷涓暟
+ public static final int MAX_LIGHT_NUM = 6; //鏈澶т氦閫氱伅鏁
+ public static final int MAX_VIDEO_INTERVAL_NUM = 2; //鏈澶ф姄鎷嶉棿闅旀暟
+ public static final int MAX_VIDEO_DETECT_LIGHT_NUM = 12; //瑙嗛妫娴嬬殑鏈澶ф娴嬪尯鍩
+ public static final int MAX_CALIB_RECOG_NUM = 2; //鏍囧畾鍖哄煙涓暟
+ public static final int MAX_RS485_NUM = 12; //485鍙f渶澶ф敮鎸佹暟
+ public static final int MAX_MOBILE_POLYGON_NUM = 3; //绉诲姩甯冮槻鏀寔鏈澶х墝璇嗗尯鍩熶釜鏁
+ public static final int MAX_MOBILE_DETECTLINE_NUM = 3; //绉诲姩甯冮槻鏀寔鏈澶ц繚瑙勬娴嬬嚎涓暟
+ public static final int MAX_IOOUT_K_NUM = 8; //K绯诲垪鏈澶O杈撳嚭鍙d釜鏁
+
+ public static final int NET_SDK_MAX_FDID_LEN = 256; //浜鸿劯搴揑D鏈澶ч暱搴
+ public static final int NET_SDK_MAX_PICID_LEN = 256; //浜鸿劯ID鏈澶ч暱搴
+ public static final int NET_SDK_MAX_INDENTITY_KEY_LEN = 64; //浜や簰鎿嶄綔鍙d护闀垮害
+
+ public static final int SEARCH_EVENT_INFO_LEN = 300; //浜嬩欢淇℃伅闀垮害
+ public static final int SEARCH_EVENT_INFO_LEN_V40 = 800;
+ public static final int MAX_POS_KEYWORDS_NUM = 3; //鏀寔鍏抽敭瀛楁煡鎵炬潯鏁
+ public static final int MAX_POS_KEYWORD_LEN = 128; //姣忔潯鍏抽敭瀛楅暱搴
+ public static final int INQUEST_CASE_LEN = 64; //瀹¤淇℃伅闀垮害
+
+ public static final int SEARCH_CASE_NO_LEN = 56;
+ public static final int SEARCH_CASE_NAME_LEN = 100;
+ public static final int SEARCH_LITIGANT_LEN = 32;
+ public static final int SEARCH_CHIEF_JUDGE_LEN = 32;
+ public static final int CASE_NO_RET_LEN = 52;
+ public static final int CASE_NAME_RET_LEN = 64;
+ public static final int LITIGANT_RET_LEN = 24;
+ public static final int CHIEF_JUDGE_RET_LEN = 24;
+ public static final int NET_SDK_CASETYPE_LEN = 32;
+ public static final int NET_SDK_MAX_TAPE_INDEX_LEN = 32; //纾佸甫缂栧彿鏈澶ч暱搴
+ public static final int NET_SDK_MAX_FILE_LEN = 256; //鏂囦欢鍚嶆渶澶ч暱搴
+ /******************************************************************/
+
+ /**
+ *NET_SDK_INIT_CFG_TYPE 鏋氫妇
+ */
+ public static final int NET_SDK_INIT_CFG_TYPE_CHECK_MODULE_COM = 0; //澧炲姞瀵瑰繀椤诲簱鐨勬鏌
+ public static final int NET_SDK_INIT_CFG_ABILITY = 1;//sdk鏀寔鐨勪笟鍔$殑鑳藉姏闆
+ public static final int NET_SDK_INIT_CFG_SDK_PATH = 2; //璁剧疆HCNetSDK搴撴墍鍦ㄧ洰褰
+ public static final int NET_SDK_INIT_CFG_LIBEAY_PATH = 3; //璁剧疆OpenSSL鐨刲ibeay32.dll/libcrypto.so/libcrypto.dylib鎵鍦ㄨ矾寰
+ public static final int NET_SDK_INIT_CFG_SSLEAY_PATH = 4; //璁剧疆OpenSSL鐨剆sleay32.dll/libssl.so/libssl.dylib鎵鍦ㄨ矾寰
+ /*******************
+ * 鍏ㄥ眬閿欒鐮 begin
+ **********************/
+ public static final int NET_DVR_NOERROR = 0; //娌℃湁閿欒
+ public static final int NET_DVR_PASSWORD_ERROR = 1; //鐢ㄦ埛鍚嶅瘑鐮侀敊璇
+ public static final int NET_DVR_NOENOUGHPRI = 2;//鏉冮檺涓嶈冻
+ public static final int NET_DVR_NOINIT = 3;//娌℃湁鍒濆鍖
+ public static final int NET_DVR_CHANNEL_ERROR = 4; //閫氶亾鍙烽敊璇
+ public static final int NET_DVR_OVER_MAXLINK = 5; //杩炴帴鍒癉VR鐨勫鎴风涓暟瓒呰繃鏈澶
+ public static final int NET_DVR_VERSIONNOMATCH = 6; //鐗堟湰涓嶅尮閰
+ public static final int NET_DVR_NETWORK_FAIL_CONNECT = 7;//杩炴帴鏈嶅姟鍣ㄥけ璐
+ public static final int NET_DVR_NETWORK_SEND_ERROR = 8; //鍚戞湇鍔″櫒鍙戦佸け璐
+ public static final int NET_DVR_NETWORK_RECV_ERROR = 9; //浠庢湇鍔″櫒鎺ユ敹鏁版嵁澶辫触
+ public static final int NET_DVR_NETWORK_RECV_TIMEOUT = 10; //浠庢湇鍔″櫒鎺ユ敹鏁版嵁瓒呮椂
+ public static final int NET_DVR_NETWORK_ERRORDATA = 11; //浼犻佺殑鏁版嵁鏈夎
+ public static final int NET_DVR_ORDER_ERROR = 12; //璋冪敤娆″簭閿欒
+ public static final int NET_DVR_OPERNOPERMIT = 13; //鏃犳鏉冮檺
+ public static final int NET_DVR_COMMANDTIMEOUT = 14; //DVR鍛戒护鎵ц瓒呮椂
+ public static final int NET_DVR_ERRORSERIALPORT = 15; //涓插彛鍙烽敊璇
+ public static final int NET_DVR_ERRORALARMPORT = 16; //鎶ヨ绔彛閿欒
+ public static final int NET_DVR_PARAMETER_ERROR = 17;//鍙傛暟閿欒
+ public static final int NET_DVR_CHAN_EXCEPTION = 18; //鏈嶅姟鍣ㄩ氶亾澶勪簬閿欒鐘舵
+ public static final int NET_DVR_NODISK = 19; //娌℃湁纭洏
+ public static final int NET_DVR_ERRORDISKNUM = 20; //纭洏鍙烽敊璇
+ public static final int NET_DVR_DISK_FULL = 21; //鏈嶅姟鍣ㄧ‖鐩樻弧
+ public static final int NET_DVR_DISK_ERROR = 22;//鏈嶅姟鍣ㄧ‖鐩樺嚭閿
+ public static final int NET_DVR_NOSUPPORT = 23;//鏈嶅姟鍣ㄤ笉鏀寔
+ public static final int NET_DVR_BUSY = 24;//鏈嶅姟鍣ㄥ繖
+ public static final int NET_DVR_MODIFY_FAIL = 25;//鏈嶅姟鍣ㄤ慨鏀逛笉鎴愬姛
+ public static final int NET_DVR_PASSWORD_FORMAT_ERROR = 26;//瀵嗙爜杈撳叆鏍煎紡涓嶆纭
+ public static final int NET_DVR_DISK_FORMATING = 27; //纭洏姝e湪鏍煎紡鍖栵紝涓嶈兘鍚姩鎿嶄綔
+ public static final int NET_DVR_DVRNORESOURCE = 28; //DVR璧勬簮涓嶈冻
+ public static final int NET_DVR_DVROPRATEFAILED = 29; //DVR鎿嶄綔澶辫触
+ public static final int NET_DVR_OPENHOSTSOUND_FAIL = 30; //鎵撳紑PC澹伴煶澶辫触
+ public static final int NET_DVR_DVRVOICEOPENED = 31; //鏈嶅姟鍣ㄨ闊冲璁茶鍗犵敤
+ public static final int NET_DVR_TIMEINPUTERROR = 32; //鏃堕棿杈撳叆涓嶆纭
+ public static final int NET_DVR_NOSPECFILE = 33; //鍥炴斁鏃舵湇鍔″櫒娌℃湁鎸囧畾鐨勬枃浠
+ public static final int NET_DVR_CREATEFILE_ERROR = 34; //鍒涘缓鏂囦欢鍑洪敊
+ public static final int NET_DVR_FILEOPENFAIL = 35; //鎵撳紑鏂囦欢鍑洪敊
+ public static final int NET_DVR_OPERNOTFINISH = 36; //涓婃鐨勬搷浣滆繕娌℃湁瀹屾垚
+ public static final int NET_DVR_GETPLAYTIMEFAIL = 37; //鑾峰彇褰撳墠鎾斁鐨勬椂闂村嚭閿
+ public static final int NET_DVR_PLAYFAIL = 38; //鎾斁鍑洪敊
+ public static final int NET_DVR_FILEFORMAT_ERROR = 39;//鏂囦欢鏍煎紡涓嶆纭
+ public static final int NET_DVR_DIR_ERROR = 40; //璺緞閿欒
+ public static final int NET_DVR_ALLOC_RESOURCE_ERROR = 41;//璧勬簮鍒嗛厤閿欒
+ public static final int NET_DVR_AUDIO_MODE_ERROR = 42; //澹板崱妯″紡閿欒
+ public static final int NET_DVR_NOENOUGH_BUF = 43; //缂撳啿鍖哄お灏
+ public static final int NET_DVR_CREATESOCKET_ERROR = 44; //鍒涘缓SOCKET鍑洪敊
+ public static final int NET_DVR_SETSOCKET_ERROR = 45; //璁剧疆SOCKET鍑洪敊
+ public static final int NET_DVR_MAX_NUM = 46; //涓暟杈惧埌鏈澶
+ public static final int NET_DVR_USERNOTEXIST = 47; //鐢ㄦ埛涓嶅瓨鍦
+ public static final int NET_DVR_WRITEFLASHERROR = 48;//鍐橣LASH鍑洪敊
+ public static final int NET_DVR_UPGRADEFAIL = 49;//DVR鍗囩骇澶辫触
+ public static final int NET_DVR_CARDHAVEINIT = 50; //瑙g爜鍗″凡缁忓垵濮嬪寲杩
+ public static final int NET_DVR_PLAYERFAILED = 51; //璋冪敤鎾斁搴撲腑鏌愪釜鍑芥暟澶辫触
+ public static final int NET_DVR_MAX_USERNUM = 52; //璁惧绔敤鎴锋暟杈惧埌鏈澶
+ public static final int NET_DVR_GETLOCALIPANDMACFAIL = 53;//鑾峰緱瀹㈡埛绔殑IP鍦板潃鎴栫墿鐞嗗湴鍧澶辫触
+ public static final int NET_DVR_NOENCODEING = 54; //璇ラ氶亾娌℃湁缂栫爜
+ public static final int NET_DVR_IPMISMATCH = 55; //IP鍦板潃涓嶅尮閰
+ public static final int NET_DVR_MACMISMATCH = 56;//MAC鍦板潃涓嶅尮閰
+ public static final int NET_DVR_UPGRADELANGMISMATCH = 57;//鍗囩骇鏂囦欢璇█涓嶅尮閰
+ public static final int NET_DVR_MAX_PLAYERPORT = 58;//鎾斁鍣ㄨ矾鏁拌揪鍒版渶澶
+ public static final int NET_DVR_NOSPACEBACKUP = 59;//澶囦唤璁惧涓病鏈夎冻澶熺┖闂磋繘琛屽浠
+ public static final int NET_DVR_NODEVICEBACKUP = 60; //娌℃湁鎵惧埌鎸囧畾鐨勫浠借澶
+ public static final int NET_DVR_PICTURE_BITS_ERROR = 61; //鍥惧儚绱犱綅鏁颁笉绗︼紝闄24鑹
+ public static final int NET_DVR_PICTURE_DIMENSION_ERROR = 62;//鍥剧墖楂*瀹借秴闄愶紝 闄128*256
+ public static final int NET_DVR_PICTURE_SIZ_ERROR = 63; //鍥剧墖澶у皬瓒呴檺锛岄檺100K
+ public static final int NET_DVR_LOADPLAYERSDKFAILED = 64; //杞藉叆褰撳墠鐩綍涓婸layer Sdk鍑洪敊
+ public static final int NET_DVR_LOADPLAYERSDKPROC_ERROR = 65; //鎵句笉鍒癙layer Sdk涓煇涓嚱鏁板叆鍙
+ public static final int NET_DVR_LOADDSSDKFAILED = 66; //杞藉叆褰撳墠鐩綍涓婦Ssdk鍑洪敊
+ public static final int NET_DVR_LOADDSSDKPROC_ERROR = 67; //鎵句笉鍒癉sSdk涓煇涓嚱鏁板叆鍙
+ public static final int NET_DVR_DSSDK_ERROR = 68; //璋冪敤纭В鐮佸簱DsSdk涓煇涓嚱鏁板け璐
+ public static final int NET_DVR_VOICEMONOPOLIZE = 69; //澹板崱琚嫭鍗
+ public static final int NET_DVR_JOINMULTICASTFAILED = 70; //鍔犲叆澶氭挱缁勫け璐
+ public static final int NET_DVR_CREATEDIR_ERROR = 71; //寤虹珛鏃ュ織鏂囦欢鐩綍澶辫触
+ public static final int NET_DVR_BINDSOCKET_ERROR = 72; //缁戝畾濂楁帴瀛楀け璐
+ public static final int NET_DVR_SOCKETCLOSE_ERROR = 73; //socket杩炴帴涓柇锛屾閿欒閫氬父鏄敱浜庤繛鎺ヤ腑鏂垨鐩殑鍦颁笉鍙揪
+ public static final int NET_DVR_USERID_ISUSING = 74; //娉ㄩ攢鏃剁敤鎴稩D姝e湪杩涜鏌愭搷浣
+ public static final int NET_DVR_SOCKETLISTEN_ERROR = 75; //鐩戝惉澶辫触
+ public static final int NET_DVR_PROGRAM_EXCEPTION = 76; //绋嬪簭寮傚父
+ public static final int NET_DVR_WRITEFILE_FAILED = 77; //鍐欐枃浠跺け璐
+ public static final int NET_DVR_FORMAT_READONLY = 78;//绂佹鏍煎紡鍖栧彧璇荤‖鐩
+ public static final int NET_DVR_WITHSAMEUSERNAME = 79;//鐢ㄦ埛閰嶇疆缁撴瀯涓瓨鍦ㄧ浉鍚岀殑鐢ㄦ埛鍚
+ public static final int NET_DVR_DEVICETYPE_ERROR = 80; /*瀵煎叆鍙傛暟鏃惰澶囧瀷鍙蜂笉鍖归厤*/
+ public static final int NET_DVR_LANGUAGE_ERROR = 81; /*瀵煎叆鍙傛暟鏃惰瑷涓嶅尮閰*/
+ public static final int NET_DVR_PARAVERSION_ERROR = 82; /*瀵煎叆鍙傛暟鏃惰蒋浠剁増鏈笉鍖归厤*/
+ public static final int NET_DVR_IPCHAN_NOTALIVE = 83; /*棰勮鏃跺鎺P閫氶亾涓嶅湪绾*/
+ public static final int NET_DVR_RTSP_SDK_ERROR = 84; /*鍔犺浇楂樻竻IPC閫氳搴揝treamTransClient.dll澶辫触*/
+ public static final int NET_DVR_CONVERT_SDK_ERROR = 85; /*鍔犺浇杞爜搴撳け璐*/
+ public static final int NET_DVR_IPC_COUNT_OVERFLOW = 86; /*瓒呭嚭鏈澶х殑ip鎺ュ叆閫氶亾鏁*/
+ public static final int NET_PLAYM4_NOERROR = 500; //no error
+ public static final int NET_PLAYM4_PARA_OVER = 501;//input parameter is invalid;
+ public static final int NET_PLAYM4_ORDER_ERROR = 502;//The order of the function to be called is error.
+ public static final int NET_PLAYM4_TIMER_ERROR = 503;//Create multimedia clock failed;
+ public static final int NET_PLAYM4_DEC_VIDEO_ERROR = 504;//Decode video data failed.
+ public static final int NET_PLAYM4_DEC_AUDIO_ERROR = 505;//Decode audio data failed.
+ public static final int NET_PLAYM4_ALLOC_MEMORY_ERROR = 506; //Allocate memory failed.
+ public static final int NET_PLAYM4_OPEN_FILE_ERROR = 507; //Open the file failed.
+ public static final int NET_PLAYM4_CREATE_OBJ_ERROR = 508;//Create thread or event failed
+ public static final int NET_PLAYM4_CREATE_DDRAW_ERROR = 509;//Create DirectDraw object failed.
+ public static final int NET_PLAYM4_CREATE_OFFSCREEN_ERROR = 510;//failed when creating off-screen surface.
+ public static final int NET_PLAYM4_BUF_OVER = 511; //buffer is overflow
+ public static final int NET_PLAYM4_CREATE_SOUND_ERROR = 512; //failed when creating audio device.
+ public static final int NET_PLAYM4_SET_VOLUME_ERROR = 513;//Set volume failed
+ public static final int NET_PLAYM4_SUPPORT_FILE_ONLY = 514;//The function only support play file.
+ public static final int NET_PLAYM4_SUPPORT_STREAM_ONLY = 515;//The function only support play stream.
+ public static final int NET_PLAYM4_SYS_NOT_SUPPORT = 516;//System not support.
+ public static final int NET_PLAYM4_FILEHEADER_UNKNOWN = 517; //No file header.
+ public static final int NET_PLAYM4_VERSION_INCORRECT = 518; //The version of decoder and encoder is not adapted.
+ public static final int NET_PALYM4_INIT_DECODER_ERROR = 519; //Initialize decoder failed.
+ public static final int NET_PLAYM4_CHECK_FILE_ERROR = 520; //The file data is unknown.
+ public static final int NET_PLAYM4_INIT_TIMER_ERROR = 521; //Initialize multimedia clock failed.
+ public static final int NET_PLAYM4_BLT_ERROR = 522;//Blt failed.
+ public static final int NET_PLAYM4_UPDATE_ERROR = 523;//Update failed.
+ public static final int NET_PLAYM4_OPEN_FILE_ERROR_MULTI = 524; //openfile error, streamtype is multi
+ public static final int NET_PLAYM4_OPEN_FILE_ERROR_VIDEO = 525; //openfile error, streamtype is video
+ public static final int NET_PLAYM4_JPEG_COMPRESS_ERROR = 526; //JPEG compress error
+ public static final int NET_PLAYM4_EXTRACT_NOT_SUPPORT = 527; //Don't support the version of this file.
+ public static final int NET_PLAYM4_EXTRACT_DATA_ERROR = 528; //extract video data failed.
+ /*******************鍏ㄥ眬閿欒鐮 end**********************/
+ /*************************************************
+ * NET_DVR_IsSupport()杩斿洖鍊
+ * 1锛9浣嶅垎鍒〃绀轰互涓嬩俊鎭紙浣嶄笌鏄疶RUE)琛ㄧず鏀寔锛
+ **************************************************/
+ public static final int NET_DVR_SUPPORT_DDRAW = 0x01;//鏀寔DIRECTDRAW锛屽鏋滀笉鏀寔锛屽垯鎾斁鍣ㄤ笉鑳藉伐浣滐紱
+ public static final int NET_DVR_SUPPORT_BLT = 0x02;//鏄惧崱鏀寔BLT鎿嶄綔锛屽鏋滀笉鏀寔锛屽垯鎾斁鍣ㄤ笉鑳藉伐浣滐紱
+ public static final int NET_DVR_SUPPORT_BLTFOURCC = 0x04;//鏄惧崱BLT鏀寔棰滆壊杞崲锛屽鏋滀笉鏀寔锛屾挱鏀惧櫒浼氱敤杞欢鏂规硶浣淩GB杞崲锛
+ public static final int NET_DVR_SUPPORT_BLTSHRINKX = 0x08;//鏄惧崱BLT鏀寔X杞寸缉灏忥紱濡傛灉涓嶆敮鎸侊紝绯荤粺浼氱敤杞欢鏂规硶杞崲锛
+ public static final int NET_DVR_SUPPORT_BLTSHRINKY = 0x10;//鏄惧崱BLT鏀寔Y杞寸缉灏忥紱濡傛灉涓嶆敮鎸侊紝绯荤粺浼氱敤杞欢鏂规硶杞崲锛
+ public static final int NET_DVR_SUPPORT_BLTSTRETCHX = 0x20;//鏄惧崱BLT鏀寔X杞存斁澶э紱濡傛灉涓嶆敮鎸侊紝绯荤粺浼氱敤杞欢鏂规硶杞崲锛
+ public static final int NET_DVR_SUPPORT_BLTSTRETCHY = 0x40;//鏄惧崱BLT鏀寔Y杞存斁澶э紱濡傛灉涓嶆敮鎸侊紝绯荤粺浼氱敤杞欢鏂规硶杞崲锛
+ public static final int NET_DVR_SUPPORT_SSE = 0x80;//CPU鏀寔SSE鎸囦护锛 Pentium3浠ヤ笂鏀寔SSE鎸囦护锛
+ public static final int NET_DVR_SUPPORT_MMX = 0x100;//CPU鏀寔MMX鎸囦护闆嗭紝 Pentium3浠ヤ笂鏀寔SSE鎸囦护锛
+ /**********************
+ * 浜戝彴鎺у埗鍛戒护 begin
+ *************************/
+ public static final int LIGHT_PWRON = 2; /* 鎺ラ氱伅鍏夌數婧 */
+ public static final int WIPER_PWRON = 3; /* 鎺ラ氶洦鍒峰紑鍏 */
+ public static final int FAN_PWRON = 4; /* 鎺ラ氶鎵囧紑鍏 */
+ public static final int HEATER_PWRON = 5; /* 鎺ラ氬姞鐑櫒寮鍏 */
+ public static final int AUX_PWRON1 = 6; /* 鎺ラ氳緟鍔╄澶囧紑鍏 */
+ public static final int AUX_PWRON2 = 7; /* 鎺ラ氳緟鍔╄澶囧紑鍏 */
+ public static final int SET_PRESET = 8; /* 璁剧疆棰勭疆鐐 */
+ public static final int CLE_PRESET = 9; /* 娓呴櫎棰勭疆鐐 */
+ public static final int ZOOM_IN = 11; /* 鐒﹁窛浠ラ熷害SS鍙樺ぇ(鍊嶇巼鍙樺ぇ) */
+ public static final int ZOOM_OUT = 12; /* 鐒﹁窛浠ラ熷害SS鍙樺皬(鍊嶇巼鍙樺皬) */
+ public static final int FOCUS_NEAR = 13; /* 鐒︾偣浠ラ熷害SS鍓嶈皟 */
+ public static final int FOCUS_FAR = 14; /* 鐒︾偣浠ラ熷害SS鍚庤皟 */
+ public static final int IRIS_OPEN = 15; /* 鍏夊湀浠ラ熷害SS鎵╁ぇ */
+ public static final int IRIS_CLOSE = 16; /* 鍏夊湀浠ラ熷害SS缂╁皬 */
+ public static final int TILT_UP = 21; /* 浜戝彴浠S鐨勯熷害涓婁话 */
+ public static final int TILT_DOWN = 22; /* 浜戝彴浠S鐨勯熷害涓嬩刊 */
+ public static final int PAN_LEFT = 23; /* 浜戝彴浠S鐨勯熷害宸﹁浆 */
+ public static final int PAN_RIGHT = 24; /* 浜戝彴浠S鐨勯熷害鍙宠浆 */
+ public static final int UP_LEFT = 25; /* 浜戝彴浠S鐨勯熷害涓婁话鍜屽乏杞 */
+ public static final int UP_RIGHT = 26; /* 浜戝彴浠S鐨勯熷害涓婁话鍜屽彸杞 */
+ public static final int DOWN_LEFT = 27; /* 浜戝彴浠S鐨勯熷害涓嬩刊鍜屽乏杞 */
+ public static final int DOWN_RIGHT = 28; /* 浜戝彴浠S鐨勯熷害涓嬩刊鍜屽彸杞 */
+ public static final int PAN_AUTO = 29; /* 浜戝彴浠S鐨勯熷害宸﹀彸鑷姩鎵弿 */
+ public static final int FILL_PRE_SEQ = 30; /* 灏嗛缃偣鍔犲叆宸¤埅搴忓垪 */
+ public static final int SET_SEQ_DWELL = 31; /* 璁剧疆宸¤埅鐐瑰仠椤挎椂闂 */
+ public static final int SET_SEQ_SPEED = 32; /* 璁剧疆宸¤埅閫熷害 */
+ public static final int CLE_PRE_SEQ = 33;/* 灏嗛缃偣浠庡贰鑸簭鍒椾腑鍒犻櫎 */
+ public static final int STA_MEM_CRUISE = 34;/* 寮濮嬭褰 */
+ public static final int STO_MEM_CRUISE = 35;/* 鍋滄璁板綍 */
+ public static final int RUN_CRUISE = 36; /* 寮濮 */
+ public static final int RUN_SEQ = 37; /* 寮濮嬪贰鑸 */
+ public static final int STOP_SEQ = 38; /* 鍋滄宸¤埅 */
+ public static final int GOTO_PRESET = 39; /* 蹇悆杞埌棰勭疆鐐 */
+
+ /**********************浜戝彴鎺у埗鍛戒护 end*************************/
+ /*************************************************
+ * 鍥炴斁鏃舵挱鏀炬帶鍒跺懡浠ゅ畯瀹氫箟
+ * NET_DVR_PlayBackControl
+ * NET_DVR_PlayControlLocDisplay
+ * NET_DVR_DecPlayBackCtrl鐨勫畯瀹氫箟
+ * 鍏蜂綋鏀寔鏌ョ湅鍑芥暟璇存槑鍜屼唬鐮
+ **************************************************/
+ public static final int NET_DVR_PLAYSTART = 1;//寮濮嬫挱鏀
+ public static final int NET_DVR_PLAYSTOP = 2;//鍋滄鎾斁
+ public static final int NET_DVR_PLAYPAUSE = 3;//鏆傚仠鎾斁
+ public static final int NET_DVR_PLAYRESTART = 4;//鎭㈠鎾斁
+ public static final int NET_DVR_PLAYFAST = 5;//蹇斁
+ public static final int NET_DVR_PLAYSLOW = 6;//鎱㈡斁
+ public static final int NET_DVR_PLAYNORMAL = 7;//姝e父閫熷害
+ public static final int NET_DVR_PLAYFRAME = 8;//鍗曞抚鏀
+ public static final int NET_DVR_PLAYSTARTAUDIO = 9;//鎵撳紑澹伴煶
+ public static final int NET_DVR_PLAYSTOPAUDIO = 10;//鍏抽棴澹伴煶
+ public static final int NET_DVR_PLAYAUDIOVOLUME = 11;//璋冭妭闊抽噺
+ public static final int NET_DVR_PLAYSETPOS = 12;//鏀瑰彉鏂囦欢鍥炴斁鐨勮繘搴
+ public static final int NET_DVR_PLAYGETPOS = 13;//鑾峰彇鏂囦欢鍥炴斁鐨勮繘搴
+ public static final int NET_DVR_PLAYGETTIME = 14;//鑾峰彇褰撳墠宸茬粡鎾斁鐨勬椂闂(鎸夋枃浠跺洖鏀剧殑鏃跺欐湁鏁)
+ public static final int NET_DVR_PLAYGETFRAME = 15;//鑾峰彇褰撳墠宸茬粡鎾斁鐨勫抚鏁(鎸夋枃浠跺洖鏀剧殑鏃跺欐湁鏁)
+ public static final int NET_DVR_GETTOTALFRAMES = 16;//鑾峰彇褰撳墠鎾斁鏂囦欢鎬荤殑甯ф暟(鎸夋枃浠跺洖鏀剧殑鏃跺欐湁鏁)
+ public static final int NET_DVR_GETTOTALTIME = 17;//鑾峰彇褰撳墠鎾斁鏂囦欢鎬荤殑鏃堕棿(鎸夋枃浠跺洖鏀剧殑鏃跺欐湁鏁)
+ public static final int NET_DVR_THROWBFRAME = 20;//涓甯
+ public static final int NET_DVR_SETSPEED = 24;//璁剧疆鐮佹祦閫熷害
+ public static final int NET_DVR_KEEPALIVE = 25;//淇濇寔涓庤澶囩殑蹇冭烦(濡傛灉鍥炶皟闃诲锛屽缓璁2绉掑彂閫佷竴娆)
+ public static final int NET_DVR_SET_TRANS_TYPE = 32; //璁剧疆杞爜鏍煎紡
+
+ //杩滅▼鎸夐敭瀹氫箟濡備笅锛
+ /* key value send to CONFIG program */
+ public static final int KEY_CODE_1 = 1;
+ public static final int KEY_CODE_2 = 2;
+ public static final int KEY_CODE_3 = 3;
+ public static final int KEY_CODE_4 = 4;
+ public static final int KEY_CODE_5 = 5;
+ public static final int KEY_CODE_6 = 6;
+ public static final int KEY_CODE_7 = 7;
+ public static final int KEY_CODE_8 = 8;
+ public static final int KEY_CODE_9 = 9;
+ public static final int KEY_CODE_0 = 10;
+ public static final int KEY_CODE_POWER = 11;
+ public static final int KEY_CODE_MENU = 12;
+ public static final int KEY_CODE_ENTER = 13;
+ public static final int KEY_CODE_CANCEL = 14;
+ public static final int KEY_CODE_UP = 15;
+ public static final int KEY_CODE_DOWN = 16;
+ public static final int KEY_CODE_LEFT = 17;
+ public static final int KEY_CODE_RIGHT = 18;
+ public static final int KEY_CODE_EDIT = 19;
+ public static final int KEY_CODE_ADD = 20;
+ public static final int KEY_CODE_MINUS = 21;
+ public static final int KEY_CODE_PLAY = 22;
+ public static final int KEY_CODE_REC = 23;
+ public static final int KEY_CODE_PAN = 24;
+ public static final int KEY_CODE_M = 25;
+ public static final int KEY_CODE_A = 26;
+ public static final int KEY_CODE_F1 = 27;
+ public static final int KEY_CODE_F2 = 28;
+
+ /* for PTZ control */
+ public static final int KEY_PTZ_UP_START = KEY_CODE_UP;
+ public static final int KEY_PTZ_UP_STO = 32;
+ public static final int KEY_PTZ_DOWN_START = KEY_CODE_DOWN;
+ public static final int KEY_PTZ_DOWN_STOP = 33;
+ public static final int KEY_PTZ_LEFT_START = KEY_CODE_LEFT;
+ public static final int KEY_PTZ_LEFT_STOP = 34;
+ public static final int KEY_PTZ_RIGHT_START = KEY_CODE_RIGHT;
+ public static final int KEY_PTZ_RIGHT_STOP = 35;
+ public static final int KEY_PTZ_AP1_START = KEY_CODE_EDIT;/* 鍏夊湀+ */
+ public static final int KEY_PTZ_AP1_STOP = 36;
+ public static final int KEY_PTZ_AP2_START = KEY_CODE_PAN;/* 鍏夊湀- */
+ public static final int KEY_PTZ_AP2_STOP = 37;
+ public static final int KEY_PTZ_FOCUS1_START = KEY_CODE_A;/* 鑱氱劍+ */
+ public static final int KEY_PTZ_FOCUS1_STOP = 38;
+ public static final int KEY_PTZ_FOCUS2_START = KEY_CODE_M;/* 鑱氱劍- */
+ public static final int KEY_PTZ_FOCUS2_STOP = 39;
+ public static final int KEY_PTZ_B1_START = 40;/* 鍙樺+ */
+ public static final int KEY_PTZ_B1_STOP = 41;
+ public static final int KEY_PTZ_B2_START = 42;/* 鍙樺- */
+ public static final int KEY_PTZ_B2_STOP = 43;
+ //9000鏂板
+ public static final int KEY_CODE_11 = 44;
+ public static final int KEY_CODE_12 = 45;
+ public static final int KEY_CODE_13 = 46;
+ public static final int KEY_CODE_14 = 47;
+ public static final int KEY_CODE_15 = 48;
+ public static final int KEY_CODE_16 = 49;
+ /*************************
+ * 鍙傛暟閰嶇疆鍛戒护 begin
+ *******************************/
+//鐢ㄤ簬NET_DVR_SetDVRConfig鍜孨ET_DVR_GetDVRConfig,娉ㄦ剰鍏跺搴旂殑閰嶇疆缁撴瀯
+ public static final int NET_DVR_GET_DEVICECFG = 100; //鑾峰彇璁惧鍙傛暟
+ public static final int NET_DVR_SET_DEVICECFG = 101; //璁剧疆璁惧鍙傛暟
+ public static final int NET_DVR_GET_DEVICECFG_V40 = 1100; //鑾峰彇鎵╁睍璁惧鍙傛暟
+ public static final int NET_DVR_SET_DEVICECFG_V40 = 1101; //璁剧疆鎵╁睍璁惧鍙傛暟
+ public static final int NET_DVR_GET_NETCFG = 102; //鑾峰彇缃戠粶鍙傛暟
+ public static final int NET_DVR_SET_NETCFG = 103; //璁剧疆缃戠粶鍙傛暟
+ public static final int NET_DVR_GET_PICCFG = 104; //鑾峰彇鍥捐薄鍙傛暟
+ public static final int NET_DVR_SET_PICCFG = 105; //璁剧疆鍥捐薄鍙傛暟
+ public static final int NET_DVR_GET_COMPRESSCFG = 106; //鑾峰彇鍘嬬缉鍙傛暟
+ public static final int NET_DVR_SET_COMPRESSCFG = 107; //璁剧疆鍘嬬缉鍙傛暟
+ public static final int NET_DVR_GET_RECORDCFG = 108; //鑾峰彇褰曞儚鏃堕棿鍙傛暟
+ public static final int NET_DVR_SET_RECORDCFG = 109; //璁剧疆褰曞儚鏃堕棿鍙傛暟
+ public static final int NET_DVR_GET_DECODERCFG = 110; //鑾峰彇瑙g爜鍣ㄥ弬鏁
+ public static final int NET_DVR_SET_DECODERCFG = 111; //璁剧疆瑙g爜鍣ㄥ弬鏁
+ public static final int NET_DVR_GET_RS232CFG = 112; //鑾峰彇232涓插彛鍙傛暟
+ public static final int NET_DVR_SET_RS232CFG = 113; //璁剧疆232涓插彛鍙傛暟
+ public static final int NET_DVR_GET_ALARMINCFG = 114; //鑾峰彇鎶ヨ杈撳叆鍙傛暟
+ public static final int NET_DVR_SET_ALARMINCFG = 115; //璁剧疆鎶ヨ杈撳叆鍙傛暟
+ public static final int NET_DVR_GET_ALARMOUTCFG = 116; //鑾峰彇鎶ヨ杈撳嚭鍙傛暟
+ public static final int NET_DVR_SET_ALARMOUTCFG = 117; //璁剧疆鎶ヨ杈撳嚭鍙傛暟
+ public static final int NET_DVR_GET_TIMECFG = 118; //鑾峰彇DVR鏃堕棿
+ public static final int NET_DVR_SET_TIMECFG = 119; //璁剧疆DVR鏃堕棿
+ public static final int NET_DVR_GET_PREVIEWCFG = 120; //鑾峰彇棰勮鍙傛暟
+ public static final int NET_DVR_SET_PREVIEWCFG = 121; //璁剧疆棰勮鍙傛暟
+ public static final int NET_DVR_GET_VIDEOOUTCFG = 122; //鑾峰彇瑙嗛杈撳嚭鍙傛暟
+ public static final int NET_DVR_SET_VIDEOOUTCFG = 123; //璁剧疆瑙嗛杈撳嚭鍙傛暟
+ public static final int NET_DVR_GET_USERCFG = 124; //鑾峰彇鐢ㄦ埛鍙傛暟
+ public static final int NET_DVR_SET_USERCFG = 125; //璁剧疆鐢ㄦ埛鍙傛暟
+ public static final int NET_DVR_GET_EXCEPTIONCFG = 126; //鑾峰彇寮傚父鍙傛暟
+ public static final int NET_DVR_SET_EXCEPTIONCFG = 127; //璁剧疆寮傚父鍙傛暟
+ public static final int NET_DVR_GET_ZONEANDDST = 128; //鑾峰彇鏃跺尯鍜屽鏃跺埗鍙傛暟
+ public static final int NET_DVR_SET_ZONEANDDST = 129; //璁剧疆鏃跺尯鍜屽鏃跺埗鍙傛暟
+ public static final int NET_DVR_GET_SHOWSTRING = 130; //鑾峰彇鍙犲姞瀛楃鍙傛暟
+ public static final int NET_DVR_SET_SHOWSTRING = 131; //璁剧疆鍙犲姞瀛楃鍙傛暟
+ public static final int NET_DVR_GET_EVENTCOMPCFG = 132; //鑾峰彇浜嬩欢瑙﹀彂褰曞儚鍙傛暟
+ public static final int NET_DVR_SET_EVENTCOMPCFG = 133; //璁剧疆浜嬩欢瑙﹀彂褰曞儚鍙傛暟
+ public static final int NET_DVR_GET_AUXOUTCFG = 140; //鑾峰彇鎶ヨ瑙﹀彂杈呭姪杈撳嚭璁剧疆(HS璁惧杈呭姪杈撳嚭2006-02-28)
+ public static final int NET_DVR_SET_AUXOUTCFG = 141; //璁剧疆鎶ヨ瑙﹀彂杈呭姪杈撳嚭璁剧疆(HS璁惧杈呭姪杈撳嚭2006-02-28)
+ public static final int NET_DVR_GET_PREVIEWCFG_AUX = 142; //鑾峰彇-s绯诲垪鍙岃緭鍑洪瑙堝弬鏁(-s绯诲垪鍙岃緭鍑2006-04-13)
+ public static final int NET_DVR_SET_PREVIEWCFG_AUX = 143; //璁剧疆-s绯诲垪鍙岃緭鍑洪瑙堝弬鏁(-s绯诲垪鍙岃緭鍑2006-04-13)
+ public static final int NET_DVR_GET_PICCFG_EX = 200; //鑾峰彇鍥捐薄鍙傛暟(SDK_V14鎵╁睍鍛戒护)
+ public static final int NET_DVR_SET_PICCFG_EX = 201; //璁剧疆鍥捐薄鍙傛暟(SDK_V14鎵╁睍鍛戒护)
+ public static final int NET_DVR_GET_USERCFG_EX = 202; //鑾峰彇鐢ㄦ埛鍙傛暟(SDK_V15鎵╁睍鍛戒护)
+ public static final int NET_DVR_SET_USERCFG_EX = 203; //璁剧疆鐢ㄦ埛鍙傛暟(SDK_V15鎵╁睍鍛戒护)
+ public static final int NET_DVR_GET_COMPRESSCFG_EX = 204; //鑾峰彇鍘嬬缉鍙傛暟(SDK_V15鎵╁睍鍛戒护2006-05-15)
+ public static final int NET_DVR_SET_COMPRESSCFG_EX = 205; //璁剧疆鍘嬬缉鍙傛暟(SDK_V15鎵╁睍鍛戒护2006-05-15)
+ public static final int NET_DVR_GET_NETAPPCFG = 222; //鑾峰彇缃戠粶搴旂敤鍙傛暟 NTP/DDNS/EMAIL
+ public static final int NET_DVR_SET_NETAPPCFG = 223; //璁剧疆缃戠粶搴旂敤鍙傛暟 NTP/DDNS/EMAIL
+ public static final int NET_DVR_GET_NTPCFG = 224; //鑾峰彇缃戠粶搴旂敤鍙傛暟 NTP
+ public static final int NET_DVR_SET_NTPCFG = 225; //璁剧疆缃戠粶搴旂敤鍙傛暟 NTP
+ public static final int NET_DVR_GET_DDNSCFG = 226; //鑾峰彇缃戠粶搴旂敤鍙傛暟 DDNS
+ public static final int NET_DVR_SET_DDNSCFG = 227; //璁剧疆缃戠粶搴旂敤鍙傛暟 DDNS
+ //瀵瑰簲NET_DVR_EMAILPARA
+ public static final int NET_DVR_GET_EMAILCFG = 228; //鑾峰彇缃戠粶搴旂敤鍙傛暟 EMAIL
+ public static final int NET_DVR_SET_EMAILCFG = 229; //璁剧疆缃戠粶搴旂敤鍙傛暟 EMAIL
+ public static final int NET_DVR_GET_NFSCFG = 230; /* NFS disk config */
+ public static final int NET_DVR_SET_NFSCFG = 231; /* NFS disk config */
+ public static final int NET_DVR_GET_SHOWSTRING_EX = 238; //鑾峰彇鍙犲姞瀛楃鍙傛暟鎵╁睍(鏀寔8鏉″瓧绗)
+ public static final int NET_DVR_SET_SHOWSTRING_EX = 239; //璁剧疆鍙犲姞瀛楃鍙傛暟鎵╁睍(鏀寔8鏉″瓧绗)
+ public static final int NET_DVR_GET_NETCFG_OTHER = 244; //鑾峰彇缃戠粶鍙傛暟
+ public static final int NET_DVR_SET_NETCFG_OTHER = 245; //璁剧疆缃戠粶鍙傛暟
+ //瀵瑰簲NET_DVR_EMAILCFG缁撴瀯
+ public static final int NET_DVR_GET_EMAILPARACFG = 250; //Get EMAIL parameters
+ public static final int NET_DVR_SET_EMAILPARACFG = 251; //Setup EMAIL parameters
+ public static final int NET_DVR_GET_DDNSCFG_EX = 274;//鑾峰彇鎵╁睍DDNS鍙傛暟
+ public static final int NET_DVR_SET_DDNSCFG_EX = 275;//璁剧疆鎵╁睍DDNS鍙傛暟
+ public static final int NET_DVR_SET_PTZPOS = 292; //浜戝彴璁剧疆PTZ浣嶇疆
+ public static final int NET_DVR_GET_PTZPOS = 293; //浜戝彴鑾峰彇PTZ浣嶇疆
+ public static final int NET_DVR_GET_PTZSCOPE = 294;//浜戝彴鑾峰彇PTZ鑼冨洿
+
+ public static final int NET_DVR_COMPLETE_RESTORE_CTRL = 3420; //璁剧疆瀹屽叏鎭㈠鍑哄巶鍊
+ /***************************
+ * DS9000鏂板鍛戒护(_V30) begin
+ *****************************/
+//缃戠粶(NET_DVR_NETCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_NETCFG_V30 = 1000; //鑾峰彇缃戠粶鍙傛暟
+ public static final int NET_DVR_SET_NETCFG_V30 = 1001; //璁剧疆缃戠粶鍙傛暟
+ //鍥捐薄(NET_DVR_PICCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_PICCFG_V30 = 1002; //鑾峰彇鍥捐薄鍙傛暟
+ public static final int NET_DVR_SET_PICCFG_V30 = 1003; //璁剧疆鍥捐薄鍙傛暟
+ public static final int NET_DVR_GET_PICCFG_V40 = 6179; //鑾峰彇鍥捐薄鍙傛暟
+ public static final int NET_DVR_SET_PICCFG_V40 = 6180; //璁剧疆鍥捐薄鍙傛暟
+ public static final int NET_DVR_GET_AES_KEY = 6113; //鑾峰彇璁惧AES鍔犲瘑瀵嗛挜
+ //褰曞儚鏃堕棿(NET_DVR_RECORD_V30缁撴瀯)
+ public static final int NET_DVR_GET_RECORDCFG_V30 = 1004; //鑾峰彇褰曞儚鍙傛暟
+ public static final int NET_DVR_SET_RECORDCFG_V30 = 1005; //璁剧疆褰曞儚鍙傛暟
+ //鐢ㄦ埛(NET_DVR_USER_V30缁撴瀯)
+ public static final int NET_DVR_GET_USERCFG_V30 = 1006; //鑾峰彇鐢ㄦ埛鍙傛暟
+ public static final int NET_DVR_SET_USERCFG_V30 = 1007; //璁剧疆鐢ㄦ埛鍙傛暟
+ //9000DDNS鍙傛暟閰嶇疆(NET_DVR_DDNSPARA_V30缁撴瀯)
+ public static final int NET_DVR_GET_DDNSCFG_V30 = 1010; //鑾峰彇DDNS(9000鎵╁睍)
+ public static final int NET_DVR_SET_DDNSCFG_V30 = 1011; //璁剧疆DDNS(9000鎵╁睍)
+ //EMAIL鍔熻兘(NET_DVR_EMAILCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_EMAILCFG_V30 = 1012;//鑾峰彇EMAIL鍙傛暟
+ public static final int NET_DVR_SET_EMAILCFG_V30 = 1013;//璁剧疆EMAIL鍙傛暟
+ //宸¤埅鍙傛暟 (NET_DVR_CRUISE_PARA缁撴瀯)
+ public static final int NET_DVR_GET_CRUISE = 1020;
+ public static final int NET_DVR_SET_CRUISE = 1021;
+ //鎶ヨ杈撳叆缁撴瀯鍙傛暟 (NET_DVR_ALARMINCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_ALARMINCFG_V30 = 1024;
+ public static final int NET_DVR_SET_ALARMINCFG_V30 = 1025;
+ //鎶ヨ杈撳嚭缁撴瀯鍙傛暟 (NET_DVR_ALARMOUTCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_ALARMOUTCFG_V30 = 1026;
+ public static final int NET_DVR_SET_ALARMOUTCFG_V30 = 1027;
+ //瑙嗛杈撳嚭缁撴瀯鍙傛暟 (NET_DVR_VIDEOOUT_V30缁撴瀯)
+ public static final int NET_DVR_GET_VIDEOOUTCFG_V30 = 1028;
+ public static final int NET_DVR_SET_VIDEOOUTCFG_V30 = 1029;
+ //鍙犲姞瀛楃缁撴瀯鍙傛暟 (NET_DVR_SHOWSTRING_V30缁撴瀯)
+ public static final int NET_DVR_GET_SHOWSTRING_V30 = 1030;
+ public static final int NET_DVR_SET_SHOWSTRING_V30 = 1031;
+ //寮傚父缁撴瀯鍙傛暟 (NET_DVR_EXCEPTION_V30缁撴瀯)
+ public static final int NET_DVR_GET_EXCEPTIONCFG_V30 = 1034;
+ public static final int NET_DVR_SET_EXCEPTIONCFG_V30 = 1035;
+ //涓插彛232缁撴瀯鍙傛暟 (NET_DVR_RS232CFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_RS232CFG_V30 = 1036;
+ public static final int NET_DVR_SET_RS232CFG_V30 = 1037;
+ //鍘嬬缉鍙傛暟 (NET_DVR_COMPRESSIONCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_COMPRESSCFG_V30 = 1040;
+ public static final int NET_DVR_SET_COMPRESSCFG_V30 = 1041;
+ //鑾峰彇485瑙g爜鍣ㄥ弬鏁 (NET_DVR_DECODERCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_DECODERCFG_V30 = 1042; //鑾峰彇瑙g爜鍣ㄥ弬鏁
+ public static final int NET_DVR_SET_DECODERCFG_V30 = 1043; //璁剧疆瑙g爜鍣ㄥ弬鏁
+ //鑾峰彇棰勮鍙傛暟 (NET_DVR_PREVIEWCFG_V30缁撴瀯)
+ public static final int NET_DVR_GET_PREVIEWCFG_V30 = 1044; //鑾峰彇棰勮鍙傛暟
+ public static final int NET_DVR_SET_PREVIEWCFG_V30 = 1045; //璁剧疆棰勮鍙傛暟
+ //杈呭姪棰勮鍙傛暟 (NET_DVR_PREVIEWCFG_AUX_V30缁撴瀯)
+ public static final int NET_DVR_GET_PREVIEWCFG_AUX_V30 = 1046; //鑾峰彇杈呭姪棰勮鍙傛暟
+ public static final int NET_DVR_SET_PREVIEWCFG_AUX_V30 = 1047; //璁剧疆杈呭姪棰勮鍙傛暟
+ //IP鎺ュ叆閰嶇疆鍙傛暟 锛圢ET_DVR_IPPARACFG缁撴瀯锛
+ public static final int NET_DVR_GET_IPPARACFG = 1048; //鑾峰彇IP鎺ュ叆閰嶇疆淇℃伅
+ public static final int NET_DVR_SET_IPPARACFG = 1049; //璁剧疆IP鎺ュ叆閰嶇疆淇℃伅
+ //IP鎺ュ叆閰嶇疆鍙傛暟V40 锛圢ET_DVR_IPPARACFG_V40缁撴瀯锛
+ public static final int NET_DVR_GET_IPPARACFG_V40 = 1062; //鑾峰彇IP鎺ュ叆閰嶇疆淇℃伅
+ public static final int NET_DVR_SET_IPPARACFG_V40 = 1063; //璁剧疆IP鎺ュ叆閰嶇疆淇℃伅
+ //IP鎶ヨ杈撳叆鎺ュ叆閰嶇疆鍙傛暟 锛圢ET_DVR_IPALARMINCFG缁撴瀯锛
+ public static final int NET_DVR_GET_IPALARMINCFG = 1050; //鑾峰彇IP鎶ヨ杈撳叆鎺ュ叆閰嶇疆淇℃伅
+ public static final int NET_DVR_SET_IPALARMINCFG = 1051; //璁剧疆IP鎶ヨ杈撳叆鎺ュ叆閰嶇疆淇℃伅
+ //IP鎶ヨ杈撳嚭鎺ュ叆閰嶇疆鍙傛暟 锛圢ET_DVR_IPALARMOUTCFG缁撴瀯锛
+ public static final int NET_DVR_GET_IPALARMOUTCFG = 1052; //鑾峰彇IP鎶ヨ杈撳嚭鎺ュ叆閰嶇疆淇℃伅
+ public static final int NET_DVR_SET_IPALARMOUTCFG = 1053; //璁剧疆IP鎶ヨ杈撳嚭鎺ュ叆閰嶇疆淇℃伅
+ //纭洏绠$悊鐨勫弬鏁拌幏鍙 (NET_DVR_HDCFG缁撴瀯)
+ public static final int NET_DVR_GET_HDCFG = 1054; //鑾峰彇纭洏绠$悊閰嶇疆鍙傛暟
+ public static final int NET_DVR_SET_HDCFG = 1055; //璁剧疆纭洏绠$悊閰嶇疆鍙傛暟
+ //鐩樼粍绠$悊鐨勫弬鏁拌幏鍙 (NET_DVR_HDGROUP_CFG缁撴瀯)
+ public static final int NET_DVR_GET_HDGROUP_CFG = 1056; //鑾峰彇鐩樼粍绠$悊閰嶇疆鍙傛暟
+ public static final int NET_DVR_SET_HDGROUP_CFG = 1057; //璁剧疆鐩樼粍绠$悊閰嶇疆鍙傛暟
+ //璁惧缂栫爜绫诲瀷閰嶇疆(NET_DVR_COMPRESSION_AUDIO缁撴瀯)
+ public static final int NET_DVR_GET_COMPRESSCFG_AUD = 1058; //鑾峰彇璁惧璇煶瀵硅缂栫爜鍙傛暟
+ public static final int NET_DVR_SET_COMPRESSCFG_AUD = 1059; //璁剧疆璁惧璇煶瀵硅缂栫爜鍙傛暟
+
+ public static final int NET_SDK_FINDMEDICALFILE = 3954; //鎱у奖绉戞妧鏅烘収鍖荤枟鏌ユ壘褰曞儚鏂囦欢
+ public static final int NET_SDK_FINDMEDICALPICTURE = 3955; //鎱у奖绉戞妧鏅烘収鍖荤枟鏌ユ壘鍥剧墖鏂囦欢
+
+ public static final int NET_DVR_GET_RAPIDMOVE_DETECTION = 3539; //鑾峰彇蹇熻繍鍔ㄤ睛娴嬮厤缃
+ public static final int NET_DVR_SET_RAPIDMOVE_DETECTION = 3540; //璁剧疆蹇熻繍鍔ㄤ睛娴嬮厤缃
+
+ public static final int NET_DVR_GET_RAPIDMOVE_TRIGGER = 3543; //鑾峰彇蹇熻繍鍔ㄨ仈鍔ㄩ厤缃
+ public static final int NET_DVR_SET_RAPIDMOVE_TRIGGER = 3544; //璁剧疆蹇熻繍鍔ㄨ仈鍔ㄩ厤缃
+ public static final int NET_DVR_GET_RAPIDMOVE_SCHEDULE = 3545; //鑾峰彇蹇熻繍鍔ㄧ殑甯冮槻鏃堕棿閰嶇疆
+ public static final int NET_DVR_SET_RAPIDMOVE_SCHEDULE = 3546; //璁剧疆蹇熻繍鍔ㄧ殑甯冮槻鏃堕棿閰嶇疆
+
+ public static final int NET_DVR_GET_PRESET_NAME = 3383; //鑾峰彇棰勭疆鐐瑰悕绉
+ public static final int NET_DVR_SET_PRESET_NAME = 3382; //璁剧疆棰勭疆鐐瑰悕绉
+ public static final int NET_DVR_GET_RULECFG_V42 = 5049; //鑾峰彇寮傚父琛屼负妫娴嬪弬鏁(鏀寔16鏉¤鍒欐墿灞)
+ public static final int NET_DVR_SET_RULECFG_V42 = 5050; //璁剧疆寮傚父琛屼负妫娴嬪弬鏁(鏀寔16鏉¤鍒欐墿灞)
+
+ //杞︾墝璇嗗埆锛圢ET_VCA_PLATE_CFG锛;
+ public static final int NET_DVR_SET_PLATECFG = 150;//璁剧疆杞︾墝璇嗗埆鍙傛暟
+
+ public static final int NET_DVR_GET_PLATECFG = 151; //鑾峰彇杞︾墝璇嗗埆鍙傛暟
+ //琛屼负瀵瑰簲锛圢ET_VCA_RULECFG锛
+ public static final int NET_DVR_SET_RULECFG = 152; //璁剧疆寮傚父琛屼负妫娴嬭鍒
+ public static final int NET_DVR_GET_RULECFG = 153;//鑾峰彇寮傚父琛屼负妫娴嬭鍒
+ //鍙屾憚鍍忔満鏍囧畾鍙傛暟锛圢ET_DVR_LF_CFG锛
+ public static final int NET_DVR_SET_LF_CFG = 160;//璁剧疆鍙屾憚鍍忔満鐨勯厤缃弬鏁
+ public static final int NET_DVR_GET_LF_CFG = 161;//鑾峰彇鍙屾憚鍍忔満鐨勯厤缃弬鏁
+ //鏅鸿兘鍒嗘瀽浠彇娴侀厤缃粨鏋
+ public static final int NET_DVR_SET_IVMS_STREAMCFG = 162; //璁剧疆鏅鸿兘鍒嗘瀽浠彇娴佸弬鏁
+ public static final int NET_DVR_GET_IVMS_STREAMCFG = 163; //鑾峰彇鏅鸿兘鍒嗘瀽浠彇娴佸弬鏁
+ //鏅鸿兘鎺у埗鍙傛暟缁撴瀯
+ public static final int NET_DVR_SET_VCA_CTRLCFG = 164; //璁剧疆鏅鸿兘鎺у埗鍙傛暟
+ public static final int NET_DVR_GET_VCA_CTRLCFG = 165; //鑾峰彇鏅鸿兘鎺у埗鍙傛暟
+ //灞忚斀鍖哄煙NET_VCA_MASK_REGION_LIST
+ public static final int NET_DVR_SET_VCA_MASK_REGION = 166; //璁剧疆灞忚斀鍖哄煙鍙傛暟
+ public static final int NET_DVR_GET_VCA_MASK_REGION = 167; //鑾峰彇灞忚斀鍖哄煙鍙傛暟
+ //ATM杩涘叆鍖哄煙 NET_VCA_ENTER_REGION
+ public static final int NET_DVR_SET_VCA_ENTER_REGION = 168; //璁剧疆杩涘叆鍖哄煙鍙傛暟
+ public static final int NET_DVR_GET_VCA_ENTER_REGION = 169; //鑾峰彇杩涘叆鍖哄煙鍙傛暟
+ //鏍囧畾绾块厤缃甆ET_VCA_LINE_SEGMENT_LIST
+ public static final int NET_DVR_SET_VCA_LINE_SEGMENT = 170; //璁剧疆鏍囧畾绾
+ public static final int NET_DVR_GET_VCA_LINE_SEGMENT = 171; //鑾峰彇鏍囧畾绾
+ // ivms灞忚斀鍖哄煙NET_IVMS_MASK_REGION_LIST
+ public static final int NET_DVR_SET_IVMS_MASK_REGION = 172; //璁剧疆IVMS灞忚斀鍖哄煙鍙傛暟
+ public static final int NET_DVR_GET_IVMS_MASK_REGION = 173; //鑾峰彇IVMS灞忚斀鍖哄煙鍙傛暟
+ // ivms杩涘叆妫娴嬪尯鍩烴ET_IVMS_ENTER_REGION
+ public static final int NET_DVR_SET_IVMS_ENTER_REGION = 174; //璁剧疆IVMS杩涘叆鍖哄煙鍙傛暟
+ public static final int NET_DVR_GET_IVMS_ENTER_REGION = 175; //鑾峰彇IVMS杩涘叆鍖哄煙鍙傛暟
+ public static final int NET_DVR_SET_IVMS_BEHAVIORCFG = 176;//璁剧疆鏅鸿兘鍒嗘瀽浠涓鸿鍒欏弬鏁
+ public static final int NET_DVR_GET_IVMS_BEHAVIORCFG = 177; //鑾峰彇鏅鸿兘鍒嗘瀽浠涓鸿鍒欏弬鏁
+ public static final int NET_DVR_GET_TRAVERSE_PLANE_DETECTION = 3360; //鑾峰彇瓒婄晫渚︽祴閰嶇疆
+ public static final int NET_DVR_SET_TRAVERSE_PLANE_DETECTION = 3361;
+ public static final int NET_DVR_GET_FIELD_DETECTION = 3362; //鑾峰彇鍖哄煙渚︽祴閰嶇疆
+ public static final int NET_DVR_SET_FIELD_DETECTION = 3363; //璁剧疆鍖哄煙渚︽祴閰嶇疆
+
+ public static final int NET_DVR_GET_STREAM_INFO = 6023; //鑾峰彇宸叉坊鍔犳祦ID淇℃伅
+ public static final int NET_DVR_GET_STREAM_RECORD_STATUS = 6021; //鑾峰彇娴佺姸鎬佷俊鎭
+
+ public static final int NET_DVR_GET_ALL_VEHICLE_CONTROL_LIST = 3124; //鑾峰彇鎵鏈夎溅杈嗙姝㈠拰鍏佽鍚嶅崟淇℃伅
+ public static final int NET_DVR_VEHICLELIST_CTRL_START = 3133; //璁剧疆杞﹁締绂佹鍜屽厑璁稿悕鍗曚俊鎭(鎵归噺)
+ public static final int ENUM_SENDDATA = 0x0; //鍙戦佹暟鎹
+
+ public static final int NET_DVR_GET_LEDDISPLAY_CFG = 3673;
+ public static final int NET_DVR_SET_LEDDISPLAY_CFG = 3672;
+ public static final int NET_DVR_SET_VOICEBROADCAST_CFG = 3675;
+ public static final int NET_DVR_SET_CHARGE_ACCOUNTINFO = 3662;
+
+ public static final int NET_DVR_GET_TRAFFIC_DATA = 3141; //闀胯繛鎺ヨ幏鍙栦氦閫氭暟鎹
+ public static final int NET_DVR_GET_TRAFFIC_FLOW = 3142; //闀胯繛鎺ヨ幏鍙栦氦閫氭祦閲
+
+ public static final int NET_DVR_GET_CCDPARAMCFG_EX = 3368;//鑾峰彇鍓嶇鍙傛暟(鎵╁睍)
+ public static final int NET_DVR_SET_CCDPARAMCFG_EX = 3369;//璁剧疆鍓嶇鍙傛暟(鎵╁睍)
+ public static final int NET_DVR_GET_FOCUSMODECFG = 3305;//鑾峰彇蹇悆鑱氱劍妯″紡淇℃伅
+ public static final int NET_DVR_SET_FOCUSMODECFG = 3306;//璁剧疆蹇悆鑱氱劍妯″紡淇℃伅
+
+ public static final int NET_DVR_GET_SUPPLEMENTLIGHT = 3728; //鑾峰彇鍐呯疆琛ュ厜鐏厤缃崗璁
+ public static final int NET_DVR_SET_SUPPLEMENTLIGHT = 3729; //璁剧疆鍐呯疆琛ュ厜鐏厤缃崗璁
+
+ public static final int NET_DVR_GET_FACECONTRAST_TRIGGER = 3965;//鑾峰彇浜鸿劯姣斿鑱斿姩閰嶇疆
+ public static final int NET_DVR_SET_FACECONTRAST_TRIGGER = 3966;//璁剧疆浜鸿劯姣斿鑱斿姩閰嶇疆
+
+ public static final int NET_DVR_GET_FACECONTRAST_SCHEDULE = 3968;//鑾峰彇浜鸿劯姣斿甯冮槻鏃堕棿閰嶇疆
+ public static final int NET_DVR_SET_FACECONTRAST_SCHEDULE = 3969;//璁剧疆浜鸿劯姣斿甯冮槻鏃堕棿閰嶇疆
+
+ public static final int NET_DVR_INQUEST_GET_CDW_STATUS = 6350; //鑾峰彇瀹¤鏈哄埢褰曠姸鎬-闀胯繛鎺
+
+ public static final int NET_DVR_GET_REALTIME_THERMOMETRY = 3629; //瀹炴椂娓╁害妫娴
+ public static final int NET_DVR_GET_MANUALTHERM_INFO = 6706; //鎵嬪姩娴嬫俯瀹炴椂鑾峰彇
+ public static final int NET_DVR_GET_THERMOMETRY_MODE = 6765;//鑾峰彇娴嬫俯妯″紡鍙傛暟
+ public static final int NET_DVR_SET_THERMOMETRY_MODE = 6766;//璁剧疆娴嬫俯妯″紡鍙傛暟
+ public static final int NET_DVR_GET_PTZABSOLUTEEX = 6696;
+ public static final int NET_DVR_GET_THERMOMETRY_PRESETINFO = 3624; //鑾峰彇娴嬫俯棰勭疆鐐瑰叧鑱旈厤缃弬鏁
+ public static final int NET_DVR_SET_THERMOMETRY_PRESETINFO = 3625; //璁剧疆娴嬫俯棰勭疆鐐瑰叧鑱旈厤缃弬鏁
+ public static final int NET_DVR_GET_THERMOMETRYRULE_TEMPERATURE_INFO = 23001;//鎵嬪姩鑾峰彇娴嬫俯瑙勫垯娓╁害淇℃伅
+ public static final int NET_DVR_SET_DEVSERVER_CFG = 3258;//璁剧疆妯″潡鏈嶅姟閰嶇疆
+
+ public static final int NET_DVR_GET_PHY_DISK_INFO = 6306; //鑾峰彇鐗╃悊纾佺洏淇℃伅
+ public static final int NET_DVR_GET_WORK_STATUS = 6189; //鑾峰彇璁惧宸ヤ綔鐘舵
+ public static final int NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION = 6164; //鑾峰彇鏈堝巻褰曞儚鍒嗗竷
+
+ public static final int NET_DVR_GET_CURTRIGGERMODE = 3130; //鑾峰彇璁惧褰撳墠瑙﹀彂妯″紡
+ public static final int NET_ITC_GET_TRIGGERCFG = 3003; //鑾峰彇瑙﹀彂鍙傛暟
+ public static final int NET_ITC_SET_TRIGGERCFG = 3004; //璁剧疆瑙﹀彂鍙傛暟
+ public static final int NET_ITC_GET_VIDEO_TRIGGERCFG = 3017; //鑾峰彇瑙嗛鐢佃瑙﹀彂鍙傛暟
+ public static final int NET_ITC_SET_VIDEO_TRIGGERCFG = 3018; //璁剧疆瑙嗛鐢佃瑙﹀彂鍙傛暟
+
+ public static final int NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG = 3216;//杩滅▼鑾峰彇澶氱爜娴佸帇缂╁弬鏁
+ public static final int NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG = 3217;//杩滅▼璁剧疆澶氱爜娴佸帇缂╁弬鏁
+
+ public static final int NET_DVR_GET_CMS_CFG = 2070;
+ public static final int NET_DVR_SET_CMS_CFG = 2071;
+
+ public static final int NET_DVR_GET_ALARM_INFO = 4193; //鑾峰彇鎶ヨ浜嬩欢鏁版嵁
+ /***************************DS9000鏂板鍛戒护(_V30) end *****************************/
+
+ /*************************鍙傛暟閰嶇疆鍛戒护 end*******************************/
+ /*************************************鐗瑰緛璇嗗埆闂ㄧ涓浣撴満1.0 begin**************************************/
+ public static final int NET_DVR_GET_CARD_CFG = 2116; //鑾峰彇鍗″弬鏁
+ public static final int NET_DVR_SET_CARD_CFG = 2117; //璁剧疆鍗″弬鏁
+ public static final int NET_DVR_GET_CARD_CFG_V50 = 2178; //鑾峰彇鏂板崱鍙傛暟(V50)
+ public static final int NET_DVR_SET_CARD_CFG_V50 = 2179; //璁剧疆鏂板崱鍙傛暟(V50)
+ public static final int NET_DVR_GET_FACE_PARAM_CFG = 2507; //鑾峰彇浜鸿劯鍙傛暟
+ public static final int NET_DVR_SET_FACE_PARAM_CFG = 2508; //璁剧疆浜鸿劯鍙傛暟
+ public static final int NET_DVR_DEL_FACE_PARAM_CFG = 2509; //鍒犻櫎浜鸿劯鍙傛暟
+ public static final int NET_DVR_CLEAR_ACS_PARAM = 2118; //娓呯┖闂ㄧ涓绘満鍙傛暟
+ public static final int NET_DVR_DEL_FINGERPRINT_CFG = 2152; //鍒犻櫎鎸囩汗鍙傛暟
+ public static final int NET_DVR_GET_FINGERPRINT_CFG_V50 = 2183; //鑾峰彇鎸囩汗鍙傛暟V50
+ public static final int NET_DVR_SET_FINGERPRINT_CFG_V50 = 2184; //璁剧疆鎸囩汗鍙傛暟V50
+ public static final int NET_DVR_DEL_FINGERPRINT_CFG_V50 = 2517; //鍒犻櫎鎸囩汗鍙傛暟V50
+ public static final int NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50 = 2304; //鑾峰彇鍗℃潈闄愬懆璁″垝鍙傛暟V50
+ public static final int NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50 = 2305; //璁剧疆鍗℃潈闄愬懆璁″垝鍙傛暟V50
+ public static final int NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE_V50 = 2322; //鑾峰彇鍗℃潈闄愯鍒掓ā鏉垮弬鏁癡50
+ public static final int NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50 = 2323;//璁剧疆鍗℃潈闄愯鍒掓ā鏉垮弬鏁癡50
+ public static final int NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE = 2107; //璁剧疆闂ㄧ姸鎬佽鍒掓ā鏉垮弬鏁
+ public static final int NET_DVR_GET_DOOR_CFG = 2108; //鑾峰彇闂ㄥ弬鏁
+ public static final int NET_DVR_SET_DOOR_CFG = 2109; //璁剧疆闂ㄥ弬鏁
+ public static final int NET_DVR_GET_DOOR_STATUS_PLAN = 2110; //鑾峰彇闂ㄧ姸鎬佽鍒掑弬鏁
+ public static final int NET_DVR_SET_DOOR_STATUS_PLAN = 2111; //璁剧疆闂ㄧ姸鎬佽鍒掑弬鏁
+ public static final int NET_DVR_GET_WEEK_PLAN_CFG = 2100; //鑾峰彇闂ㄧ姸鎬佸懆璁″垝鍙傛暟
+ public static final int NET_DVR_SET_WEEK_PLAN_CFG = 2101; //璁剧疆闂ㄧ姸鎬佸懆璁″垝鍙傛暟
+ public static final int NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V50 = 2181; //鑾峰彇浜嬩欢鍗″彿鑱斿姩閰嶇疆鍙傛暟(V50)
+ public static final int NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V50 = 2182; //璁剧疆浜嬩欢鍗″彿鑱斿姩閰嶇疆鍙傛暟(V50)
+ public static final int NET_DVR_CAPTURE_FACE_INFO = 2510; //閲囬泦浜鸿劯淇℃伅
+ public static final int NET_DVR_CAPTURE_FINGERPRINT_INFO = 2504; //閲囬泦鎸囩汗淇℃伅
+ public static final int NET_DVR_GET_ACS_EVENT = 2514;//璁惧浜嬩欢鑾峰彇
+ public static final int NET_DVR_GET_CARD_READER_CFG_V50 = 2505; //鑾峰彇璇诲崱鍣ㄥ弬鏁(V50)
+ public static final int NET_DVR_SET_CARD_READER_CFG_V50 = 2506; //璁剧疆璇诲崱鍣ㄥ弬鏁(V50)
+ public static final int NET_DVR_GET_REGISTER_INFO = 2511; //鐧昏淇℃伅鑾峰彇
+ public static final int NET_DVR_GET_SMSRELATIVEPARA_V50 = 2512; //鑾峰彇鐭俊鐩稿叧鍙傛暟
+ public static final int NET_DVR_SET_SMSRELATIVEPARA_V50 = 2513; //璁剧疆鐭俊鐩稿叧鍙傛暟
+ public static final int NET_DVR_GET_MULTI_CARD_CFG_V50 = 2515; //鑾峰彇澶氶噸鍗″弬鏁癡50
+ public static final int NET_DVR_SET_MULTI_CARD_CFG_V50 = 2516; //璁剧疆澶氶噸鍗″弬鏁癡5
+ public static final int NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V51 = 2518; //鑾峰彇浜嬩欢鍗″彿鑱斿姩閰嶇疆鍙傛暟(V51)
+ public static final int NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51 = 2519; //璁剧疆浜嬩欢鍗″彿鑱斿姩閰嶇疆鍙傛暟(V51)
+
+ public static final int NET_DVR_SET_EXAM_INFO = 2530; //鑰冭瘯淇℃伅涓嬪彂
+ public static final int NET_DVR_SET_EXAMINEE_INFO = 2531; //鑰冪敓淇℃伅涓嬪彂
+ public static final int NET_DVR_SEARCH_EXAM_COMPARE_RESULT = 2532; //鑰冭瘯姣斿缁撴灉鏌ヨ
+ public static final int NET_DVR_BULK_CHECK_FACE_PICTURE = 2533; //鎵归噺鏍¢獙浜鸿劯鍥剧墖
+ public static final int NET_DVR_JSON_CONFIG = 2550; //JSON閫忎紶鏁版嵁
+ public static final int NET_DVR_FACE_DATA_RECORD = 2551; //娣诲姞浜鸿劯鏁版嵁鍒颁汉鑴稿簱
+ public static final int NET_DVR_FACE_DATA_SEARCH = 2552; //鏌ヨ浜鸿劯搴撲腑鐨勪汉鑴告暟鎹
+ public static final int NET_DVR_FACE_DATA_MODIFY = 2553; //淇敼浜鸿劯搴撲腑鐨勪汉鑴告暟鎹
+ public static final int NET_DVR_CAPTURE_DATA_SEARCH = 2554; //鏌ヨ绂荤嚎閲囬泦鏁版嵁闆嗕腑鏁版嵁
+ public static final int NET_DVR_SET_FORM_DATA = 2555; //闀胯繛鎺ヨ缃〃鍗曟暟鎹
+ public static final int NET_DVR_GET_FORM_DATA = 2556; //闀胯繛鎺ヨ幏鍙栬〃鍗曟暟鎹
+ public static final int NET_DVR_GET_CARD = 2560;
+ public static final int NET_DVR_SET_CARD = 2561;
+ public static final int NET_DVR_GET_FACE = 2566;
+ public static final int NET_DVR_SET_FACE = 2567;
+ public static final int NET_DVR_DEL_CARD = 2562;
+ public static final int NET_DVR_GET_FINGERPRINT = 2563;
+ public static final int NET_DVR_SET_FINGERPRINT = 2564; //涓嬪彂鎸囩汗
+ public static final int NET_DVR_DEL_FINGERPRINT = 2565; //鍒犻櫎鎸囩汗
+ public static final int NET_DVR_GET_ACS_WORK_STATUS_V50 = 2180; //鑾峰彇闂ㄧ涓绘満宸ヤ綔鐘舵
+ public static final int NET_DVR_GET_ACS_CFG = 2159; //鑾峰彇闂ㄧ涓绘満鍙傛暟
+ public static final int NET_DVR_SET_ACS_CFG = 2160; //璁剧疆闂ㄧ涓绘満鍙傛暟
+ public static final int NET_DVR_BULK_UPLOAD_ID_BLOCKLIST = 2521; //鎵归噺涓婁紶韬唤璇佺姝㈠悕鍗
+
+ /*************************************鐗瑰緛璇嗗埆闂ㄧ涓浣撴満1.0 end**************************************/
+ public static final int NET_DVR_SET_SENSOR_CFG = 1180;//璁剧疆妯℃嫙閲忓弬鏁
+ public static final int NET_DVR_GET_SENSOR_CFG = 1181;//鑾峰彇妯℃嫙閲忓弬鏁
+ public static final int NET_DVR_SET_ALARMIN_PARAM = 1182;//璁剧疆鎶ヨ杈撳叆鍙傛暟
+ public static final int NET_DVR_GET_ALARMIN_PARAM = 1183;
+ ;//鑾峰彇鎶ヨ杈撳叆鍙傛暟
+ public static final int NET_DVR_SET_ALARMOUT_PARAM = 1184;//璁剧疆鎶ヨ杈撳嚭鍙傛暟
+ public static final int NET_DVR_GET_ALARMOUT_PARAM = 1185;//鑾峰彇鎶ヨ杈撳嚭鍙傛暟
+ public static final int NET_DVR_SET_SIREN_PARAM = 1186;//璁剧疆璀﹀彿鍙傛暟
+ public static final int NET_DVR_GET_SIREN_PARAM = 1187;//鑾峰彇璀﹀彿鍙傛暟
+ public static final int NET_DVR_SET_ALARM_RS485CFG = 1188;//璁剧疆鎶ヨ涓绘満485鍙傛暟
+ public static final int NET_DVR_GET_ALARM_RS485CFG = 1189;//鑾峰彇鎶ヨ涓绘満485鍙傛暟
+ public static final int NET_DVR_GET_ALARMHOST_MAIN_STATUS = 1190;//鑾峰彇鎶ヨ涓绘満涓昏鐘舵
+ public static final int NET_DVR_GET_ALARMHOST_OTHER_STATUS = 1191;//鑾峰彇鎶ヨ涓绘満鍏朵粬鐘舵
+ public static final int NET_DVR_SET_ALARMHOST_ENABLECFG = 1192;//鑾峰彇鎶ヨ涓绘満浣胯兘鐘舵
+ public static final int NET_DVR_GET_ALARMHOST_ENABLECFG = 1193;//璁剧疆鎶ヨ涓绘満浣胯兘鐘舵
+ public static final int NET_DVR_SET_ALARM_CAMCFG = 1194;//璁剧疆瑙嗛缁煎悎骞冲彴鎶ヨ瑙﹀彂CAM鎿嶄綔閰嶇疆
+ public static final int NET_DVR_GET_ALARM_CAMCFG = 1195;//璁剧疆瑙嗛缁煎悎骞冲彴鎶ヨ瑙﹀彂CAM鎿嶄綔閰嶇疆
+ public static final int NET_DVR_SET_ALARMHOST_RS485_SLOT_CFG = 2055;// 璁剧疆鎶ヨ涓绘満485妲戒綅鍙傛暟
+ public static final int NET_DVR_GET_ALARMHOST_RS485_SLOT_CFG = 2056;// 鑾峰彇鎶ヨ涓绘満485妲戒綅鍙傛暟
+ public static final int NET_DVR_SET_VIDEOWALLDISPLAYMODE = 1730;//璁剧疆鐢佃澧欐嫾鎺ユā寮
+ public static final int NET_DVR_GET_VIDEOWALLDISPLAYMODE = 1731;//鑾峰彇鐢佃澧欐嫾鎺ユā寮
+ public static final int NET_DVR_GET_VIDEOWALLDISPLAYNO = 1732;//鑾峰彇璁惧鏄剧ず杈撳嚭鍙
+ public static final int NET_DVR_SET_VIDEOWALLDISPLAYPOSITION = 1733;//璁剧疆鏄剧ず杈撳嚭浣嶇疆鍙傛暟
+ public static final int NET_DVR_GET_VIDEOWALLDISPLAYPOSITION = 1734;//鑾峰彇鏄剧ず杈撳嚭浣嶇疆鍙傛暟
+ public static final int NET_DVR_GET_VIDEOWALLWINDOWPOSITION = 1735;//鑾峰彇鐢佃澧欑獥鍙e弬鏁
+ public static final int NET_DVR_SET_VIDEOWALLWINDOWPOSITION = 1736;//璁剧疆鐢佃澧欑獥鍙e弬鏁
+ public static final int NET_DVR_VIDEOWALLWINDOW_CLOSEALL = 1737;//鐢佃澧欏叧闂墍鏈夌獥鍙
+ public static final int NET_DVR_SET_VIRTUALLED = 1738;//铏氭嫙LED璁剧疆
+ public static final int NET_DVR_GET_VIRTUALLED = 1739;//铏氭嫙LED鑾峰彇
+ public static final int NET_DVR_GET_IMAGE_CUT_MODE = 1740;//鑾峰彇鍥惧儚鍒囧壊妯″紡
+ public static final int NET_DVR_SET_IMAGE_CUT_MODE = 1741;//璁剧疆鍥惧儚鍒囧壊妯″紡
+ public static final int NET_DVR_GET_USING_SERIALPORT = 1742;//鑾峰彇褰撳墠浣跨敤涓插彛
+ public static final int NET_DVR_SET_USING_SERIALPORT = 1743;//璁剧疆褰撳墠浣跨敤涓插彛
+ public static final int NET_DVR_SCENE_CONTROL = 1744;//鍦烘櫙鎺у埗
+ public static final int NET_DVR_GET_CURRENT_SCENE = 1745;//鑾峰彇褰撳墠鍦烘櫙鍙
+ public static final int NET_DVR_GET_VW_SCENE_PARAM = 1746;//鑾峰彇鐢佃澧欏満鏅ā寮忓弬鏁
+ public static final int NET_DVR_SET_VW_SCENE_PARAM = 1747;//璁剧疆鐢佃澧欏満鏅ā寮忓弬鏁
+ public static final int NET_DVR_DISPLAY_CHANNO_CONTROL = 1748;//鐢佃澧欐樉绀虹紪鍙锋帶鍒
+ public static final int NET_DVR_GET_WIN_DEC_INFO = 1749;//鑾峰彇绐楀彛瑙g爜淇℃伅锛堟壒閲忥級
+ public static final int NET_DVR_RESET_VIDEOWALLDISPLAYPOSITION = 1750; //瑙i櫎鐢佃澧欒緭鍑烘帴鍙g粦瀹
+ public static final int NET_DVR_SET_VW_AUDIO_CFG = 1752; //璁剧疆闊抽鍒囨崲鍙傛暟
+ public static final int NET_DVR_GET_VW_AUDIO_CFG = 1753; //鑾峰彇闊抽鍒囨崲鍙傛暟
+ public static final int NET_DVR_GET_GBT28181_DECCHANINFO_CFG = 1754; //鑾峰彇GBT28181鍗忚鎺ュ叆璁惧鐨勮В鐮侀氶亾淇℃伅
+ public static final int NET_DVR_SET_GBT28181_DECCHANINFO_CFG = 1755; //璁剧疆GBT28181鍗忚鎺ュ叆璁惧鐨勮В鐮侀氶亾淇℃伅
+ public static final int NET_DVR_SET_MAINBOARD_SERIAL = 1756; //璁剧疆涓绘帶鏉夸覆鍙e弬鏁
+ public static final int NET_DVR_GET_MAINBOARD_SERIAL = 1757;//鑾峰彇涓绘帶鏉夸覆鍙e弬鏁
+ public static final int NET_DVR_GET_SUBBOARD_INFO = 1758; //鑾峰彇瀛愭澘淇℃伅
+ public static final int NET_DVR_GET_SUBBOARD_EXCEPTION = 1759; //鑾峰彇寮傚父瀛愭澘寮傚父淇℃伅
+ /*****************************鐢佃澧 start****************************/
+ public static final int NET_DVR_MATRIX_WALL_SET = 9001; //璁剧疆鐢佃澧欎腑灞忓箷鍙傛暟
+ public static final int NET_DVR_MATRIX_WALL_GET = 9002; //鑾峰彇鐢佃澧欎腑灞忓箷鍙傛暟
+ public static final int NET_DVR_WALLWIN_GET = 9003; //鐢佃澧欎腑鑾峰彇绐楀彛鍙傛暟
+ public static final int NET_DVR_WALLWIN_SET = 9004; //鐢佃澧欎腑璁剧疆绐楀彛鍙傛暟
+ public static final int NET_DVR_WALLWINPARAM_SET = 9005;
+ ; //璁剧疆鐢佃澧欑獥鍙g浉鍏冲弬鏁
+ public static final int NET_DVR_WALLWINPARAM_GET = 9006; //鑾峰彇鐢佃澧欑獥鍙g浉鍏冲弬鏁
+ public static final int NET_DVR_WALLSCENEPARAM_GET = 9007; //璁剧疆鍦烘櫙妯″紡鍙傛暟
+ public static final int NET_DVR_WALLSCENEPARAM_SET = 9008; //鑾峰彇鍦烘櫙妯″紡鍙傛暟
+ public static final int NET_DVR_MATRIX_GETWINSTATUS = 9009; //鑾峰彇绐楀彛瑙g爜鐘舵
+ public static final int NET_DVR_GET_WINASSOCIATEDDEVINFO = 9010; //鐢佃澧欎腑鑾峰彇瀵瑰簲璧勬簮淇℃伅
+ public static final int NET_DVR_WALLOUTPUT_GET = 9011; //鐢佃澧欎腑鑾峰彇鏄剧ず杈撳嚭鍙傛暟
+ public static final int NET_DVR_WALLOUTPUT_SET = 9012; //鐢佃澧欎腑璁剧疆鏄剧ず杈撳嚭鍙傛暟
+ public static final int NET_DVR_GET_UNITEDMATRIXSYSTEM = 9013; //鐢佃澧欎腑鑾峰彇瀵瑰簲璧勬簮
+ public static final int NET_DVR_GET_WALL_CFG = 9014; //鑾峰彇鐢佃澧欏叏灞鍙傛暟
+ public static final int NET_DVR_SET_WALL_CFG = 9015; //璁剧疆鐢佃澧欏叏灞鍙傛暟
+ public static final int NET_DVR_CLOSE_ALL_WND = 9016; //鍏抽棴鎵鏈夌獥鍙
+ public static final int NET_DVR_SWITCH_WIN_TOP = 9017; //绐楀彛缃《
+ public static final int NET_DVR_SWITCH_WIN_BOTTOM = 9018; //绐楀彛缃簳
+
+ public static final int NET_DVR_CLOSE_ALL_WND_V41 = 9019; //鐢佃澧欏叧闂墍鏈夌獥鍙41锛堟湁澶氫釜鐢佃澧欙級
+ public static final int NET_DVR_GET_WALL_WINDOW_V41 = 9020; //鑾峰彇鐢佃澧欎腑鐨勭獥鍙41
+ public static final int NET_DVR_SET_WALL_WINDOW_V41 = 9021; //璁剧疆鐢佃澧欎腑鐨勭獥鍙41
+ public static final int NET_DVR_GET_CURRENT_SCENE_V41 = 9022; //鑾峰彇褰撳墠鐢佃澧欎腑姝e湪浣跨敤鐨勫満鏅痸41
+ public static final int NET_DVR_GET_WALL_SCENE_PARAM_V41 = 9023; //鑾峰彇褰撳墠鐢佃澧欎腑姝e湪浣跨敤鐨勫満鏅痸41
+ public static final int NET_DVR_SET_WALL_SCENE_PARAM_V41 = 9024; //璁剧疆褰撳墠鐢佃澧欎腑姝e湪浣跨敤鐨勫満鏅痸41
+ public static final int NET_DVR_GET_MATRIX_LOGO_CFG = 9025; //鑾峰彇logo鍙傛暟
+ public static final int NET_DVR_SET_MATRIX_LOGO_CFG = 9026; //璁剧疆logo鍙傛暟
+ public static final int NET_DVR_GET_WIN_LOGO_CFG = 9027; //鑾峰彇绐楀彛logo鍙傛暟
+ public static final int NET_DVR_SET_WIN_LOGO_CFG = 9028; //璁剧疆绐楀彛logo鍙傛暟
+ public static final int NET_DVR_DELETE_LOGO = 9029; //鍒犻櫎logo
+ public static final int NET_DVR_SET_DISPLAY_EFFECT_CFG = 9030; //璁剧疆鏄剧ず杈撳嚭鏁堟灉鍙傛暟v41
+ public static final int NET_DVR_GET_DISPLAY_EFFECT_CFG = 9031; //鑾峰彇鏄剧ず杈撳嚭鏁堟灉鍙傛暟v41
+ public static final int NET_DVR_DEC_PLAY_REMOTE_FILE = 9032; //瑙g爜鎾斁杩滅▼鏂囦欢
+ public static final int NET_DVR_DEC_PLAY_REMOTE_FILE_V50 = 9314; //瑙g爜鎾斁杩滅▼鏂囦欢V50
+ public static final int NET_DVR_GET_WIN_ZOOM_STATUS = 9033; //鑾峰彇绐楀彛鐢靛瓙鏀惧ぇ鐘舵
+ public static final int NET_DVR_GET_ALL_MATRIX_LOGOCFG = 9034; //鑾峰彇鎵鏈塴ogo鍙傛暟
+
+/*****************************鐢佃澧 end******************************/
+
+ /*******************
+ * 鏌ユ壘鏂囦欢鍜屾棩蹇楀嚱鏁拌繑鍥炲
+ *************************/
+ public static final int NET_DVR_FILE_SUCCESS = 1000; //鑾峰緱鏂囦欢淇℃伅
+ public static final int NET_DVR_FILE_NOFIND = 1001; //娌℃湁鏂囦欢
+ public static final int NET_DVR_ISFINDING = 1002;//姝e湪鏌ユ壘鏂囦欢
+ public static final int NET_DVR_NOMOREFILE = 1003;//鏌ユ壘鏂囦欢鏃舵病鏈夋洿澶氱殑鏂囦欢
+ public static final int NET_DVR_FILE_EXCEPTION = 1004;//鏌ユ壘鏂囦欢鏃跺紓甯
+ /*********************
+ * 鍥炶皟鍑芥暟绫诲瀷 begin
+ ************************/
+ public static final int COMM_ALARM = 0x1100; //8000鎶ヨ淇℃伅涓诲姩涓婁紶
+ public static final int COMM_TRADEINFO = 0x1500; //ATMDVR涓诲姩涓婁紶浜ゆ槗淇℃伅
+ public static final int COMM_ALARM_V30 = 0x4000;//9000鎶ヨ淇℃伅涓诲姩涓婁紶
+ public static final int COMM_ALARM_V40 = 0x4007;
+ public static final int COMM_ALARM_RULE = 0x1102;//寮傚父琛屼负妫娴嬩俊鎭笂浼
+ public static final int COMM_ALARM_PDC = 0x1103;//瀹㈡祦閲忕粺璁℃姤璀︿笂浼
+ public static final int COMM_UPLOAD_PLATE_RESULT = 0x2800;//浜ら氭姄鎷嶇粨鏋滀笂浼
+ public static final int COMM_ITS_PLATE_RESULT = 0x3050;//浜ら氭姄鎷嶇殑缁堢鍥剧墖涓婁紶
+ public static final int COMM_IPCCFG = 0x4001;//9000璁惧IPC鎺ュ叆閰嶇疆鏀瑰彉鎶ヨ淇℃伅涓诲姩涓婁紶
+ public static final int COMM_ITS_PARK_VEHICLE = 0x3056;//鍋滆溅鍦烘暟鎹笂浼
+ public static final int COMM_VEHICLE_CONTROL_ALARM = 0x3059;//杞﹁締鎶ヨ涓婁紶
+ public static final int COMM_ALARM_TFS = 0x1113; //浜ら氬彇璇佹姤璀︿俊鎭
+ public static final int COMM_ALARM_TPS_V41 = 0x1114; //浜ら氫簨浠舵姤璀︿俊鎭墿灞
+ public static final int COMM_ALARM_AID_V41 = 0x1115; //浜ら氫簨浠舵姤璀︿俊鎭墿灞
+ public static final int COMM_UPLOAD_FACESNAP_RESULT = 0x1112; //鐗瑰緛璇嗗埆缁撴灉涓婁紶
+ public static final int COMM_SNAP_MATCH_ALARM = 0x2902; //浜鸿劯姣斿缁撴灉涓婁紶
+ public static final int COMM_ALARM_ACS = 0x5002; //闂ㄧ涓绘満鎶ヨ淇℃伅
+ public static final int COMM_ID_INFO_ALARM = 0x5200; //闂ㄧ韬唤璇佸埛鍗′俊鎭
+ public static final int COMM_VCA_ALARM = 0x4993; //鏅鸿兘妫娴嬮氱敤鎶ヨ
+ public static final int COMM_ISAPI_ALARM = 0x6009;//ISAPI鍗忚鎶ヨ淇℃伅
+ public static final int COMM_ALARM_TPS_STATISTICS = 0x3082; //TPS缁熻杩囪溅鏁版嵁涓婁紶
+ public static final int COMM_ALARM_TPS_REAL_TIME = 0x3081; //TPS瀹炴椂杩囪溅鏁版嵁涓婁紶
+ public static final int COMM_ALARMHOST_CID_ALARM = 0x1127; //鎶ュ憡鎶ヨ涓婁紶
+ public static final int COMM_SENSOR_VALUE_UPLOAD = 0x1120; //妯℃嫙閲忔暟鎹疄鏃朵笂浼
+ public static final int COMM_SENSOR_ALARM = 0x1121; //妯℃嫙閲忔姤璀︿笂浼
+ public static final int COMM_SWITCH_ALARM = 0x1122; //寮鍏抽噺鎶ヨ
+ public static final int COMM_ALARMHOST_EXCEPTION = 0x1123; //鎶ヨ涓绘満鏁呴殰鎶ヨ
+ public static final int COMM_ALARMHOST_OPERATEEVENT_ALARM = 0x1124; //鎿嶄綔浜嬩欢鎶ヨ涓婁紶
+ public static final int COMM_ALARMHOST_SAFETYCABINSTATE = 0x1125; //闃叉姢鑸辩姸鎬
+ public static final int COMM_ALARMHOST_ALARMOUTSTATUS = 0x1126; //鎶ヨ杈撳嚭鍙/璀﹀彿鐘舵
+ public static final int COMM_ALARMHOST_DATA_UPLOAD = 0x1129; //鎶ヨ鏁版嵁涓婁紶
+
+ public static final int COMM_UPLOAD_VIDEO_INTERCOM_EVENT = 0x1132; //鍙瀵硅浜嬩欢璁板綍涓婁紶
+ public static final int COMM_ALARM_VIDEO_INTERCOM = 0x1133; //鍙瀵硅鎶ヨ涓婁紶
+ public static final int COMM_THERMOMETRY_ALARM = 0x5212; //娓╁害鎶ヨ涓婁紶
+ public static final int COMM_FIREDETECTION_ALARM = 0x4991; //鐏偣鎶ヨ涓婁紶
+ public static final int COMM_THERMOMETRY_DIFF_ALARM = 0x5111; //娓╁樊鎶ヨ
+ public static final int COMM_ALARM_SHIPSDETECTION = 0x4521; //鑸瑰彧妫娴嬫姤璀
+ public static final int COMM_UPLOAD_AIOP_VIDEO = 0x4021; //璁惧鏀寔AI寮鏀惧钩鍙版帴鍏ワ紝涓婁紶瑙嗛妫娴嬫暟鎹
+ public static final int COMM_UPLOAD_AIOP_PICTURE = 0x4022; //璁惧鏀寔AI寮鏀惧钩鍙版帴鍏ワ紝涓婁紶鍥剧墖妫娴嬫暟鎹
+ public static final int COMM_UPLOAD_AIOP_POLLING_SNAP = 0x4023; //璁惧鏀寔AI寮鏀惧钩鍙版帴鍏ワ紝涓婁紶杞贰鎶撳浘鍥剧墖妫娴嬫暟鎹 瀵瑰簲鐨勭粨鏋勪綋(NET_AIOP_POLLING_PICTURE_HEAD)
+ public static final int COMM_UPLOAD_AIOP_POLLING_VIDEO = 0x4024; //璁惧鏀寔AI寮鏀惧钩鍙版帴鍏ワ紝涓婁紶杞贰瑙嗛妫娴嬫暟鎹 瀵瑰簲鐨勭粨鏋勪綋(NET_AIOP_POLLING_VIDEO_HEAD)
+ public static final int COMM_IPC_AUXALARM_RESULT = 0x2820; //PIR鎶ヨ銆佹棤绾挎姤璀︺佸懠鏁戞姤璀︿俊鎭
+ /*************
+ * 鎿嶄綔寮傚父绫诲瀷(娑堟伅鏂瑰紡, 鍥炶皟鏂瑰紡(淇濈暀))
+ ****************/
+ public static final int EXCEPTION_EXCHANGE = 0x8000;//鐢ㄦ埛浜や簰鏃跺紓甯
+ public static final int EXCEPTION_AUDIOEXCHANGE = 0x8001;//璇煶瀵硅寮傚父
+ public static final int EXCEPTION_ALARM = 0x8002;//鎶ヨ寮傚父
+ public static final int EXCEPTION_PREVIEW = 0x8003;//缃戠粶棰勮寮傚父
+ public static final int EXCEPTION_SERIAL = 0x8004;//閫忔槑閫氶亾寮傚父
+ public static final int EXCEPTION_RECONNECT = 0x8005; //棰勮鏃堕噸杩
+ public static final int EXCEPTION_ALARMRECONNECT = 0x8006;//鎶ヨ鏃堕噸杩
+ public static final int EXCEPTION_SERIALRECONNECT = 0x8007;//閫忔槑閫氶亾閲嶈繛
+ public static final int EXCEPTION_PLAYBACK = 0x8010;//鍥炴斁寮傚父
+ public static final int EXCEPTION_DISKFMT = 0x8011;//纭洏鏍煎紡鍖
+ /********************
+ * 棰勮鍥炶皟鍑芥暟
+ *********************/
+ public static final int NET_DVR_SYSHEAD = 1;//绯荤粺澶存暟鎹
+ public static final int NET_DVR_STREAMDATA = 2;//瑙嗛娴佹暟鎹紙鍖呮嫭澶嶅悎娴佸拰闊宠棰戝垎寮鐨勮棰戞祦鏁版嵁锛
+ public static final int NET_DVR_AUDIOSTREAMDATA = 3;//闊抽娴佹暟鎹
+ public static final int NET_DVR_STD_VIDEODATA = 4;//鏍囧噯瑙嗛娴佹暟鎹
+ public static final int NET_DVR_STD_AUDIODATA = 5;//鏍囧噯闊抽娴佹暟鎹
+ //鍥炶皟棰勮涓殑鐘舵佸拰娑堟伅
+ public static final int NET_DVR_REALPLAYEXCEPTION = 111;//棰勮寮傚父
+ public static final int NET_DVR_REALPLAYNETCLOSE = 112;//棰勮鏃惰繛鎺ユ柇寮
+ public static final int NET_DVR_REALPLAY5SNODATA = 113;//棰勮5s娌℃湁鏀跺埌鏁版嵁
+ public static final int NET_DVR_REALPLAYRECONNECT = 114;//棰勮閲嶈繛
+ /********************
+ * 鍥炴斁鍥炶皟鍑芥暟
+ *********************/
+ public static final int NET_DVR_PLAYBACKOVER = 101;//鍥炴斁鏁版嵁鎾斁瀹屾瘯
+ public static final int NET_DVR_PLAYBACKEXCEPTION = 102;//鍥炴斁寮傚父
+ public static final int NET_DVR_PLAYBACKNETCLOSE = 103;//鍥炴斁鏃跺欒繛鎺ユ柇寮
+ public static final int NET_DVR_PLAYBACK5SNODATA = 104; //鍥炴斁5s娌℃湁鏀跺埌鏁版嵁
+ /*********************
+ * 鍥炶皟鍑芥暟绫诲瀷 end
+ ************************/
+//璁惧鍨嬪彿(DVR绫诲瀷)
+ /* 璁惧绫诲瀷 */
+ public static final int DVR = 1; /*瀵瑰皻鏈畾涔夌殑dvr绫诲瀷杩斿洖NETRET_DVR*/
+ public static final int ATMDVR = 2; /*atm dvr*/
+ public static final int DVS = 3; /*DVS*/
+ public static final int DEC = 4; /* 6001D */
+ public static final int ENC_DEC = 5; /* 6001F */
+ public static final int DVR_HC = 6; /*8000HC*/
+ public static final int DVR_HT = 7; /*8000HT*/
+ public static final int DVR_HF = 8; /*8000HF*/
+ public static final int DVR_HS = 9; /* 8000HS DVR(no audio) */
+ public static final int DVR_HTS = 10; /* 8016HTS DVR(no audio) */
+ public static final int DVR_HB = 11; /* HB DVR(SATA HD) */
+ public static final int DVR_HCS = 12; /* 8000HCS DVR */
+ public static final int DVS_A = 13; /* 甯TA纭洏鐨凞VS */
+ public static final int DVR_HC_S = 14; /* 8000HC-S */
+ public static final int DVR_HT_S = 15; /* 8000HT-S */
+ public static final int DVR_HF_S = 16; /* 8000HF-S */
+ public static final int DVR_HS_S = 17; /* 8000HS-S */
+ public static final int ATMDVR_S = 18; /* ATM-S */
+ public static final int LOWCOST_DVR = 19; /*7000H绯诲垪*/
+ public static final int DEC_MAT = 20; /*澶氳矾瑙g爜鍣*/
+ public static final int DVR_MOBILE = 21; /* mobile DVR */
+ public static final int DVR_HD_S = 22; /* 8000HD-S */
+ public static final int DVR_HD_SL = 23; /* 8000HD-SL */
+ public static final int DVR_HC_SL = 24; /* 8000HC-SL */
+ public static final int DVR_HS_ST = 25; /* 8000HS_ST */
+ public static final int DVS_HW = 26; /* 6000HW */
+ public static final int IPCAM = 30; /*IP 鎽勫儚鏈*/
+ public static final int MEGA_IPCAM = 31; /*X52MF绯诲垪,752MF,852MF*/
+ public static final int IPCAM_X62MF = 32; /*X62MF绯诲垪鍙帴鍏9000璁惧,762MF,862MF*/
+ public static final int IPDOME = 40; /*IP鏍囨竻蹇悆*/
+ public static final int MEGA_IPDOME = 41; /*IP楂樻竻蹇悆*/
+ public static final int IPMOD = 50; /*IP 妯″潡*/
+ public static final int DS71XX_H = 71; /* DS71XXH_S */
+ public static final int DS72XX_H_S = 72; /* DS72XXH_S */
+ public static final int DS73XX_H_S = 73; /* DS73XXH_S */
+ public static final int DS81XX_HS_S = 81; /* DS81XX_HS_S */
+ public static final int DS81XX_HL_S = 82; /* DS81XX_HL_S */
+ public static final int DS81XX_HC_S = 83; /* DS81XX_HC_S */
+ public static final int DS81XX_HD_S = 84; /* DS81XX_HD_S */
+ public static final int DS81XX_HE_S = 85; /* DS81XX_HE_S */
+ public static final int DS81XX_HF_S = 86; /* DS81XX_HF_S */
+ public static final int DS81XX_AH_S = 87; /* DS81XX_AH_S */
+ public static final int DS81XX_AHF_S = 88; /* DS81XX_AHF_S */
+ public static final int DS90XX_HF_S = 90; /*DS90XX_HF_S*/
+ public static final int DS91XX_HF_S = 91; /*DS91XX_HF_S*/
+ public static final int DS91XX_HD_S = 92; /*91XXHD-S(MD)*/
+
+ /* 鎿嶄綔 */
+//涓荤被鍨
+ public static final int MAJOR_OPERATION = 0x3;
+ //娆$被鍨
+ public static final int MINOR_START_DVR = 0x41; /* 寮鏈 */
+ public static final int MINOR_STOP_DVR = 0x42;/* 鍏虫満 */
+ public static final int MINOR_STOP_ABNORMAL = 0x43;/* 寮傚父鍏虫満 */
+ public static final int MINOR_REBOOT_DVR = 0x44; /*鏈湴閲嶅惎璁惧*/
+ public static final int MINOR_LOCAL_LOGIN = 0x50; /* 鏈湴鐧婚檰 */
+ public static final int MINOR_LOCAL_LOGOUT = 0x51; /* 鏈湴娉ㄩ攢鐧婚檰 */
+ public static final int MINOR_LOCAL_CFG_PARM = 0x52; /* 鏈湴閰嶇疆鍙傛暟 */
+ public static final int MINOR_LOCAL_PLAYBYFILE = 0x53; /* 鏈湴鎸夋枃浠跺洖鏀炬垨涓嬭浇 */
+ public static final int MINOR_LOCAL_PLAYBYTIME = 0x54; /* 鏈湴鎸夋椂闂村洖鏀炬垨涓嬭浇*/
+ public static final int MINOR_LOCAL_START_REC = 0x55; /* 鏈湴寮濮嬪綍鍍 */
+ public static final int MINOR_LOCAL_STOP_REC = 0x56; /* 鏈湴鍋滄褰曞儚 */
+ public static final int MINOR_LOCAL_PTZCTRL = 0x57; /* 鏈湴浜戝彴鎺у埗 */
+ public static final int MINOR_LOCAL_PREVIEW = 0x58;/* 鏈湴棰勮 (淇濈暀涓嶄娇鐢)*/
+ public static final int MINOR_LOCAL_MODIFY_TIME = 0x59;/* 鏈湴淇敼鏃堕棿(淇濈暀涓嶄娇鐢) */
+ public static final int MINOR_LOCAL_UPGRADE = 0x5a;/* 鏈湴鍗囩骇 */
+ public static final int MINOR_LOCAL_RECFILE_OUTPUT = 0x5b; /* 鏈湴澶囦唤褰曡薄鏂囦欢 */
+ public static final int MINOR_LOCAL_FORMAT_HDD = 0x5c; /* 鏈湴鍒濆鍖栫‖鐩 */
+ public static final int MINOR_LOCAL_CFGFILE_OUTPUT = 0x5d; /* 瀵煎嚭鏈湴閰嶇疆鏂囦欢 */
+ public static final int MINOR_LOCAL_CFGFILE_INPUT = 0x5e; /* 瀵煎叆鏈湴閰嶇疆鏂囦欢 */
+ public static final int MINOR_LOCAL_COPYFILE = 0x5f; /* 鏈湴澶囦唤鏂囦欢 */
+ public static final int MINOR_LOCAL_LOCKFILE = 0x60; /* 鏈湴閿佸畾褰曞儚鏂囦欢 */
+ public static final int MINOR_LOCAL_UNLOCKFILE = 0x61; /* 鏈湴瑙i攣褰曞儚鏂囦欢 */
+ public static final int MINOR_LOCAL_DVR_ALARM = 0x62; /* 鏈湴鎵嬪姩娓呴櫎鍜岃Е鍙戞姤璀*/
+ public static final int MINOR_IPC_ADD = 0x63; /* 鏈湴娣诲姞IPC */
+ public static final int MINOR_IPC_DEL = 0x64; /* 鏈湴鍒犻櫎IPC */
+ public static final int MINOR_IPC_SET = 0x65; /* 鏈湴璁剧疆IPC */
+ public static final int MINOR_LOCAL_START_BACKUP = 0x66; /* 鏈湴寮濮嬪浠 */
+ public static final int MINOR_LOCAL_STOP_BACKUP = 0x67;/* 鏈湴鍋滄澶囦唤*/
+ public static final int MINOR_LOCAL_COPYFILE_START_TIME = 0x68;/* 鏈湴澶囦唤寮濮嬫椂闂*/
+ public static final int MINOR_LOCAL_COPYFILE_END_TIME = 0x69; /* 鏈湴澶囦唤缁撴潫鏃堕棿*/
+ public static final int MINOR_REMOTE_LOGIN = 0x70;/* 杩滅▼鐧诲綍 */
+ public static final int MINOR_REMOTE_LOGOUT = 0x71;/* 杩滅▼娉ㄩ攢鐧婚檰 */
+ public static final int MINOR_REMOTE_START_REC = 0x72;/* 杩滅▼寮濮嬪綍鍍 */
+ public static final int MINOR_REMOTE_STOP_REC = 0x73;/* 杩滅▼鍋滄褰曞儚 */
+ public static final int MINOR_START_TRANS_CHAN = 0x74;/* 寮濮嬮忔槑浼犺緭 */
+ public static final int MINOR_STOP_TRANS_CHAN = 0x75; /* 鍋滄閫忔槑浼犺緭 */
+ public static final int MINOR_REMOTE_GET_PARM = 0x76;/* 杩滅▼鑾峰彇鍙傛暟 */
+ public static final int MINOR_REMOTE_CFG_PARM = 0x77;/* 杩滅▼閰嶇疆鍙傛暟 */
+ public static final int MINOR_REMOTE_GET_STATUS = 0x78;/* 杩滅▼鑾峰彇鐘舵 */
+ public static final int MINOR_REMOTE_ARM = 0x79; /* 杩滅▼甯冮槻 */
+ public static final int MINOR_REMOTE_DISARM = 0x7a;/* 杩滅▼鎾ら槻 */
+ public static final int MINOR_REMOTE_REBOOT = 0x7b; /* 杩滅▼閲嶅惎 */
+ public static final int MINOR_START_VT = 0x7c;/* 寮濮嬭闊冲璁 */
+ public static final int MINOR_STOP_VT = 0x7d;/* 鍋滄璇煶瀵硅 */
+ public static final int MINOR_REMOTE_UPGRADE = 0x7e; /* 杩滅▼鍗囩骇 */
+ public static final int MINOR_REMOTE_PLAYBYFILE = 0x7f; /* 杩滅▼鎸夋枃浠跺洖鏀 */
+ public static final int MINOR_REMOTE_PLAYBYTIME = 0x80; /* 杩滅▼鎸夋椂闂村洖鏀 */
+ public static final int MINOR_REMOTE_PTZCTRL = 0x81; /* 杩滅▼浜戝彴鎺у埗 */
+ public static final int MINOR_REMOTE_FORMAT_HDD = 0x82; /* 杩滅▼鏍煎紡鍖栫‖鐩 */
+ public static final int MINOR_REMOTE_STOP = 0x83; /* 杩滅▼鍏虫満 */
+ public static final int MINOR_REMOTE_LOCKFILE = 0x84;/* 杩滅▼閿佸畾鏂囦欢 */
+ public static final int MINOR_REMOTE_UNLOCKFILE = 0x85;/* 杩滅▼瑙i攣鏂囦欢 */
+ public static final int MINOR_REMOTE_CFGFILE_OUTPUT = 0x86; /* 杩滅▼瀵煎嚭閰嶇疆鏂囦欢 */
+ public static final int MINOR_REMOTE_CFGFILE_INTPUT = 0x87; /* 杩滅▼瀵煎叆閰嶇疆鏂囦欢 */
+ public static final int MINOR_REMOTE_RECFILE_OUTPUT = 0x88; /* 杩滅▼瀵煎嚭褰曡薄鏂囦欢 */
+ public static final int MINOR_REMOTE_DVR_ALARM = 0x89; /* 杩滅▼鎵嬪姩娓呴櫎鍜岃Е鍙戞姤璀*/
+ public static final int MINOR_REMOTE_IPC_ADD = 0x8a; /* 杩滅▼娣诲姞IPC */
+ public static final int MINOR_REMOTE_IPC_DEL = 0x8b;/* 杩滅▼鍒犻櫎IPC */
+ public static final int MINOR_REMOTE_IPC_SET = 0x8c; /* 杩滅▼璁剧疆IPC */
+ public static final int MINOR_REBOOT_VCA_LIB = 0x8d; /*閲嶅惎鏅鸿兘搴*/
+
+ /*鏃ュ織闄勫姞淇℃伅*/
+//涓荤被鍨
+ public static final int MAJOR_INFORMATION = 0x4; /*闄勫姞淇℃伅*/
+ //娆$被鍨
+ public static final int MINOR_HDD_INFO = 0xa1;/*纭洏淇℃伅*/
+ public static final int MINOR_SMART_INFO = 0xa2; /*SMART淇℃伅*/
+ public static final int MINOR_REC_START = 0xa3; /*寮濮嬪綍鍍*/
+ public static final int MINOR_REC_STOP = 0xa4;/*鍋滄褰曞儚*/
+ public static final int MINOR_REC_OVERDUE = 0xa5;/*杩囨湡褰曞儚鍒犻櫎*/
+ public static final int MINOR_LINK_START = 0xa6; // ivms澶氳矾瑙g爜鍣ㄧ瓑杩炴帴鍓嶇璁惧
+ public static final int MINOR_LINK_STOP = 0xa7;// ivms澶氳矾瑙g爜鍣ㄧ瓑鏂紑鍓嶇璁惧銆
+ //褰撴棩蹇楃殑涓荤被鍨嬩负MAJOR_OPERATION=03锛屾绫诲瀷涓篗INOR_LOCAL_CFG_PARM=0x52鎴栬匨INOR_REMOTE_GET_PARM=0x76鎴栬匨INOR_REMOTE_CFG_PARM=0x77鏃讹紝dwParaType:鍙傛暟绫诲瀷鏈夋晥锛屽叾鍚箟濡備笅锛
+ public static final int PARA_VIDEOOUT = 0x1;
+ public static final int PARA_IMAGE = 0x2;
+ public static final int PARA_ENCODE = 0x4;
+ public static final int PARA_NETWORK = 0x8;
+ public static final int PARA_ALARM = 0x10;
+ public static final int PARA_EXCEPTION = 0x20;
+ public static final int PARA_DECODER = 0x40; /*瑙g爜鍣*/
+ public static final int PARA_RS232 = 0x80;
+ public static final int PARA_PREVIEW = 0x100;
+ public static final int PARA_SECURITY = 0x200;
+ public static final int PARA_DATETIME = 0x400;
+ public static final int PARA_FRAMETYPE = 0x800; /*甯ф牸寮*/
+ public static final int PARA_VCA_RULE = 0x1000; //琛屼负瑙勫垯
+ //SDK_V222
+//鏅鸿兘璁惧绫诲瀷
+ public static final int DS6001_HF_B = 60;//寮傚父琛屼负妫娴嬶細DS6001-HF/B
+ public static final int DS6001_HF_P = 61;//杞︾墝璇嗗埆锛欴S6001-HF/P
+ public static final int DS6002_HF_B = 62;//鍙屾満锛欴S6002-HF/B
+ public static final int DS6101_HF_B = 63;//寮傚父琛屼负妫娴嬶細DS6101-HF/B
+ public static final int IVMS_2000 = 64;//鏅鸿兘鍒嗘瀽浠
+ public static final int DS9000_IVS = 65;//9000绯诲垪鏅鸿兘DVR
+ public static final int DS8004_AHL_A = 66;//鏅鸿兘ATM, DS8004AHL-S/A
+ public static final int DS6101_HF_P = 67;//杞︾墝璇嗗埆锛欴S6101-HF/P
+ //鑳藉姏鑾峰彇鍛戒护
+ public static final int VCA_DEV_ABILITY = 0x100;//璁惧鏅鸿兘鍒嗘瀽鐨勬昏兘鍔
+ public static final int VCA_CHAN_ABILITY = 0x110;//寮傚父琛屼负妫娴嬭兘鍔
+ public static final int DEVICE_ABILITY_INFO = 0x011; //璁惧閫氱敤鑳藉姏绫诲瀷锛屽叿浣撹兘鍔涙牴鎹彂閫佺殑鑳藉姏鑺傜偣鏉ュ尯鍒
+ public static final int NET_DVR_CHECK_USER_STATUS = 20005; //妫娴嬭澶囨槸鍚﹀湪绾
+ /**********************璁惧绫诲瀷 end***********************/
+
+ /*************************************************
+ * 鍙傛暟閰嶇疆缁撴瀯銆佸弬鏁(鍏朵腑_V30涓9000鏂板)
+ **************************************************/
+
+ /////////////////////////////////////////////////////////////////////////
+ //鏍℃椂缁撴瀯鍙傛暟
+ public static class NET_DVR_TIME extends Structure {//鏍℃椂缁撴瀯鍙傛暟
+ public int dwYear; //骞
+ public int dwMonth; //鏈
+ public int dwDay; //鏃
+ public int dwHour; //鏃
+ public int dwMinute; //鍒
+ public int dwSecond; //绉
+
+ public String toString() {
+ return "NET_DVR_TIME.dwYear: " + dwYear + "\n" + "NET_DVR_TIME.dwMonth: \n" + dwMonth + "\n" + "NET_DVR_TIME.dwDay: \n" + dwDay + "\n" + "NET_DVR_TIME.dwHour: \n" + dwHour + "\n" + "NET_DVR_TIME.dwMinute: \n" + dwMinute + "\n" + "NET_DVR_TIME.dwSecond: \n" + dwSecond;
+ }
+
+ //鐢ㄤ簬鍒楄〃涓樉绀
+ public String toStringTime() {
+ return String.format("%02d/%02d/%02d%02d:%02d:%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond);
+ }
+
+ //瀛樺偍鏂囦欢鍚嶄娇鐢
+ public String toStringTitle() {
+ return String.format("Time%02d%02d%02d%02d%02d%02d", dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond);
+ }
+ }
+
+ public static class NET_DVR_SCHEDTIME extends Structure {
+ public byte byStartHour; //寮濮嬫椂闂
+ public byte byStartMin;
+ public byte byStopHour; //缁撴潫鏃堕棿
+ public byte byStopMin;
+
+
+ }
+
+ public static class NET_DVR_HANDLEEXCEPTION_V30 extends Structure {
+ public int dwHandleType; /*澶勭悊鏂瑰紡,澶勭悊鏂瑰紡鐨"鎴"缁撴灉*//*0x00: 鏃犲搷搴*//*0x01: 甯冮槻鍣ㄤ笂璀﹀憡*//*0x02: 澹伴煶璀﹀憡*//*0x04: 涓婁紶涓績*/ /*0x08: 瑙﹀彂鎶ヨ杈撳嚭*//*0x20: 瑙﹀彂鎶撳浘*/ //(JPEG瀹氬埗)
+ public byte[] byRelAlarmOut = new byte[MAX_ALARMOUT_V30]; //鎶ヨ瑙﹀彂鐨勮緭鍑洪氶亾,鎶ヨ瑙﹀彂鐨勮緭鍑,涓1琛ㄧず瑙﹀彂璇ヨ緭鍑
+
+ }
+
+ //鎶ヨ鍜屽紓甯稿鐞嗙粨鏋(瀛愮粨鏋)(澶氬浣跨敤)
+ public static class NET_DVR_HANDLEEXCEPTION extends Structure {
+ public int dwHandleType; /*澶勭悊鏂瑰紡,澶勭悊鏂瑰紡鐨"鎴"缁撴灉*//*0x00: 鏃犲搷搴*//*0x01: 甯冮槻鍣ㄤ笂璀﹀憡*//*0x02: 澹伴煶璀﹀憡*//*0x04: 涓婁紶涓績*/ /*0x08: 瑙﹀彂鎶ヨ杈撳嚭*//*0x20: 瑙﹀彂鎶撳浘*/ //(JPEG瀹氬埗)
+ public byte[] byRelAlarmOut = new byte[MAX_ALARMOUT]; //鎶ヨ瑙﹀彂鐨勮緭鍑洪氶亾,鎶ヨ瑙﹀彂鐨勮緭鍑,涓1琛ㄧず瑙﹀彂璇ヨ緭鍑
+
+ }
+
+ //DVR璁惧鍙傛暟
+ public static class NET_DVR_DEVICECFG extends Structure {
+ public int dwSize;
+ public byte[] sDVRName = new byte[NAME_LEN]; //DVR鍚嶇О
+ public int dwDVRID; //DVR ID,鐢ㄤ簬閬ユ帶鍣 //V1.4(0-99), V1.5(0-255)
+ public int dwRecycleRecord; //鏄惁寰幆褰曞儚,0:涓嶆槸; 1:鏄
+ //浠ヤ笅涓嶅彲鏇存敼
+ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //搴忓垪鍙
+ public int dwSoftwareVersion; //杞欢鐗堟湰鍙,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public int dwSoftwareBuildDate; //杞欢鐢熸垚鏃ユ湡,0xYYYYMMDD
+ public int dwDSPSoftwareVersion; //DSP杞欢鐗堟湰,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public int dwDSPSoftwareBuildDate; // DSP杞欢鐢熸垚鏃ユ湡,0xYYYYMMDD
+ public int dwPanelVersion; // 鍓嶉潰鏉跨増鏈,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public int dwHardwareVersion; // 纭欢鐗堟湰,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public byte byAlarmInPortNum; //DVR鎶ヨ杈撳叆涓暟
+ public byte byAlarmOutPortNum; //DVR鎶ヨ杈撳嚭涓暟
+ public byte byRS232Num; //DVR 232涓插彛涓暟
+ public byte byRS485Num; //DVR 485涓插彛涓暟
+ public byte byNetworkPortNum; //缃戠粶鍙d釜鏁
+ public byte byDiskCtrlNum; //DVR 纭洏鎺у埗鍣ㄤ釜鏁
+ public byte byDiskNum; //DVR 纭洏涓暟
+ public byte byDVRType; //DVR绫诲瀷, 1:DVR 2:ATM DVR 3:DVS ......
+ public byte byChanNum; //DVR 閫氶亾涓暟
+ public byte byStartChan; //璧峰閫氶亾鍙,渚嬪DVS-1,DVR - 1
+ public byte byDecordChans; //DVR 瑙g爜璺暟
+ public byte byVGANum; //VGA鍙g殑涓暟
+ public byte byUSBNum; //USB鍙g殑涓暟
+ public byte byAuxoutNum; //杈呭彛鐨勪釜鏁
+ public byte byAudioNum; //璇煶鍙g殑涓暟
+ public byte byIPChanNum; //鏈澶ф暟瀛楅氶亾鏁
+
+
+ }
+
+ //DVR璁惧鍙傛暟
+ public static class NET_DVR_DEVICECFG_V40 extends Structure {
+ public int dwSize;
+ public byte[] sDVRName = new byte[NAME_LEN]; //DVR鍚嶇О
+ public int dwDVRID; //DVR ID,鐢ㄤ簬閬ユ帶鍣 //V1.4(0-99), V1.5(0-255)
+ public int dwRecycleRecord; //鏄惁寰幆褰曞儚,0:涓嶆槸; 1:鏄
+ //浠ヤ笅涓嶅彲鏇存敼
+ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //搴忓垪鍙
+ public int dwSoftwareVersion; //杞欢鐗堟湰鍙,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public int dwSoftwareBuildDate; //杞欢鐢熸垚鏃ユ湡,0xYYYYMMDD
+ public int dwDSPSoftwareVersion; //DSP杞欢鐗堟湰,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public int dwDSPSoftwareBuildDate; // DSP杞欢鐢熸垚鏃ユ湡,0xYYYYMMDD
+ public int dwPanelVersion; // 鍓嶉潰鏉跨増鏈,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public int dwHardwareVersion; // 纭欢鐗堟湰,楂16浣嶆槸涓荤増鏈,浣16浣嶆槸娆$増鏈
+ public byte byAlarmInPortNum; //DVR鎶ヨ杈撳叆涓暟
+ public byte byAlarmOutPortNum; //DVR鎶ヨ杈撳嚭涓暟
+ public byte byRS232Num; //DVR 232涓插彛涓暟
+ public byte byRS485Num; //DVR 485涓插彛涓暟
+ public byte byNetworkPortNum; //缃戠粶鍙d釜鏁
+ public byte byDiskCtrlNum; //DVR 纭洏鎺у埗鍣ㄤ釜鏁
+ public byte byDiskNum; //DVR 纭洏涓暟
+ public byte byDVRType; //DVR绫诲瀷, 1:DVR 2:ATM DVR 3:DVS ......
+ public byte byChanNum; //DVR 閫氶亾涓暟
+ public byte byStartChan; //璧峰閫氶亾鍙,渚嬪DVS-1,DVR - 1
+ public byte byDecordChans; //DVR 瑙g爜璺暟
+ public byte byVGANum; //VGA鍙g殑涓暟
+ public byte byUSBNum; //USB鍙g殑涓暟
+ public byte byAuxoutNum; //杈呭彛鐨勪釜鏁
+ public byte byAudioNum; //璇煶鍙g殑涓暟
+ public byte byIPChanNum; //鏈澶ф暟瀛楅氶亾鏁 浣8浣嶏紝楂8浣嶈byHighIPChanNum
+ public byte byZeroChanNum; //闆堕氶亾缂栫爜涓暟
+ public byte bySupport; //鑳藉姏锛屼綅涓庣粨鏋滀负0琛ㄧず涓嶆敮鎸侊紝1琛ㄧず鏀寔锛
+ public byte byEsataUseage; //Esata鐨勯粯璁ょ敤閫旓紝0-榛樿澶囦唤锛1-榛樿褰曞儚
+ public byte byIPCPlug; //0-鍏抽棴鍗虫彃鍗崇敤锛1-鎵撳紑鍗虫彃鍗崇敤
+ public byte byStorageMode; //0-鐩樼粍妯″紡,1-纾佺洏閰嶉, 2鎶藉抚妯″紡, 3-鑷姩
+ public byte bySupport1; //鑳藉姏锛屼綅涓庣粨鏋滀负0琛ㄧず涓嶆敮鎸侊紝1琛ㄧず鏀寔
+ public short wDevType;//璁惧鍨嬪彿
+ public byte[] byDevTypeName = new byte[DEV_TYPE_NAME_LEN];//璁惧鍨嬪彿鍚嶇О
+ public byte bySupport2; //鑳藉姏闆嗘墿灞曪紝浣嶄笌缁撴灉涓0琛ㄧず涓嶆敮鎸侊紝1琛ㄧず鏀寔
+ //bySupport2 & 0x1, 琛ㄧず鏄惁鏀寔鎵╁睍鐨凮SD瀛楃鍙犲姞(缁堢鍜屾姄鎷嶆満鎵╁睍鍖哄垎)
+ public byte byAnalogAlarmInPortNum; //妯℃嫙鎶ヨ杈撳叆涓暟
+ public byte byStartAlarmInNo; //妯℃嫙鎶ヨ杈撳叆璧峰鍙
+ public byte byStartAlarmOutNo; //妯℃嫙鎶ヨ杈撳嚭璧峰鍙
+ public byte byStartIPAlarmInNo; //IP鎶ヨ杈撳叆璧峰鍙
+ public byte byStartIPAlarmOutNo; //IP鎶ヨ杈撳嚭璧峰鍙
+ public byte byHighIPChanNum; //鏁板瓧閫氶亾涓暟锛岄珮8浣
+ public byte byEnableRemotePowerOn;//鏄惁鍚敤鍦ㄨ澶囦紤鐪犵殑鐘舵佷笅杩滅▼寮鏈哄姛鑳斤紝0-涓嶅惎鐢紝1-鍚敤
+ public short wDevClass; //璁惧澶х被澶囨槸灞炰簬鍝釜浜у搧绾匡紝0 淇濈暀锛1-50 DVR锛51-100 DVS锛101-150 NVR锛151-200 IPC锛65534 鍏朵粬锛屽叿浣撳垎绫绘柟娉曡銆婅澶囩被鍨嬪搴斿簭鍒楀彿鍜岀被鍨嬪.docx銆
+ public byte[] byRes2 = new byte[6]; //淇濈暀
+
+
+ }
+
+ public static class NET_DVR_IPADDR extends Structure {
+ public byte[] sIpV4 = new byte[16];
+ public byte[] byRes = new byte[128];
+
+ public String toString() {
+ return "NET_DVR_IPADDR.sIpV4: " + new String(sIpV4) + "\n" + "NET_DVR_IPADDR.byRes: " + new String(byRes) + "\n";
+ }
+
+
+ }
+
+
+ //缃戠粶鏁版嵁缁撴瀯(瀛愮粨鏋)(9000鎵╁睍)
+ public static class NET_DVR_ETHERNET_V30 extends Structure {
+ public NET_DVR_IPADDR struDVRIP;
+ public NET_DVR_IPADDR struDVRIPMask;
+ public int dwNetInterface;
+ public short wDVRPort;
+ public short wMTU;
+ public byte[] byMACAddr = new byte[6];
+
+ public String toString() {
+ return "NET_DVR_ETHERNET_V30.struDVRIP: \n" + struDVRIP + "\n" + "NET_DVR_ETHERNET_V30.struDVRIPMask: \n" + struDVRIPMask + "\n" + "NET_DVR_ETHERNET_V30.dwNetInterface: " + dwNetInterface + "\n" + "NET_DVR_ETHERNET_V30.wDVRPort: " + wDVRPort + "\n" + "NET_DVR_ETHERNET_V30.wMTU: " + wMTU + "\n" + "NET_DVR_ETHERNET_V30.byMACAddr: " + new String(byMACAddr) + "\n";
+ }
+
+
+ }
+
+ public static class NET_DVR_ETHERNET extends Structure {//缃戠粶鏁版嵁缁撴瀯(瀛愮粨鏋)
+ public byte[] sDVRIP = new byte[16]; //DVR IP鍦板潃
+ public byte[] sDVRIPMask = new byte[16]; //DVR IP鍦板潃鎺╃爜
+ public int dwNetInterface; //缃戠粶鎺ュ彛 1-10MBase-T 2-10MBase-T鍏ㄥ弻宸 3-100MBase-TX 4-100M鍏ㄥ弻宸 5-10M/100M鑷傚簲
+ public short wDVRPort; //绔彛鍙
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; //鏈嶅姟鍣ㄧ殑鐗╃悊鍦板潃
+
+
+ }
+
+ public static class NET_DVR_PPPOECFG extends Structure {//PPPoe
+ public int dwPPPoE;
+ public byte[] sPPPoEUser = new byte[32];
+ public byte[] sPPPoEPassword = new byte[16];
+ public NET_DVR_IPADDR struPPPoEIP;
+
+
+ }
+
+ public static class NET_DVR_NETCFG_V30 extends Structure {
+ public int dwSize;
+ public NET_DVR_ETHERNET_V30[] struEtherNet = new NET_DVR_ETHERNET_V30[2];
+ public NET_DVR_IPADDR[] struRes1 = new NET_DVR_IPADDR[2];
+ public NET_DVR_IPADDR struAlarmHostIpAddr;
+ public short[] wRes2 = new short[2];
+ public short wAlarmHostIpPort;
+ public byte byUseDhcp;
+ public byte byRes3;
+ public NET_DVR_IPADDR struDnsServer1IpAddr;
+ public NET_DVR_IPADDR struDnsServer2IpAddr;
+ public byte[] byIpResolver = new byte[64];
+ public short wIpResolverPort;
+ public short wHttpPortNo;
+ public NET_DVR_IPADDR struMulticastIpAddr;
+ public NET_DVR_IPADDR struGatewayIpAddr;
+ public NET_DVR_PPPOECFG struPPPoE;
+ public byte[] byRes = new byte[64];
+
+ public String toString() {
+ return "NET_DVR_NETCFG_V30.dwSize: " + dwSize + "\n" + "NET_DVR_NETCFG_V30.struEtherNet[0]: \n" + struEtherNet[0] + "\n" + "NET_DVR_NETCFG_V30.struAlarmHostIpAddr: \n" + struAlarmHostIpAddr + "\n" + "NET_DVR_NETCFG_V30.wAlarmHostIpPort: " + wAlarmHostIpPort + "\n" + "NET_DVR_NETCFG_V30.wHttpPortNo: " + wHttpPortNo + "\n" + "NET_DVR_NETCFG_V30.struGatewayIpAddr: \n" + struGatewayIpAddr + "\n";
+ }
+
+
+ }
+
+
+ public static class NET_DVR_NETCFG extends Structure {//缃戠粶閰嶇疆缁撴瀯
+ public int dwSize;
+ public NET_DVR_ETHERNET[] struEtherNet = new NET_DVR_ETHERNET[MAX_ETHERNET]; /* 浠ュお缃戝彛 */
+ public byte[] sManageHostIP = new byte[16]; //杩滅▼绠$悊涓绘満鍦板潃
+ public short wManageHostPort; //杩滅▼绠$悊涓绘満绔彛鍙
+ public byte[] sIPServerIP = new byte[16]; //IPServer鏈嶅姟鍣ㄥ湴鍧
+ public byte[] sMultiCastIP = new byte[16]; //澶氭挱缁勫湴鍧
+ public byte[] sGatewayIP = new byte[16]; //缃戝叧鍦板潃
+ public byte[] sNFSIP = new byte[16]; //NFS涓绘満IP鍦板潃
+ public byte[] sNFSDirectory = new byte[PATHNAME_LEN];//NFS鐩綍
+ public int dwPPPOE; //0-涓嶅惎鐢,1-鍚敤
+ public byte[] sPPPoEUser = new byte[NAME_LEN]; //PPPoE鐢ㄦ埛鍚
+ public byte[] sPPPoEPassword = new byte[PASSWD_LEN];// PPPoE瀵嗙爜
+ public byte[] sPPPoEIP = new byte[16]; //PPPoE IP鍦板潃(鍙)
+
+
+ }
+
+ //閫氶亾鍥捐薄缁撴瀯
+ public static class NET_DVR_SCHEDTIMEWEEK extends Structure {
+ public NET_DVR_SCHEDTIME[] struAlarmTime = new NET_DVR_SCHEDTIME[8];
+
+
+ }
+
+ public static class byte96 extends Structure {
+ public byte[] byMotionScope = new byte[96];
+
+
+ }
+
+ public static class NET_DVR_MOTION_V30 extends Structure {//绉诲姩渚︽祴(瀛愮粨鏋)(9000鎵╁睍)
+ public byte96[] byMotionScope = new byte96[64]; /*渚︽祴鍖哄煙,0-96浣,琛ㄧず64琛,鍏辨湁96*64涓皬瀹忓潡,涓1琛ㄧず鏄Щ鍔ㄤ睛娴嬪尯鍩,0-琛ㄧず涓嶆槸*/
+ public byte byMotionSensitive; /*绉诲姩渚︽祴鐏垫晱搴, 0 - 5,瓒婇珮瓒婄伒鏁,oxff鍏抽棴*/
+ public byte byEnableHandleMotion; /* 鏄惁澶勭悊绉诲姩渚︽祴 0锛嶅惁 1锛嶆槸*/
+ public byte byPrecision; /* 绉诲姩渚︽祴绠楁硶鐨勮繘搴: 0--16*16, 1--32*32, 2--64*64 ... */
+ public byte reservedData;
+ public NET_DVR_HANDLEEXCEPTION_V30 struMotionHandleType; /* 澶勭悊鏂瑰紡 */
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*甯冮槻鏃堕棿*/
+ public byte[] byRelRecordChan = new byte[64]; /* 鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾*/
+
+
+ }
+
+ public static class NET_DVR_MOTION extends Structure {//绉诲姩渚︽祴(瀛愮粨鏋)
+ public byte[] byMotionScope = new byte[18 * 22]; /*渚︽祴鍖哄煙,鍏辨湁22*18涓皬瀹忓潡,涓1琛ㄧず鏀瑰畯鍧楁槸绉诲姩渚︽祴鍖哄煙,0-琛ㄧず涓嶆槸*/
+ public byte byMotionSensitive; /*绉诲姩渚︽祴鐏垫晱搴, 0 - 5,瓒婇珮瓒婄伒鏁,0xff鍏抽棴*/
+ public byte byEnableHandleMotion; /* 鏄惁澶勭悊绉诲姩渚︽祴 */
+ public byte[] reservedData = new byte[2];
+ public NET_DVR_HANDLEEXCEPTION strMotionHandleType; /* 澶勭悊鏂瑰紡 */
+ public byte[] byRelRecordChan = new byte[MAX_CHANNUM]; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾,涓1琛ㄧず瑙﹀彂璇ラ氶亾
+
+
+ }
+
+ public static class NET_DVR_HIDEALARM_V30 extends Structure {//閬尅鎶ヨ
+ public int dwEnableHideAlarm; /* 鏄惁鍚姩閬尅鎶ヨ ,0-鍚,1-浣庣伒鏁忓害 2-涓伒鏁忓害 3-楂樼伒鏁忓害*/
+ public short wHideAlarmAreaTopLeftX; /* 閬尅鍖哄煙鐨剎鍧愭爣 */
+ public short wHideAlarmAreaTopLeftY; /* 閬尅鍖哄煙鐨剏鍧愭爣 */
+ public short wHideAlarmAreaWidth; /* 閬尅鍖哄煙鐨勫 */
+ public short wHideAlarmAreaHeight; /*閬尅鍖哄煙鐨勯珮*/
+ public NET_DVR_HANDLEEXCEPTION_V30 strHideAlarmHandleType; /* 澶勭悊鏂瑰紡 */
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//甯冮槻鏃堕棿
+
+
+ }
+
+ public static class NET_DVR_HIDEALARM extends Structure {//閬尅鎶ヨ(瀛愮粨鏋) 鍖哄煙澶у皬704*576
+ public int dwEnableHideAlarm; /* 鏄惁鍚姩閬尅鎶ヨ ,0-鍚,1-浣庣伒鏁忓害 2-涓伒鏁忓害 3-楂樼伒鏁忓害*/
+ public short wHideAlarmAreaTopLeftX; /* 閬尅鍖哄煙鐨剎鍧愭爣 */
+ public short wHideAlarmAreaTopLeftY; /* 閬尅鍖哄煙鐨剏鍧愭爣 */
+ public short wHideAlarmAreaWidth; /* 閬尅鍖哄煙鐨勫 */
+ public short wHideAlarmAreaHeight; /*閬尅鍖哄煙鐨勯珮*/
+ public NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType; /* 澶勭悊鏂瑰紡 */
+
+
+ }
+
+ public static class NET_DVR_VILOST_V30 extends Structure { //淇″彿涓㈠け鎶ヨ(瀛愮粨鏋)(9000鎵╁睍)
+ public byte byEnableHandleVILost; /* 鏄惁澶勭悊淇″彿涓㈠け鎶ヨ */
+ public NET_DVR_HANDLEEXCEPTION_V30 strVILostHandleType; /* 澶勭悊鏂瑰紡 */
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//甯冮槻鏃堕棿
+
+ }
+
+ public static class NET_DVR_VILOST extends Structure { //淇″彿涓㈠け鎶ヨ(瀛愮粨鏋)
+ public byte byEnableHandleVILost; /* 鏄惁澶勭悊淇″彿涓㈠け鎶ヨ */
+ public NET_DVR_HANDLEEXCEPTION strVILostHandleType; /* 澶勭悊鏂瑰紡 */
+
+ }
+
+ public static class NET_DVR_SHELTER extends Structure { //閬尅鍖哄煙(瀛愮粨鏋)
+ public short wHideAreaTopLeftX; /* 閬尅鍖哄煙鐨剎鍧愭爣 */
+ public short wHideAreaTopLeftY; /* 閬尅鍖哄煙鐨剏鍧愭爣 */
+ public short wHideAreaWidth; /* 閬尅鍖哄煙鐨勫 */
+ public short wHideAreaHeight; /* 閬尅鍖哄煙鐨勯珮*/
+
+
+ }
+
+ public static class NET_DVR_COLOR extends Structure {
+ public byte byBrightness; /*浜害,0-255*/
+ public byte byContrast; /*瀵规瘮搴,0-255*/
+ public byte bySaturation; /*楗卞拰搴,0-255*/
+ public byte byHue; /*鑹茶皟,0-255*/
+
+
+ }
+
+ public static class NET_DVR_VICOLOR extends Structure {
+ public NET_DVR_COLOR[] struColor = new NET_DVR_COLOR[MAX_TIMESEGMENT_V30];/*鍥捐薄鍙傛暟(绗竴涓湁鏁堬紝鍏朵粬涓変釜淇濈暀)*/
+ public NET_DVR_SCHEDTIME[] struHandleTime = new NET_DVR_SCHEDTIME[MAX_TIMESEGMENT_V30];/*澶勭悊鏃堕棿娈(淇濈暀)*/
+
+
+ }
+
+ //淇″彿涓㈠け
+ public static class NET_DVR_VILOST_V40 extends Structure {
+ public int dwEnableVILostAlarm; /* 鏄惁鍚姩淇″彿涓㈠け鎶ヨ ,0-鍚,1-鏄*/
+ /* 淇″彿涓㈠け瑙﹀彂鎶ヨ杈撳嚭 */
+ public int dwHandleType; //寮傚父澶勭悊,寮傚父澶勭悊鏂瑰紡鐨"鎴"缁撴灉
+ /*0x00: 鏃犲搷搴*/
+ /*0x01: 甯冮槻鍣ㄤ笂璀﹀憡*/
+ /*0x02: 澹伴煶璀﹀憡*/
+ /*0x04: 涓婁紶涓績*/
+ /*0x08: 瑙﹀彂鎶ヨ杈撳嚭*/
+ /*0x10: 瑙﹀彂JPRG鎶撳浘骞朵笂浼燛mail*/
+ /*0x20: 鏃犵嚎澹板厜鎶ヨ鍣ㄨ仈鍔*/
+ /*0x40: 鑱斿姩鐢靛瓙鍦板浘(鐩墠鍙湁PCNVR鏀寔)*/
+ /*0x200: 鎶撳浘骞朵笂浼燜TP*/
+ /*0x1000:鎶撳浘涓婁紶鍒颁簯*/
+ public int dwMaxRelAlarmOutChanNum; //瑙﹀彂鐨勬姤璀﹁緭鍑洪氶亾鏁帮紙鍙锛夋渶澶ф敮鎸佹暟閲
+ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; /*瑙﹀彂鎶ヨ杈撳嚭鍙凤紝鎸夊艰〃绀,閲囩敤绱у噾鍨嬫帓鍒楋紝浠庝笅鏍0 - dwRelAlarmOut -1鏈夋晥锛屽鏋滀腑闂撮亣鍒0xffffffff,鍒欏悗缁棤鏁*/
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*甯冮槻鏃堕棿*/
+ public byte byVILostAlarmThreshold; /*淇″彿涓㈠け鎶ヨ闃堝硷紝褰撳间綆浜庨槇鍊硷紝璁や负淇″彿涓㈠け锛屽彇鍊0-99*/
+ public byte[] byRes = new byte[63]; //淇濈暀
+
+
+ }
+
+ public static class NET_DVR_DNMODE extends Structure {
+ public byte byObjectSize;//鍗犳瘮鍙傛暟(0~100)
+ public byte byMotionSensitive; /*绉诲姩渚︽祴鐏垫晱搴, 0 - 5,瓒婇珮瓒婄伒鏁,0xff鍏抽棴*/
+ public byte[] byRes = new byte[6];
+
+
+ }
+
+ public static class NET_DVR_MOTION_MULTI_AREAPARAM extends Structure {
+ public byte byAreaNo;//鍖哄煙缂栧彿(IPC- 1~8)
+ public byte[] byRes = new byte[3];
+ public NET_VCA_RECT struRect = new NET_VCA_RECT();//鍗曚釜鍖哄煙鐨勫潗鏍囦俊鎭(鐭╁舰) size = 16;
+ public NET_DVR_DNMODE struDayNightDisable = new NET_DVR_DNMODE();//鍏抽棴妯″紡
+ public NET_DVR_DNMODE struDayModeParam = new NET_DVR_DNMODE();//鐧藉ぉ妯″紡
+ public NET_DVR_DNMODE struNightModeParam = new NET_DVR_DNMODE();//澶滄櫄妯″紡
+ public byte[] byRes1 = new byte[8];
+
+
+ }
+
+ public static final int MAX_MULTI_AREA_NUM = 24;
+
+ public static class NET_DVR_MOTION_MULTI_AREA extends Structure {
+ public byte byDayNightCtrl;//鏃ュ鎺у埗 0~鍏抽棴,1~鑷姩鍒囨崲,2~瀹氭椂鍒囨崲(榛樿鍏抽棴)
+ public byte byAllMotionSensitive; /*绉诲姩渚︽祴鐏垫晱搴, 0 - 5,瓒婇珮瓒婄伒鏁,0xff鍏抽棴锛屽叏閮ㄥ尯鍩熺殑鐏垫晱搴﹁寖鍥*/
+ public byte[] byRes = new byte[2];//
+ public NET_DVR_SCHEDULE_DAYTIME struScheduleTime = new NET_DVR_SCHEDULE_DAYTIME();//鍒囨崲鏃堕棿 16
+ public NET_DVR_MOTION_MULTI_AREAPARAM[] struMotionMultiAreaParam = new NET_DVR_MOTION_MULTI_AREAPARAM[MAX_MULTI_AREA_NUM];//鏈澶ф敮鎸24涓尯鍩
+ public byte[] byRes1 = new byte[60];
+
+
+ }
+
+ public static class NET_DVR_MOTION_SINGLE_AREA extends Structure {
+ public byte[] byMotionScope = new byte[64 * 96]; /*渚︽祴鍖哄煙,0-96浣,琛ㄧず64琛,鍏辨湁96*64涓皬瀹忓潡,鐩墠鏈夋晥鐨勬槸22*18,涓1琛ㄧず鏄Щ鍔ㄤ睛娴嬪尯鍩,0-琛ㄧず涓嶆槸*/
+ public byte byMotionSensitive; /*绉诲姩渚︽祴鐏垫晱搴, 0 - 5,瓒婇珮瓒婄伒鏁,0xff鍏抽棴*/
+ public byte[] byRes = new byte[3];
+
+
+ }
+
+ public static class NET_DVR_MOTION_MODE_PARAM extends Structure {
+ public NET_DVR_MOTION_SINGLE_AREA struMotionSingleArea = new NET_DVR_MOTION_SINGLE_AREA(); //鏅氭ā寮忎笅鐨勫崟鍖哄煙璁
+ public NET_DVR_MOTION_MULTI_AREA struMotionMultiArea = new NET_DVR_MOTION_MULTI_AREA(); //涓撳妯″紡涓嬬殑澶氬尯鍩熻缃
+
+
+ }
+
+ public static class NET_DVR_MOTION_V40 extends Structure {
+ public NET_DVR_MOTION_MODE_PARAM struMotionMode = new NET_DVR_MOTION_MODE_PARAM(); //(5.1.0鏂板)
+ public byte byEnableHandleMotion; /* 鏄惁澶勭悊绉诲姩渚︽祴 0锛嶅惁 1锛嶆槸*/
+ public byte byEnableDisplay; /*鍚敤绉诲姩渚︽祴楂樹寒鏄剧ず锛0-鍚︼紝1-鏄*/
+ public byte byConfigurationMode; //0~鏅,1~涓撳(5.1.0鏂板)
+ public byte byKeyingEnable; //鍚敤閿帶绉诲姩渚︽祴 0-涓嶅惎鐢紝1-鍚敤
+ /* 寮傚父澶勭悊鏂瑰紡 */
+ public int dwHandleType; //寮傚父澶勭悊,寮傚父澶勭悊鏂瑰紡鐨"鎴"缁撴灉
+ /*0x00: 鏃犲搷搴*/
+ /*0x01: 甯冮槻鍣ㄤ笂璀﹀憡*/
+ /*0x02: 澹伴煶璀﹀憡*/
+ /*0x04: 涓婁紶涓績*/
+ /*0x08: 瑙﹀彂鎶ヨ杈撳嚭*/
+ /*0x10: 瑙﹀彂JPRG鎶撳浘骞朵笂浼燛mail*/
+ /*0x20: 鏃犵嚎澹板厜鎶ヨ鍣ㄨ仈鍔*/
+ /*0x40: 鑱斿姩鐢靛瓙鍦板浘(鐩墠鍙湁PCNVR鏀寔)*/
+ /*0x200: 鎶撳浘骞朵笂浼燜TP*/
+ /*0x1000: 鎶撳浘涓婁紶鍒颁簯*/
+ public int dwMaxRelAlarmOutChanNum; //瑙﹀彂鐨勬姤璀﹁緭鍑洪氶亾鏁帮紙鍙锛夋渶澶ф敮鎸佹暟閲
+ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; //瀹為檯瑙﹀彂鐨勬姤璀﹁緭鍑哄彿锛屾寜鍊艰〃绀,閲囩敤绱у噾鍨嬫帓鍒楋紝浠庝笅鏍0 - dwRelAlarmOut -1鏈夋晥锛屽鏋滀腑闂撮亣鍒0xffffffff,鍒欏悗缁棤鏁
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*甯冮槻鏃堕棿*/
+ /*瑙﹀彂鐨勫綍鍍忛氶亾*/
+ public int dwMaxRecordChanNum; //璁惧鏀寔鐨勬渶澶у叧鑱斿綍鍍忛氶亾鏁-鍙
+ public int[] dwRelRecordChan = new int[MAX_CHANNUM_V40]; /* 瀹為檯瑙﹀彂褰曞儚閫氶亾锛屾寜鍊艰〃绀,閲囩敤绱у噾鍨嬫帓鍒楋紝浠庝笅鏍0 - dwRelRecordChan -1鏈夋晥锛屽鏋滀腑闂撮亣鍒0xffffffff,鍒欏悗缁棤鏁*/
+ public byte byDiscardFalseAlarm; //鍚敤鍘昏鎶 0-鏃犳晥锛1-涓嶅惎鐢紝2-鍚敤
+ public byte[] byRes = new byte[127]; //淇濈暀瀛楄妭
+
+
+ }
+
+ public static class NET_DVR_RGB_COLOR extends Structure {
+ public byte byRed; //RGB棰滆壊涓夊垎閲忎腑鐨勭孩鑹
+ public byte byGreen; //RGB棰滆壊涓夊垎閲忎腑鐨勭豢鑹
+ public byte byBlue; //RGB棰滆壊涓夊垎閲忎腑鐨勮摑鑹
+ public byte byRes; //淇濈暀
+
+
+ }
+
+ public static class NET_DVR_HIDEALARM_V40 extends Structure {
+ public int dwEnableHideAlarm; /* 鏄惁鍚姩閬尅鎶ヨ锛0-鍚︼紝1-浣庣伒鏁忓害锛2-涓伒鏁忓害锛3-楂樼伒鏁忓害*/
+ public short wHideAlarmAreaTopLeftX; /* 閬尅鍖哄煙鐨剎鍧愭爣 */
+ public short wHideAlarmAreaTopLeftY; /* 閬尅鍖哄煙鐨剏鍧愭爣 */
+ public short wHideAlarmAreaWidth; /* 閬尅鍖哄煙鐨勫 */
+ public short wHideAlarmAreaHeight; /*閬尅鍖哄煙鐨勯珮*/
+ /* 淇″彿涓㈠け瑙﹀彂鎶ヨ杈撳嚭 */
+ public int dwHandleType; //寮傚父澶勭悊,寮傚父澶勭悊鏂瑰紡鐨"鎴"缁撴灉
+ /*0x00: 鏃犲搷搴*/
+ /*0x01: 甯冮槻鍣ㄤ笂璀﹀憡*/
+ /*0x02: 澹伴煶璀﹀憡*/
+ /*0x04: 涓婁紶涓績*/
+ /*0x08: 瑙﹀彂鎶ヨ杈撳嚭*/
+ /*0x10: 瑙﹀彂JPRG鎶撳浘骞朵笂浼燛mail*/
+ /*0x20: 鏃犵嚎澹板厜鎶ヨ鍣ㄨ仈鍔*/
+ /*0x40: 鑱斿姩鐢靛瓙鍦板浘(鐩墠鍙湁PCNVR鏀寔)*/
+ /*0x200: 鎶撳浘骞朵笂浼燜TP*/
+ /*0x1000:鎶撳浘涓婁紶鍒颁簯*/
+ public int dwMaxRelAlarmOutChanNum; //瑙﹀彂鐨勬姤璀﹁緭鍑洪氶亾鏁帮紙鍙锛夋渶澶ф敮鎸佹暟閲
+ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; /*瑙﹀彂鎶ヨ杈撳嚭鍙凤紝鎸夊艰〃绀,閲囩敤绱у噾鍨嬫帓鍒楋紝浠庝笅鏍0 - dwRelAlarmOut -1鏈夋晥锛屽鏋滀腑闂撮亣鍒0xffffffff,鍒欏悗缁棤鏁*/
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; /*甯冮槻鏃堕棿*/
+ public byte[] byRes = new byte[64]; //淇濈暀
+
+
+ }//閬尅鎶ヨ
+
+ public static class NET_DVR_PICCFG_V40 extends Structure {
+ public int dwSize;
+ public byte[] sChanName = new byte[NAME_LEN];
+ public int dwVideoFormat; /* 鍙 瑙嗛鍒跺紡 1-NTSC 2-PAL */
+ public NET_DVR_VICOLOR struViColor = new NET_DVR_VICOLOR();// 鍥惧儚鍙傛暟鎸夋椂闂存璁剧疆
+ //鏄剧ず閫氶亾鍚
+ public int dwShowChanName; // 棰勮鐨勫浘璞′笂鏄惁鏄剧ず閫氶亾鍚嶇О,0-涓嶆樉绀,1-鏄剧ず
+ public short wShowNameTopLeftX; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剎鍧愭爣 */
+ public short wShowNameTopLeftY; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剏鍧愭爣 */
+ //闅愮閬尅
+ public int dwEnableHide; /* 鏄惁鍚姩閬尅 ,0-鍚,1-鏄*/
+ public NET_DVR_SHELTER[] struShelter = new NET_DVR_SHELTER[MAX_SHELTERNUM];
+ //OSD
+ public int dwShowOsd;// 棰勮鐨勫浘璞′笂鏄惁鏄剧ずOSD,0-涓嶆樉绀,1-鏄剧ず
+ public short wOSDTopLeftX; /* OSD鐨剎鍧愭爣 */
+ public short wOSDTopLeftY; /* OSD鐨剏鍧愭爣 */
+ public byte byOSDType; /* OSD绫诲瀷(涓昏鏄勾鏈堟棩鏍煎紡) */
+ /* 0: XXXX-XX-XX 骞存湀鏃 */
+ /* 1: XX-XX-XXXX 鏈堟棩骞 */
+ /* 2: XXXX骞碭X鏈圶X鏃 */
+ /* 3: XX鏈圶X鏃XXX骞 */
+ /* 4: XX-XX-XXXX 鏃ユ湀骞*/
+ /* 5: XX鏃X鏈圶XXX骞 */
+ /*6: xx/xx/xxxx(鏈/鏃/骞) */
+ /*7: xxxx/xx/xx(骞/鏈/鏃) */
+ /*8: xx/xx/xxxx(鏃/鏈/骞)*/
+ public byte byDispWeek; /* 鏄惁鏄剧ず鏄熸湡 */
+ public byte byOSDAttrib; /* OSD灞炴:閫忔槑锛岄棯鐑 */
+ /* 0: 涓嶆樉绀篛SD */
+ /* 1: 閫忔槑锛岄棯鐑 */
+ /* 2: 閫忔槑锛屼笉闂儊 */
+ /* 3: 涓嶉忔槑锛岄棯鐑 */
+ /* 4: 涓嶉忔槑锛屼笉闂儊 */
+ public byte byHourOSDType; /* OSD灏忔椂鍒:0-24灏忔椂鍒,1-12灏忔椂鍒 */
+ public byte byFontSize; //16*16(涓)/8*16(鑻)锛1-32*32(涓)/16*32(鑻)锛2-64*64(涓)/32*64(鑻) 3-48*48(涓)/24*48(鑻) 4-24*24(涓)/12*24(鑻) 5-96*96(涓)/48*96(鑻) 6-128*128(涓)/64*128(鑻) 7-80*80(涓)/40*80(鑻) 8-112*112(涓)/56*112(鑻) 0xff-鑷傚簲(adaptive)
+ public byte byOSDColorType; //0-榛樿锛堥粦鐧斤級锛1-鑷畾涔
+ public byte byAlignment;//瀵归綈鏂瑰紡 0-鑷傚簲锛1-鍙冲榻, 2-宸﹀榻愶紝3-鍥芥爣妯″紡锛4-鍏ㄩ儴鍙冲榻(鍖呭惈鍙犲姞瀛楃銆佹椂闂翠互鍙婃爣棰樼瓑鎵鏈塐SD瀛楃)锛5-鍏ㄩ儴宸﹀榻(鍖呭惈鍙犲姞瀛楃銆佹椂闂翠互鍙婃爣棰樼瓑鎵鏈塐SD瀛楃)
+ public byte byOSDMilliSecondEnable;//瑙嗛鍙犲姞鏃堕棿鏀寔姣锛0~涓嶅彔鍔, 1-鍙犲姞
+ public NET_DVR_VILOST_V40 struVILost = new NET_DVR_VILOST_V40(); //瑙嗛淇″彿涓㈠け鎶ヨ锛堟敮鎸佺粍锛
+ public NET_DVR_VILOST_V40 struAULost = new NET_DVR_VILOST_V40(); /*闊抽淇″彿涓㈠け鎶ヨ锛堟敮鎸佺粍锛*/
+ public NET_DVR_MOTION_V40 struMotion = new NET_DVR_MOTION_V40(); //绉诲姩渚︽祴鎶ヨ锛堟敮鎸佺粍锛
+ public NET_DVR_HIDEALARM_V40 struHideAlarm = new NET_DVR_HIDEALARM_V40(); //閬尅鎶ヨ锛堟敮鎸佺粍锛
+ public NET_DVR_RGB_COLOR struOsdColor = new NET_DVR_RGB_COLOR();//OSD棰滆壊
+ public int dwBoundary; //杈圭晫鍊硷紝宸﹀榻愶紝鍙冲榻愪互鍙婂浗鏍囨ā寮忕殑杈圭晫鍊硷紝0-琛ㄧず榛樿鍊硷紝鍗曚綅锛氬儚绱;鍦ㄥ浗鏍囨ā寮忎笅锛屽崟浣嶄慨鏀逛负瀛楃涓暟锛堣寖鍥存槸锛0,1,2锛
+ public NET_DVR_RGB_COLOR struOsdBkColor = new NET_DVR_RGB_COLOR(); //鑷畾涔塐SD鑳屾櫙鑹
+ public byte byOSDBkColorMode; //OSD鑳屾櫙鑹叉ā寮忥紝0-榛樿锛1-鑷畾涔塐SD鑳屾櫙鑹
+ public byte byUpDownBoundary; //涓婁笅鏈灏忚竟鐣屽奸夐」锛屽崟浣嶄负瀛楃涓暟锛堣寖鍥存槸锛0,1,2锛,鍥芥爣妯″紡涓嬫棤鏁堛俠yAlignment=3璇ュ瓧娈垫棤鏁堬紝閫氳繃dwBoundary杩涜杈圭晫閰嶇疆锛.byAlignment涓嶇瓑浜3鐨勬儏鍐典笅锛 byUpDownBoundary/byLeftRightBoundary閰嶇疆鎴愬姛鍚庯紝dwBoundary鍊煎皢涓嶇敓鏁
+ public byte byLeftRightBoundary; //宸﹀彸鏈灏忚竟鐣屽奸夐」锛屽崟浣嶄负瀛楃涓暟锛堣寖鍥存槸锛0,1,2锛, 鍥芥爣妯″紡涓嬫棤鏁堛俠yAlignment=3璇ュ瓧娈垫棤鏁堬紝閫氳繃dwBoundary杩涜杈圭晫閰嶇疆锛.byAlignment涓嶇瓑浜3鐨勬儏鍐典笅锛 byUpDownBoundary/byLeftRightBoundary閰嶇疆鎴愬姛鍚庯紝dwBoundary鍊煎皢涓嶇敓鏁
+ public byte[] byRes = new byte[113];
+
+
+ }
+
+ public static class NET_DVR_PICCFG_V30 extends Structure {
+ public int dwSize;
+ public byte[] sChanName = new byte[NAME_LEN];
+ public int dwVideoFormat; /* 鍙 瑙嗛鍒跺紡 1-NTSC 2-PAL*/
+ public NET_DVR_VICOLOR struViColor; // 鍥惧儚鍙傛暟鎸夋椂闂存璁剧疆
+ public int dwShowChanName; // 棰勮鐨勫浘璞′笂鏄惁鏄剧ず閫氶亾鍚嶇О,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576
+ public short wShowNameTopLeftX; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剎鍧愭爣 */
+ public short wShowNameTopLeftY; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剏鍧愭爣 */
+ public NET_DVR_VILOST_V30 struVILost; //瑙嗛淇″彿涓㈠け鎶ヨ
+ public NET_DVR_VILOST_V30 struAULost; /*闊抽淇″彿涓㈠け鎶ヨ(淇濈暀)*/
+ public NET_DVR_MOTION_V30 struMotion; //绉诲姩渚︽祴
+ public NET_DVR_HIDEALARM_V30 struHideAlarm;//閬尅鎶ヨ
+ public int dwEnableHide; /* 鏄惁鍚姩閬洊(鍖哄煙澶у皬704*576) ,0-鍚,1-鏄*/
+ public NET_DVR_SHELTER[] struShelter = new NET_DVR_SHELTER[4];
+ public int dwShowOsd; //棰勮鐨勫浘璞′笂鏄惁鏄剧ずOSD,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576
+ public short wOSDTopLeftX; /* OSD鐨剎鍧愭爣 */
+ public short wOSDTopLeftY; /* OSD鐨剏鍧愭爣 */
+ public byte byOSDType; /* OSD绫诲瀷(涓昏鏄勾鏈堟棩鏍煎紡) */
+ public byte byDispWeek; /* 鏄惁鏄剧ず鏄熸湡 */
+ public byte byOSDAttrib; /* OSD灞炴:閫忔槑锛岄棯鐑 */
+ public byte byHourOSDType; /* OSD灏忔椂鍒:0-24灏忔椂鍒,1-12灏忔椂鍒 */
+ public byte[] byRes = new byte[64];
+
+
+ }
+
+ public static class NET_DVR_PICCFG_EX extends Structure {//閫氶亾鍥捐薄缁撴瀯SDK_V14鎵╁睍
+ public int dwSize;
+ public byte[] sChanName = new byte[NAME_LEN];
+ public int dwVideoFormat; /* 鍙 瑙嗛鍒跺紡 1-NTSC 2-PAL*/
+ public byte byBrightness; /*浜害,0-255*/
+ public byte byContrast; /*瀵规瘮搴,0-255*/
+ public byte bySaturation; /*楗卞拰搴,0-255 */
+ public byte byHue; /*鑹茶皟,0-255*/
+ //鏄剧ず閫氶亾鍚
+ public int dwShowChanName; // 棰勮鐨勫浘璞′笂鏄惁鏄剧ず閫氶亾鍚嶇О,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576
+ public short wShowNameTopLeftX; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剎鍧愭爣 */
+ public short wShowNameTopLeftY; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剏鍧愭爣 */
+ //淇″彿涓㈠け鎶ヨ
+ public NET_DVR_VILOST struVILost;
+ //绉诲姩渚︽祴
+ public NET_DVR_MOTION struMotion;
+ //閬尅鎶ヨ
+ public NET_DVR_HIDEALARM struHideAlarm;
+ //閬尅 鍖哄煙澶у皬704*576
+ public int dwEnableHide; /* 鏄惁鍚姩閬尅 ,0-鍚,1-鏄*/
+ public NET_DVR_SHELTER[] struShelter = new NET_DVR_SHELTER[MAX_SHELTERNUM];
+ //OSD
+ public int dwShowOsd;// 棰勮鐨勫浘璞′笂鏄惁鏄剧ずOSD,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576
+ public short wOSDTopLeftX; /* OSD鐨剎鍧愭爣 */
+ public short wOSDTopLeftY; /* OSD鐨剏鍧愭爣 */
+ public byte byOSDType; /* OSD绫诲瀷(涓昏鏄勾鏈堟棩鏍煎紡) */
+ /* 0: XXXX-XX-XX 骞存湀鏃 */
+ /* 1: XX-XX-XXXX 鏈堟棩骞 */
+ /* 2: XXXX骞碭X鏈圶X鏃 */
+ /* 3: XX鏈圶X鏃XXX骞 */
+ /* 4: XX-XX-XXXX 鏃ユ湀骞*/
+ /* 5: XX鏃X鏈圶XXX骞 */
+ public byte byDispWeek; /* 鏄惁鏄剧ず鏄熸湡 */
+ public byte byOSDAttrib; /* OSD灞炴:閫忔槑锛岄棯鐑 */
+ /* 0: 涓嶆樉绀篛SD */
+ /* 1: 閫忔槑,闂儊 */
+ /* 2: 閫忔槑,涓嶉棯鐑 */
+ /* 3: 闂儊,涓嶉忔槑 */
+ /* 4: 涓嶉忔槑,涓嶉棯鐑 */
+ public byte byHourOsdType; //灏忔椂鍒讹細0琛ㄧず24灏忔椂鍒讹紝1-12灏忔椂鍒舵垨am/pm
+
+
+ }
+
+
+ public static class NET_DVR_PICCFG extends Structure { //閫氶亾鍥捐薄缁撴瀯(SDK_V13鍙婁箣鍓嶇増鏈)
+ public int dwSize;
+ public byte[] sChanName = new byte[NAME_LEN];
+ public int dwVideoFormat; /* 鍙 瑙嗛鍒跺紡 1-NTSC 2-PAL*/
+ public byte byBrightness; /*浜害,0-255*/
+ public byte byContrast; /*瀵规瘮搴,0-255*/
+ public byte bySaturation; /*楗卞拰搴,0-255 */
+ public byte byHue; /*鑹茶皟,0-255*/
+ //鏄剧ず閫氶亾鍚
+ public int dwShowChanName; // 棰勮鐨勫浘璞′笂鏄惁鏄剧ず閫氶亾鍚嶇О,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576
+ public short wShowNameTopLeftX; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剎鍧愭爣 */
+ public short wShowNameTopLeftY; /* 閫氶亾鍚嶇О鏄剧ず浣嶇疆鐨剏鍧愭爣 */
+ //淇″彿涓㈠け鎶ヨ
+ public NET_DVR_VILOST struVILost;
+ //绉诲姩渚︽祴
+ public NET_DVR_MOTION struMotion;
+ //閬尅鎶ヨ
+ public NET_DVR_HIDEALARM struHideAlarm;
+ //閬尅 鍖哄煙澶у皬704*576
+ public int dwEnableHide; /* 鏄惁鍚姩閬尅 ,0-鍚,1-鏄*/
+ public short wHideAreaTopLeftX; /* 閬尅鍖哄煙鐨剎鍧愭爣 */
+ public short wHideAreaTopLeftY; /* 閬尅鍖哄煙鐨剏鍧愭爣 */
+ public short wHideAreaWidth; /* 閬尅鍖哄煙鐨勫 */
+ public short wHideAreaHeight; /*閬尅鍖哄煙鐨勯珮*/
+ //OSD
+ public int dwShowOsd;// 棰勮鐨勫浘璞′笂鏄惁鏄剧ずOSD,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576
+ public short wOSDTopLeftX; /* OSD鐨剎鍧愭爣 */
+ public short wOSDTopLeftY; /* OSD鐨剏鍧愭爣 */
+ public byte byOSDType; /* OSD绫诲瀷(涓昏鏄勾鏈堟棩鏍煎紡) */
+ /* 0: XXXX-XX-XX 骞存湀鏃 */
+ /* 1: XX-XX-XXXX 鏈堟棩骞 */
+ /* 2: XXXX骞碭X鏈圶X鏃 */
+ /* 3: XX鏈圶X鏃XXX骞 */
+ /* 4: XX-XX-XXXX 鏃ユ湀骞*/
+ /* 5: XX鏃X鏈圶XXX骞 */
+ byte byDispWeek; /* 鏄惁鏄剧ず鏄熸湡 */
+ byte byOSDAttrib; /* OSD灞炴:閫忔槑锛岄棯鐑 */
+ /* 0: 涓嶆樉绀篛SD */
+ /* 1: 閫忔槑,闂儊 */
+ /* 2: 閫忔槑,涓嶉棯鐑 */
+ /* 3: 闂儊,涓嶉忔槑 */
+ /* 4: 涓嶉忔槑,涓嶉棯鐑 */
+ public byte reservedData2;
+
+
+ }
+
+ public static class NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND extends Structure {
+ public int dwSize;
+ public NET_DVR_STREAM_INFO struStreamInfo = new NET_DVR_STREAM_INFO();
+ public int dwStreamType;
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_MULTI_STREAM_COMPRESSIONCFG extends Structure {
+ public int dwSize;
+ public int dwStreamType;
+ public NET_DVR_COMPRESSION_INFO_V30 struStreamPara = new NET_DVR_COMPRESSION_INFO_V30();
+ public byte[] byRes = new byte[80];
+ }
+
+ //鐮佹祦鍘嬬缉鍙傛暟(瀛愮粨鏋)(9000鎵╁睍)
+ public static class NET_DVR_COMPRESSION_INFO_V30 extends Structure {
+ public byte byStreamType; //鐮佹祦绫诲瀷 0-瑙嗛娴, 1-澶嶅悎娴
+ public byte byResolution; //鍒嗚鲸鐜0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5锛堜繚鐣欙級16-VGA锛640*480锛 17-UXGA锛1600*1200锛 18-SVGA 锛800*600锛19-HD720p锛1280*720锛20-XVGA 21-HD900p
+ public byte byBitrateType; //鐮佺巼绫诲瀷 0:瀹氱爜鐜囷紝1:鍙樼爜鐜
+ public byte byPicQuality; //鍥捐薄璐ㄩ噺 0-鏈濂 1-娆″ソ 2-杈冨ソ 3-涓鑸 4-杈冨樊 5-宸
+ public int dwVideoBitrate; //瑙嗛鐮佺巼 0-淇濈暀 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048鏈楂樹綅(31浣)缃垚1琛ㄧず鏄嚜瀹氫箟鐮佹祦, 0-30浣嶈〃绀虹爜娴佸笺
+ public int dwVideoFrameRate; //甯х巼 0-鍏ㄩ儴; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; V2.0鐗堟湰涓柊鍔14-15; 15-18; 16-22;
+ public short wIntervalFrameI; //I甯ч棿闅
+ public byte byIntervalBPFrame;//0-BBP甯; 1-BP甯; 2-鍗昉甯
+ public byte byENumber; //E甯ф暟閲忥紙淇濈暀锛
+ public byte byVideoEncType;//瑙嗛缂栫爜绫诲瀷 0 hik264;1鏍囧噯h264; 2鏍囧噯mpeg4;
+ public byte byAudioEncType;//闊抽缂栫爜绫诲瀷 0 G722
+ public byte[] byres = new byte[10];
+
+
+ }
+
+ //閫氶亾鍘嬬缉鍙傛暟(9000鎵╁睍)
+ public static class NET_DVR_COMPRESSIONCFG_V30 extends Structure {
+ public int dwSize;
+ public NET_DVR_COMPRESSION_INFO_V30 struNormHighRecordPara; //褰曞儚 瀵瑰簲8000鐨勬櫘閫
+ public NET_DVR_COMPRESSION_INFO_V30 struRes; //淇濈暀 String[28];
+ public NET_DVR_COMPRESSION_INFO_V30 struEventRecordPara; //浜嬩欢瑙﹀彂鍘嬬缉鍙傛暟
+ public NET_DVR_COMPRESSION_INFO_V30 struNetPara; //缃戜紶(瀛愮爜娴)
+
+
+ }
+
+
+ public static class NET_DVR_COMPRESSION_INFO extends Structure {//鐮佹祦鍘嬬缉鍙傛暟(瀛愮粨鏋)
+ public byte byStreamType; //鐮佹祦绫诲瀷0-瑙嗛娴,1-澶嶅悎娴,琛ㄧず鍘嬬缉鍙傛暟鏃舵渶楂樹綅琛ㄧず鏄惁鍚敤鍘嬬缉鍙傛暟
+ public byte byResolution; //鍒嗚鲸鐜0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(杞﹁浇涓撶敤)
+ public byte byBitrateType; //鐮佺巼绫诲瀷0:鍙樼爜鐜囷紝1:瀹氱爜鐜
+ public byte byPicQuality; //鍥捐薄璐ㄩ噺 0-鏈濂 1-娆″ソ 2-杈冨ソ 3-涓鑸 4-杈冨樊 5-宸
+ public int dwVideoBitrate; //瑙嗛鐮佺巼 0-淇濈暀 1-16K(淇濈暀) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
+ // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
+ //鏈楂樹綅(31浣)缃垚1琛ㄧず鏄嚜瀹氫箟鐮佹祦, 0-30浣嶈〃绀虹爜娴佸(MIN-32K MAX-8192K)銆
+ public int dwVideoFrameRate; //甯х巼 0-鍏ㄩ儴; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20;
+
+
+ }
+
+ public static class NET_DVR_COMPRESSIONCFG extends Structure {//閫氶亾鍘嬬缉鍙傛暟
+ public int dwSize;
+ public NET_DVR_COMPRESSION_INFO struRecordPara; //褰曞儚/浜嬩欢瑙﹀彂褰曞儚
+ public NET_DVR_COMPRESSION_INFO struNetPara; //缃戜紶/淇濈暀
+
+
+ }
+
+
+ public static class NET_DVR_COMPRESSION_INFO_EX extends Structure {//鐮佹祦鍘嬬缉鍙傛暟(瀛愮粨鏋)(鎵╁睍) 澧炲姞I甯ч棿闅
+ public byte byStreamType; //鐮佹祦绫诲瀷0-瑙嗛娴, 1-澶嶅悎娴
+ public byte byResolution; //鍒嗚鲸鐜0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(杞﹁浇涓撶敤)
+ public byte byBitrateType; //鐮佺巼绫诲瀷0:鍙樼爜鐜囷紝1:瀹氱爜鐜
+ public byte byPicQuality; //鍥捐薄璐ㄩ噺 0-鏈濂 1-娆″ソ 2-杈冨ソ 3-涓鑸 4-杈冨樊 5-宸
+ public int dwVideoBitrate; //瑙嗛鐮佺巼 0-淇濈暀 1-16K(淇濈暀) 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
+ // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K
+ //鏈楂樹綅(31浣)缃垚1琛ㄧず鏄嚜瀹氫箟鐮佹祦, 0-30浣嶈〃绀虹爜娴佸(MIN-32K MAX-8192K)銆
+ public int dwVideoFrameRate; //甯х巼 0-鍏ㄩ儴; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.0澧炲姞14-15, 15-18, 16-22;
+ public short wIntervalFrameI; //I甯ч棿闅
+ //2006-08-11 澧炲姞鍗昉甯х殑閰嶇疆鎺ュ彛锛屽彲浠ユ敼鍠勫疄鏃舵祦寤舵椂闂
+ public byte byIntervalBPFrame;//0-BBP甯; 1-BP甯; 2-鍗昉甯
+ public byte byENumber;//E甯ф暟閲
+
+
+ }
+
+ public static class NET_DVR_RECORDSCHED extends Structure //鏃堕棿娈靛綍鍍忓弬鏁伴厤缃(瀛愮粨鏋)
+ {
+ public NET_DVR_SCHEDTIME struRecordTime = new NET_DVR_SCHEDTIME();
+ public byte byRecordType; //0:瀹氭椂褰曞儚锛1:绉诲姩渚︽祴锛2:鎶ヨ褰曞儚锛3:鍔ㄦ祴|鎶ヨ锛4:鍔ㄦ祴&鎶ヨ, 5:鍛戒护瑙﹀彂, 6: 鏅鸿兘褰曞儚
+ public byte[] reservedData = new byte[3];
+
+
+ }
+
+ public static class NET_DVR_RECORDDAY extends Structure //鍏ㄥぉ褰曞儚鍙傛暟閰嶇疆(瀛愮粨鏋)
+ {
+ public short wAllDayRecord; /* 鏄惁鍏ㄥぉ褰曞儚 0-鍚 1-鏄*/
+ public byte byRecordType; /* 褰曡薄绫诲瀷 0:瀹氭椂褰曞儚锛1:绉诲姩渚︽祴锛2:鎶ヨ褰曞儚锛3:鍔ㄦ祴|鎶ヨ锛4:鍔ㄦ祴&鎶ヨ 5:鍛戒护瑙﹀彂, 6: 鏅鸿兘褰曞儚*/
+ public byte reservedData;
+
+
+ }
+
+ public static class NET_DVR_RECORDSCHEDWEEK extends Structure {
+ public NET_DVR_RECORDSCHED[] struRecordSched = new NET_DVR_RECORDSCHED[MAX_TIMESEGMENT_V30];
+
+
+ }
+
+ public static class NET_DVR_RECORD_V30 extends Structure { //閫氶亾褰曞儚鍙傛暟閰嶇疆(9000鎵╁睍)
+ public int dwSize;
+ public int dwRecord; /*鏄惁褰曞儚 0-鍚 1-鏄*/
+ public NET_DVR_RECORDDAY[] struRecAllDay = new NET_DVR_RECORDDAY[MAX_DAYS];
+ public NET_DVR_RECORDSCHEDWEEK[] struRecordSched = new NET_DVR_RECORDSCHEDWEEK[MAX_DAYS];
+ public int dwRecordTime; /* 褰曡薄寤舵椂闀垮害 0-5绉掞紝 1-20绉掞紝 2-30绉掞紝 3-1鍒嗛挓锛 4-2鍒嗛挓锛 5-5鍒嗛挓锛 6-10鍒嗛挓*/
+ public int dwPreRecordTime; /* 棰勫綍鏃堕棿 0-涓嶉褰 1-5绉 2-10绉 3-15绉 4-20绉 5-25绉 6-30绉 7-0xffffffff(灏藉彲鑳介褰) */
+ public int dwRecorderDuration; /* 褰曞儚淇濆瓨鐨勬渶闀挎椂闂 */
+ public byte byRedundancyRec; /*鏄惁鍐椾綑褰曞儚,閲嶈鏁版嵁鍙屽浠斤細0/1*/
+ public byte byAudioRec; /*褰曞儚鏃跺鍚堟祦缂栫爜鏃舵槸鍚﹁褰曢煶棰戞暟鎹細鍥藉鏈夋娉曡*/
+ public byte[] byReserve = new byte[10];
+
+
+ }
+
+ public static class NET_DVR_RECORD extends Structure { //閫氶亾褰曞儚鍙傛暟閰嶇疆
+ public int dwSize;
+ public int dwRecord; /*鏄惁褰曞儚 0-鍚 1-鏄*/
+ public NET_DVR_RECORDDAY[] struRecAllDay = new NET_DVR_RECORDDAY[MAX_DAYS];
+ public NET_DVR_RECORDSCHEDWEEK[] struRecordSched = new NET_DVR_RECORDSCHEDWEEK[MAX_DAYS];
+ public int dwRecordTime; /* 褰曡薄鏃堕棿闀垮害 0-5绉掞紝 1-20绉掞紝 2-30绉掞紝 3-1鍒嗛挓锛 4-2鍒嗛挓锛 5-5鍒嗛挓锛 6-10鍒嗛挓*/
+ public int dwPreRecordTime; /* 棰勫綍鏃堕棿 0-涓嶉褰 1-5绉 2-10绉 3-15绉 4-20绉 5-25绉 6-30绉 7-0xffffffff(灏藉彲鑳介褰) */
+
+
+ }
+
+ public static class NET_DVR_STATFRAME extends Structure { //鍗曞抚缁熻鍙傛暟
+ public int dwRelativeTime;
+ public int dwAbsTime; /*缁熻缁濆鏃舵爣*/
+ public byte[] byRes = new byte[92];
+
+
+ }
+
+ public static class NET_DVR_STATTIME extends Structure { //鍗曞抚缁熻鍙傛暟
+ public NET_DVR_TIME tmStart; //缁熻寮濮嬫椂闂
+ public NET_DVR_TIME tmEnd; //缁熻缁撴潫鏃堕棿
+ public byte[] byRes = new byte[92];
+
+
+ }
+
+ public static class UNION_PDC_STATPARAM extends Union {
+ // public byte[] byLen = new byte[140];
+ public NET_DVR_STATFRAME struStatFrame;
+ public NET_DVR_STATTIME struStatTime;
+
+
+ }
+
+ public static class NET_DVR_PDC_ALRAM_INFO extends Structure { //閫氶亾褰曞儚鍙傛暟閰嶇疆
+ public int dwSize;
+ public byte byMode; /*0-鍗曞抚缁熻缁撴灉锛1-鏈灏忔椂闂存缁熻缁撴灉*/
+ public byte byChannel;
+ public byte bySmart; //涓撲笟鏅鸿兘杩斿洖0锛孲mart 杩斿洖 1
+ public byte byRes1; // 淇濈暀瀛楄妭
+ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //鍓嶇璁惧淇℃伅
+ public UNION_PDC_STATPARAM uStatModeParam = new UNION_PDC_STATPARAM();
+ public int dwLeaveNum; /* 绂诲紑浜烘暟 */
+ public int dwEnterNum; /* 杩涘叆浜烘暟 */
+ public byte byBrokenNetHttp; //鏂綉缁紶鏍囧織浣嶏紝0-涓嶆槸閲嶄紶鏁版嵁锛1-閲嶄紶鏁版嵁
+ public byte byRes3;
+ public short wDevInfoIvmsChannelEx; //涓嶯ET_VCA_DEV_INFO閲岀殑byIvmsChannel鍚箟鐩稿悓锛岃兘琛ㄧず鏇村ぇ鐨勫笺傝佸鎴风鐢╞yIvmsChannel鑳界户缁吋瀹癸紝浣嗘槸鏈澶у埌255銆傛柊瀹㈡埛绔増鏈浣跨敤wDevInfoIvmsChannelEx
+ public int dwPassingNum; // 缁忚繃浜烘暟锛堣繘鍏ュ尯鍩熷悗寰樺緤娌℃湁瑙﹀彂杩涘叆銆佺寮鐨勪汉鏁帮級
+ public int dwChildLeaveNum; // 灏忓绂诲紑浜烘暟
+ public int dwChildEnterNum; // 灏忓杩涘叆浜烘暟
+ public int dwDuplicatePeople; // 閲嶅浜烘暟
+ public int dwXmlLen;//XML閫忎紶鏁版嵁闀垮害, 鍗矱ventNotificationAlert XML Block鐨勬暟鎹暱搴
+ public Pointer pXmlBuf; // XML鎶ヨ淇℃伅鎸囬拡,鍏禭ML瀵瑰簲鍒癊ventNotificationAlert XML Block
+ public byte[] byRes2 = new byte[8];
+ public void read() {
+ super.read();
+ switch (byMode) {
+ case 0:
+ uStatModeParam.setType(NET_DVR_STATFRAME.class);
+ break;
+ case 1:
+ uStatModeParam.setType(NET_DVR_STATTIME.class);
+ break;
+ default:
+ break;
+ }
+ uStatModeParam.read();
+ }
+
+ public void write() {
+ super.write();
+ uStatModeParam.write();
+ }
+
+
+ }
+
+ //浜戝彴鍗忚琛ㄧ粨鏋勯厤缃
+ public static class NET_DVR_PTZ_PROTOCOL extends Structure {
+ public int dwType; /*瑙g爜鍣ㄧ被鍨嬪硷紝浠1寮濮嬭繛缁掑*/
+ public byte[] byDescribe = new byte[DESC_LEN]; /*瑙g爜鍣ㄧ殑鎻忚堪绗︼紝鍜8000涓殑涓鑷*/
+
+
+ }
+
+ public static class NET_DVR_PTZCFG extends Structure {
+ public int dwSize;
+ public NET_DVR_PTZ_PROTOCOL[] struPtz = new NET_DVR_PTZ_PROTOCOL[PTZ_PROTOCOL_NUM];/*鏈澶200涓璓TZ鍗忚*/
+ public int dwPtzNum; /*鏈夋晥鐨刾tz鍗忚鏁扮洰锛屼粠0寮濮(鍗宠绠楁椂鍔1)*/
+ public byte[] byRes = new byte[8];
+
+
+ }
+
+ /***************************
+ * 浜戝彴绫诲瀷(end)
+ ******************************/
+ public static class NET_DVR_DECODERCFG_V30 extends Structure {//閫氶亾瑙g爜鍣(浜戝彴)鍙傛暟閰嶇疆(9000鎵╁睍)
+ public int dwSize;
+ public int dwBaudRate; //娉㈢壒鐜(bps)锛0锛50锛1锛75锛2锛110锛3锛150锛4锛300锛5锛600锛6锛1200锛7锛2400锛8锛4800锛9锛9600锛10锛19200锛 11锛38400锛12锛57600锛13锛76800锛14锛115.2k;
+ public byte byDataBit; // 鏁版嵁鏈夊嚑浣 0锛5浣嶏紝1锛6浣嶏紝2锛7浣嶏紝3锛8浣;
+ public byte byStopBit; // 鍋滄浣 0锛1浣嶏紝1锛2浣;
+ public byte byParity; // 鏍¢獙 0锛嶆棤鏍¢獙锛1锛嶅鏍¢獙锛2锛嶅伓鏍¢獙;
+ public byte byFlowcontrol; // 0锛嶆棤锛1锛嶈蒋娴佹帶,2-纭祦鎺
+ public short wDecoderType; //瑙g爜鍣ㄧ被鍨, 0锛峐ouLi锛1锛峀iLin-1016锛2锛峀iLin-820锛3锛峆elco-p锛4锛岲M DynaColor锛5锛岺D600锛6锛岼C-4116锛7锛峆elco-d WX锛8锛峆elco-d PICO
+ public short wDecoderAddress; /*瑙g爜鍣ㄥ湴鍧:0 - 255*/
+ public byte[] bySetPreset = new byte[MAX_PRESET_V30]; /* 棰勭疆鐐规槸鍚﹁缃,0-娌℃湁璁剧疆,1-璁剧疆*/
+ public byte[] bySetCruise = new byte[MAX_CRUISE_V30]; /* 宸¤埅鏄惁璁剧疆: 0-娌℃湁璁剧疆,1-璁剧疆 */
+ public byte[] bySetTrack = new byte[MAX_TRACK_V30]; /* 鏄惁璁剧疆,0-娌℃湁璁剧疆,1-璁剧疆*/
+
+
+ }
+
+ public static class NET_DVR_DECODERCFG extends Structure {//閫氶亾瑙g爜鍣(浜戝彴)鍙傛暟閰嶇疆
+ public int dwSize;
+ public int dwBaudRate; //娉㈢壒鐜(bps)锛0锛50锛1锛75锛2锛110锛3锛150锛4锛300锛5锛600锛6锛1200锛7锛2400锛8锛4800锛9锛9600锛10锛19200锛 11锛38400锛12锛57600锛13锛76800锛14锛115.2k;
+ public byte byDataBit; // 鏁版嵁鏈夊嚑浣 0锛5浣嶏紝1锛6浣嶏紝2锛7浣嶏紝3锛8浣;
+ public byte byStopBit; // 鍋滄浣 0锛1浣嶏紝1锛2浣;
+ public byte byParity; // 鏍¢獙 0锛嶆棤鏍¢獙锛1锛嶅鏍¢獙锛2锛嶅伓鏍¢獙;
+ public byte byFlowcontrol; // 0锛嶆棤锛1锛嶈蒋娴佹帶,2-纭祦鎺
+ public short wDecoderType; //瑙g爜鍣ㄧ被鍨, 0锛峐ouLi锛1锛峀iLin-1016锛2锛峀iLin-820锛3锛峆elco-p锛4锛岲M DynaColor锛5锛岺D600锛6锛岼C-4116锛7锛峆elco-d WX锛8锛峆elco-d PICO
+ public short wDecoderAddress; /*瑙g爜鍣ㄥ湴鍧:0 - 255*/
+ public byte[] bySetPreset = new byte[MAX_PRESET]; /* 棰勭疆鐐规槸鍚﹁缃,0-娌℃湁璁剧疆,1-璁剧疆*/
+ public byte[] bySetCruise = new byte[MAX_CRUISE]; /* 宸¤埅鏄惁璁剧疆: 0-娌℃湁璁剧疆,1-璁剧疆 */
+ public byte[] bySetTrack = new byte[MAX_TRACK]; /* 鏄惁璁剧疆,0-娌℃湁璁剧疆,1-璁剧疆*/
+
+
+ }
+
+ public static class NET_DVR_PPPCFG_V30 extends Structure {//ppp鍙傛暟閰嶇疆(瀛愮粨鏋)
+ public NET_DVR_IPADDR struRemoteIP; //杩滅IP鍦板潃
+ public NET_DVR_IPADDR struLocalIP; //鏈湴IP鍦板潃
+ public byte[] sLocalIPMask = new byte[16]; //鏈湴IP鍦板潃鎺╃爜
+ public byte[] sUsername = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte byPPPMode; //PPP妯″紡, 0锛嶄富鍔紝1锛嶈鍔
+ public byte byRedial; //鏄惁鍥炴嫧 锛0-鍚,1-鏄
+ public byte byRedialMode; //鍥炴嫧妯″紡,0-鐢辨嫧鍏ヨ呮寚瀹,1-棰勭疆鍥炴嫧鍙风爜
+ public byte byDataEncrypt; //鏁版嵁鍔犲瘑,0-鍚,1-鏄
+ public int dwMTU; //MTU
+ public byte[] sTelephoneNumber = new byte[PHONENUMBER_LEN]; //鐢佃瘽鍙风爜
+
+
+ }
+
+ public static class NET_DVR_PPPCFG extends Structure {//ppp鍙傛暟閰嶇疆(瀛愮粨鏋)
+ public byte[] sRemoteIP = new byte[16]; //杩滅IP鍦板潃
+ public byte[] sLocalIP = new byte[16]; //鏈湴IP鍦板潃
+ public byte[] sLocalIPMask = new byte[16]; //鏈湴IP鍦板潃鎺╃爜
+ public byte[] sUsername = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte byPPPMode; //PPP妯″紡, 0锛嶄富鍔紝1锛嶈鍔
+ public byte byRedial; //鏄惁鍥炴嫧 锛0-鍚,1-鏄
+ public byte byRedialMode; //鍥炴嫧妯″紡,0-鐢辨嫧鍏ヨ呮寚瀹,1-棰勭疆鍥炴嫧鍙风爜
+ public byte byDataEncrypt; //鏁版嵁鍔犲瘑,0-鍚,1-鏄
+ public int dwMTU; //MTU
+ public byte[] sTelephoneNumber = new byte[PHONENUMBER_LEN]; //鐢佃瘽鍙风爜
+
+
+ }
+
+
+ public static class NET_DVR_SINGLE_RS232 extends Structure {//RS232涓插彛鍙傛暟閰嶇疆(9000鎵╁睍)
+ public int dwBaudRate; /*娉㈢壒鐜(bps)锛0锛50锛1锛75锛2锛110锛3锛150锛4锛300锛5锛600锛6锛1200锛7锛2400锛8锛4800锛9锛9600锛10锛19200锛 11锛38400锛12锛57600锛13锛76800锛14锛115.2k;*/
+ public byte byDataBit; /* 鏁版嵁鏈夊嚑浣 0锛5浣嶏紝1锛6浣嶏紝2锛7浣嶏紝3锛8浣 */
+ public byte byStopBit; /* 鍋滄浣 0锛1浣嶏紝1锛2浣 */
+ public byte byParity; /* 鏍¢獙 0锛嶆棤鏍¢獙锛1锛嶅鏍¢獙锛2锛嶅伓鏍¢獙 */
+ public byte byFlowcontrol; /* 0锛嶆棤锛1锛嶈蒋娴佹帶,2-纭祦鎺 */
+ public int dwWorkMode; /* 宸ヤ綔妯″紡锛0锛232涓插彛鐢ㄤ簬PPP鎷ㄥ彿锛1锛232涓插彛鐢ㄤ簬鍙傛暟鎺у埗锛2锛嶉忔槑閫氶亾 */
+
+
+ }
+
+ public static class NET_DVR_RS232CFG_V30 extends Structure {//RS232涓插彛鍙傛暟閰嶇疆(9000鎵╁睍)
+ public int dwSize;
+ public NET_DVR_SINGLE_RS232 struRs232;/*鐩墠鍙湁绗竴涓覆鍙h缃湁鏁堬紝鎵鏈夎澶囬兘鍙敮鎸佷竴涓覆鍙o紝鍏朵粬涓冧釜淇濈暀*/
+ public byte[] byRes = new byte[84];
+ public NET_DVR_PPPCFG_V30 struPPPConfig;/*ppp鍙傛暟*/
+
+
+ }
+
+ public static class NET_DVR_RS232CFG extends Structure {//RS232涓插彛鍙傛暟閰嶇疆
+ public int dwSize;
+ public int dwBaudRate;//娉㈢壒鐜(bps)锛0锛50锛1锛75锛2锛110锛3锛150锛4锛300锛5锛600锛6锛1200锛7锛2400锛8锛4800锛9锛9600锛10锛19200锛 11锛38400锛12锛57600锛13锛76800锛14锛115.2k;
+ public byte byDataBit;// 鏁版嵁鏈夊嚑浣 0锛5浣嶏紝1锛6浣嶏紝2锛7浣嶏紝3锛8浣;
+ public byte byStopBit;// 鍋滄浣 0锛1浣嶏紝1锛2浣;
+ public byte byParity;// 鏍¢獙 0锛嶆棤鏍¢獙锛1锛嶅鏍¢獙锛2锛嶅伓鏍¢獙;
+ public byte byFlowcontrol;// 0锛嶆棤锛1锛嶈蒋娴佹帶,2-纭祦鎺
+ public int dwWorkMode;// 宸ヤ綔妯″紡锛0锛嶇獎甯︿紶杈(232涓插彛鐢ㄤ簬PPP鎷ㄥ彿)锛1锛嶆帶鍒跺彴(232涓插彛鐢ㄤ簬鍙傛暟鎺у埗)锛2锛嶉忔槑閫氶亾
+ public NET_DVR_PPPCFG struPPPConfig;
+
+
+ }
+
+ public static class NET_DVR_ALARMINCFG_V30 extends Structure {//鎶ヨ杈撳叆鍙傛暟閰嶇疆(9000鎵╁睍)
+ public int dwSize;
+ public byte[] sAlarmInName = new byte[NAME_LEN]; /* 鍚嶇О */
+ public byte byAlarmType; //鎶ヨ鍣ㄧ被鍨,0锛氬父寮,1锛氬父闂
+ public byte byAlarmInHandle; /* 鏄惁澶勭悊 0-涓嶅鐞 1-澶勭悊*/
+ public byte[] reservedData = new byte[2];
+ public NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* 澶勭悊鏂瑰紡 */
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//甯冮槻鏃堕棿
+ public byte[] byRelRecordChan = new byte[MAX_CHANNUM_V30]; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾,涓1琛ㄧず瑙﹀彂璇ラ氶亾
+ public byte[] byEnablePreset = new byte[MAX_CHANNUM_V30]; /* 鏄惁璋冪敤棰勭疆鐐 0-鍚,1-鏄*/
+ public byte[] byPresetNo = new byte[MAX_CHANNUM_V30]; /* 璋冪敤鐨勪簯鍙伴缃偣搴忓彿,涓涓姤璀﹁緭鍏ュ彲浠ヨ皟鐢ㄥ涓氶亾鐨勪簯鍙伴缃偣, 0xff琛ㄧず涓嶈皟鐢ㄩ缃偣銆*/
+ public byte[] byEnablePresetRevert = new byte[MAX_CHANNUM_V30]; /* 鏄惁鎭㈠鍒拌皟鐢ㄩ缃偣鍓嶇殑浣嶇疆(淇濈暀) */
+ public short[] wPresetRevertDelay = new short[MAX_CHANNUM_V30]; /* 鎭㈠棰勭疆鐐瑰欢鏃(淇濈暀) */
+ public byte[] byEnableCruise = new byte[MAX_CHANNUM_V30]; /* 鏄惁璋冪敤宸¤埅 0-鍚,1-鏄*/
+ public byte[] byCruiseNo = new byte[MAX_CHANNUM_V30]; /* 宸¤埅 */
+ public byte[] byEnablePtzTrack = new byte[MAX_CHANNUM_V30]; /* 鏄惁璋冪敤 0-鍚,1-鏄*/
+ public byte[] byPTZTrack = new byte[MAX_CHANNUM_V30]; /* 璋冪敤鐨勪簯鍙扮殑搴忓彿 */
+ public byte[] byRes = new byte[16];
+
+
+ }
+
+ public static class NET_DVR_ALARMINCFG extends Structure {//鎶ヨ杈撳叆鍙傛暟閰嶇疆
+ public int dwSize;
+ public byte[] sAlarmInName = new byte[NAME_LEN]; /* 鍚嶇О */
+ public byte byAlarmType; //鎶ヨ鍣ㄧ被鍨,0锛氬父寮,1锛氬父闂
+ public byte byAlarmInHandle; /* 鏄惁澶勭悊 0-涓嶅鐞 1-澶勭悊*/
+ public NET_DVR_HANDLEEXCEPTION struAlarmHandleType; /* 澶勭悊鏂瑰紡 */
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//甯冮槻鏃堕棿
+ public byte[] byRelRecordChan = new byte[MAX_CHANNUM]; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾,涓1琛ㄧず瑙﹀彂璇ラ氶亾
+ public byte[] byEnablePreset = new byte[MAX_CHANNUM]; /* 鏄惁璋冪敤棰勭疆鐐 0-鍚,1-鏄*/
+ public byte[] byPresetNo = new byte[MAX_CHANNUM]; /* 璋冪敤鐨勪簯鍙伴缃偣搴忓彿,涓涓姤璀﹁緭鍏ュ彲浠ヨ皟鐢ㄥ涓氶亾鐨勪簯鍙伴缃偣, 0xff琛ㄧず涓嶈皟鐢ㄩ缃偣銆*/
+ public byte[] byEnableCruise = new byte[MAX_CHANNUM]; /* 鏄惁璋冪敤宸¤埅 0-鍚,1-鏄*/
+ public byte[] byCruiseNo = new byte[MAX_CHANNUM]; /* 宸¤埅 */
+ public byte[] byEnablePtzTrack = new byte[MAX_CHANNUM]; /* 鏄惁璋冪敤 0-鍚,1-鏄*/
+ public byte[] byPTZTrack = new byte[MAX_CHANNUM]; /* 璋冪敤鐨勪簯鍙扮殑搴忓彿 */
+
+
+ }
+
+ public static class NET_DVR_ADDIT_POSITION extends Structure {//杞﹁浇GPS淇℃伅缁撴瀯(2007-12-27)
+ public byte[] sDevName = new byte[32]; /* 璁惧鍚嶇О */
+ public int dwSpeed; /*閫熷害*/
+ public int dwLongitude; /* 缁忓害*/
+ public int dwLatitude; /* 绾害*/
+ public byte[] direction = new byte[2]; /* direction[0]:'E'or'W'(涓滅粡/瑗跨粡), direction[1]:'N'or'S'(鍖楃含/鍗楃含) */
+ public byte[] res = new byte[2]; /* 淇濈暀浣 */
+
+
+ }
+
+ public static class struRecordingHost extends Structure {
+ public byte bySubAlarmType;
+ public byte[] byRes1 = new byte[3];
+ public NET_DVR_TIME_EX struRecordEndTime = new NET_DVR_TIME_EX();
+ }
+
+ public static class struAlarmHardDisk extends Structure {
+ public int dwAlarmHardDiskNum;
+
+
+ }
+
+ public static class struAlarmChannel extends Structure {
+ public int dwAlarmChanNum;
+ public int dwPicLen;//Jpeg鍥剧墖闀垮害
+ public byte byPicURL; //鍥剧墖鏁版嵁閲囩敤URL鏂瑰紡 0-浜岃繘鍒跺浘鐗囨暟鎹紝1-鍥剧墖鏁版嵁璧癠RL鏂瑰紡
+ public byte byTarget; /*0-涓嶅尯鍒嗚瘑鍒洰鏍囷紝1-璇嗗埆鐩爣涓轰汉锛2-璇嗗埆鐩爣涓鸿溅*/
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public Pointer pDataBuff; //鎶ヨ鍥剧墖鎴栬呭浘鐗嘦RL
+ }
+
+ public static class struIOAlarm extends Structure {
+ public int dwAlarmInputNo;
+ public int dwTrigerAlarmOutNum;
+ public int dwTrigerRecordChanNum;
+
+
+ }
+
+ public static class NET_DVR_TIME_EX extends Structure {
+ public short wYear;
+ public byte byMonth;
+ public byte byDay;
+ public byte byHour;
+ public byte byMinute;
+ public byte bySecond;
+ public byte byRes;
+ }
+
+ public static class uStruAlarm extends Union {
+ public byte[] byUnionLen = new byte[116];
+ public struIOAlarm struioAlarm = new struIOAlarm();
+ public struAlarmHardDisk strualarmHardDisk = new struAlarmHardDisk();
+ public struAlarmChannel strualarmChannel = new struAlarmChannel();
+ public struRecordingHost strurecordingHost = new struRecordingHost();
+
+
+ }
+
+ public static class NET_DVR_ALRAM_FIXED_HEADER extends Structure {
+ public int dwAlarmType;
+ public NET_DVR_TIME_EX struAlarmTime = new NET_DVR_TIME_EX();
+ public uStruAlarm ustruAlarm = new uStruAlarm();
+ public Pointer pRes;
+ public byte byTimeDiffFlag; /*鏃跺樊瀛楁鏄惁鏈夋晥 0-鏃跺樊鏃犳晥锛 1-鏃跺樊鏈夋晥 */
+ public byte cTimeDifferenceH; /*涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 +琛ㄧず涓滃尯,锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte cTimeDifferenceM; /*涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 30, 45锛 +琛ㄧず涓滃尯锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte byRes; //淇濈暀
+ public short wDevInfoIvmsChannel; //澧炲姞鍚庣閫忎紶鍓嶇鏃剁殑閫氶亾鍙
+ public byte[] byRes2 = new byte[2]; //淇濈暀
+ }
+
+ public static class NET_DVR_ALARMINFO_V40 extends Structure {
+ public NET_DVR_ALRAM_FIXED_HEADER struAlarmFixedHeader = new NET_DVR_ALRAM_FIXED_HEADER();
+ public Pointer pAlarmData;
+
+
+ }
+
+ public static class NET_DVR_ALARMINFO_V30 extends Structure {//涓婁紶鎶ヨ淇℃伅(9000鎵╁睍)
+ public int dwAlarmType;/*0-淇″彿閲忔姤璀,1-纭洏婊,2-淇″彿涓㈠け,3锛嶇Щ鍔ㄤ睛娴,4锛嶇‖鐩樻湭鏍煎紡鍖,5-璇诲啓纭洏鍑洪敊,6-閬尅鎶ヨ,7-鍒跺紡涓嶅尮閰, 8-闈炴硶璁块棶, 0xa-GPS瀹氫綅淇℃伅(杞﹁浇瀹氬埗)*/
+ public int dwAlarmInputNumber;/*鎶ヨ杈撳叆绔彛*/
+ public byte[] byAlarmOutputNumber = new byte[MAX_ALARMOUT_V30];/*瑙﹀彂鐨勮緭鍑虹鍙o紝涓1琛ㄧず瀵瑰簲杈撳嚭*/
+ public byte[] byAlarmRelateChannel = new byte[MAX_CHANNUM_V30];/*瑙﹀彂鐨勫綍鍍忛氶亾锛屼负1琛ㄧず瀵瑰簲褰曞儚, dwAlarmRelateChannel[0]瀵瑰簲绗1涓氶亾*/
+ public byte[] byChannel = new byte[MAX_CHANNUM_V30];/*dwAlarmType涓2鎴3,6鏃讹紝琛ㄧず鍝釜閫氶亾锛宒wChannel[0]瀵瑰簲绗1涓氶亾*/
+ public byte[] byDiskNumber = new byte[MAX_DISKNUM_V30];/*dwAlarmType涓1,4,5鏃,琛ㄧず鍝釜纭洏, dwDiskNumber[0]瀵瑰簲绗1涓‖鐩*/
+
+
+ }
+
+ public static class NET_DVR_ALARMINFO extends Structure {
+ public int dwAlarmType;/*0-淇″彿閲忔姤璀,1-纭洏婊,2-淇″彿涓㈠け,3锛嶇Щ鍔ㄤ睛娴,4锛嶇‖鐩樻湭鏍煎紡鍖,5-璇诲啓纭洏鍑洪敊,6-閬尅鎶ヨ,7-鍒跺紡涓嶅尮閰, 8-闈炴硶璁块棶, 9-涓插彛鐘舵, 0xa-GPS瀹氫綅淇℃伅(杞﹁浇瀹氬埗)*/
+ public int dwAlarmInputNumber;/*鎶ヨ杈撳叆绔彛, 褰撴姤璀︾被鍨嬩负9鏃惰鍙橀噺琛ㄧず涓插彛鐘舵0琛ㄧず姝e父锛 -1琛ㄧず閿欒*/
+ public int[] dwAlarmOutputNumber = new int[MAX_ALARMOUT];/*瑙﹀彂鐨勮緭鍑虹鍙o紝涓1琛ㄧず瀵瑰簲鍝竴涓緭鍑*/
+ public int[] dwAlarmRelateChannel = new int[MAX_CHANNUM];/*瑙﹀彂鐨勫綍鍍忛氶亾锛宒wAlarmRelateChannel[0]涓1琛ㄧず绗1涓氶亾褰曞儚*/
+ public int[] dwChannel = new int[MAX_CHANNUM];/*dwAlarmType涓2鎴3,6鏃讹紝琛ㄧず鍝釜閫氶亾锛宒wChannel[0]浣嶅搴旂1涓氶亾*/
+ public int[] dwDiskNumber = new int[MAX_DISKNUM];/*dwAlarmType涓1,4,5鏃,琛ㄧず鍝釜纭洏, dwDiskNumber[0]浣嶅搴旂1涓‖鐩*/
+
+
+ }
+
+ public static class NET_DVR_ALARMINFO_EX extends Structure {//涓婁紶鎶ヨ淇℃伅(鏉窞绔炲ぉ瀹氬埗 2006-07-28)
+ public int dwAlarmType;/*0-淇″彿閲忔姤璀,1-纭洏婊,2-淇″彿涓㈠け,3锛嶇Щ鍔ㄤ睛娴,4锛嶇‖鐩樻湭鏍煎紡鍖,5-璇诲啓纭洏鍑洪敊,6-閬尅鎶ヨ,7-鍒跺紡涓嶅尮閰, 8-闈炴硶璁块棶*/
+ public int dwAlarmInputNumber;/*鎶ヨ杈撳叆绔彛*/
+ public int[] dwAlarmOutputNumber = new int[MAX_ALARMOUT];/*鎶ヨ杈撳叆绔彛瀵瑰簲鐨勮緭鍑虹鍙o紝鍝竴浣嶄负1琛ㄧず瀵瑰簲鍝竴涓緭鍑*/
+ public int[] dwAlarmRelateChannel = new int[MAX_CHANNUM];/*鎶ヨ杈撳叆绔彛瀵瑰簲鐨勫綍鍍忛氶亾锛屽摢涓浣嶄负1琛ㄧず瀵瑰簲鍝竴璺綍鍍,dwAlarmRelateChannel[0]瀵瑰簲绗1涓氶亾*/
+ public int[] dwChannel = new int[MAX_CHANNUM];/*dwAlarmType涓2鎴3,6鏃讹紝琛ㄧず鍝釜閫氶亾锛宒wChannel[0]浣嶅搴旂0涓氶亾*/
+ public int[] dwDiskNumber = new int[MAX_DISKNUM];/*dwAlarmType涓1,4,5鏃,琛ㄧず鍝釜纭洏*/
+ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //搴忓垪鍙
+ public byte[] sRemoteAlarmIP = new byte[16]; //杩滅▼鎶ヨIP鍦板潃锛
+
+
+ }
+
+ //////////////////////////////////////////////////////////////////////////////////////
+//IPC鎺ュ叆鍙傛暟閰嶇疆
+ public static class NET_DVR_IPDEVINFO extends Structure {/* IP璁惧缁撴瀯 */
+ public int dwEnable; /* 璇P璁惧鏄惁鍚敤 */
+ public byte[] sUserName = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR(); /* IP鍦板潃 */
+ public short wDVRPort; /* 绔彛鍙 */
+ public byte[] byres = new byte[34]; /* 淇濈暀 */
+
+
+ }
+
+ public static class NET_DVR_IPCHANINFO extends Structure {/* IP閫氶亾鍖归厤鍙傛暟 */
+ public byte byEnable; /* 璇ラ氶亾鏄惁鍚敤 */
+ public byte byIPID; /* IP璁惧ID 鍙栧1- MAX_IP_DEVICE */
+ public byte byChannel; /* 閫氶亾鍙 */
+ public byte[] byres = new byte[33]; /* 淇濈暀 */
+
+
+ }
+
+ public static class NET_DVR_IPPARACFG extends Structure {/* IP鎺ュ叆閰嶇疆缁撴瀯 */
+ public int dwSize; /* 缁撴瀯澶у皬 */
+ public NET_DVR_IPDEVINFO[] struIPDevInfo = new NET_DVR_IPDEVINFO[MAX_IP_DEVICE]; /* IP璁惧 */
+ public byte[] byAnalogChanEnable = new byte[MAX_ANALOG_CHANNUM]; /* 妯℃嫙閫氶亾鏄惁鍚敤锛屼粠浣庡埌楂樿〃绀1-32閫氶亾锛0琛ㄧず鏃犳晥 1鏈夋晥 */
+ public NET_DVR_IPCHANINFO[] struIPChanInfo = new NET_DVR_IPCHANINFO[MAX_IP_CHANNEL]; /* IP閫氶亾 */
+
+
+ }
+
+ public class NET_DVR_IPDEVINFO_V31 extends Structure {
+ public byte byEnable;/* 璇ラ氶亾鏄惁鍚敤 */
+ public byte byProType;//鍗忚绫诲瀷(榛樿涓虹鏈夊崗璁)锛0- 绉佹湁鍗忚锛1- 鏉句笅鍗忚锛2- 绱㈠凹锛屾洿澶氬崗璁氳繃NET_DVR_GetIPCProtoList鑾峰彇銆
+ public byte byEnableQuickAdd;//0-涓嶆敮鎸佸揩閫熸坊鍔狅紱1-浣跨敤蹇熸坊鍔
+ public byte byRes1;//淇濈暀锛岀疆涓0
+ public byte[] sUserName = new byte[HCNetSDK.NAME_LEN];//鐢ㄦ埛鍚
+ public byte[] sPassword = new byte[HCNetSDK.PASSWD_LEN];//瀵嗙爜
+ public byte[] byDomain = new byte[HCNetSDK.MAX_DOMAIN_NAME];//璁惧鍩熷悕
+ public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR();//IP鍦板潃
+ public short wDVRPort;//绔彛鍙
+ public byte[] szDeviceID = new byte[32];
+ public byte[] byRes2 = new byte[2];//淇濈暀锛岀疆涓0
+
+
+ }
+
+ public class NET_DVR_STREAM_MODE extends Structure {
+
+ public byte byGetStreamType;//鍙栨祦鏂瑰紡锛0- 鐩存帴浠庤澶囧彇娴侊紱1- 浠庢祦濯掍綋鍙栨祦锛2- 閫氳繃IPServer鑾峰緱IP鍦板潃鍚庡彇娴侊紱
+ //3- 閫氳繃IPServer鎵惧埌璁惧锛屽啀閫氳繃娴佸獟浣撳彇璁惧鐨勬祦锛 4- 閫氳繃娴佸獟浣撶敱URL鍘诲彇娴侊紱5- 閫氳繃hiDDNS鍩熷悕杩炴帴璁惧鐒跺悗浠庤澶囧彇娴
+ public byte[] byRes = new byte[3];//淇濈暀锛岀疆涓0
+ public NET_DVR_GET_STREAM_UNION uGetStream = new NET_DVR_GET_STREAM_UNION();//涓嶅悓鍙栨祦鏂瑰紡鑱斿悎浣
+
+ public void read() {
+ super.read();
+ switch (byGetStreamType) {
+ case 0:
+ uGetStream.setType(NET_DVR_IPCHANINFO.class);
+ break;
+ case 6:
+ uGetStream.setType(NET_DVR_IPCHANINFO_V40.class);
+ break;
+ default:
+ break;
+ }
+ }
+
+
+ }
+
+ public class NET_DVR_IPSERVER_STREAM extends Structure {
+ public byte byEnable;
+ public byte[] byRes = new byte[3];
+ public NET_DVR_IPADDR struIPServer = new NET_DVR_IPADDR();
+ public short wPort;
+ public short wDvrNameLen;
+ public byte[] byDVRName = new byte[HCNetSDK.NAME_LEN];
+ public short wDVRSerialLen;
+ public short[] byRes1 = new short[2];
+ public byte[] byDVRSerialNumber = new byte[HCNetSDK.SERIALNO_LEN];
+ public byte[] byUserName = new byte[HCNetSDK.NAME_LEN];
+ public byte[] byPassWord = new byte[HCNetSDK.PASSWD_LEN];
+ public byte byChannel;
+ public byte[] byRes2 = new byte[11];
+
+
+ }
+
+ public class NET_DVR_STREAM_MEDIA_SERVER_CFG extends Structure {
+
+ public byte byValid;//鏄惁鍚敤娴佸獟浣撴湇鍔″櫒鍙栨祦锛0-涓嶅惎鐢紝闈0-鍚敤
+ public byte[] byRes1 = new byte[3];//淇濈暀锛岀疆涓0
+ public NET_DVR_IPADDR struDevIP = new NET_DVR_IPADDR();//娴佸獟浣撴湇鍔″櫒鐨処P鍦板潃
+ public short wDevPort;//娴佸獟浣撴湇鍔″櫒绔彛
+ public byte byTransmitType;//浼犺緭鍗忚绫诲瀷锛0-TCP锛1-UDP
+ public byte[] byRes2 = new byte[69];
+
+
+ }
+
+ public class NET_DVR_DEV_CHAN_INFO extends Structure {
+ public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR();//璁惧IP鍦板潃
+ public short wDVRPort;//璁惧绔彛鍙
+ public byte byChannel;//閫氶亾鍙,鐩墠璁惧鐨勬ā鎷熼氶亾鍙锋槸浠1寮濮嬬殑锛屽浜9000绛夎澶囩殑IPC鎺ュ叆锛屾暟瀛楅氶亾鍙蜂粠33寮濮
+ public byte byTransProtocol;//浼犺緭鍗忚绫诲瀷锛0-TCP锛1-UDP锛2-澶氭挱鏂瑰紡锛3-RTP
+ public byte byTransMode;//浼犺緭鐮佹祦妯″紡锛0锛嶄富鐮佹祦锛1锛嶅瓙鐮佹祦
+ public byte byFactoryType;//鍓嶇璁惧鍘傚绫诲瀷锛 閫氳繃鎺ュ彛NET_DVR_GetIPCProtoList鑾峰彇
+ public byte byDeviceType;//璁惧绫诲瀷(瑙嗛缁煎悎骞冲彴浣跨敤)锛1- IPC锛2- ENCODER
+ public byte byDispChan;// 鏄剧ず閫氶亾鍙凤紙鏅鸿兘閰嶇疆浣跨敤锛夛紝鏍规嵁鑳藉姏闆嗗喅瀹氫娇鐢ㄨВ鐮侀氶亾杩樻槸鏄剧ず閫氶亾
+ public byte bySubDispChan;//鏄剧ず閫氶亾瀛愰氶亾鍙凤紙鏅鸿兘閰嶇疆鏃朵娇鐢級
+ public byte byResolution;//鍒嗚鲸鐜囷細1- CIF锛2- 4CIF锛3- 720P锛4- 1080P锛5- 500W锛岀敤浜庡灞忔帶鍒跺櫒锛屽灞忔帶鍒跺櫒浼氭牴鎹鍙傛暟鍒嗛厤瑙g爜璧勬簮
+ public byte[] byRes = new byte[2];//淇濈暀锛岀疆涓0
+ public byte[] byDomain = new byte[HCNetSDK.MAX_DOMAIN_NAME];//璁惧鍩熷悕
+ public byte[] sUserName = new byte[HCNetSDK.NAME_LEN];//璁惧鐧婚檰甯愬彿
+ public byte[] sPassword = new byte[HCNetSDK.PASSWD_LEN];//璁惧瀵嗙爜
+ }
+
+ public class NET_DVR_PU_STREAM_CFG extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg = new NET_DVR_STREAM_MEDIA_SERVER_CFG();
+ public NET_DVR_DEV_CHAN_INFO struDevChanInfo = new NET_DVR_DEV_CHAN_INFO();
+ }
+
+ public class NET_DVR_PU_STREAM_CFG_V41 extends Structure {
+ public int dwSize;
+ public byte byStreamMode;/*鍙栨祦妯″紡锛0-鏃犳晥锛1-閫氳繃IP鎴栧煙鍚嶅彇娴侊紝2-閫氳繃URL鍙栨祦,3-閫氳繃鍔ㄦ佸煙鍚嶈В鏋愬悜璁惧鍙栨祦*/
+ public byte byStreamEncrypt; //鏄惁杩涜鐮佹祦鍔犲瘑澶勭悊,0-涓嶆敮鎸,1-鏀寔
+ public byte[] byRes1 = new byte[2];
+ public NET_DVR_DEC_STREAM_MODE uDecStreamMode;//鍙栨祦淇℃伅
+ public int dwDecDelayTime;//瑙g爜寤舵椂鏃堕棿锛屽崟浣嶏細姣
+ public byte[] sStreamPassword = new byte[STREAM_PASSWD_LEN]; //鐮佹祦鍔犲瘑瀵嗙爜,闇鏁忔劅淇℃伅鍔犲瘑
+ public byte[] byRes2 = new byte[48];
+ }
+
+
+ public class NET_DVR_DDNS_STREAM_CFG extends Structure {
+ public byte byEnable;
+ public byte[] byRes1 = new byte[3];
+ public NET_DVR_IPADDR struStreamServer = new NET_DVR_IPADDR();
+ public short wStreamServerPort;
+ public byte byStreamServerTransmitType;
+ public byte byRes2;
+ public NET_DVR_IPADDR struIPServer = new NET_DVR_IPADDR();
+ public short wIPServerPort;
+ public byte[] byRes3 = new byte[2];
+ public byte[] sDVRName = new byte[HCNetSDK.NAME_LEN];
+ public short wDVRNameLen;
+ public short wDVRSerialLen;
+ public byte[] sDVRSerialNumber = new byte[HCNetSDK.SERIALNO_LEN];
+ public byte[] sUserName = new byte[HCNetSDK.NAME_LEN];
+ public byte[] sPassWord = new byte[HCNetSDK.PASSWD_LEN];
+ public short wDVRPort;
+ public byte[] byRes4 = new byte[2];
+ public byte byChannel;
+ public byte byTransProtocol;
+ public byte byTransMode;
+ public byte byFactoryType;
+
+
+ }
+
+ public class NET_DVR_PU_STREAM_URL extends Structure {
+ public byte byEnable;//鏄惁鍚敤锛0- 绂佺敤锛1- 鍚敤
+ public byte[] strURL = new byte[240];//鍙栨祦URL璺緞
+ public byte byTransPortocol;//浼犺緭鍗忚绫诲瀷锛0-TCP锛1-UDP
+ public short wIPID;//璁惧ID鍙凤紝wIPID = iDevInfoIndex + iGroupNO*64 +1
+ public byte byChannel;//璁惧閫氶亾鍙
+ public byte[] byRes = new byte[7];//淇濈暀锛岀疆涓0
+
+
+ }
+
+ public class NET_DVR_HKDDNS_STREAM extends Structure {
+ public byte byEnable;//鏄惁鍚敤
+ public byte[] byRes = new byte[3];//淇濈暀
+ public byte[] byDDNSDomain = new byte[64];//hiDDNS鏈嶅姟鍣ㄥ湴鍧
+ public short wPort;//hiDDNS绔彛锛岄粯璁わ細80
+ public short wAliasLen;//鍒悕闀垮害
+ public byte[] byAlias = new byte[HCNetSDK.NAME_LEN];//鍒悕
+ public short wDVRSerialLen;//搴忓垪鍙烽暱搴
+ public byte[] byRes1 = new byte[2];//淇濈暀
+ public byte[] byDVRSerialNumber = new byte[HCNetSDK.SERIALNO_LEN];//璁惧搴忓垪鍙
+ public byte[] byUserName = new byte[HCNetSDK.NAME_LEN];//璁惧鐧诲綍鐢ㄦ埛鍚
+ public byte[] byPassWord = new byte[HCNetSDK.PASSWD_LEN];//璁惧鐧诲綍瀵嗙爜
+ public byte byChannel;//璁惧閫氶亾鍙
+ public byte[] byRes2 = new byte[11];//淇濈暀
+
+
+ }
+
+ public class NET_DVR_IPCHANINFO_V40 extends Structure {
+
+ public byte byEnable;//IP閫氶亾鍦ㄧ嚎鐘舵侊紝鏄竴涓彧璇荤殑灞炴э紱
+ //0琛ㄧずHDVR鎴栬匩VR璁惧鐨勬暟瀛楅氶亾杩炴帴瀵瑰簲鐨処P璁惧澶辫触锛岃閫氶亾涓嶅湪绾匡紱1琛ㄧず杩炴帴鎴愬姛锛岃閫氶亾鍦ㄧ嚎
+ public byte byRes1;//淇濈暀锛岀疆涓0
+ public short wIPID;//IP璁惧ID
+ public int dwChannel;//IP璁惧鐨勯氶亾鍙凤紝渚嬪璁惧A锛圚DVR鎴栬匩VR璁惧锛夌殑IP閫氶亾01锛屽搴旂殑鏄澶嘊锛圖VS锛夐噷鐨勯氶亾04锛屽垯byChannel=4锛屽鏋滃墠绔帴鐨勬槸IPC鍒檅yChannel=1銆
+ public byte byTransProtocol;//浼犺緭鍗忚绫诲瀷锛0- TCP锛1- UDP锛2- 澶氭挱锛0xff- auto(鑷姩)
+ public byte byTransMode;//浼犺緭鐮佹祦妯″紡锛0- 涓荤爜娴侊紝1- 瀛愮爜娴
+ public byte byFactoryType;//鍓嶇璁惧鍘傚绫诲瀷
+ public byte[] byRes = new byte[241];//淇濈暀锛岀疆涓0
+
+
+ }
+
+
+ public static class NET_DVR_GET_STREAM_UNION extends Union {
+ public NET_DVR_IPCHANINFO struChanInfo = new NET_DVR_IPCHANINFO(); /*IP閫氶亾淇℃伅*/
+ public NET_DVR_IPCHANINFO_V40 struIPChan = new NET_DVR_IPCHANINFO_V40(); //鐩存帴浠庤澶囧彇娴侊紙鎵╁睍锛
+ public byte[] byUnionLen = new byte[492]; //鐩存帴浠庤澶囧彇娴侊紙鎵╁睍锛
+
+
+ }
+
+ public static class NET_DVR_IPPARACFG_V40 extends Structure {/* IP鎺ュ叆閰嶇疆缁撴瀯V40 */
+ public int dwSize; /* 缁撴瀯澶у皬 */
+ public int dwGroupNum;//璁惧鏀寔鐨勬荤粍鏁帮紙鍙锛夈
+ public int dwAChanNum;//鏈澶фā鎷熼氶亾涓暟锛堝彧璇伙級
+ public int dwDChanNum;//鏁板瓧閫氶亾涓暟锛堝彧璇伙級
+ public int dwStartDChan;//璧峰鏁板瓧閫氶亾锛堝彧璇伙級
+ public byte[] byAnalogChanEnable = new byte[MAX_CHANNUM_V30]; //妯℃嫙閫氶亾璧勬簮鏄惁鍚敤锛屼粠浣庡埌楂樿〃绀1-64閫氶亾锛0-绂佺敤锛1-鍚敤銆
+ public NET_DVR_IPDEVINFO_V31[] struIPDevInfo = new NET_DVR_IPDEVINFO_V31[MAX_IP_DEVICE_V40];//IP璁惧淇℃伅锛屼笅鏍0瀵瑰簲璁惧IP ID涓1
+ public NET_DVR_STREAM_MODE[] struStreamMode = new NET_DVR_STREAM_MODE[MAX_CHANNUM_V30];//鍙栨祦妯″紡
+ public byte[] byRes2 = new byte[20];//淇濈暀锛岀疆涓0
+
+
+ }
+
+ public static class NET_DVR_IPALARMOUTINFO extends Structure {/* 鎶ヨ杈撳嚭鍙傛暟 */
+ public byte byIPID; /* IP璁惧ID鍙栧1- MAX_IP_DEVICE */
+ public byte byAlarmOut; /* 鎶ヨ杈撳嚭鍙 */
+ public byte[] byRes = new byte[18]; /* 淇濈暀 */
+
+
+ }
+
+ public static class NET_DVR_IPALARMOUTCFG extends Structure {/* IP鎶ヨ杈撳嚭閰嶇疆缁撴瀯 */
+ public int dwSize; /* 缁撴瀯澶у皬 */
+ public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo = new NET_DVR_IPALARMOUTINFO[MAX_IP_ALARMOUT];/* IP鎶ヨ杈撳嚭 */
+
+
+ }
+
+ public static class NET_DVR_IPALARMININFO extends Structure {/* 鎶ヨ杈撳叆鍙傛暟 */
+ public byte byIPID; /* IP璁惧ID鍙栧1- MAX_IP_DEVICE */
+ public byte byAlarmIn; /* 鎶ヨ杈撳叆鍙 */
+ public byte[] byRes = new byte[18]; /* 淇濈暀 */
+
+
+ }
+
+ public static class NET_DVR_IPALARMINCFG extends Structure {/* IP鎶ヨ杈撳叆閰嶇疆缁撴瀯 */
+ public int dwSize; /* 缁撴瀯澶у皬 */
+ public NET_DVR_IPALARMININFO[] struIPAlarmInInfo = new NET_DVR_IPALARMININFO[MAX_IP_ALARMIN];/* IP鎶ヨ杈撳叆 */
+
+
+ }
+
+ public static class NET_DVR_IPALARMINFO extends Structure {//ipc alarm info
+ public NET_DVR_IPDEVINFO[] struIPDevInfo = new NET_DVR_IPDEVINFO[MAX_IP_DEVICE]; /* IP璁惧 */
+ public byte[] byAnalogChanEnable = new byte[MAX_ANALOG_CHANNUM]; /* 妯℃嫙閫氶亾鏄惁鍚敤锛0-鏈惎鐢 1-鍚敤 */
+ public NET_DVR_IPCHANINFO[] struIPChanInfo = new NET_DVR_IPCHANINFO[MAX_IP_CHANNEL]; /* IP閫氶亾 */
+ public NET_DVR_IPALARMININFO[] struIPAlarmInInfo = new NET_DVR_IPALARMININFO[MAX_IP_ALARMIN]; /* IP鎶ヨ杈撳叆 */
+ public NET_DVR_IPALARMOUTINFO[] struIPAlarmOutInfo = new NET_DVR_IPALARMOUTINFO[MAX_IP_ALARMOUT]; /* IP鎶ヨ杈撳嚭 */
+
+
+ }
+
+ public static class NET_DVR_SINGLE_HD extends Structure {//鏈湴纭洏淇℃伅閰嶇疆
+ public int dwHDNo; /*纭洏鍙, 鍙栧0~MAX_DISKNUM_V30-1*/
+ public int dwCapacity; /*纭洏瀹归噺(涓嶅彲璁剧疆)*/
+ public int dwFreeSpace; /*纭洏鍓╀綑绌洪棿(涓嶅彲璁剧疆)*/
+ public int dwHdStatus; /*纭洏鐘舵(涓嶅彲璁剧疆) 0-姝e父, 1-鏈牸寮忓寲, 2-閿欒, 3-SMART鐘舵, 4-涓嶅尮閰, 5-浼戠湢*/
+ public byte byHDAttr; /*0-榛樿, 1-鍐椾綑; 2-鍙*/
+ public byte[] byRes1 = new byte[3];
+ public int dwHdGroup; /*灞炰簬鍝釜鐩樼粍 1-MAX_HD_GROUP*/
+ public byte[] byRes2 = new byte[120];
+ }
+
+ public static class NET_DVR_HDCFG extends Structure {
+ public int dwSize;
+ public int dwHDCount; /*纭洏鏁(涓嶅彲璁剧疆)*/
+ public NET_DVR_SINGLE_HD[] struHDInfo = new NET_DVR_SINGLE_HD[MAX_DISKNUM_V30];//纭洏鐩稿叧鎿嶄綔閮介渶瑕侀噸鍚墠鑳界敓鏁堬紱
+ }
+
+ public static class NET_DVR_SINGLE_HDGROUP extends Structure {//鏈湴鐩樼粍淇℃伅閰嶇疆
+ public int dwHDGroupNo; /*鐩樼粍鍙(涓嶅彲璁剧疆) 1-MAX_HD_GROUP*/
+ public byte[] byHDGroupChans = new byte[64]; /*鐩樼粍瀵瑰簲鐨勫綍鍍忛氶亾, 0-琛ㄧず璇ラ氶亾涓嶅綍璞″埌璇ョ洏缁勶紝1-琛ㄧず褰曡薄鍒拌鐩樼粍*/
+ public byte[] byRes = new byte[8];
+ }
+
+ public static class NET_DVR_HDGROUP_CFG extends Structure {
+ public int dwSize;
+ public int dwHDGroupCount; /*鐩樼粍鎬绘暟(涓嶅彲璁剧疆)*/
+ public NET_DVR_SINGLE_HDGROUP[] struHDGroupAttr = new NET_DVR_SINGLE_HDGROUP[MAX_HD_GROUP];//纭洏鐩稿叧鎿嶄綔閮介渶瑕侀噸鍚墠鑳界敓鏁堬紱
+ }
+
+ public static class NET_DVR_SCALECFG extends Structure {//閰嶇疆缂╂斁鍙傛暟鐨勭粨鏋
+ public int dwSize;
+ public int dwMajorScale; /* 涓绘樉绀 0-涓嶇缉鏀撅紝1-缂╂斁*/
+ public int dwMinorScale; /* 杈呮樉绀 0-涓嶇缉鏀撅紝1-缂╂斁*/
+ public int[] dwRes = new int[2];
+ }
+
+ public static class NET_DVR_ALARMOUTCFG_V30 extends Structure {//DVR鎶ヨ杈撳嚭(9000鎵╁睍)
+ public int dwSize;
+ public byte[] sAlarmOutName = new byte[NAME_LEN]; /* 鍚嶇О */
+ public int dwAlarmOutDelay; /* 杈撳嚭淇濇寔鏃堕棿(-1涓烘棤闄愶紝鎵嬪姩鍏抽棴) */
+ //0-5绉,1-10绉,2-30绉,3-1鍒嗛挓,4-2鍒嗛挓,5-5鍒嗛挓,6-10鍒嗛挓,7-鎵嬪姩
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmOutTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];/* 鎶ヨ杈撳嚭婵娲绘椂闂存 */
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_ALARMOUTCFG extends Structure {//DVR鎶ヨ杈撳嚭
+ public int dwSize;
+ public byte[] sAlarmOutName = new byte[NAME_LEN]; /* 鍚嶇О */
+ public int dwAlarmOutDelay; /* 杈撳嚭淇濇寔鏃堕棿(-1涓烘棤闄愶紝鎵嬪姩鍏抽棴) */
+ //0-5绉,1-10绉,2-30绉,3-1鍒嗛挓,4-2鍒嗛挓,5-5鍒嗛挓,6-10鍒嗛挓,7-鎵嬪姩
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmOutTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];/* 鎶ヨ杈撳嚭婵娲绘椂闂存 */
+ }
+
+ public static class NET_DVR_PREVIEWCFG_V30 extends Structure {//DVR鏈湴棰勮鍙傛暟(9000鎵╁睍)
+ public int dwSize;
+ public byte byPreviewNumber;//棰勮鏁扮洰,0-1鐢婚潰,1-4鐢婚潰,2-9鐢婚潰,3-16鐢婚潰, 4-6鐢婚潰, 5-8鐢婚潰, 0xff:鏈澶х敾闈
+ public byte byEnableAudio;//鏄惁澹伴煶棰勮,0-涓嶉瑙,1-棰勮
+ public short wSwitchTime;//鍒囨崲鏃堕棿,0-涓嶅垏鎹,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
+ public byte[][] bySwitchSeq = new byte[MAX_PREVIEW_MODE][MAX_WINDOW_V30];//鍒囨崲椤哄簭,濡傛灉lSwitchSeq[i]涓 0xff琛ㄧず涓嶇敤
+ public byte[] byRes = new byte[24];
+ }
+
+ public static class NET_DVR_PREVIEWCFG extends Structure {//DVR鏈湴棰勮鍙傛暟
+ public int dwSize;
+ public byte byPreviewNumber;//棰勮鏁扮洰,0-1鐢婚潰,1-4鐢婚潰,2-9鐢婚潰,3-16鐢婚潰,0xff:鏈澶х敾闈
+ public byte byEnableAudio;//鏄惁澹伴煶棰勮,0-涓嶉瑙,1-棰勮
+ public short wSwitchTime;//鍒囨崲鏃堕棿,0-涓嶅垏鎹,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s
+ public byte[] bySwitchSeq = new byte[MAX_WINDOW];//鍒囨崲椤哄簭,濡傛灉lSwitchSeq[i]涓 0xff琛ㄧず涓嶇敤
+ }
+
+ public static class NET_DVR_VGAPARA extends Structure {//DVR瑙嗛杈撳嚭
+ public short wResolution; /* 鍒嗚鲸鐜 */
+ public short wFreq; /* 鍒锋柊棰戠巼 */
+ public int dwBrightness; /* 浜害 */
+ }
+
+ /*
+ * MATRIX杈撳嚭鍙傛暟缁撴瀯
+ */
+ public static class NET_DVR_MATRIXPARA_V30 extends Structure {
+ public short[] wOrder = new short[MAX_ANALOG_CHANNUM]; /* 棰勮椤哄簭, 0xff琛ㄧず鐩稿簲鐨勭獥鍙d笉棰勮 */
+ public short wSwitchTime; /* 棰勮鍒囨崲鏃堕棿 */
+ public byte[] res = new byte[14];
+ }
+
+ public static class NET_DVR_MATRIXPARA extends Structure {
+ public short wDisplayLogo; /* 鏄剧ず瑙嗛閫氶亾鍙(淇濈暀) */
+ public short wDisplayOsd; /* 鏄剧ず鏃堕棿(淇濈暀) */
+ }
+
+ public static class NET_DVR_VOOUT extends Structure {
+ public byte byVideoFormat; /* 杈撳嚭鍒跺紡,0-PAL,1-NTSC */
+ public byte byMenuAlphaValue; /* 鑿滃崟涓庤儗鏅浘璞″姣斿害 */
+ public short wScreenSaveTime; /* 灞忓箷淇濇姢鏃堕棿 0-浠庝笉,1-1鍒嗛挓,2-2鍒嗛挓,3-5鍒嗛挓,4-10鍒嗛挓,5-20鍒嗛挓,6-30鍒嗛挓 */
+ public short wVOffset; /* 瑙嗛杈撳嚭鍋忕Щ */
+ public short wBrightness; /* 瑙嗛杈撳嚭浜害 */
+ public byte byStartMode; /* 鍚姩鍚庤棰戣緭鍑烘ā寮(0:鑿滃崟,1:棰勮)*/
+ public byte byEnableScaler; /* 鏄惁鍚姩缂╂斁 (0-涓嶅惎鍔, 1-鍚姩)*/
+ }
+
+ public static class NET_DVR_VIDEOOUT_V30 extends Structure {//DVR瑙嗛杈撳嚭(9000鎵╁睍)
+ public int dwSize;
+ public NET_DVR_VOOUT[] struVOOut = new NET_DVR_VOOUT[MAX_VIDEOOUT_V30];
+ public NET_DVR_VGAPARA[] struVGAPara = new NET_DVR_VGAPARA[MAX_VGA_V30]; /* VGA鍙傛暟 */
+ public NET_DVR_MATRIXPARA_V30[] struMatrixPara = new NET_DVR_MATRIXPARA_V30[MAX_MATRIXOUT]; /* MATRIX鍙傛暟 */
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_VIDEOOUT extends Structure {//DVR瑙嗛杈撳嚭
+ public int dwSize;
+ public NET_DVR_VOOUT[] struVOOut = new NET_DVR_VOOUT[MAX_VIDEOOUT];
+ public NET_DVR_VGAPARA[] struVGAPara = new NET_DVR_VGAPARA[MAX_VGA]; /* VGA鍙傛暟 */
+ public NET_DVR_MATRIXPARA struMatrixPara; /* MATRIX鍙傛暟 */
+ }
+
+ public static class NET_DVR_USER_INFO_V30 extends Structure {//鍗曠敤鎴峰弬鏁(瀛愮粨鏋)(9000鎵╁睍)
+ public byte[] sUserName = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte[] byLocalRight = new byte[MAX_RIGHT]; /* 鏈湴鏉冮檺 */
+ /*鏁扮粍0: 鏈湴鎺у埗浜戝彴*/
+ /*鏁扮粍1: 鏈湴鎵嬪姩褰曡薄*/
+ /*鏁扮粍2: 鏈湴鍥炴斁*/
+ /*鏁扮粍3: 鏈湴璁剧疆鍙傛暟*/
+ /*鏁扮粍4: 鏈湴鏌ョ湅鐘舵併佹棩蹇*/
+ /*鏁扮粍5: 鏈湴楂樼骇鎿嶄綔(鍗囩骇锛屾牸寮忓寲锛岄噸鍚紝鍏虫満)*/
+ /*鏁扮粍6: 鏈湴鏌ョ湅鍙傛暟 */
+ /*鏁扮粍7: 鏈湴绠$悊妯℃嫙鍜孖P camera */
+ /*鏁扮粍8: 鏈湴澶囦唤 */
+ /*鏁扮粍9: 鏈湴鍏虫満/閲嶅惎 */
+ public byte[] byRemoteRight = new byte[MAX_RIGHT];/* 杩滅▼鏉冮檺 */
+ /*鏁扮粍0: 杩滅▼鎺у埗浜戝彴*/
+ /*鏁扮粍1: 杩滅▼鎵嬪姩褰曡薄*/
+ /*鏁扮粍2: 杩滅▼鍥炴斁 */
+ /*鏁扮粍3: 杩滅▼璁剧疆鍙傛暟*/
+ /*鏁扮粍4: 杩滅▼鏌ョ湅鐘舵併佹棩蹇*/
+ /*鏁扮粍5: 杩滅▼楂樼骇鎿嶄綔(鍗囩骇锛屾牸寮忓寲锛岄噸鍚紝鍏虫満)*/
+ /*鏁扮粍6: 杩滅▼鍙戣捣璇煶瀵硅*/
+ /*鏁扮粍7: 杩滅▼棰勮*/
+ /*鏁扮粍8: 杩滅▼璇锋眰鎶ヨ涓婁紶銆佹姤璀﹁緭鍑*/
+ /*鏁扮粍9: 杩滅▼鎺у埗锛屾湰鍦拌緭鍑*/
+ /*鏁扮粍10: 杩滅▼鎺у埗涓插彛*/
+ /*鏁扮粍11: 杩滅▼鏌ョ湅鍙傛暟 */
+ /*鏁扮粍12: 杩滅▼绠$悊妯℃嫙鍜孖P camera */
+ /*鏁扮粍13: 杩滅▼鍏虫満/閲嶅惎 */
+ public byte[] byNetPreviewRight = new byte[MAX_CHANNUM_V30]; /* 杩滅▼鍙互棰勮鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byLocalPlaybackRight = new byte[MAX_CHANNUM_V30]; /* 鏈湴鍙互鍥炴斁鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byNetPlaybackRight = new byte[MAX_CHANNUM_V30]; /* 杩滅▼鍙互鍥炴斁鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byLocalRecordRight = new byte[MAX_CHANNUM_V30]; /* 鏈湴鍙互褰曞儚鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byNetRecordRight = new byte[MAX_CHANNUM_V30]; /* 杩滅▼鍙互褰曞儚鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byLocalPTZRight = new byte[MAX_CHANNUM_V30]; /* 鏈湴鍙互PTZ鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byNetPTZRight = new byte[MAX_CHANNUM_V30]; /* 杩滅▼鍙互PTZ鐨勯氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public byte[] byLocalBackupRight = new byte[MAX_CHANNUM_V30]; /* 鏈湴澶囦唤鏉冮檺閫氶亾 0-鏈夋潈闄愶紝1-鏃犳潈闄*/
+ public NET_DVR_IPADDR struUserIP; /* 鐢ㄦ埛IP鍦板潃(涓0鏃惰〃绀哄厑璁镐换浣曞湴鍧) */
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; /* 鐗╃悊鍦板潃 */
+ public byte byPriority; /* 浼樺厛绾э紝0xff-鏃狅紝0--浣庯紝1--涓紝2--楂 */
+ /*
+ 鏃犫︹﹁〃绀轰笉鏀寔浼樺厛绾х殑璁剧疆
+ 浣庘︹﹂粯璁ゆ潈闄:鍖呮嫭鏈湴鍜岃繙绋嬪洖鏀,鏈湴鍜岃繙绋嬫煡鐪嬫棩蹇楀拰鐘舵,鏈湴鍜岃繙绋嬪叧鏈/閲嶅惎
+ 涓︹﹀寘鎷湰鍦板拰杩滅▼鎺у埗浜戝彴,鏈湴鍜岃繙绋嬫墜鍔ㄥ綍鍍,鏈湴鍜岃繙绋嬪洖鏀,璇煶瀵硅鍜岃繙绋嬮瑙
+ 鏈湴澶囦唤,鏈湴/杩滅▼鍏虫満/閲嶅惎
+ 楂樷︹︾鐞嗗憳
+ */
+ public byte[] byRes = new byte[17];
+ }
+
+ public static class NET_DVR_USER_INFO_EX extends Structure {//鍗曠敤鎴峰弬鏁(SDK_V15鎵╁睍)(瀛愮粨鏋)
+ public byte[] sUserName = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public int[] dwLocalRight = new int[MAX_RIGHT]; /* 鏉冮檺 */
+ /*鏁扮粍0: 鏈湴鎺у埗浜戝彴*/
+ /*鏁扮粍1: 鏈湴鎵嬪姩褰曡薄*/
+ /*鏁扮粍2: 鏈湴鍥炴斁*/
+ /*鏁扮粍3: 鏈湴璁剧疆鍙傛暟*/
+ /*鏁扮粍4: 鏈湴鏌ョ湅鐘舵併佹棩蹇*/
+ /*鏁扮粍5: 鏈湴楂樼骇鎿嶄綔(鍗囩骇锛屾牸寮忓寲锛岄噸鍚紝鍏虫満)*/
+ public int dwLocalPlaybackRight; /* 鏈湴鍙互鍥炴斁鐨勯氶亾 bit0 -- channel 1*/
+ public int[] dwRemoteRight = new int[MAX_RIGHT]; /* 鏉冮檺 */
+ /*鏁扮粍0: 杩滅▼鎺у埗浜戝彴*/
+ /*鏁扮粍1: 杩滅▼鎵嬪姩褰曡薄*/
+ /*鏁扮粍2: 杩滅▼鍥炴斁 */
+ /*鏁扮粍3: 杩滅▼璁剧疆鍙傛暟*/
+ /*鏁扮粍4: 杩滅▼鏌ョ湅鐘舵併佹棩蹇*/
+ /*鏁扮粍5: 杩滅▼楂樼骇鎿嶄綔(鍗囩骇锛屾牸寮忓寲锛岄噸鍚紝鍏虫満)*/
+ /*鏁扮粍6: 杩滅▼鍙戣捣璇煶瀵硅*/
+ /*鏁扮粍7: 杩滅▼棰勮*/
+ /*鏁扮粍8: 杩滅▼璇锋眰鎶ヨ涓婁紶銆佹姤璀﹁緭鍑*/
+ /*鏁扮粍9: 杩滅▼鎺у埗锛屾湰鍦拌緭鍑*/
+ /*鏁扮粍10: 杩滅▼鎺у埗涓插彛*/
+ public int dwNetPreviewRight; /* 杩滅▼鍙互棰勮鐨勯氶亾 bit0 -- channel 1*/
+ public int dwNetPlaybackRight; /* 杩滅▼鍙互鍥炴斁鐨勯氶亾 bit0 -- channel 1*/
+ public byte[] sUserIP = new byte[16]; /* 鐢ㄦ埛IP鍦板潃(涓0鏃惰〃绀哄厑璁镐换浣曞湴鍧) */
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; /* 鐗╃悊鍦板潃 */
+ }
+
+ public static class NET_DVR_USER_INFO extends Structure {//鍗曠敤鎴峰弬鏁(瀛愮粨鏋)
+ public byte[] sUserName = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public int[] dwLocalRight = new int[MAX_RIGHT]; /* 鏉冮檺 */
+ /*鏁扮粍0: 鏈湴鎺у埗浜戝彴*/
+ /*鏁扮粍1: 鏈湴鎵嬪姩褰曡薄*/
+ /*鏁扮粍2: 鏈湴鍥炴斁*/
+ /*鏁扮粍3: 鏈湴璁剧疆鍙傛暟*/
+ /*鏁扮粍4: 鏈湴鏌ョ湅鐘舵併佹棩蹇*/
+ /*鏁扮粍5: 鏈湴楂樼骇鎿嶄綔(鍗囩骇锛屾牸寮忓寲锛岄噸鍚紝鍏虫満)*/
+ public int[] dwRemoteRight = new int[MAX_RIGHT]; /* 鏉冮檺 */
+ /*鏁扮粍0: 杩滅▼鎺у埗浜戝彴*/
+ /*鏁扮粍1: 杩滅▼鎵嬪姩褰曡薄*/
+ /*鏁扮粍2: 杩滅▼鍥炴斁 */
+ /*鏁扮粍3: 杩滅▼璁剧疆鍙傛暟*/
+ /*鏁扮粍4: 杩滅▼鏌ョ湅鐘舵併佹棩蹇*/
+ /*鏁扮粍5: 杩滅▼楂樼骇鎿嶄綔(鍗囩骇锛屾牸寮忓寲锛岄噸鍚紝鍏虫満)*/
+ /*鏁扮粍6: 杩滅▼鍙戣捣璇煶瀵硅*/
+ /*鏁扮粍7: 杩滅▼棰勮*/
+ /*鏁扮粍8: 杩滅▼璇锋眰鎶ヨ涓婁紶銆佹姤璀﹁緭鍑*/
+ /*鏁扮粍9: 杩滅▼鎺у埗锛屾湰鍦拌緭鍑*/
+ /*鏁扮粍10: 杩滅▼鎺у埗涓插彛*/
+ public byte[] sUserIP = new byte[16]; /* 鐢ㄦ埛IP鍦板潃(涓0鏃惰〃绀哄厑璁镐换浣曞湴鍧) */
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; /* 鐗╃悊鍦板潃 */
+ }
+
+ public static class NET_DVR_USER_V30 extends Structure {//DVR鐢ㄦ埛鍙傛暟(9000鎵╁睍)
+ public int dwSize;
+ public NET_DVR_USER_INFO_V30[] struUser = new NET_DVR_USER_INFO_V30[MAX_USERNUM_V30];
+ }
+
+ public static class NET_DVR_USER_EX extends Structure {//DVR鐢ㄦ埛鍙傛暟(SDK_V15鎵╁睍)
+ public int dwSize;
+ public NET_DVR_USER_INFO_EX[] struUser = new NET_DVR_USER_INFO_EX[MAX_USERNUM];
+ }
+
+ public static class NET_DVR_USER extends Structure {//DVR鐢ㄦ埛鍙傛暟
+ public int dwSize;
+ public NET_DVR_USER_INFO[] struUser = new NET_DVR_USER_INFO[MAX_USERNUM];
+ }
+
+ public static class NET_DVR_EXCEPTION_V30 extends Structure {//DVR寮傚父鍙傛暟(9000鎵╁睍)
+ public int dwSize;
+ public NET_DVR_HANDLEEXCEPTION_V30[] struExceptionHandleType = new NET_DVR_HANDLEEXCEPTION_V30[MAX_EXCEPTIONNUM_V30];
+ /*鏁扮粍0-鐩樻弧,1- 纭洏鍑洪敊,2-缃戠嚎鏂,3-灞鍩熺綉鍐匢P 鍦板潃鍐茬獊,4-闈炴硶璁块棶, 5-杈撳叆/杈撳嚭瑙嗛鍒跺紡涓嶅尮閰, 6-琛岃溅瓒呴(杞﹁浇涓撶敤), 7-瑙嗛淇″彿寮傚父(9000)*/
+ }
+
+ public static class NET_DVR_EXCEPTION extends Structure {//DVR寮傚父鍙傛暟
+ public int dwSize;
+ public NET_DVR_HANDLEEXCEPTION[] struExceptionHandleType = new NET_DVR_HANDLEEXCEPTION[MAX_EXCEPTIONNUM];
+ /*鏁扮粍0-鐩樻弧,1- 纭洏鍑洪敊,2-缃戠嚎鏂,3-灞鍩熺綉鍐匢P 鍦板潃鍐茬獊,4-闈炴硶璁块棶, 5-杈撳叆/杈撳嚭瑙嗛鍒跺紡涓嶅尮閰, 6-琛岃溅瓒呴(杞﹁浇涓撶敤)*/
+ }
+
+ public static class NET_DVR_CHANNELSTATE_V30 extends Structure {//閫氶亾鐘舵(9000鎵╁睍)
+ public byte byRecordStatic; //閫氶亾鏄惁鍦ㄥ綍鍍,0-涓嶅綍鍍,1-褰曞儚
+ public byte bySignalStatic; //杩炴帴鐨勪俊鍙风姸鎬,0-姝e父,1-淇″彿涓㈠け
+ public byte byHardwareStatic;//閫氶亾纭欢鐘舵,0-姝e父,1-寮傚父,渚嬪DSP姝绘帀
+ public byte byRes1; //淇濈暀
+ public int dwBitRate;//瀹為檯鐮佺巼
+ public int dwLinkNum;//瀹㈡埛绔繛鎺ョ殑涓暟
+ public NET_DVR_IPADDR[] struClientIP = new NET_DVR_IPADDR[MAX_LINK];//瀹㈡埛绔殑IP鍦板潃
+ public int dwIPLinkNum;//濡傛灉璇ラ氶亾涓篒P鎺ュ叆锛岄偅涔堣〃绀篒P鎺ュ叆褰撳墠鐨勮繛鎺ユ暟
+ public byte byExceedMaxLink; // 鏄惁瓒呭嚭浜嗗崟璺6璺繛鎺ユ暟 0 - 鏈秴鍑, 1-瓒呭嚭
+ public byte[] byRes = new byte[3]; // 淇濈暀瀛楄妭
+ public int dwAllBitRate; //鎵鏈夊疄闄呯爜鐜囦箣鍜
+ public int dwChannelNo; //褰撳墠鐨勯氶亾鍙凤紝0xffffffff琛ㄧず鏃犳晥
+ }
+
+ public static class NET_DVR_CHANNELSTATE extends Structure {//閫氶亾鐘舵
+ public byte byRecordStatic; //閫氶亾鏄惁鍦ㄥ綍鍍,0-涓嶅綍鍍,1-褰曞儚
+ public byte bySignalStatic; //杩炴帴鐨勪俊鍙风姸鎬,0-姝e父,1-淇″彿涓㈠け
+ public byte byHardwareStatic;//閫氶亾纭欢鐘舵,0-姝e父,1-寮傚父,渚嬪DSP姝绘帀
+ public byte reservedData; //淇濈暀
+ public int dwBitRate;//瀹為檯鐮佺巼
+ public int dwLinkNum;//瀹㈡埛绔繛鎺ョ殑涓暟
+ public int[] dwClientIP = new int[MAX_LINK];//瀹㈡埛绔殑IP鍦板潃
+ }
+
+ public static class NET_DVR_DISKSTATE extends Structure {//纭洏鐘舵
+ public int dwVolume;//纭洏鐨勫閲
+ public int dwFreeSpace;//纭洏鐨勫墿浣欑┖闂
+ public int dwHardDiskStatic; //纭洏鐨勭姸鎬,鎸変綅:1-浼戠湢,2-涓嶆甯,3-浼戠湢纭洏鍑洪敊
+ }
+
+ public static class NET_DVR_WORKSTATE_V30 extends Structure {//DVR宸ヤ綔鐘舵(9000鎵╁睍)
+ public int dwDeviceStatic; //璁惧鐨勭姸鎬,0-姝e父,1-CPU鍗犵敤鐜囧お楂,瓒呰繃85%,2-纭欢閿欒,渚嬪涓插彛姝绘帀
+ public NET_DVR_DISKSTATE[] struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM_V30];
+ public NET_DVR_CHANNELSTATE_V30[] struChanStatic = new NET_DVR_CHANNELSTATE_V30[MAX_CHANNUM_V30];//閫氶亾鐨勭姸鎬
+ public byte[] byAlarmInStatic = new byte[MAX_ALARMIN_V30]; //鎶ヨ绔彛鐨勭姸鎬,0-娌℃湁鎶ヨ,1-鏈夋姤璀
+ public byte[] byAlarmOutStatic = new byte[MAX_ALARMOUT_V30]; //鎶ヨ杈撳嚭绔彛鐨勭姸鎬,0-娌℃湁杈撳嚭,1-鏈夋姤璀﹁緭鍑
+ public int dwLocalDisplay;//鏈湴鏄剧ず鐘舵,0-姝e父,1-涓嶆甯
+ public byte[] byAudioChanStatus = new byte[MAX_AUDIO_V30];//琛ㄧず璇煶閫氶亾鐨勭姸鎬 0-鏈娇鐢紝1-浣跨敤涓, 0xff鏃犳晥
+ public byte[] byRes = new byte[10];
+ }
+
+ public static class NET_DVR_WORKSTATE extends Structure {//DVR宸ヤ綔鐘舵
+ public int dwDeviceStatic; //璁惧鐨勭姸鎬,0-姝e父,1-CPU鍗犵敤鐜囧お楂,瓒呰繃85%,2-纭欢閿欒,渚嬪涓插彛姝绘帀
+ public NET_DVR_DISKSTATE[] struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM];
+ public NET_DVR_CHANNELSTATE[] struChanStatic = new NET_DVR_CHANNELSTATE[MAX_CHANNUM];//閫氶亾鐨勭姸鎬
+ public byte[] byAlarmInStatic = new byte[MAX_ALARMIN]; //鎶ヨ绔彛鐨勭姸鎬,0-娌℃湁鎶ヨ,1-鏈夋姤璀
+ public byte[] byAlarmOutStatic = new byte[MAX_ALARMOUT]; //鎶ヨ杈撳嚭绔彛鐨勭姸鎬,0-娌℃湁杈撳嚭,1-鏈夋姤璀﹁緭鍑
+ public int dwLocalDisplay;//鏈湴鏄剧ず鐘舵,0-姝e父,1-涓嶆甯
+ }
+
+ public static class NET_DVR_LOG_V30 extends Structure {//鏃ュ織淇℃伅(9000鎵╁睍)
+ public NET_DVR_TIME strLogTime;
+ public int dwMajorType; //涓荤被鍨 1-鎶ヨ; 2-寮傚父; 3-鎿嶄綔; 0xff-鍏ㄩ儴
+ public int dwMinorType;//娆$被鍨 0-鍏ㄩ儴;
+ public byte[] sPanelUser = new byte[MAX_NAMELEN]; //鎿嶄綔闈㈡澘鐨勭敤鎴峰悕
+ public byte[] sNetUser = new byte[MAX_NAMELEN];//缃戠粶鎿嶄綔鐨勭敤鎴峰悕
+ public NET_DVR_IPADDR struRemoteHostAddr;//??绋嬩富鏈哄湴鍧
+ public int dwParaType;//鍙傛暟绫诲瀷
+ public int dwChannel;//閫氶亾鍙
+ public int dwDiskNumber;//纭洏鍙
+ public int dwAlarmInPort;//鎶ヨ杈撳叆绔彛
+ public int dwAlarmOutPort;//鎶ヨ杈撳嚭绔彛
+ public int dwInfoLen;
+ public byte[] sInfo = new byte[LOG_INFO_LEN];
+ }
+
+ //鏃ュ織淇℃伅
+ public static class NET_DVR_LOG extends Structure {
+ public NET_DVR_TIME strLogTime;
+ public int dwMajorType; //涓荤被鍨 1-鎶ヨ; 2-寮傚父; 3-鎿嶄綔; 0xff-鍏ㄩ儴
+ public int dwMinorType;//娆$被鍨 0-鍏ㄩ儴;
+ public byte[] sPanelUser = new byte[MAX_NAMELEN]; //鎿嶄綔闈㈡澘鐨勭敤鎴峰悕
+ public byte[] sNetUser = new byte[MAX_NAMELEN];//缃戠粶鎿嶄綔鐨勭敤鎴峰悕
+ public byte[] sRemoteHostAddr = new byte[16];//杩滅▼涓绘満鍦板潃
+ public int dwParaType;//鍙傛暟绫诲瀷
+ public int dwChannel;//閫氶亾鍙
+ public int dwDiskNumber;//纭洏鍙
+ public int dwAlarmInPort;//鎶ヨ杈撳叆绔彛
+ public int dwAlarmOutPort;//鎶ヨ杈撳嚭绔彛
+ }
+
+ /************************
+ * DVR鏃ュ織 end
+ ***************************/
+ public static class NET_DVR_ALARMOUTSTATUS_V30 extends Structure {//鎶ヨ杈撳嚭鐘舵(9000鎵╁睍)
+ public byte[] Output = new byte[MAX_ALARMOUT_V30];
+ }
+
+ public static class NET_DVR_ALARMOUTSTATUS extends Structure {//鎶ヨ杈撳嚭鐘舵
+ public byte[] Output = new byte[MAX_ALARMOUT];
+ }
+
+ public static class NET_DVR_TRADEINFO extends Structure {//浜ゆ槗淇℃伅
+ public short m_Year;
+ public short m_Month;
+ public short m_Day;
+ public short m_Hour;
+ public short m_Minute;
+ public short m_Second;
+ public byte[] DeviceName = new byte[24]; //璁惧鍚嶇О
+ public int dwChannelNumer; //閫氶亾鍙
+ public byte[] CardNumber = new byte[32]; //鍗″彿
+ public byte[] cTradeType = new byte[12]; //浜ゆ槗绫诲瀷
+ public int dwCash; //浜ゆ槗閲戦
+ }
+
+ public static class NET_DVR_FRAMETYPECODE extends Structure {/*甯ф牸寮*/
+ public byte[] code = new byte[12]; /* 浠g爜 */
+ }
+
+ public static class NET_DVR_FRAMEFORMAT_V30 extends Structure {//ATM鍙傛暟(9000鎵╁睍)
+ public int dwSize;
+ public NET_DVR_IPADDR struATMIP; /* ATM IP鍦板潃 */
+ public int dwATMType; /* ATM绫诲瀷 */
+ public int dwInputMode; /* 杈撳叆鏂瑰紡 0-缃戠粶渚﹀惉 1-缃戠粶鎺ユ敹 2-涓插彛鐩存帴杈撳叆 3-涓插彛ATM鍛戒护杈撳叆*/
+ public int dwFrameSignBeginPos; /* 鎶ユ枃鏍囧織浣嶇殑璧峰浣嶇疆*/
+ public int dwFrameSignLength; /* 鎶ユ枃鏍囧織浣嶇殑闀垮害 */
+ public byte[] byFrameSignContent = new byte[12]; /* 鎶ユ枃鏍囧織浣嶇殑鍐呭 */
+ public int dwCardLengthInfoBeginPos; /* 鍗″彿闀垮害淇℃伅鐨勮捣濮嬩綅缃 */
+ public int dwCardLengthInfoLength; /* 鍗″彿闀垮害淇℃伅鐨勯暱搴 */
+ public int dwCardNumberInfoBeginPos; /* 鍗″彿淇℃伅鐨勮捣濮嬩綅缃 */
+ public int dwCardNumberInfoLength; /* 鍗″彿淇℃伅鐨勯暱搴 */
+ public int dwBusinessTypeBeginPos; /* 浜ゆ槗绫诲瀷鐨勮捣濮嬩綅缃 */
+ public int dwBusinessTypeLength; /* 浜ゆ槗绫诲瀷鐨勯暱搴 */
+ public NET_DVR_FRAMETYPECODE[] frameTypeCode = new NET_DVR_FRAMETYPECODE[10]; /* 绫诲瀷 */
+ public short wATMPort; /* 鍗″彿鎹曟崏绔彛鍙(缃戠粶鍗忚鏂瑰紡) (淇濈暀)0xffff琛ㄧず璇ュ兼棤鏁*/
+ public short wProtocolType; /* 缃戠粶鍗忚绫诲瀷(淇濈暀) 0xffff琛ㄧず璇ュ兼棤鏁*/
+ public byte[] byRes = new byte[24];
+ }
+
+ public static class NET_DVR_FRAMEFORMAT extends Structure {//ATM鍙傛暟
+ public int dwSize;
+ public byte[] sATMIP = new byte[16]; /* ATM IP鍦板潃 */
+ public int dwATMType; /* ATM绫诲瀷 */
+ public int dwInputMode; /* 杈撳叆鏂瑰紡 0-缃戠粶渚﹀惉 1-缃戠粶鎺ユ敹 2-涓插彛鐩存帴杈撳叆 3-涓插彛ATM鍛戒护杈撳叆*/
+ public int dwFrameSignBeginPos; /* 鎶ユ枃鏍囧織浣嶇殑璧峰浣嶇疆*/
+ public int dwFrameSignLength; /* 鎶ユ枃鏍囧織浣嶇殑闀垮害 */
+ public byte[] byFrameSignContent = new byte[12]; /* 鎶ユ枃鏍囧織浣嶇殑鍐呭 */
+ public int dwCardLengthInfoBeginPos; /* 鍗″彿闀垮害淇℃伅鐨勮捣濮嬩綅缃 */
+ public int dwCardLengthInfoLength; /* 鍗″彿闀垮害淇℃伅鐨勯暱搴 */
+ public int dwCardNumberInfoBeginPos; /* 鍗″彿淇℃伅鐨勮捣濮嬩綅缃 */
+ public int dwCardNumberInfoLength; /* 鍗″彿淇℃伅鐨勯暱搴 */
+ public int dwBusinessTypeBeginPos; /* 浜ゆ槗绫诲瀷鐨勮捣濮嬩綅缃 */
+ public int dwBusinessTypeLength; /* 浜ゆ槗绫诲瀷鐨勯暱搴 */
+ public NET_DVR_FRAMETYPECODE[] frameTypeCode = new NET_DVR_FRAMETYPECODE[10];/* 绫诲瀷 */
+ }
+
+ public static class NET_DVR_FTPTYPECODE extends Structure {
+ public byte[] sFtpType = new byte[32]; /*瀹㈡埛瀹氫箟鐨勬搷浣滅被鍨*/
+ public byte[] sFtpCode = new byte[8]; /*瀹㈡埛瀹氫箟鐨勬搷浣滅被鍨嬬殑瀵瑰簲鐨勭爜*/
+ }
+
+ public static class NET_DVR_FRAMEFORMAT_EX extends Structure {//ATM鍙傛暟娣诲姞FTP涓婁紶鍙傛暟, 閾惰瀹氬埗, 2006-11-17
+ public int dwSize;
+ public byte[] sATMIP = new byte[16]; /* ATM IP鍦板潃 */
+ public int dwATMType; /* ATM绫诲瀷 */
+ public int dwInputMode; /* 杈撳叆鏂瑰紡 0-缃戠粶渚﹀惉 1-缃戠粶鎺ユ敹 2-涓插彛鐩存帴杈撳叆 3-涓插彛ATM鍛戒护杈撳叆*/
+ public int dwFrameSignBeginPos; /* 鎶ユ枃鏍囧織浣嶇殑璧峰浣嶇疆*/
+ public int dwFrameSignLength; /* 鎶ユ枃鏍囧織浣嶇殑闀垮害 */
+ public byte[] byFrameSignContent = new byte[12]; /* 鎶ユ枃鏍囧織浣嶇殑鍐呭 */
+ public int dwCardLengthInfoBeginPos; /* 鍗″彿闀垮害淇℃伅鐨勮捣濮嬩綅缃 */
+ public int dwCardLengthInfoLength; /* 鍗″彿闀垮害淇℃伅鐨勯暱搴 */
+ public int dwCardNumberInfoBeginPos; /* 鍗″彿淇℃伅鐨勮捣濮嬩綅缃 */
+ public int dwCardNumberInfoLength; /* 鍗″彿淇℃伅鐨勯暱搴 */
+ public int dwBusinessTypeBeginPos; /* 浜ゆ槗绫诲瀷鐨勮捣濮嬩綅缃 */
+ public int dwBusinessTypeLength; /* 浜ゆ槗绫诲瀷鐨勯暱搴 */
+ public NET_DVR_FRAMETYPECODE[] frameTypeCode = new NET_DVR_FRAMETYPECODE[10];/* 绫诲瀷 */
+ public byte[] sFTPIP = new byte[16]; /* FTP IP */
+ public byte[] byFtpUsername = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] byFtpPasswd = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte[] sDirName = new byte[NAME_LEN]; /*鏈嶅姟鍣ㄧ洰褰曞悕*/
+ public int dwATMSrvType; /*ATM鏈嶅姟鍣ㄧ被鍨嬶紝0--wincor 锛1--diebold*/
+ public int dwTimeSpace; /*鍙栧间负1.2.3.4.5.10*/
+ public NET_DVR_FTPTYPECODE[] sFtpTypeCodeOp = new NET_DVR_FTPTYPECODE[300]; /*鏂板姞鐨*/
+ public int dwADPlay; /* 1 琛ㄧず鍦ㄦ挱鏀惧箍鍛婏紝0 琛ㄧず娌℃湁鎾斁骞垮憡*/
+ public int dwNewPort; //绔彛
+ }
+/****************************ATM(end)***************************/
+
+ /*****************************
+ * DS-6001D/F(begin)
+ ***************************/
+//DS-6001D Decoder
+ public static class NET_DVR_DECODERINFO extends Structure {
+ public byte[] byEncoderIP = new byte[16]; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒IP
+ public byte[] byEncoderUser = new byte[16]; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勭敤鎴峰悕
+ public byte[] byEncoderPasswd = new byte[16]; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勫瘑鐮
+ public byte bySendMode; //瑙g爜璁惧杩炴帴鏈嶅姟鍣ㄧ殑杩炴帴妯″紡
+ public byte byEncoderChannel; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勯氶亾鍙
+ public short wEncoderPort; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勭鍙e彿
+ public byte[] reservedData = new byte[4]; //淇濈暀
+ }
+
+ public static class NET_DVR_DECODERSTATE extends Structure {
+ public byte[] byEncoderIP = new byte[16]; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒IP
+ public byte[] byEncoderUser = new byte[16]; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勭敤鎴峰悕
+ public byte[] byEncoderPasswd = new byte[16]; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勫瘑鐮
+ public byte byEncoderChannel; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勯氶亾鍙
+ public byte bySendMode; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勮繛鎺ユā寮
+ public short wEncoderPort; //瑙g爜璁惧杩炴帴鐨勬湇鍔″櫒鐨勭鍙e彿
+ public int dwConnectState; //瑙g爜璁惧杩炴帴鏈嶅姟鍣ㄧ殑鐘舵
+ public byte[] reservedData = new byte[4]; //淇濈暀
+ }
+
+ public static class NET_DVR_DECCHANINFO extends Structure {
+ public byte[] sDVRIP = new byte[16]; /* DVR IP鍦板潃 */
+ public short wDVRPort; /* 绔彛鍙 */
+ public byte[] sUserName = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte byChannel; /* 閫氶亾鍙 */
+ public byte byLinkMode; /* 杩炴帴妯″紡 */
+ public byte byLinkType; /* 杩炴帴绫诲瀷 0锛嶄富鐮佹祦 1锛嶅瓙鐮佹祦 */
+ }
+
+ public static class NET_DVR_DECINFO extends Structure {/*姣忎釜瑙g爜閫氶亾鐨勯厤缃*/
+ public byte byPoolChans; /*姣忚矾瑙g爜閫氶亾涓婄殑寰幆閫氶亾鏁伴噺, 鏈澶4閫氶亾 0琛ㄧず娌℃湁瑙g爜*/
+ public NET_DVR_DECCHANINFO[] struchanConInfo = new NET_DVR_DECCHANINFO[MAX_DECPOOLNUM];
+ public byte byEnablePoll; /*鏄惁杞贰 0-鍚 1-鏄*/
+ public byte byPoolTime; /*杞贰鏃堕棿 0-淇濈暀 1-10绉 2-15绉 3-20绉 4-30绉 5-45绉 6-1鍒嗛挓 7-2鍒嗛挓 8-5鍒嗛挓 */
+ }
+
+ public static class NET_DVR_DECCFG extends Structure {/*鏁翠釜璁惧瑙g爜閰嶇疆*/
+ public int dwSize;
+ public int dwDecChanNum; /*瑙g爜閫氶亾鐨勬暟閲*/
+ public NET_DVR_DECINFO[] struDecInfo = new NET_DVR_DECINFO[MAX_DECNUM];
+ }
+
+ //2005-08-01
+ public static class NET_DVR_PORTINFO extends Structure {/* 瑙g爜璁惧閫忔槑閫氶亾璁剧疆 */
+ public int dwEnableTransPort; /* 鏄惁鍚姩閫忔槑閫氶亾 0锛嶄笉鍚敤 1锛嶅惎鐢*/
+ public byte[] sDecoderIP = new byte[16]; /* DVR IP鍦板潃 */
+ public short wDecoderPort; /* 绔彛鍙 */
+ public short wDVRTransPort; /* 閰嶇疆鍓嶇DVR鏄粠485/232杈撳嚭锛1琛ㄧず232涓插彛,2琛ㄧず485涓插彛 */
+ public byte[] cReserve = new byte[4];
+ }
+
+ public static class NET_DVR_PORTCFG extends Structure {
+ public int dwSize;
+ public NET_DVR_PORTINFO[] struTransPortInfo = new NET_DVR_PORTINFO[MAX_TRANSPARENTNUM]; /* 鏁扮粍0琛ㄧず232 鏁扮粍1琛ㄧず485 */
+ }
+
+ /*https://jna.dev.java.net/javadoc/com/sun/jna/Union.html#setType(java.lang.Class) see how to use the JNA Union*/
+ public static class NET_DVR_PLAYREMOTEFILE extends Structure {/* 鎺у埗缃戠粶鏂囦欢鍥炴斁 */
+ public int dwSize;
+ public byte[] sDecoderIP = new byte[16]; /* DVR IP鍦板潃 */
+ public short wDecoderPort; /* 绔彛鍙 */
+ public short wLoadMode; /* 鍥炴斁涓嬭浇妯″紡 1锛嶆寜鍚嶅瓧 2锛嶆寜鏃堕棿 */
+ public byte[] byFile = new byte[100];
+
+ public static class mode_size extends Union {
+ public byte[] byFile = new byte[100]; // 鍥炴斁鐨勬枃浠跺悕
+
+ public static class bytime extends Structure {
+ public int dwChannel;
+ public byte[] sUserName = new byte[NAME_LEN]; //璇锋眰瑙嗛鐢ㄦ埛鍚
+ public byte[] sPassword = new byte[PASSWD_LEN]; // 瀵嗙爜
+ public NET_DVR_TIME struStartTime; //鎸夋椂闂村洖鏀剧殑寮濮嬫椂闂
+ public NET_DVR_TIME struStopTime; // 鎸夋椂闂村洖鏀剧殑缁撴潫鏃堕棿
+ }
+ }
+ }
+
+ public static class NET_DVR_DECCHANSTATUS extends Structure {/*褰撳墠璁惧瑙g爜杩炴帴鐘舵*/
+ public int dwWorkType; /*宸ヤ綔鏂瑰紡锛1锛氳疆宸°2锛氬姩鎬佽繛鎺ヨВ鐮併3锛氭枃浠跺洖鏀句笅杞 4锛氭寜鏃堕棿鍥炴斁涓嬭浇*/
+ public byte[] sDVRIP = new byte[16]; /*杩炴帴鐨勮澶噄p*/
+ public short wDVRPort; /*杩炴帴绔彛鍙*/
+ public byte byChannel; /* 閫氶亾鍙 */
+ public byte byLinkMode; /* 杩炴帴妯″紡 */
+ public int dwLinkType; /*杩炴帴绫诲瀷 0锛嶄富鐮佹祦 1锛嶅瓙鐮佹祦*/
+ public byte[] sUserName = new byte[NAME_LEN]; /*璇锋眰瑙嗛鐢ㄦ埛鍚*/
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte[] cReserve = new byte[52];
+
+ public static class objectInfo extends Union {
+ public static class userInfo extends Structure {
+ public byte[] sUserName = new byte[NAME_LEN]; //璇锋眰瑙嗛鐢ㄦ埛鍚
+ public byte[] sPassword = new byte[PASSWD_LEN]; // 瀵嗙爜
+ public byte[] cReserve = new byte[52];
+ }
+
+ public static class fileInfo extends Structure {
+ public byte[] fileName = new byte[100];
+ }
+
+ public static class timeInfo extends Structure {
+ public int dwChannel;
+ public byte[] sUserName = new byte[NAME_LEN]; //璇锋眰瑙嗛鐢ㄦ埛鍚
+ public byte[] sPassword = new byte[PASSWD_LEN]; // 瀵嗙爜
+ public NET_DVR_TIME struStartTime; // 鎸夋椂闂村洖鏀剧殑寮濮嬫椂闂
+ public NET_DVR_TIME struStopTime; //鎸夋椂闂村洖鏀剧殑缁撴潫鏃堕棿
+ }
+ }
+ }
+
+ public static class NET_DVR_DECSTATUS extends Structure {
+ public int dwSize;
+ public NET_DVR_DECCHANSTATUS[] struDecState = new NET_DVR_DECCHANSTATUS[MAX_DECNUM];
+ }
+
+ /*****************************
+ * DS-6001D/F(end)
+ ***************************/
+
+ public static class NET_DVR_SHOWSTRINGINFO extends Structure {//鍗曞瓧绗﹀弬鏁(瀛愮粨鏋)
+ public short wShowString; // 棰勮鐨勫浘璞′笂鏄惁鏄剧ず瀛楃,0-涓嶆樉绀,1-鏄剧ず 鍖哄煙澶у皬704*576,鍗曚釜瀛楃鐨勫ぇ灏忎负32*32
+ public short wStringSize; /* 璇ヨ瀛楃鐨勯暱搴︼紝涓嶈兘澶т簬44涓瓧绗 */
+ public short wShowStringTopLeftX; /* 瀛楃鏄剧ず浣嶇疆鐨剎鍧愭爣 */
+ public short wShowStringTopLeftY; /* 瀛楃鍚嶇О鏄剧ず浣嶇疆鐨剏鍧愭爣 */
+ public byte[] sString = new byte[44]; /* 瑕佹樉绀虹殑瀛楃鍐呭 */
+ }
+
+ //鍙犲姞瀛楃(9000鎵╁睍)
+ public static class NET_DVR_SHOWSTRING_V30 extends Structure {
+ public int dwSize;
+ public NET_DVR_SHOWSTRINGINFO[] struStringInfo = new NET_DVR_SHOWSTRINGINFO[MAX_STRINGNUM_V30]; /* 瑕佹樉绀虹殑瀛楃鍐呭 */
+ }
+
+ //鍙犲姞瀛楃鎵╁睍(8鏉″瓧绗)
+ public static class NET_DVR_SHOWSTRING_EX extends Structure {
+ public int dwSize;
+ public NET_DVR_SHOWSTRINGINFO[] struStringInfo = new NET_DVR_SHOWSTRINGINFO[MAX_STRINGNUM_EX]; /* 瑕佹樉绀虹殑瀛楃鍐呭 */
+ }
+
+ //鍙犲姞瀛楃
+ public static class NET_DVR_SHOWSTRING extends Structure {
+ public int dwSize;
+ public NET_DVR_SHOWSTRINGINFO[] struStringInfo = new NET_DVR_SHOWSTRINGINFO[MAX_STRINGNUM]; /* 瑕佹樉绀虹殑瀛楃鍐呭 */
+ }
+
+ /****************************
+ * DS9000鏂板缁撴瀯(begin)
+ ******************************/
+
+/*
+EMAIL鍙傛暟缁撴瀯
+*/
+ public static class NET_DVR_SENDER extends Structure {
+ public byte[] sName = new byte[NAME_LEN]; /* 鍙戜欢浜哄鍚 */
+ public byte[] sAddress = new byte[MAX_EMAIL_ADDR_LEN]; /* 鍙戜欢浜哄湴鍧 */
+ }
+
+ public static class NET_DVRRECEIVER extends Structure {
+ public byte[] sName = new byte[NAME_LEN]; /* 鏀朵欢浜哄鍚 */
+ public byte[] sAddress = new byte[MAX_EMAIL_ADDR_LEN]; /* 鏀朵欢浜哄湴鍧 */
+ }
+
+ public static class NET_DVR_EMAILCFG_V30 extends Structure {
+ public int dwSize;
+ public byte[] sAccount = new byte[NAME_LEN]; /* 璐﹀彿*/
+ public byte[] sPassword = new byte[MAX_EMAIL_PWD_LEN]; /*瀵嗙爜 */
+ public NET_DVR_SENDER struSender;
+ public byte[] sSmtpServer = new byte[MAX_EMAIL_ADDR_LEN]; /* smtp鏈嶅姟鍣 */
+ public byte[] sPop3Server = new byte[MAX_EMAIL_ADDR_LEN]; /* pop3鏈嶅姟鍣 */
+ public NET_DVRRECEIVER[] struReceiver = new NET_DVRRECEIVER[3]; /* 鏈澶氬彲浠ヨ缃3涓敹浠朵汉 */
+ public byte byAttachment; /* 鏄惁甯﹂檮浠 */
+ public byte bySmtpServerVerify; /* 鍙戦佹湇鍔″櫒瑕佹眰韬唤楠岃瘉 */
+ public byte byMailInterval; /* mail interval */
+ public byte[] res = new byte[77];
+ }
+
+ /*
+DVR瀹炵幇宸¤埅鏁版嵁缁撴瀯
+*/
+ public static class NET_DVR_CRUISE_PARA extends Structure {
+ public int dwSize;
+ public byte[] byPresetNo = new byte[CRUISE_MAX_PRESET_NUMS]; /* 棰勭疆鐐瑰彿 */
+ public byte[] byCruiseSpeed = new byte[CRUISE_MAX_PRESET_NUMS]; /* 宸¤埅閫熷害 */
+ public short[] wDwellTime = new short[CRUISE_MAX_PRESET_NUMS]; /* 鍋滅暀鏃堕棿 */
+ public byte[] byEnableThisCruise; /* 鏄惁鍚敤 */
+ public byte[] res = new byte[15];
+ }
+
+ /****************************
+ * DS9000鏂板缁撴瀯(end)
+ ******************************/
+
+//鏃堕棿鐐
+ public static class NET_DVR_TIMEPOINT extends Structure {
+ public int dwMonth; //鏈 0-11琛ㄧず1-12涓湀
+ public int dwWeekNo; //绗嚑鍛 0锛嶇1鍛 1锛嶇2鍛 2锛嶇3鍛 3锛嶇4鍛 4锛嶆渶鍚庝竴鍛
+ public int dwWeekDate; //鏄熸湡鍑 0锛嶆槦鏈熸棩 1锛嶆槦鏈熶竴 2锛嶆槦鏈熶簩 3锛嶆槦鏈熶笁 4锛嶆槦鏈熷洓 5锛嶆槦鏈熶簲 6锛嶆槦鏈熷叚
+ public int dwHour; //灏忔椂 寮濮嬫椂闂0锛23 缁撴潫鏃堕棿1锛23
+ public int dwMin; //鍒 0锛59
+ }
+
+ //澶忎护鏃跺弬鏁
+ public static class NET_DVR_ZONEANDDST extends Structure {
+ public int dwSize;
+ public byte[] byRes1 = new byte[16]; //淇濈暀
+ public int dwEnableDST; //鏄惁鍚敤澶忔椂鍒 0锛嶄笉鍚敤 1锛嶅惎鐢
+ public byte byDSTBias; //澶忎护鏃跺亸绉诲硷紝30min, 60min, 90min, 120min, 浠ュ垎閽熻锛屼紶閫掑師濮嬫暟鍊
+ public byte[] byRes2 = new byte[3];
+ public NET_DVR_TIMEPOINT struBeginPoint; //澶忔椂鍒跺紑濮嬫椂闂
+ public NET_DVR_TIMEPOINT struEndPoint; //澶忔椂鍒跺仠姝㈡椂闂
+ }
+
+ //鍥剧墖璐ㄩ噺
+ public static class NET_DVR_JPEGPARA extends Structure {
+ /*娉ㄦ剰锛氬綋鍥惧儚鍘嬬缉鍒嗚鲸鐜囦负VGA鏃讹紝鏀寔0=CIF, 1=QCIF, 2=D1鎶撳浘锛
+ 褰撳垎杈ㄧ巼涓3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p
+ 浠呮敮鎸佸綋鍓嶅垎杈ㄧ巼鐨勬姄鍥*/
+ public short wPicSize; /* 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA*/
+ public short wPicQuality; /* 鍥剧墖璐ㄩ噺绯绘暟 0-鏈濂 1-杈冨ソ 2-涓鑸 */
+ }
+
+ /* aux video out parameter */
+//杈呭姪杈撳嚭鍙傛暟閰嶇疆
+ public static class NET_DVR_AUXOUTCFG extends Structure {
+ public int dwSize;
+ public int dwAlarmOutChan; /* 閫夋嫨鎶ヨ寮瑰嚭澶ф姤璀﹂氶亾鍒囨崲鏃堕棿锛1鐢婚潰鐨勮緭鍑洪氶亾: 0:涓昏緭鍑/1:杈1/2:杈2/3:杈3/4:杈4 */
+ public int dwAlarmChanSwitchTime; /* :1绉 - 10:10绉 */
+ public int[] dwAuxSwitchTime = new int[MAX_AUXOUT]; /* 杈呭姪杈撳嚭鍒囨崲鏃堕棿: 0-涓嶅垏鎹,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */
+ public byte[][] byAuxOrder = new byte[MAX_AUXOUT][MAX_WINDOW]; /* 杈呭姪杈撳嚭棰勮椤哄簭, 0xff琛ㄧず鐩稿簲鐨勭獥鍙d笉棰勮 */
+ }
+
+ //ntp
+ public static class NET_DVR_NTPPARA extends Structure {
+ public byte[] sNTPServer = new byte[64]; /* Domain Name or IP addr of NTP server */
+ public short wInterval; /* adjust time interval(hours) */
+ public byte byEnableNTP; /* enable NPT client 0-no锛1-yes*/
+ public byte cTimeDifferenceH; /* 涓庡浗闄呮爣鍑嗘椂闂寸殑 灏忔椂鍋忕Щ-12 ... +13 */
+ public byte cTimeDifferenceM;/* 涓庡浗闄呮爣鍑嗘椂闂寸殑 鍒嗛挓鍋忕Щ0, 30, 45*/
+ public byte res1;
+ public short wNtpPort; /* ntp server port 9000鏂板 璁惧榛樿涓123*/
+ public byte[] res2 = new byte[8];
+ }
+
+ //ddns
+ public static class NET_DVR_DDNSPARA extends Structure {
+ public byte[] sUsername = new byte[NAME_LEN]; /* DDNS璐﹀彿鐢ㄦ埛鍚/瀵嗙爜 */
+ public byte[] sPassword = new byte[PASSWD_LEN];
+ public byte[] sDomainName = new byte[64]; /* 鍩熷悕 */
+ public byte byEnableDDNS; /*鏄惁搴旂敤 0-鍚︼紝1-鏄*/
+ public byte[] res = new byte[15];
+ }
+
+ public static class NET_DVR_DDNSPARA_EX extends Structure {
+ public byte byHostIndex; /* 0-Hikvision DNS 1锛岲yndns 2锛峆eanutHull(鑺辩敓澹), 3-甯岀綉3322*/
+ public byte byEnableDDNS; /*鏄惁搴旂敤DDNS 0-鍚︼紝1-鏄*/
+ public short wDDNSPort; /* DDNS绔彛鍙 */
+ public byte[] sUsername = new byte[NAME_LEN]; /* DDNS鐢ㄦ埛鍚*/
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* DDNS瀵嗙爜 */
+ public byte[] sDomainName = new byte[MAX_DOMAIN_NAME]; /* 璁惧閰嶅鐨勫煙鍚嶅湴鍧 */
+ public byte[] sServerName = new byte[MAX_DOMAIN_NAME]; /* DDNS 瀵瑰簲鐨勬湇鍔″櫒鍦板潃锛屽彲浠ユ槸IP鍦板潃鎴栧煙鍚 */
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_DDNS extends Structure {
+ public byte[] sUsername = new byte[NAME_LEN]; /* DDNS璐﹀彿鐢ㄦ埛鍚*/
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public byte[] sDomainName = new byte[MAX_DOMAIN_NAME]; /* 璁惧閰嶅鐨勫煙鍚嶅湴鍧 */
+ public byte[] sServerName = new byte[MAX_DOMAIN_NAME]; /* DDNS鍗忚瀵瑰簲鐨勬湇鍔″櫒鍦板潃锛屽彲浠ユ槸IP鍦板潃鎴栧煙鍚 */
+ public short wDDNSPort; /* 绔彛鍙 */
+ public byte[] byRes = new byte[10];
+ }
+
+ //9000鎵╁睍
+ public static class NET_DVR_DDNSPARA_V30 extends Structure {
+ public byte byEnableDDNS;
+ public byte byHostIndex;/* 0-Hikvision DNS(淇濈暀) 1锛岲yndns 2锛峆eanutHull(鑺辩敓澹) 3锛嶅笇缃3322 */
+ public byte[] byRes1 = new byte[2];
+ public NET_DVR_DDNS[] struDDNS = new NET_DVR_DDNS[MAX_DDNS_NUMS];//9000鐩墠鍙敮鎸佸墠3涓厤缃紝鍏朵粬閰嶇疆淇濈暀
+ public byte[] byRes2 = new byte[16];
+ }
+
+ //email
+ public static class NET_DVR_EMAILPARA extends Structure {
+ public byte[] sUsername = new byte[64]; /* 閭欢璐﹀彿/瀵嗙爜 */
+ public byte[] sPassword = new byte[64];
+ public byte[] sSmtpServer = new byte[64];
+ public byte[] sPop3Server = new byte[64];
+ public byte[] sMailAddr = new byte[64]; /* email */
+ public byte[] sEventMailAddr1 = new byte[64]; /* 涓婁紶鎶ヨ/寮傚父绛夌殑email */
+ public byte[] sEventMailAddr2 = new byte[64];
+ public byte[] res = new byte[16];
+ }
+
+ public static class NET_DVR_NETAPPCFG extends Structure {//缃戠粶鍙傛暟閰嶇疆
+ public int dwSize;
+ public byte[] sDNSIp = new byte[16]; /* DNS鏈嶅姟鍣ㄥ湴鍧 */
+ public NET_DVR_NTPPARA struNtpClientParam; /* NTP鍙傛暟 */
+ public NET_DVR_DDNSPARA struDDNSClientParam; /* DDNS鍙傛暟 */
+ //NET_DVR_EMAILPARA struEmailParam; /* EMAIL鍙傛暟 */
+ public byte[] res = new byte[464]; /* 淇濈暀 */
+ }
+
+ public static class NET_DVR_SINGLE_NFS extends Structure {//nfs缁撴瀯閰嶇疆
+ public byte[] sNfsHostIPAddr = new byte[16];
+ public byte[] sNfsDirectory = new byte[PATHNAME_LEN]; // PATHNAME_LEN = 128
+ }
+
+ public static class NET_DVR_NFSCFG extends Structure {
+ public int dwSize;
+ public NET_DVR_SINGLE_NFS[] struNfsDiskParam = new NET_DVR_SINGLE_NFS[MAX_NFS_DISK];
+ }
+
+ //宸¤埅鐐归厤缃(HIK IP蹇悆涓撶敤)
+ public static class NET_DVR_CRUISE_POINT extends Structure {
+ public byte PresetNum; //棰勭疆鐐
+ public byte Dwell; //鍋滅暀鏃堕棿
+ public byte Speed; //閫熷害
+ public byte Reserve; //淇濈暀
+ }
+
+ public static class NET_DVR_CRUISE_RET extends Structure {
+ public NET_DVR_CRUISE_POINT[] struCruisePoint = new NET_DVR_CRUISE_POINT[32]; //鏈澶ф敮鎸32涓贰鑸偣
+ }
+
+ /************************************
+ * 澶氳矾瑙g爜鍣(begin)
+ ***************************************/
+//澶氳矾瑙g爜鍣ㄦ墿灞 added by zxy 2007-05-23
+ public static class NET_DVR_NETCFG_OTHER extends Structure {
+ public int dwSize;
+ public byte[] sFirstDNSIP = new byte[16];
+ public byte[] sSecondDNSIP = new byte[16];
+ public byte[] sRes = new byte[32];
+ }
+
+ public static class NET_DVR_MATRIX_DECINFO extends Structure {
+ public byte[] sDVRIP = new byte[16]; /* DVR IP鍦板潃 */
+ public short wDVRPort; /* 绔彛鍙 */
+ public byte byChannel; /* 閫氶亾鍙 */
+ public byte byTransProtocol; /* 浼犺緭鍗忚绫诲瀷 0-TCP 1-UDP */
+ public byte byTransMode; /* 浼犺緭鐮佹祦妯″紡 0锛嶄富鐮佹祦 1锛嶅瓙鐮佹祦*/
+ public byte[] byRes = new byte[3];
+ public byte[] sUserName = new byte[NAME_LEN]; /* 甯冮槻涓绘満鐧婚檰甯愬彿 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 甯冮槻涓绘満瀵嗙爜 */
+ }
+
+ public static class NET_DVR_MATRIX_DYNAMIC_DEC extends Structure {//鍚姩/鍋滄鍔ㄦ佽В鐮
+ public int dwSize;
+ public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 鍔ㄦ佽В鐮侀氶亾淇℃伅 */
+ }
+
+ public static class NET_DVR_MATRIX_DEC_CHAN_STATUS extends Structure {//2007-12-13 modified by zxy 淇敼澶氳矾瑙g爜鍣ㄧ殑NET_DVR_MATRIX_DEC_CHAN_STATUS缁撴瀯
+ public int dwSize;//2008-1-16 modified by zxy dwIsLinked鐨勭姸鎬佺敱鍘熸潵鐨0锛嶆湭閾炬帴 1锛嶈繛鎺ヤ慨鏀规垚浠ヤ笅涓夌鐘舵併
+ public int dwIsLinked; /* 瑙g爜閫氶亾鐘舵 0锛嶄紤鐪 1锛嶆鍦ㄨ繛鎺 2锛嶅凡杩炴帴 3-姝e湪瑙g爜 */
+ public int dwStreamCpRate; /* Stream copy rate, X kbits/second */
+ public byte[] cRes = new byte[64]; /* 淇濈暀 */
+ }
+//end 2007-12-13 modified by zxy
+
+ public static class NET_DVR_MATRIX_DEC_CHAN_INFO extends Structure {
+ public int dwSize;
+ public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 瑙g爜閫氶亾淇℃伅 */
+ public int dwDecState; /* 0-鍔ㄦ佽В鐮 1锛嶅惊鐜В鐮 2锛嶆寜鏃堕棿鍥炴斁 3锛嶆寜鏂囦欢鍥炴斁 */
+ public NET_DVR_TIME StartTime; /* 鎸夋椂闂村洖鏀惧紑濮嬫椂闂 */
+ public NET_DVR_TIME StopTime; /* 鎸夋椂闂村洖鏀惧仠姝㈡椂闂 */
+ public byte[] sFileName = new byte[128]; /* 鎸夋枃浠跺洖鏀炬枃浠跺悕 */
+ }
+
+ //杩炴帴鐨勯氶亾閰嶇疆 2007-11-05
+ public static class NET_DVR_MATRIX_DECCHANINFO extends Structure {
+ public int dwEnable; /* 鏄惁鍚敤 0锛嶅惁 1锛嶅惎鐢*/
+ public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 杞惊瑙g爜閫氶亾淇℃伅 */
+ }
+
+ //2007-11-05 鏂板姣忎釜瑙g爜閫氶亾鐨勯厤缃
+ public static class NET_DVR_MATRIX_LOOP_DECINFO extends Structure {
+ public int dwSize;
+ public int dwPoolTime; /*杞贰鏃堕棿 */
+ public NET_DVR_MATRIX_DECCHANINFO[] struchanConInfo = new NET_DVR_MATRIX_DECCHANINFO[MAX_CYCLE_CHAN];
+ }
+
+ //2007-05-25 澶氳矾瑙g爜鍣ㄦ暟瀛楃煩闃甸厤缃
+//鐭╅樀琛屼俊鎭 2007-12-28
+ public static class NET_DVR_MATRIX_ROW_ELEMENT extends Structure {
+ public byte[] sSurvChanName = new byte[128]; /* 甯冮槻閫氶亾鍚嶇О锛屾敮鎸佷腑鏂 */
+ public int dwRowNum; /* 琛屽彿 */
+ public NET_DVR_MATRIX_DECINFO struDecChanInfo; /* 鐭╅樀琛屼俊鎭 */
+ }
+
+ public static class NET_DVR_MATRIX_ROW_INDEX extends Structure {
+ public byte[] sSurvChanName = new byte[128]; /* 甯冮槻閫氶亾鍚嶇О锛屾敮鎸佷腑鏂 */
+ public int dwRowNum; /* 琛屽彿 */
+ }
+
+ //鐭╅樀鍒椾俊鎭 2007-12-28
+ public static class NET_DVR_MATRIX_COLUMN_ELEMENT extends Structure {
+ public int dwLocalDispChanNum; /* 鏈湴鏄剧ず閫氶亾鍙 */
+ public int dwGlobalDispChanNum; /* 鍏ㄥ眬鏄剧ず閫氶亾鍙 */
+ public int dwRes; /* 淇濈暀 */
+ }
+
+ public static class NET_DVR_MATRIX_GLOBAL_COLUMN_ELEMENT extends Structure {
+ public int dwConflictTag; /* 鍐茬獊鏍囪锛0锛氭棤鍐茬獊锛1锛氬啿绐 */
+ public int dwConflictGloDispChan; /* 涓庝箣鍐茬獊鐨勫叏灞閫氶亾鍙 */
+ public NET_DVR_MATRIX_COLUMN_ELEMENT struColumnInfo;/* 鐭╅樀鍒楀厓绱犵粨鏋勪綋 */
+ }
+
+ //鎵嬪姩鏌ョ湅 2007-12-28
+ public static class NET_DVR_MATRIX_ROW_COLUMN_LINK extends Structure {
+ public int dwSize;
+ /*
+ * 浠ヤ笅涓変釜鍙傛暟鍙渶瑕佹寚瀹氬叾涓竴涓究鍙寚瀹氭暟瀛楃煩闃甸噷鐨勬煇涓琛
+ * 鎵浠h〃鐨勮繙绋嬪竷闃查氶亾銆
+ * 濡傛灉鎸囧畾浜嗗涓煙骞舵湁鍐茬獊锛岃澶囧皢鎸夌収鍩熺殑鍏堝悗椤哄簭涓哄噯鍙栨渶鍏堝畾涔夎呫
+ */
+ public int dwRowNum; /* -1浠h〃鏃犳晥鍩,澶т簬0鑰呮柟涓烘湁鏁堢殑鐭╅樀琛屽彿 */
+ public byte[] sSurvChanName = new byte[128]; /* 甯冮槻閫氶亾鍚,鏄惁鏃犳晥鎸夊瓧绗︿覆鐨勬湁鏁堟у垽鏂 */
+ public int dwSurvNum; /* 甯冮槻閫氶亾鍙,鎸夌煩闃佃鍒楄〃鐨勯『搴忔寚瀹氾紝涓鑸儏鍐典笅涓庤鍙蜂竴鑷 */
+ /*
+ * 浠ヤ笅涓ら」鍙渶瑕佹寚瀹氬叾涓竴椤逛究鍙紝濡傛灉涓ら」閮芥湁鏁堥粯璁ら夋嫨绗竴椤
+ */
+ public int dwGlobalDispChanNum; /* 鐢佃澧欎笂鐨勭數瑙嗘満缂栧彿 */
+ public int dwLocalDispChanNum;
+ /*
+ * 0浠h〃鎾斁鍗虫椂鐮佹祦锛
+ * 1琛ㄧず鎸夋椂闂村洖璁胯繙绋嬪竷闃茶澶囩殑鏂囦欢
+ * 2琛ㄧず鎸夋枃浠跺悕鍥炶
+ */
+ public int dwTimeSel;
+ public NET_DVR_TIME StartTime;
+ public NET_DVR_TIME StopTime;
+ public byte[] sFileName = new byte[128];
+ }
+
+ public static class NET_DVR_MATRIX_PREVIEW_DISP_CHAN extends Structure {
+ public int dwSize;
+ public int dwGlobalDispChanNum; /* 鐢佃澧欎笂鐨勭數瑙嗘満缂栧彿 */
+ public int dwLocalDispChanNum; /* 瑙g爜閫氶亾 */
+ }
+
+ public static class NET_DVR_MATRIX_LOOP_PLAY_SET extends Structure {//杞惊鍔熻兘 2007-12-28
+ public int dwSize;
+ /* 浠绘剰鎸囧畾涓涓,-1涓烘棤鏁,濡傛灉閮芥寚瀹氬垯浠ocalDispChanNum涓哄噯 */
+ public int dwLocalDispChanNum; /* 瑙g爜閫氶亾 */
+ public int dwGlobalDispChanNum; /* 鐢佃澧欎笂鐨勭數瑙嗘満缂栧彿 */
+ public int dwCycTimeInterval; /* 杞惊鏃堕棿闂撮殧 */
+ }
+
+ public static class NET_DVR_MATRIX_LOCAL_HOST_INFO extends Structure {//鐭╅樀涓績閰嶇疆 2007-12-28
+ public int dwSize;
+ public int dwLocalHostProperty; /* 鏈湴涓绘満绫诲瀷 0锛嶆湇鍔″櫒 1锛嶅鎴风*/
+ public int dwIsIsolated; /* 鏈湴涓绘満鏄惁鐙珛浜庣郴缁燂紝0锛氳仈缃戯紝1锛氱嫭绔 */
+ public int dwLocalMatrixHostPort; /* 鏈湴涓绘満璁块棶绔彛 */
+ public byte[] byLocalMatrixHostUsrName = new byte[NAME_LEN]; /* 鏈湴涓绘満鐧诲綍鐢ㄦ埛鍚 */
+ public byte[] byLocalMatrixHostPasswd = new byte[PASSWD_LEN]; /* 鏈湴涓绘満鐧诲綍瀵嗙爜 */
+ public int dwLocalMatrixCtrlMedia; /* 鎺у埗鏂瑰紡 0x1涓插彛閿洏鎺у埗 0x2缃戠粶閿洏鎺у埗 0x4鐭╅樀涓績鎺у埗 0x8PC瀹㈡埛绔帶鍒*/
+ public byte[] sMatrixCenterIP = new byte[16]; /* 鐭╅樀涓績IP鍦板潃 */
+ public int dwMatrixCenterPort; /* 鐭╅樀涓績绔彛鍙 */
+ public byte[] byMatrixCenterUsrName = new byte[NAME_LEN]; /* 鐭╅樀涓績鐧诲綍鐢ㄦ埛鍚 */
+ public byte[] byMatrixCenterPasswd = new byte[PASSWD_LEN]; /* 鐭╅樀涓績鐧诲綍瀵嗙爜 */
+ }
+
+ //2007-12-22
+ public static class TTY_CONFIG extends Structure {
+ public byte baudrate; /* 娉㈢壒鐜 */
+ public byte databits; /* 鏁版嵁浣 */
+ public byte stopbits; /* 鍋滄浣 */
+ public byte parity; /* 濂囧伓鏍¢獙浣 */
+ public byte flowcontrol; /* 娴佹帶 */
+ public byte[] res = new byte[3];
+ }
+
+ public static class NET_DVR_MATRIX_TRAN_CHAN_INFO extends Structure {
+ public byte byTranChanEnable; /* 褰撳墠閫忔槑閫氶亾鏄惁鎵撳紑 0锛氬叧闂 1锛氭墦寮 */
+ /*
+ * 澶氳矾瑙g爜鍣ㄦ湰鍦版湁1涓485涓插彛锛1涓232涓插彛閮藉彲浠ヤ綔涓洪忔槑閫氶亾,璁惧鍙峰垎閰嶅涓嬶細
+ * 0 RS485
+ * 1 RS232 Console
+ */
+ public byte byLocalSerialDevice; /* Local serial device */
+ /*
+ * 杩滅▼涓插彛杈撳嚭杩樻槸涓や釜,涓涓猂S232锛屼竴涓猂S485
+ * 1琛ㄧず232涓插彛
+ * 2琛ㄧず485涓插彛
+ */
+ public byte byRemoteSerialDevice; /* Remote output serial device */
+ public byte res1; /* 淇濈暀 */
+ public byte[] sRemoteDevIP = new byte[16]; /* Remote Device IP */
+ public short wRemoteDevPort; /* Remote Net Communication Port */
+ public byte[] res2 = new byte[2]; /* 淇濈暀 */
+ public TTY_CONFIG RemoteSerialDevCfg;
+ }
+
+ public static class NET_DVR_MATRIX_TRAN_CHAN_CONFIG extends Structure {
+ public int dwSize;
+ public byte by232IsDualChan; /* 璁剧疆鍝矾232閫忔槑閫氶亾鏄叏鍙屽伐鐨 鍙栧1鍒癕AX_SERIAL_NUM */
+ public byte by485IsDualChan; /* 璁剧疆鍝矾485閫忔槑閫氶亾鏄叏鍙屽伐鐨 鍙栧1鍒癕AX_SERIAL_NUM */
+ public byte[] res = new byte[2]; /* 淇濈暀 */
+ public NET_DVR_MATRIX_TRAN_CHAN_INFO[] struTranInfo = new NET_DVR_MATRIX_TRAN_CHAN_INFO[MAX_SERIAL_NUM];/*鍚屾椂鏀寔寤虹珛MAX_SERIAL_NUM涓忔槑閫氶亾*/
+ }
+
+ //2007-12-24 Merry Christmas Eve...
+ public static class NET_DVR_MATRIX_DEC_REMOTE_PLAY extends Structure {
+ public int dwSize;
+ public byte[] sDVRIP = new byte[16]; /* DVR IP鍦板潃 */
+ public short wDVRPort; /* 绔彛鍙 */
+ public byte byChannel; /* 閫氶亾鍙 */
+ public byte byReserve;
+ public byte[] sUserName = new byte[NAME_LEN]; /* 鐢ㄦ埛鍚 */
+ public byte[] sPassword = new byte[PASSWD_LEN]; /* 瀵嗙爜 */
+ public int dwPlayMode; /* 0锛嶆寜鏂囦欢 1锛嶆寜鏃堕棿*/
+ public NET_DVR_TIME StartTime;
+ public NET_DVR_TIME StopTime;
+ public byte[] sFileName = new byte[128];
+ }
+
+
+ public static class NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL extends Structure {
+ public int dwSize;
+ public int dwPlayCmd; /* 鎾斁鍛戒护 瑙佹枃浠舵挱鏀惧懡浠*/
+ public int dwCmdParam; /* 鎾斁鍛戒护鍙傛暟 */
+ }
+
+ public static class NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS extends Structure {
+ public int dwSize;
+ public int dwCurMediaFileLen; /* 褰撳墠鎾斁鐨勫獟浣撴枃浠堕暱搴 */
+ public int dwCurMediaFilePosition; /* 褰撳墠鎾斁鏂囦欢鐨勬挱鏀句綅缃 */
+ public int dwCurMediaFileDuration; /* 褰撳墠鎾斁鏂囦欢鐨勬绘椂闂 */
+ public int dwCurPlayTime; /* 陆聯鍓嶅凡缁忔挱鏀剧殑鏃堕棿 */
+ public int dwCurMediaFIleFrames; /* 褰撳墠鎾斁鏂囦欢鐨勬诲抚鏁 */
+ public int dwCurDataType; /* 褰撳墠浼犺緭鐨勬暟鎹被鍨嬶紝19-鏂囦欢澶达紝20-娴佹暟鎹紝 21-鎾斁缁撴潫鏍囧織 */
+ public byte[] res = new byte[72];
+ }
+
+ public static class NET_DVR_MATRIX_PASSIVEMODE extends Structure {
+ public short wTransProtol; //浼犺緭鍗忚锛0-TCP, 1-UDP, 2-MCAST
+ public short wPassivePort; //TCP,UDP鏃朵负TCP,UDP绔彛, MCAST鏃朵负MCAST绔彛
+ public NET_DVR_IPADDR struMcastIP; //TCP,UDP鏃舵棤鏁, MCAST鏃朵负澶氭挱鍦板潃
+ public byte byStreamType; //鏁版嵁鎾斁妯″紡锛1- 瀹炴椂娴侊紝2- 鏂囦欢娴
+ public byte[] res = new byte[7];
+ }
+/************************************澶氳矾瑙g爜鍣(end)***************************************/
+
+
+ /************************************
+ * 鎷兼帶(Start)
+ ***************************************/
+
+
+ public static final int NET_DVR_GET_SUBWND_DECODE_OSD = 9183; //鑾峰彇瀛愮獥鍙hВ鐮丱SD淇℃伅
+ public static final int NET_DVR_GET_SUBWND_DECODE_OSD_ALL = 9184; //鑾峰彇鎵鏈夊瓙绐楀彛瑙g爜OSD淇℃伅
+ public static final int NET_DVR_SET_SUBWND_DECODE_OSD = 9185; //璁剧疆瀛愮獥鍙hВ鐮丱SD淇℃伅
+ public static final int NET_DVR_GET_SUBWND_DECODE_OSD_CAP = 9186; //鑾峰彇瀛愮獥鍙hВ鐮丱SD淇℃伅鑳藉姏闆
+ public static final int NET_DVR_GET_DECODE_CHANNEL_OSD = 9187; //鑾峰彇瑙g爜閫氶亾OSD淇℃伅
+ public static final int NET_DVR_SET_DECODE_CHANNEL_OSD = 9188; //璁剧疆瑙g爜閫氶亾OSD淇℃伅
+
+ public static final int MAX_PLAN_ACTION_NUM = 32; //棰勬鍔ㄤ綔涓暟
+ public static final int DAYS_A_WEEK = 7; //涓鍛7澶
+ public static final int MAX_PLAN_COUNT = 16; //棰勬涓暟
+ public static final int MAX_LEN_OSD_CONTENT = 256; //OSD淇℃伅鏈澶ч暱搴
+ public static final int MAX_NUM_OSD_ONE_SUBWND = 8; //鍗曚釜瀛愮獥鍙f敮鎸佺殑鏈澶SD鏁伴噺
+ public static final int MAX_NUM_SPLIT_WND = 64; //鍗曚釜绐楀彛鏀寔鐨勬渶澶у垎灞忕獥鍙f暟閲忥紙鍗冲瓙绐楀彛鏁伴噺锛
+ public static final int MAX_NUM_OSD = 8;
+ public static final int MAX_CYCLE_CHAN_V30 = 64; //鏈澶ц疆宸¢氶亾鏁帮紙鎵╁睍锛
+ public static final int STREAM_PASSWD_LEN = 12; //鐮佹祦鍔犲瘑瀵嗛挜鏈澶ч暱搴
+
+ public static class NET_DVR_VIDEO_WALL_INFO extends Structure {
+ public int dwSize;
+ //绐楀彛鍙凤細1瀛楄妭澧欏彿+1瀛楄妭淇濈暀+2瀛楄妭绐楀彛鍙
+ public int dwWindowNo;
+ public int dwSceneNo;//鍦烘櫙鍙
+ public int dwDestWallNo; //鐩殑澧欏彿
+ public int dwDestSceneNo;//鐩殑鍦烘櫙鍙
+ public byte[] byRes = new byte[12];
+ }
+
+ public static class NET_DVR_SCENE_CONTROL_INFO extends Structure {
+ public int dwSize;
+ public NET_DVR_VIDEO_WALL_INFO struVideoWallInfo; //鐢佃澧欎俊鎭
+ public int dwCmd; //鍦烘櫙鎺у埗鍛戒护锛1-鍦烘櫙妯″紡鍒囨崲锛堝鏋滆鍒囨崲鐨勬槸褰撳墠鍦烘櫙锛屽垯涓嶈繘琛屽垏鎹級锛2-鍒濆鍖栧満鏅紙灏嗘鍦烘櫙鐨勯厤缃竻绌猴紝濡傛灉鏄綋鍓嶅満鏅紝鍒欏悓鏃跺褰撳墠鍦烘櫙杩涜娓呭睆鎿嶄綔锛夛紝3-寮哄埗鍒囨崲锛堟棤璁烘槸鍚︽槸褰撳墠鍦烘櫙锛屽己鍒跺垏鎹級锛4-淇濆瓨褰撳墠妯″紡鍒版煇鍦烘櫙 5-鍒犻櫎鍦烘櫙 ,6-鍦烘櫙澶嶅埗
+ public byte[] byRes = new byte[4];
+ }
+
+ public static class NET_DVR_BUF_INFO extends Structure {
+ public Pointer pBuf;
+ public int nLen;
+ }
+
+ public static class NET_DVR_IN_PARAM extends Structure {
+ public NET_DVR_BUF_INFO struCondBuf;
+ public NET_DVR_BUF_INFO struInParamBuf;
+ public int dwRecvTimeout; //鎺ユ敹鏁版嵁瓒呮椂鏃堕棿锛屽崟浣嶏細ms,缃0閲囩敤鎺ュ彛榛樿瓒呮椂
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_OUT_PARAM extends Structure {
+ public NET_DVR_BUF_INFO struOutBuf;
+ public Pointer lpStatusList;
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_RECTCFG_EX extends Structure {
+ public int dwXCoordinate; /*鐭╁舰宸︿笂瑙掕捣濮嬬偣X鍧愭爣*/
+ public int dwYCoordinate; /*鐭╁舰宸︿笂瑙扽鍧愭爣*/
+ public int dwWidth; /*鐭╁舰瀹藉害*/
+ public int dwHeight; /*鐭╁舰楂樺害*/
+ public byte[] byRes = new byte[4];
+
+ }
+
+ public static class NET_DVR_VIDEOWALLWINDOWPOSITION extends Structure {
+ public int dwSize;
+ public byte byEnable; //绐楀彛浣胯兘,0-涓嶄娇鑳斤紝1-浣胯兘
+ public byte byWndOperateMode; //绐楀彛鎿嶄綔妯″紡锛0-缁熶竴鍧愭爣锛1-鍒嗚鲸鐜囧潗鏍
+ public byte[] byRes1 = new byte[6];
+ public int dwWindowNo;//绐楀彛鍙
+ public int dwLayerIndex;//绐楀彛鐩稿搴旂殑鍥惧眰鍙凤紝鍥惧眰鍙峰埌鏈澶у嵆缃《锛岀疆椤舵搷浣
+ public NET_DVR_RECTCFG_EX struRect; //鐩殑绐楀彛缁熶竴鍧愭爣(鐩稿鏄剧ず澧)锛岃幏鍙栨垨鎸夌粺涓鍧愭爣璁剧疆鏃舵湁鏁
+ public NET_DVR_RECTCFG_EX struResolution; //鐩殑绐楀彛鍒嗚鲸鐜囧潗鏍囷紝鑾峰彇鎴栨寜鍒嗚鲸鐜囧潗鏍囪缃湁鏁
+ public int dwXCoordinate; //LED鍖哄煙宸︿笂瑙扻鍧愭爣锛堢粺涓鍧愭爣锛夛紝鑾峰彇鎴栨寜鍒嗚鲸鐜囧潗鏍囪缃湁鏁
+ public int dwYCoordinate; //LED鍖哄煙宸︿笂瑙扽鍧愭爣锛堢粺涓鍧愭爣锛夛紝鑾峰彇鎴栨寜鍒嗚鲸鐜囧潗鏍囪缃湁鏁
+ public byte[] byRes2 = new byte[36];
+ }
+
+ public static class VIDEOWALLWINDOWPOSITION_ARRAY extends Structure {
+ public NET_DVR_VIDEOWALLWINDOWPOSITION[] strVideoWinPostion;
+
+ public VIDEOWALLWINDOWPOSITION_ARRAY(int iLen) {
+ strVideoWinPostion = new NET_DVR_VIDEOWALLWINDOWPOSITION[iLen];
+ }
+
+
+ }
+
+
+ public static class NET_DVR_WALLWINPARAM extends Structure {
+ public int dwSize;
+ public byte byTransparency; //浣胯兘閫忔槑搴︼紝0-鍏筹紝闈0-寮
+ public byte byWinMode;//绐楀彛鍒嗗睆妯″紡锛岃兘鍔涢泦鑾峰彇
+ public byte byEnableSpartan;//鐣呮樉浣胯兘锛0-鍏筹紝1-寮
+ public byte byDecResource; //涓虹獥鍙e垎閰嶇殑瑙g爜璧勬簮锛1-D1,2-720P,3-1080P
+ public byte byWndShowMode; //绐楀彛鏄剧ず妯″紡锛0-姝ゅ瓧娈典笉鐢紝1-瀛愮獥鍙fā寮忥紝2-瀛愮獥鍙e叏灞忔ā寮
+ public byte byEnabledFeature; //鏄惁鍚敤鍦烘櫙鐗瑰啓锛0-涓嶅惎鐢紝!0-鍚敤
+ public byte byFeatureMode; //鐗瑰啓妯″紡锛屽惎鐢ㄥ満鏅壒鍐欐椂鏈夋晥锛0-鏃犳晥锛1-鈥1+5鈥濇ā寮
+ public byte byRes1;
+ public int dwAmplifyingSubWndNo; //鍏ㄥ睆瀛愮獥鍙e彿锛1瀛楄妭澧欏彿+1瀛楄妭瀛愮獥鍙e彿+2瀛楄妭绐楀彛鍙凤級
+ //褰揵yWndShowMode涓2鏃舵湁鏁堬紝琛ㄧず褰撳墠鍏ㄥ睆鏄剧ず鐨勫瓙绐楀彛
+ public byte byWndTopKeep; //绐楀彛缃《淇濇寔锛0-涓嶄繚鎸侊紝1-淇濇寔
+ public byte byWndOpenKeep; //绐楀彛鎵撳紑淇濇寔锛0-涓嶄繚鎸侊紝1-淇濇寔
+ public byte[] byRes = new byte[22];
+ }
+
+ public static class NET_DVR_PLAN_LIST extends Structure {
+ public int dwSize;
+ public int dwPlanNums; //璁惧杈撳叆淇″彿婧愭暟閲
+ public Pointer pBuffer; //鎸囧悜dwInputSignalNums涓狽ET_DVR_PLAN_CFG缁撴瀯澶у皬鐨勭紦鍐插尯
+ public byte byWallNo; //澧欏彿锛屼粠1寮濮
+ public byte[] byRes1 = new byte[2];
+ public int dwBufLen; //鎵鍒嗛厤缂撳啿鍖洪暱搴︼紝杈撳叆鍙傛暟锛堝ぇ浜庣瓑浜巇wInputSignalNums涓狽ET_DVR_PLAN_CFG缁撴瀯澶у皬锛
+ public byte[] byRes2 = new byte[64];
+ }
+
+ /*棰勬椤逛俊鎭*/
+ public static class NET_DVR_PLAN_INFO extends Structure {
+ public byte byValid; // 璇ラ」鏄惁鏈夋晥
+ public byte byType; // 瑙佸畾涔塏ET_DVR_PLAN_OPERATE_TYPE
+ public short wLayoutNo; // 甯冨眬鍙
+ public byte byScreenStyle; //灞忓箷鍨嬪彿锛屽紑鍏虫満鎵鐢紝1鏄綆浜紝2鏄珮浜
+ public byte byBaseMapType; //搴曞浘绫诲瀷锛1-鍥剧墖搴曞浘锛2-瓒呴珮娓呰緭鍏ュ簳鍥撅紝搴曞浘鍒囨崲鏃舵湁鏁
+ public byte[] byRes1 = new byte[2];
+ public int dwDelayTime; // 涓涓」鐨勮繍琛屾椂闂, 鍗曚綅绉
+ public int dwSerialNo; //涓插彛鍙凤紝灞忓箷鎺у埗鏃朵娇鐢
+ public int dwBaseMapWndNo; //搴曞浘绐楀彛鍙凤紝搴曞浘鍒囨崲鏃舵湁鏁
+ public int dwBaseMapNo; //搴曞浘鍙凤紝搴曞浘鍒囨崲鏃舵湁鏁堬紱搴曞浘绫诲瀷涓1鏃讹紝姝ゅ弬鏁颁负鍥剧墖搴忓彿锛屽簳鍥剧被鍨嬩负2鏃舵鍙傛暟涓鸿秴楂樻竻杈撳叆瀛愮郴缁熻緭鍏ュ彿锛1瀛楄妭璁惧鍙+1瀛楄妭瀛愭澘鍙+2瀛楄妭鏄剧ず杈撳叆搴忓彿锛
+ public byte[] byRes2 = new byte[20];
+ }
+
+ public static class NET_DVR_CYCLE_TIME extends Structure {
+ public byte byValid;
+ public byte[] byRes = new byte[3];
+ public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX();
+ }
+
+ /*棰勬绠$悊*/
+ public static class NET_DVR_PLAN_CFG extends Structure {
+ public int dwSize;
+ public byte byValid; // 璇ラ妗堟槸鍚︽湁鏁
+ public byte byWorkMode; // 棰勬宸ヤ綔妯″紡 1琛ㄧず鎵嬪姩锛2鑷姩锛3棰勬寰幆
+ public byte byWallNo; //鐢佃澧欏彿锛屼粠1寮濮
+ public byte byPlanNo; //棰勬鍙凤紝鑾峰彇棰勬鍒楄〃鏃舵湁鏁堬紝0-鏃犳晥鎴栦笉鏀寔
+ public byte[] byPlanName = new byte[NAME_LEN/*32*/]; //棰勬鍚嶇О
+ public NET_DVR_TIME_EX struTime; // 宸ヤ綔妯″紡涓鸿嚜鍔ㄦ椂浣跨敤
+ public NET_DVR_CYCLE_TIME[] struTimeCycle = new NET_DVR_CYCLE_TIME[DAYS_A_WEEK/*7*/]; /*寰幆鏃堕棿锛屽懆鏈熶负涓涓槦鏈燂紝骞淬佹湀銆佹棩涓変釜鍙傛暟涓嶄娇鐢ㄣ傚锛歴truTimeCycle[0]涓殑byValid鐨勫兼槸1锛岃〃绀烘槦鏈熷ぉ鎵ц璇ラ妗堛傛槦鏈熷彇鍊煎尯闂翠负[0,6]锛屽叾涓0浠h〃鏄熸湡澶╋紝1浠h〃鏄熸湡涓锛屼互姝ょ被鎺*/
+ public int dwWorkCount; // 棰勬鍐呭鎵ц娆℃暟
+ public NET_DVR_PLAN_INFO[] strPlanEntry = new NET_DVR_PLAN_INFO[MAX_PLAN_ACTION_NUM/*32*/]; // 棰勬鎵ц鐨勫唴瀹
+ public int dwPlanNo; //4瀛楄妭棰勬鍙凤紝瀹㈡埛绔粺涓浣跨敤4瀛楄妭鐨勯妗堝彿锛屽崟瀛楄妭鐨勯妗堝彿涓嶅啀浣跨敤
+ public byte[] byRes2 = new byte[60];
+ }
+
+ public static class NET_DVR_WALLSCENECFG extends Structure {
+ public int dwSize;
+ public byte[] sSceneName = new byte[NAME_LEN]; //鍦烘櫙鍚嶇О
+ public byte byEnable; //鍦烘櫙鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public byte bySceneIndex; //鍦烘櫙鍙凤紝鍙兘鑾峰彇銆傝幏鍙栨墍鏈夊満鏅椂浣跨敤璇ュ弬鏁
+ public byte[] byRes = new byte[78];
+ }
+
+ public static class NET_DVR_SUBWND_DECODE_OSD extends Structure {
+ public int dwSize = 0;
+ public int dwSubWndNo = 0; //瀛愮獥鍙e彿锛4瀛楄妭缁勫悎鏂瑰紡锛
+ public int dwOSDNums = 0; //璇ュ瓙绐楀彛閰嶇疆鐨凮SD淇℃伅鐨勪釜鏁
+ public NET_DVR_OSD_INFO[] struOSDList = new NET_DVR_OSD_INFO[MAX_NUM_OSD_ONE_SUBWND]; //OSD淇℃伅鍒楄〃
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_OSD_INFO extends Structure {
+ public byte byEnabled = 1; //鏄惁浣胯兘锛岄浂-涓嶄娇鑳斤紝闈為浂-浣胯兘
+ public byte byEnabledFlash = 0; //鏄惁闂儊锛岄浂-涓嶉棯鐑侊紝闈為浂-闂儊
+ public byte byFontSize = 1; //瀛椾綋澶у皬锛1-澶э紝2-涓紝3-灏
+ public byte byTransparent = 0; //閫忔槑搴︼紝鍙栧艰寖鍥0-100
+ public NET_DVR_RGB_COLOR struColor = new NET_DVR_RGB_COLOR(); //瀛椾綋棰滆壊
+ public short wCoordinateX = 0; //OSD宸︿笂瑙扻鍧愭爣
+ public short wCoordinateY = 0; //OSD宸︿笂瑙扽鍧愭爣
+ public byte[] byContent = new byte[MAX_LEN_OSD_CONTENT]; //OSD淇℃伅
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_DEV_CHAN_INFO_EX extends Structure {
+ public byte byChanType; //閫氶亾绫诲瀷锛0-鏅氶氶亾,1-闆堕氶亾,2-娴両D锛3-鏈湴杈撳叆婧愶紝4-铏氭嫙灞忔湇鍔″櫒閫氶亾锛5-鎷兼帴閫氶亾锛6-灞忓箷鏈嶅姟鍣紝7-鍒嗗竷寮忕綉缁滄簮锛8-澶氱浉鏈鸿瀺鍚堥氶亾锛9-缃戠粶杈撳叆婧
+ public byte[] byStreamId = new byte[STREAM_ID_LEN]; //娴両D锛屽綋byChanType=2銆9鏃讹紝璇ュ瓧娈电敤浜庢寚瀹氭祦鎴栬呯綉缁渋pc鐨処D鍙
+ public byte[] byRes1 = new byte[3];
+ public int dwChannel; //閫氶亾鍙凤紝閫氶亾绫诲瀷涓烘櫘閫氶氶亾锛岄浂閫氶亾锛屾湰鍦拌緭鍏ユ簮锛岃櫄鎷熷睆鏈嶅姟鍣ㄩ氶亾锛屾嫾鎺ラ氶亾锛屽睆骞曟湇鍔″櫒锛屽垎甯冨紡缃戠粶婧愭椂濉瀛楁
+ public byte[] byRes2 = new byte[24];
+ public byte[] byAddress = new byte[MAX_DOMAIN_NAME]; //璁惧鍩熷悕
+ public short wDVRPort; //绔彛鍙
+ public byte byChannel; //閫氶亾鍙,dwChannel涓嶄负0鏃舵瀛楁鏃犳晥
+ public byte byTransProtocol; //浼犺緭鍗忚绫诲瀷0-TCP锛1-UDP
+ public byte byTransMode; //浼犺緭鐮佹祦妯″紡 0锛嶄富鐮佹祦 1锛嶅瓙鐮佹祦
+ public byte byFactoryType; /*鍓嶇璁惧鍘傚绫诲瀷,閫氳繃鎺ュ彛鑾峰彇*/
+ public byte byDeviceType; //璁惧绫诲瀷(瑙嗛缁煎悎骞冲彴鏅鸿兘鏉夸娇鐢)锛1-瑙g爜鍣紙姝ゆ椂鏍规嵁瑙嗛缁煎悎骞冲彴鑳藉姏闆嗕腑byVcaSupportChanMode瀛楁鏉ュ喅瀹氭槸浣跨敤瑙g爜閫氶亾杩樻槸鏄剧ず閫氶亾锛夛紝2-缂栫爜鍣
+ public byte byDispChan;//鏄剧ず閫氶亾鍙,鏅鸿兘閰嶇疆浣跨敤
+ public byte bySubDispChan;//鏄剧ず閫氶亾瀛愰氶亾鍙凤紝鏅鸿兘閰嶇疆鏃朵娇鐢
+ public byte byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500w澶у睆鎺у埗鍣ㄤ娇鐢紝澶у睆鎺у埗鍣ㄤ細鏍规嵁璇ュ弬鏁板垎閰嶈В鐮佽祫婧
+ public byte[] byRes = new byte[2];
+ public byte[] sUserName = new byte[NAME_LEN]; //甯冮槻涓绘満鐧婚檰甯愬彿
+ public byte[] sPassword = new byte[PASSWD_LEN]; //甯冮槻涓绘満瀵嗙爜
+ }
+
+ public static class NET_DVR_STREAM_MEDIA_SERVER extends Structure {
+ public byte byValid; //鏄惁鍚敤锛0-鍚︼紝1-鏄
+ public byte[] byRes1 = new byte[3];
+ public byte[] byAddress = new byte[MAX_DOMAIN_NAME]; //IP鎴栬呭煙鍚
+ public short wDevPort; /*娴佸獟浣撴湇鍔″櫒绔彛*/
+ public byte byTransmitType; /*浼犺緭鍗忚绫诲瀷 0-TCP锛1-UDP*/
+ public byte[] byRes2 = new byte[5];
+ }
+
+ public static class NET_DVR_DEV_DDNS_INFO extends Structure {
+ public byte[] byDevAddress = new byte[MAX_DOMAIN_NAME]; //鍩熷悕(IPServer鎴杊iDDNS鏃跺彲濉簭鍒楀彿鎴栬呭埆鍚)
+ public byte byTransProtocol; //浼犺緭鍗忚绫诲瀷0-TCP锛1-UDP, 2-MCAST
+ public byte byTransMode; //浼犺緭鐮佹祦妯″紡 0锛嶄富鐮佹祦 1锛嶅瓙鐮佹祦
+ public byte byDdnsType; //鍩熷悕鏈嶅姟鍣ㄧ被鍨嬶紝0-IPServer 1锛岲yndns 2锛峆eanutHull(鑺辩敓澹)锛3- NO-IP, 4- hiDDNS
+ public byte byRes1;
+ public byte[] byDdnsAddress = new byte[MAX_DOMAIN_NAME]; //DDNS鏈嶅姟鍣ㄥ湴鍧
+ public short wDdnsPort; //DDNS鏈嶅姟鍣ㄧ鍙e彿
+ public byte byChanType; //0-鏅氶氶亾,1-闆堕氶亾,2-娴両D
+ public byte byFactoryType; //鍓嶇璁惧鍘傚绫诲瀷,閫氳繃鎺ュ彛鑾峰彇
+ public int dwChannel; //閫氶亾鍙
+ public byte[] byStreamId = new byte[STREAM_ID_LEN]; //娴両D
+ public byte[] sUserName = new byte[NAME_LEN]; //甯冮槻涓绘満鐧婚檰甯愬彿
+ public byte[] sPassword = new byte[PASSWD_LEN]; //甯冮槻涓绘満瀵嗙爜
+ public short wDevPort; //鍓嶇璁惧閫氫俊绔彛
+ public byte[] byRes2 = new byte[2];
+ }
+
+ public static class NET_DVR_DEC_STREAM_DEV_EX extends Structure {
+ public NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg = new NET_DVR_STREAM_MEDIA_SERVER();
+ public NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo = new NET_DVR_DEV_CHAN_INFO_EX();
+ }
+
+ //DDNS鏂瑰紡鍙栨祦
+ public static class NET_DVR_DEC_DDNS_DEV extends Structure {
+ public NET_DVR_DEV_DDNS_INFO struDdnsInfo;
+ public NET_DVR_STREAM_MEDIA_SERVER struMediaServer;
+ }
+
+ public static class NET_DVR_DEC_STREAM_MODE extends Union {
+ public NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev = new NET_DVR_DEC_STREAM_DEV_EX();
+ public NET_DVR_PU_STREAM_URL struUrlInfo = new NET_DVR_PU_STREAM_URL();
+ public NET_DVR_DEC_DDNS_DEV struDdnsDecInfo = new NET_DVR_DEC_DDNS_DEV();
+ public byte[] byRes = new byte[300];
+ }
+
+ public static class NET_DVR_MATRIX_CHAN_INFO_V41 extends Structure {
+ public byte byEnable; //鏄惁鍚敤锛0-鍚︼紝1-鏄
+ public byte byStreamMode;/*鍙栨祦妯″紡锛0-鏃犳晥锛1-閫氳繃IP鎴栧煙鍚嶅彇娴侊紝2-閫氳繃URL鍙栨祦,3-閫氳繃鍔ㄦ佸煙鍚嶈В鏋愬悜璁惧鍙栨祦*/
+ public byte[] byRes = new byte[2];
+ public NET_DVR_DEC_STREAM_MODE uDecStreamMode = new NET_DVR_DEC_STREAM_MODE();//鍙栨祦淇℃伅
+ }
+
+ public static class NET_DVR_MATRIX_LOOP_DECINFO_V41 extends Structure {
+ public int dwSize;
+ public int dwPoolTime; /*杞贰闂撮殧*/
+ public NET_DVR_MATRIX_CHAN_INFO_V41[] struchanConInfo = new NET_DVR_MATRIX_CHAN_INFO_V41[MAX_CYCLE_CHAN_V30];
+ public byte byStreamEncrypt; //鏄惁杩涜鐮佹祦鍔犲瘑澶勭悊,0-涓嶆敮鎸,1-鏀寔
+ public byte[] byRes = new byte[3];
+ public byte[] sStreamPassword = new byte[STREAM_PASSWD_LEN]; //鐮佹祦鍔犲瘑瀵嗙爜,闇鏁忔劅淇℃伅鍔犲瘑
+ }
+
+ /************************************
+ * 鎷兼帶(End)
+ ***************************************/
+
+ public static class NET_DVR_EMAILCFG extends Structure { /* 12 bytes */
+ public int dwSize;
+ public byte[] sUserName = new byte[32];
+ public byte[] sPassWord = new byte[32];
+ public byte[] sFromName = new byte[32]; /* Sender *///瀛楃涓蹭腑鐨勭涓涓瓧绗﹀拰鏈鍚庝竴涓瓧绗︿笉鑳芥槸"@",骞朵笖瀛楃涓蹭腑瑕佹湁"@"瀛楃
+ public byte[] sFromAddr = new byte[48]; /* Sender address */
+ public byte[] sToName1 = new byte[32]; /* Receiver1 */
+ public byte[] sToName2 = new byte[32]; /* Receiver2 */
+ public byte[] sToAddr1 = new byte[48]; /* Receiver address1 */
+ public byte[] sToAddr2 = new byte[48]; /* Receiver address2 */
+ public byte[] sEmailServer = new byte[32]; /* Email server address */
+ public byte byServerType; /* Email server type: 0-SMTP, 1-POP, 2-IMTP鈥*/
+ public byte byUseAuthen; /* Email server authentication method: 1-enable, 0-disable */
+ public byte byAttachment; /* enable attachment */
+ public byte byMailinterval; /* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/
+ }
+
+ public static class NET_DVR_COMPRESSIONCFG_NEW extends Structure {
+ public int dwSize;
+ public NET_DVR_COMPRESSION_INFO_EX struLowCompression; //瀹毬毬氭椂褰曞儚
+ public NET_DVR_COMPRESSION_INFO_EX struEventCompression; //浜嬩欢瑙﹀彂褰曞儚
+ }
+
+ //鐞冩満浣嶇疆淇℃伅
+ public static class NET_DVR_PTZPOS extends Structure {
+ public short wAction;//鑾峰彇鏃惰瀛楁鏃犳晥
+ public short wPanPos;//姘村钩鍙傛暟
+ public short wTiltPos;//鍨傜洿鍙傛暟
+ public short wZoomPos;//鍙樺嶅弬鏁
+ }
+
+ //鐞冩満鑼冨洿淇℃伅
+ public static class NET_DVR_PTZSCOPE extends Structure {
+ public short wPanPosMin;//姘村钩鍙傛暟min
+ public short wPanPosMax;//姘村钩鍙傛暟max
+ public short wTiltPosMin;//鍨傜洿鍙傛暟min
+ public short wTiltPosMax;//鍨傜洿鍙傛暟max
+ public short wZoomPosMin;//鍙樺嶅弬鏁癿in
+ public short wZoomPosMax;//鍙樺嶅弬鏁癿ax
+ }
+
+ public static class NET_DVR_PTZABSOLUTEEX_CFG extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public NET_PTZ_INFO struPTZCtrl = new NET_PTZ_INFO();//璁惧PTZF淇℃伅
+ public int dwFocalLen;//鐒﹁窛鑼冨洿锛0-100000MM
+ public float fHorizontalSpeed;//姘村钩杞姩閫熷害锛0.01-1000.00搴/S
+ public float fVerticalSpeed;//鍨傜洿杞姩閫熷害锛0.01-1000.00搴/S
+ /*闀滃ご鍙樺嶉厤缃被鍨嬶紱absoluteZoom:閫氳繃鍙樺嶅弬鏁拌繘琛岄厤缃紝閫夋嫨涓鸿绫诲瀷鏃秙truPTZCtrl涓殑fZoom鍙傛暟鐢熸晥銆俧ocalLen:閫氳繃鐒﹁窛鍙傛暟杩涜閰嶇疆锛岄夋嫨涓鸿绫诲瀷鏃讹紝dwFocalLen鍙傛暟鐢熸晥銆*/
+ public byte byZoomType;// 闀滃ご鍙樺嶉厤缃被鍨0~ absoluteZoom锛1~ focalLen
+ public byte[] byRes = new byte[123];
+ }
+
+ //rtsp閰嶇疆 ipcamera涓撶敤
+ public static class NET_DVR_RTSPCFG extends Structure {
+ public int dwSize; //闀垮害
+ public short wPort; //rtsp鏈嶅姟鍣ㄤ睛鍚鍙
+ public byte[] byReserve = new byte[54]; //棰勭暀
+ }
+
+ /********************************
+ * 鎺ュ彛鍙傛暟缁撴瀯(begin)
+ *********************************/
+
+//NET_DVR_Login()鍙傛暟缁撴瀯
+ public static class NET_DVR_DEVICEINFO extends Structure {
+ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //搴忓垪鍙
+ public byte byAlarmInPortNum; //DVR鎶ヨ杈撳叆涓暟
+ public byte byAlarmOutPortNum; //DVR鎶ヨ杈撳嚭涓暟
+ public byte byDiskNum; //DVR纭洏涓暟
+ public byte byDVRType; //DVR绫诲瀷, 1:DVR 2:ATM DVR 3:DVS ......
+ public byte byChanNum; //DVR 閫氶亾涓暟
+ public byte byStartChan; //璧峰閫氶亾鍙,渚嬪DVS-1,DVR - 1
+ }
+
+ //NET_DVR_Login_V30()鍙傛暟缁撴瀯
+ public static class NET_DVR_DEVICEINFO_V30 extends Structure {
+ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; //搴忓垪鍙
+ public byte byAlarmInPortNum; //鎶ヨ杈撳叆涓暟
+ public byte byAlarmOutPortNum; //鎶ヨ杈撳嚭涓暟
+ public byte byDiskNum; //纭洏涓暟
+ public byte byDVRType; //璁惧绫诲瀷, 1:DVR 2:ATM DVR 3:DVS ......
+ public byte byChanNum; //妯℃嫙閫氶亾涓暟
+ public byte byStartChan; //璧峰閫氶亾鍙,渚嬪DVS-1,DVR - 1
+ public byte byAudioChanNum; //璇煶閫氶亾鏁
+ public byte byIPChanNum; //鏈澶ф暟瀛楅氶亾涓暟锛屼綆浣
+ public byte byZeroChanNum; //闆堕氶亾缂栫爜涓暟 //2010-01-16
+ public byte byMainProto; //涓荤爜娴佷紶杈撳崗璁被鍨 0-private, 1-rtsp,2-鍚屾椂鏀寔private鍜宺tsp
+ public byte bySubProto; //瀛愮爜娴佷紶杈撳崗璁被鍨0-private, 1-rtsp,2-鍚屾椂鏀寔private鍜宺tsp
+ public byte bySupport; //鑳藉姏锛屼綅涓庣粨鏋滀负0琛ㄧず涓嶆敮鎸侊紝1琛ㄧず鏀寔锛
+ public byte bySupport1; // 鑳藉姏闆嗘墿鍏咃紝浣嶄笌缁撴灉涓0琛ㄧず涓嶆敮鎸侊紝1琛ㄧず鏀寔
+ public byte bySupport2; /*鑳藉姏*/
+ public short wDevType; //璁惧鍨嬪彿
+ public byte bySupport3; //鑳藉姏闆嗘墿灞
+ public byte byMultiStreamProto;//鏄惁鏀寔澶氱爜娴,鎸変綅琛ㄧず,0-涓嶆敮鎸,1-鏀寔,bit1-鐮佹祦3,bit2-鐮佹祦4,bit7-涓荤爜娴侊紝bit-8瀛愮爜娴
+ public byte byStartDChan; //璧峰鏁板瓧閫氶亾鍙,0琛ㄧず鏃犳晥
+ public byte byStartDTalkChan; //璧峰鏁板瓧瀵硅閫氶亾鍙凤紝鍖哄埆浜庢ā鎷熷璁查氶亾鍙凤紝0琛ㄧず鏃犳晥
+ public byte byHighDChanNum; //鏁板瓧閫氶亾涓暟锛岄珮浣
+ public byte bySupport4; //鑳藉姏闆嗘墿灞
+ public byte byLanguageType;// 鏀寔璇鑳藉姏,鎸変綅琛ㄧず,姣忎竴浣0-涓嶆敮鎸,1-鏀寔
+ // byLanguageType 绛変簬0 琛ㄧず 鑰佽澶
+ // byLanguageType & 0x1琛ㄧず鏀寔涓枃
+ // byLanguageType & 0x2琛ㄧず鏀寔鑻辨枃
+ public byte byVoiceInChanNum; //闊抽杈撳叆閫氶亾鏁
+ public byte byStartVoiceInChanNo; //闊抽杈撳叆璧峰閫氶亾鍙 0琛ㄧず鏃犳晥
+ public byte bySupport5;
+ public byte bySupport6; //鑳藉姏
+ public byte byMirrorChanNum; //闀滃儚閫氶亾涓暟锛<褰曟挱涓绘満涓敤浜庤〃绀哄鎾氶亾>
+ public short wStartMirrorChanNo; //璧峰闀滃儚閫氶亾鍙
+ public byte bySupport7; //鑳藉姏
+ public byte byRes2; //淇濈暀
+ }
+
+ public static final int NET_DVR_DEV_ADDRESS_MAX_LEN = 129;
+ public static final int NET_DVR_LOGIN_USERNAME_MAX_LEN = 64;
+ public static final int NET_DVR_LOGIN_PASSWD_MAX_LEN = 64;
+
+ public static interface FLoginResultCallBack extends Callback {
+ public int invoke(int lUserID, int dwResult, NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser);
+ }
+
+ //NET_DVR_Login_V40()鍙傛暟
+ public static class NET_DVR_USER_LOGIN_INFO extends Structure {
+ public byte[] sDeviceAddress = new byte[NET_DVR_DEV_ADDRESS_MAX_LEN];
+ public byte byUseTransport;
+ public short wPort;
+ public byte[] sUserName = new byte[NET_DVR_LOGIN_USERNAME_MAX_LEN];
+ public byte[] sPassword = new byte[NET_DVR_LOGIN_PASSWD_MAX_LEN];
+ public FLoginResultCallBack cbLoginResult;
+ public Pointer pUser;
+ public boolean bUseAsynLogin;
+ public byte byProxyType; //0:涓嶄娇鐢ㄤ唬鐞嗭紝1锛氫娇鐢ㄦ爣鍑嗕唬鐞嗭紝2锛氫娇鐢‥Home浠g悊
+ public byte byUseUTCTime; //0-涓嶈繘琛岃浆鎹紝榛樿,1-鎺ュ彛涓婅緭鍏ヨ緭鍑哄叏閮ㄤ娇鐢║TC鏃堕棿,SDK瀹屾垚UTC鏃堕棿涓庤澶囨椂鍖虹殑杞崲,2-鎺ュ彛涓婅緭鍏ヨ緭鍑哄叏閮ㄤ娇鐢ㄥ钩鍙版湰鍦版椂闂达紝SDK瀹屾垚骞冲彴鏈湴鏃堕棿涓庤澶囨椂鍖虹殑杞崲
+ public byte byLoginMode; //0-Private 1-ISAPI 2-鑷傚簲
+ public byte byHttps; //0-涓嶉傜敤tls锛1-浣跨敤tls 2-鑷傚簲
+ public int iProxyID; //浠g悊鏈嶅姟鍣ㄥ簭鍙凤紝娣诲姞浠g悊鏈嶅姟鍣ㄤ俊鎭椂锛岀浉瀵瑰簲鐨勬湇鍔″櫒鏁扮粍涓嬭〃鍊
+ public byte byVerifyMode; //璁よ瘉鏂瑰紡锛0-涓嶈璇侊紝1-鍙屽悜璁よ瘉锛2-鍗曞悜璁よ瘉锛涜璇佷粎鍦ㄤ娇鐢═LS鐨勬椂鍊欑敓鏁;
+ public byte[] byRes2 = new byte[119];
+ }
+
+ //NET_DVR_Login_V40()鍙傛暟
+ public static class NET_DVR_DEVICEINFO_V40 extends Structure {
+ public NET_DVR_DEVICEINFO_V30 struDeviceV30 = new NET_DVR_DEVICEINFO_V30();
+ public byte bySupportLock;
+ public byte byRetryLoginTime;
+ public byte byPasswordLevel;
+ public byte byRes1;
+ public int dwSurplusLockTime;
+ public byte byCharEncodeType;//瀛楃缂栫爜绫诲瀷锛0- 鏃犲瓧绗︾紪鐮佷俊鎭(鑰佽澶)锛1- GB2312(绠浣撲腑鏂)锛2- GBK锛3- BIG5(绻佷綋涓枃)锛4- Shift_JIS(鏃ユ枃)锛5- EUC-KR(闊╂枃)锛6- UTF-8锛7- ISO8859-1锛8- ISO8859-2锛9- ISO8859-3锛屸︼紝渚濇绫绘帹锛21- ISO8859-15(瑗挎)
+ public byte bySupportDev5; //鏀寔v50鐗堟湰鐨勮澶囧弬鏁拌幏鍙栵紝璁惧鍚嶇О鍜岃澶囩被鍨嬪悕绉伴暱搴︽墿灞曚负64瀛楄妭
+ public byte bySupport; //鑳藉姏闆嗘墿灞曪紝浣嶄笌缁撴灉锛0- 涓嶆敮鎸侊紝1- 鏀寔
+ public byte byLoginMode; //鐧诲綍妯″紡 0-Private鐧诲綍 1-ISAPI鐧诲綍
+ public int dwOEMCode;
+ public int iResidualValidity; //璇ョ敤鎴峰瘑鐮佸墿浣欐湁鏁堝ぉ鏁帮紝鍗曚綅锛氬ぉ锛岃繑鍥炶礋鍊硷紝琛ㄧず瀵嗙爜宸茬粡瓒呮湡浣跨敤锛屼緥濡傗-3琛ㄧず瀵嗙爜宸茬粡瓒呮湡浣跨敤3澶┾
+ public byte byResidualValidity; // iResidualValidity瀛楁鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public byte bySingleStartDTalkChan; //鐙珛闊宠建鎺ュ叆鐨勮澶囷紝璧峰鎺ュ叆閫氶亾鍙凤紝0-涓轰繚鐣欏瓧鑺傦紝鏃犲疄闄呭惈涔夛紝闊宠建閫氶亾鍙蜂笉鑳戒粠0寮濮
+ public byte bySingleDTalkChanNums; //鐙珛闊宠建鎺ュ叆鐨勮澶囩殑閫氶亾鎬绘暟锛0-琛ㄧず涓嶆敮鎸
+ public byte byPassWordResetLevel; //0-鏃犳晥锛1-绠$悊鍛樺垱寤轰竴涓潪绠$悊鍛樼敤鎴蜂负鍏惰缃瘑鐮侊紝璇ラ潪绠$悊鍛樼敤鎴锋纭櫥褰曡澶囧悗瑕佹彁绀衡滆淇敼鍒濆鐧诲綍瀵嗙爜鈥濓紝鏈慨鏀圭殑鎯呭喌涓嬶紝鐢ㄦ埛姣忔鐧诲叆閮戒細杩涜鎻愰啋锛2-褰撻潪绠$悊鍛樼敤鎴风殑瀵嗙爜琚鐞嗗憳淇敼锛岃闈炵鐞嗗憳鐢ㄦ埛鍐嶆姝g‘鐧诲綍璁惧鍚庯紝闇瑕佹彁绀衡滆閲嶆柊璁剧疆鐧诲綍瀵嗙爜鈥濓紝鏈慨鏀圭殑鎯呭喌涓嬶紝鐢ㄦ埛姣忔鐧诲叆閮戒細杩涜鎻愰啋銆
+ public byte bySupportStreamEncrypt; //鑳藉姏闆嗘墿灞曪紝浣嶄笌缁撴灉锛0- 涓嶆敮鎸侊紝1- 鏀寔 bySupportStreamEncrypt & 0x1:琛ㄧず鏄惁鏀寔RTP/TLS鍙栨祦 bySupportStreamEncrypt & 0x2: 琛ㄧず鏄惁鏀寔SRTP/UDP鍙栨祦 bySupportStreamEncrypt & 0x4: 琛ㄧず鏄惁鏀寔SRTP/MULTICAST鍙栨祦
+ public byte byMarketType;//0-鏃犳晥锛堟湭鐭ョ被鍨嬶級,1-缁忛攢鍨嬶紝2-琛屼笟鍨
+ public byte[] byRes2 = new byte[238];
+ }
+
+ //sdk缃戠粶鐜鏋氫妇鍙橀噺锛岀敤浜庤繙绋嬪崌绾
+ enum _SDK_NET_ENV {
+ LOCAL_AREA_NETWORK,
+ WIDE_AREA_NETWORK
+ }
+
+ //鏄剧ず妯″紡
+ enum DISPLAY_MODE {
+ NORMALMODE,
+ OVERLAYMODE
+ }
+
+ //鍙戦佹ā寮
+ enum SEND_MODE {
+ PTOPTCPMODE,
+ PTOPUDPMODE,
+ MULTIMODE,
+ RTPMODE,
+ RESERVEDMODE
+ }
+
+ ;
+
+ //鎶撳浘妯″紡
+ enum CAPTURE_MODE {
+ BMP_MODE, //BMP妯″紡
+ JPEG_MODE //JPEG妯″紡
+ }
+
+ ;
+
+ //瀹炴椂澹伴煶妯″紡
+ enum REALSOUND_MODE {
+ NONE, //SDK涓棤姝ゆā寮,鍙槸涓轰簡濉ˉ0杩欎釜浣嶇疆
+ MONOPOLIZE_MODE, //鐙崰妯″紡 1
+ SHARE_MODE //鍏变韩妯″紡 2
+ }
+
+ ;
+
+ //杞В鐮侀瑙堝弬鏁
+ public static class NET_DVR_CLIENTINFO extends Structure {
+ public int lChannel;
+ public int lLinkMode;
+ public HWND hPlayWnd;
+ public String sMultiCastIP;
+ }
+
+ //棰勮V40鎺ュ彛
+ public static class NET_DVR_PREVIEWINFO extends Structure {
+ public int lChannel;//閫氶亾鍙
+ public int dwStreamType; // 鐮佹祦绫诲瀷锛0-涓荤爜娴侊紝1-瀛愮爜娴侊紝2-鐮佹祦3锛3-鐮佹祦4, 4-鐮佹祦5,5-鐮佹祦6,7-鐮佹祦7,8-鐮佹祦8,9-鐮佹祦9,10-鐮佹祦10
+ public int dwLinkMode;// 0锛歍CP鏂瑰紡,1锛歎DP鏂瑰紡,2锛氬鎾柟寮,3 - RTP鏂瑰紡锛4-RTP/RTSP,5-RSTP/HTTP ,6- HRUDP锛堝彲闈犱紶杈擄級 ,7-RTSP/HTTPS
+ public int hPlayWnd;//鎾斁绐楀彛鐨勫彞鏌,涓篘ULL琛ㄧず涓嶆挱鏀惧浘璞
+ public int bBlocked; //0-闈為樆濉炲彇娴, 1-闃诲鍙栨祦, 濡傛灉闃诲SDK鍐呴儴connect澶辫触灏嗕細鏈5s鐨勮秴鏃舵墠鑳藉杩斿洖,涓嶉傚悎浜庤疆璇㈠彇娴佹搷浣.
+ public int bPassbackRecord; //0-涓嶅惎鐢ㄥ綍鍍忓洖浼,1鍚敤褰曞儚鍥炰紶
+ public byte byPreviewMode;//棰勮妯″紡锛0-姝e父棰勮锛1-寤惰繜棰勮
+ public byte[] byStreamID = new byte[32];//娴両D锛宭Channel涓0xffffffff鏃跺惎鐢ㄦ鍙傛暟
+ public byte byProtoType; //搴旂敤灞傚彇娴佸崗璁紝0-绉佹湁鍗忚锛1-RTSP鍗忚
+ public byte byRes1;
+ public byte byVideoCodingType; //鐮佹祦鏁版嵁缂栬В鐮佺被鍨 0-閫氱敤缂栫爜鏁版嵁 1-鐑垚鍍忔帰娴嬪櫒浜х敓鐨勫師濮嬫暟鎹紙娓╁害鏁版嵁鐨勫姞瀵嗕俊鎭紝閫氳繃鍘诲姞瀵嗚繍绠楋紝灏嗗師濮嬫暟鎹畻鍑虹湡瀹炵殑娓╁害鍊硷級
+ public int dwDisplayBufNum; //鎾斁搴撴挱鏀剧紦鍐插尯鏈澶х紦鍐插抚鏁帮紝鑼冨洿1-50锛岀疆0鏃堕粯璁や负1
+ public byte byNPQMode; //NPQ鏄洿杩炴ā寮忥紝杩樻槸杩囨祦濯掍綋 0-鐩磋繛 1-杩囨祦濯掍綋
+ public byte[] byRes = new byte[215];
+ }
+
+ public static class NET_DVR_STREAM_INFO extends Structure {
+ public int dwSize;
+ public byte[] byID = new byte[32];
+ public int dwChannel;
+ public byte[] byRes = new byte[32];
+ }
+
+ //閰嶇疆鏉′欢
+ public static class NET_DVR_CLOUDSTORAGE_COND extends Structure {
+ public int dwSize;
+ public int dwChannel;
+ public byte[] byRes1 = new byte[64];
+ }
+
+ public static class NET_DVR_STREAM_RECORD_STATUS extends Structure {
+ public int dwSize;
+ public byte byRecord;
+ public byte byOffLineRecord;
+ public byte[] byRes1 = new byte[2];
+ public int dwRelatedHD;
+ public byte[] byRes2 = new byte[8];
+ }
+
+ //SDK鐘舵佷俊鎭(9000鏂板)
+ public static class NET_DVR_SDKSTATE extends Structure {
+ public int dwTotalLoginNum; //褰撳墠login鐢ㄦ埛鏁
+ public int dwTotalRealPlayNum; //褰撳墠realplay璺暟
+ public int dwTotalPlayBackNum; //褰撳墠鍥炴斁鎴栦笅杞借矾鏁
+ public int dwTotalAlarmChanNum; //褰撳墠寤虹珛鎶ヨ閫氶亾璺暟
+ public int dwTotalFormatNum; //褰撳墠纭洏鏍煎紡鍖栬矾鏁
+ public int dwTotalFileSearchNum; //褰撳墠鏃ュ織鎴栨枃浠舵悳绱㈣矾鏁
+ public int dwTotalLogSearchNum; //褰撳墠鏃ュ織鎴栨枃浠舵悳绱㈣矾鏁
+ public int dwTotalSerialNum; //褰撳墠閫忔槑閫氶亾璺暟
+ public int dwTotalUpgradeNum; //褰撳墠鍗囩骇璺暟
+ public int dwTotalVoiceComNum; //褰撳墠璇煶杞彂璺暟
+ public int dwTotalBroadCastNum; //褰撳墠璇煶骞挎挱璺暟
+ public int[] dwRes = new int[10];
+ }
+
+ //SDK鍔熻兘鏀寔淇℃伅(9000鏂板)
+ public static class NET_DVR_SDKABL extends Structure {
+ public int dwMaxLoginNum; //鏈澶ogin鐢ㄦ埛鏁 MAX_LOGIN_USERS
+ public int dwMaxRealPlayNum; //鏈澶ealplay璺暟 WATCH_NUM
+ public int dwMaxPlayBackNum; //鏈澶у洖鏀炬垨涓嬭浇璺暟 WATCH_NUM
+ public int dwMaxAlarmChanNum; //鏈澶у缓绔嬫姤璀﹂氶亾璺暟 ALARM_NUM
+ public int dwMaxFormatNum; //鏈澶х‖鐩樻牸寮忓寲璺暟 SERVER_NUM
+ public int dwMaxFileSearchNum; //鏈澶ф枃浠舵悳绱㈣矾鏁 SERVER_NUM
+ public int dwMaxLogSearchNum; //鏈澶ф棩蹇楁悳绱㈣矾鏁 SERVER_NUM
+ public int dwMaxSerialNum; //鏈澶ч忔槑閫氶亾璺暟 SERVER_NUM
+ public int dwMaxUpgradeNum; //鏈澶у崌绾ц矾鏁 SERVER_NUM
+ public int dwMaxVoiceComNum; //鏈澶ц闊宠浆鍙戣矾鏁 SERVER_NUM
+ public int dwMaxBroadCastNum; //鏈澶ц闊冲箍鎾矾鏁 MAX_CASTNUM
+ public int[] dwRes = new int[10];
+ }
+
+ //鎶ヨ璁惧淇℃伅
+ public static class NET_DVR_ALARMER extends Structure {
+ public byte byUserIDValid; /* userid鏄惁鏈夋晥 0-鏃犳晥锛1-鏈夋晥 */
+ public byte bySerialValid; /* 搴忓垪鍙锋槸鍚︽湁鏁 0-鏃犳晥锛1-鏈夋晥 */
+ public byte byVersionValid; /* 鐗堟湰鍙锋槸鍚︽湁鏁 0-鏃犳晥锛1-鏈夋晥 */
+ public byte byDeviceNameValid; /* 璁惧鍚嶅瓧鏄惁鏈夋晥 0-鏃犳晥锛1-鏈夋晥 */
+ public byte byMacAddrValid; /* MAC鍦板潃鏄惁鏈夋晥 0-鏃犳晥锛1-鏈夋晥 */
+ public byte byLinkPortValid; /* login绔彛鏄惁鏈夋晥 0-鏃犳晥锛1-鏈夋晥 */
+ public byte byDeviceIPValid; /* 璁惧IP鏄惁鏈夋晥 0-鏃犳晥锛1-鏈夋晥 */
+ public byte bySocketIPValid; /* socket ip鏄惁鏈夋晥 0-鏃犳晥锛1-鏈夋晥 */
+ public int lUserID; /* NET_DVR_Login()杩斿洖鍊, 甯冮槻鏃舵湁鏁 */
+ public byte[] sSerialNumber = new byte[SERIALNO_LEN]; /* 搴忓垪鍙 */
+ public int dwDeviceVersion; /* 鐗堟湰淇℃伅 楂16浣嶈〃绀轰富鐗堟湰锛屼綆16浣嶈〃绀烘鐗堟湰*/
+ public byte[] sDeviceName = new byte[NAME_LEN]; /* 璁惧鍚嶅瓧 */
+ public byte[] byMacAddr = new byte[MACADDR_LEN]; /* MAC鍦板潃 */
+ public short wLinkPort; /* link port */
+ public byte[] sDeviceIP = new byte[128]; /* IP鍦板潃 */
+ public byte[] sSocketIP = new byte[128]; /* 鎶ヨ涓诲姩涓婁紶鏃剁殑socket IP鍦板潃 */
+ public byte byIpProtocol; /* Ip鍗忚 0-IPV4, 1-IPV6 */
+ public byte[] byRes2 = new byte[11];
+
+
+ }
+
+ //纭В鐮佹樉绀哄尯鍩熷弬鏁(瀛愮粨鏋)
+ public static class NET_DVR_DISPLAY_PARA extends Structure {
+ public int bToScreen;
+ public int bToVideoOut;
+ public int nLeft;
+ public int nTop;
+ public int nWidth;
+ public int nHeight;
+ public int nReserved;
+ }
+
+ //纭В鐮侀瑙堝弬鏁
+ public static class NET_DVR_CARDINFO extends Structure {
+ public int lChannel;//閫氶亾鍙
+ public int lLinkMode; //鏈楂樹綅(31)涓0琛ㄧず涓荤爜娴侊紝涓1琛ㄧず瀛愶紝0锛30浣嶈〃绀虹爜娴佽繛鎺ユ柟寮:0锛歍CP鏂瑰紡,1锛歎DP鏂瑰紡,2锛氬鎾柟寮,3 - RTP鏂瑰紡锛4-鐢佃瘽绾匡紝5锛128k瀹藉甫锛6锛256k瀹藉甫锛7锛384k瀹藉甫锛8锛512k瀹藉甫锛
+ public String sMultiCastIP;
+ public NET_DVR_DISPLAY_PARA struDisplayPara;
+ }
+
+ //褰曡薄鏂囦欢鍙傛暟
+ public static class NET_DVR_FIND_DATA extends Structure {
+ public byte[] sFileName = new byte[100];//鏂囦欢鍚
+ public NET_DVR_TIME struStartTime;//鏂囦欢鐨勫紑濮嬫椂闂
+ public NET_DVR_TIME struStopTime;//鏂囦欢鐨勭粨鏉熸椂闂
+ public int dwFileSize;//鏂囦欢鐨勫ぇ灏
+ }
+
+ //褰曡薄鏂囦欢鍙傛暟(9000)
+ public static class NET_DVR_FINDDATA_V30 extends Structure {
+ public byte[] sFileName = new byte[100];//鏂囦欢鍚
+ public NET_DVR_TIME struStartTime;//鏂囦欢鐨勫紑濮嬫椂闂
+ public NET_DVR_TIME struStopTime;//鏂囦欢鐨勭粨鏉熸椂闂
+ public int dwFileSize;//鏂囦欢鐨勫ぇ灏
+ public byte[] sCardNum = new byte[32];
+ public byte byLocked;//9000璁惧鏀寔,1琛ㄧず姝ゆ枃浠跺凡缁忚閿佸畾,0琛ㄧず姝e父鐨勬枃浠
+ public byte[] byRes = new byte[3];
+ }
+
+ //褰曡薄鏂囦欢鍙傛暟(甯﹀崱鍙)
+ public static class NET_DVR_FINDDATA_CARD extends Structure {
+ public byte[] sFileName = new byte[100];//鏂囦欢鍚
+ public NET_DVR_TIME struStartTime;//鏂囦欢鐨勫紑濮嬫椂闂
+ public NET_DVR_TIME struStopTime;//鏂囦欢鐨勭粨鏉熸椂闂
+ public int dwFileSize;//鏂囦欢鐨勫ぇ灏
+ public byte[] sCardNum = new byte[32];
+ }
+
+ public static class NET_DVR_FILECOND_V40 extends Structure {
+ public int lChannel;
+ public int dwFileType;
+ public int dwIsLocked;
+ public int dwUseCardNo;//鏄惁甯TM淇℃伅杩涜鏌ヨ锛0-涓嶅甫ATM淇℃伅锛1-鎸変氦鏄撳崱鍙锋煡璇紝2-鎸変氦鏄撶被鍨嬫煡璇紝3-鎸変氦鏄撻噾棰濇煡璇紝4-鎸夊崱鍙枫佷氦鏄撶被鍨嬪強浜ゆ槗閲戦鐨勭粍鍚堟煡璇 5-鎸夎绋嬪悕绉版煡鎵撅紝姝ゆ椂鍗″彿琛ㄧず璇剧▼鍚嶇О
+ public byte[] sCardNumber = new byte[CARDNUM_LEN_OUT];
+ public NET_DVR_TIME struStartTime = new NET_DVR_TIME();
+ public NET_DVR_TIME struStopTime = new NET_DVR_TIME();
+ public byte byDrawFrame; //0:涓嶆娊甯э紝1锛氭娊甯
+ public byte byFindType; //0:鏌ヨ鏅氬嵎锛1锛氭煡璇㈠瓨妗e嵎
+ public byte byQuickSearch; //0:鏅氭煡璇紝1锛氬揩閫燂紙鏃ュ巻锛夋煡璇
+ public byte bySpecialFindInfoType; //涓撴湁鏌ヨ鏉′欢绫诲瀷 0-鏃犳晥锛 1-甯TM鏌ヨ鏉′欢
+ public int dwVolumeNum; //瀛樻。鍗峰彿
+ public byte[] byWorkingDeviceGUID = new byte[GUID_LEN]; //宸ヤ綔鏈篏UID锛岄氳繃鑾峰彇N+1寰楀埌
+ public NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo = new NET_DVR_SPECIAL_FINDINFO_UNION(); //涓撴湁鏌ヨ鏉′欢
+ public byte byStreamType; //0-鍚屼竴涓椂闂存鍙繑鍥炰竴绉嶅綍鍍忥紝浼樺厛绾ч『搴忎负锛氫富鐮佹祦銆佸瓙鐮佹祦銆佷笁鐮佹祦锛1-瀛愮爜娴侊紝2-涓夌爜娴侊紝3-涓荤爜娴侊紝254-鍙岀爜娴佹悳绱(浼樺厛杩斿洖涓荤爜娴佸綍鍍忥紝娌℃湁涓荤爜娴佸綍鍍忔椂杩斿洖瀛愮爜娴佸綍鍍)
+ public byte byAudioFile; //闊抽鏂囦欢 0-闈為煶棰戞枃浠讹紝1-闊抽鏂囦欢
+ public byte[] byRes2 = new byte[30]; //淇濈暀
+ }
+
+ public static class NET_DVR_SPECIAL_FINDINFO_UNION extends Union {
+ public byte[] byLenth = new byte[8];
+ public NET_DVR_ATMFINDINFO struATMFindInfo = new NET_DVR_ATMFINDINFO(); //ATM鏌ヨ
+ }
+
+ public static class NET_DVR_ATMFINDINFO extends Structure {
+ public byte byTransactionType; //浜ゆ槗绫诲瀷 0-鍏ㄩ儴锛1-鏌ヨ锛 2-鍙栨锛 3-瀛樻锛 4-淇敼瀵嗙爜锛5-杞处锛 6-鏃犲崱鏌ヨ 7-鏃犲崱瀛樻锛 8-鍚為挒 9-鍚炲崱 10-鑷畾涔
+ public byte[] byRes = new byte[3]; //淇濈暀
+ public int dwTransationAmount; //浜ゆ槗閲戦 ;
+ }
+
+ //褰曞儚鏂囦欢鏌ユ壘鏉′欢缁撴瀯V50
+ public static class NET_DVR_FILECOND_V50 extends Structure {
+ public NET_DVR_STREAM_INFO struStreamID; //娴両D鎴栭氶亾鍙
+ public NET_DVR_TIME_SEARCH_COND struStartTime = new NET_DVR_TIME_SEARCH_COND(); //寮濮嬫椂闂
+ public NET_DVR_TIME_SEARCH_COND struStopTime = new NET_DVR_TIME_SEARCH_COND(); //缁撴潫鏃堕棿
+ public byte byFindType; //0-鏌ヨ鏅氬嵎锛1-鏌ヨ瀛樻。鍗 2-鏌ヨN+1褰曞儚鏂囦欢
+ public byte byDrawFrame; //鏄惁鎶藉抚 0-涓嶆娊甯 1-鎶藉抚
+ public byte byQuickSearch; //0-鏅氭煡璇紝1-蹇燂紙鏃ュ巻锛夋煡璇
+ public byte byStreamType; //0-涓荤爜娴侊紝1-瀛愮爜娴侊紝2-3鐮佹祦锛0xff-鍏ㄩ儴
+ public int dwFileType; // 鏂囦欢绫诲瀷
+ public int dwVolumeNum; //瀛樻。鍗峰彿锛宐yFindType涓1鏃舵湁鏁
+ public byte byIsLocked; //鏄惁閿佸畾 0-姝e父鏂囦欢,1-閿佸畾鏂囦欢, 0xff琛ㄧず鎵鏈夋枃浠
+ public byte byNeedCard; //鏄惁闇瑕佹煡璇㈠崱锛0-涓嶉渶瑕 1-闇瑕
+ public byte byOnlyAudioFile; //闊抽鏂囦欢 0-瑙嗛鏂囦欢 1-闊抽鏂囦欢
+ public byte bySpecialFindInfoType; //0-鏃犳晥锛 1-甯TM鏌ヨ鏉′欢
+ public byte[] szCardNum = new byte[32]; //鍗″彿锛宐yNeedCard涓1鏃舵湁鏁
+ public byte[] szWorkingDeviceGUID = new byte[16]; //宸ヤ綔鏈篏UID锛岄氳繃鑾峰彇N+1寰楀埌锛宐yFindType涓2鏃舵湁鏁
+ public NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo = new NET_DVR_SPECIAL_FINDINFO_UNION(); //涓撴湁鏌ヨ鏉′欢鑱斿悎浣
+ public int dwTimeout; //鏌ユ壘瓒呮椂鏃堕棿锛堟寚瀹歂ET_DVR_FindNextFile_V30/NET_DVR_FindNextFile_V40/NET_DVR_FindNextFile_V50鎺ュ彛鐨勮秴鏃舵椂闂磋繑鍥烇級锛涘崟浣嶏細姣锛屼笉濉啓锛堥粯璁や负0鏃讹級锛屾帴鍙h涓鸿窡浠ュ墠涓鏍 ;鏈夋晥鍊硷細0, [5000 鈥 15000]
+ public byte[] byRes = new byte[252];
+ }
+
+ public static class NET_DVR_FINDDATA_V40 extends Structure {
+ public byte[] sFileName = new byte[100];//鏂囦欢鍚
+ public NET_DVR_TIME struStartTime = new NET_DVR_TIME();//鏂囦欢鐨勫紑濮嬫椂闂
+ public NET_DVR_TIME struStopTime = new NET_DVR_TIME();//鏂囦欢鐨勭粨鏉熸椂闂
+ public int dwFileSize;//鏂囦欢鐨勫ぇ灏
+ public byte[] sCardNum = new byte[32];
+ public byte byLocked;//9000璁惧鏀寔,1琛ㄧず姝ゆ枃浠跺凡缁忚閿佸畾,0琛ㄧず姝e父鐨勬枃浠
+ public byte byFileType; //鏂囦欢绫诲瀷:0锛嶅畾鏃跺綍鍍,1-绉诲姩渚︽祴 锛2锛嶆姤璀﹁Е鍙戯紝
+ //3-鎶ヨ|绉诲姩渚︽祴 4-鎶ヨ&绉诲姩渚︽祴 5-鍛戒护瑙﹀彂 6-鎵嬪姩褰曞儚,7锛嶉渿鍔ㄦ姤璀︼紝8-鐜鎶ヨ锛9-鏅鸿兘鎶ヨ锛10-PIR鎶ヨ锛11-鏃犵嚎鎶ヨ锛12-鍛兼晳鎶ヨ,14-鏅鸿兘浜ら氫簨浠
+ public byte byQuickSearch; //0:鏅氭煡璇㈢粨鏋滐紝1锛氬揩閫燂紙鏃ュ巻锛夋煡璇㈢粨鏋
+ public byte byRes;
+ public int dwFileIndex; //鏂囦欢绱㈠紩鍙
+ public byte byStreamType;
+ public byte[] byRes1 = new byte[127];
+ }
+
+ public static class NET_DVR_TIME_SEARCH extends Structure {
+ public short wYear; //骞达紝璁惧OSD鏃堕棿
+ public byte byMonth; //鏈堬紝璁惧OSD鏃堕棿
+ public byte byDay; //鏃ワ紝璁惧OSD鏃堕棿
+ public byte byHour; //鏃讹紝璁惧OSD鏃堕棿
+ public byte byMinute; //鍒嗭紝璁惧OSD鏃堕棿
+ public byte bySecond; //绉掞紝璁惧OSD鏃堕棿
+ public byte cTimeDifferenceH; //涓庡浗闄呮爣鍑嗘椂闂寸殑鏃跺樊锛堝皬鏃讹級锛-12 ... +14
+ public byte cTimeDifferenceM; //涓庡浗闄呮爣鍑嗘椂闂寸殑鏃跺樊锛堝垎閽燂級锛-30, 0, 30, 45
+ public byte byLocalOrUTC; //0-鏃跺樊鏃犳晥锛岃澶囨湰鍦版椂闂达紝鍗宠澶嘜SD鏃堕棿 1-鏃跺樊鏈夋晥
+ public short wMillisecond; //姣锛岀簿搴︿笉澶燂紝榛樿涓0
+ }
+
+ public static class NET_DVR_ADDRESS extends Structure {
+ public NET_DVR_IPADDR struIP = new NET_DVR_IPADDR(); //IP鍦板潃
+ public short wPort; //绔彛鍙
+ public byte[] byRes = new byte[2];
+ }
+
+ public static class NET_DVR_FINDDATA_V50 extends Structure {
+ public byte[] sFileName = new byte[100];
+ public NET_DVR_TIME_SEARCH struStartTime = new NET_DVR_TIME_SEARCH();
+ public NET_DVR_TIME_SEARCH struStopTime = new NET_DVR_TIME_SEARCH();
+ public NET_DVR_ADDRESS struAddr = new NET_DVR_ADDRESS(); //鐗囨鎵鍦ㄧ殑鍦板潃淇℃伅锛岄泦缇ゅ洖鏀炬椂鐢ㄥ埌
+ public int dwFileSize; //鏂囦欢澶у皬
+ public byte byLocked; //鏂囦欢鏄惁琚攣瀹氾紝1锛嶆枃浠跺凡閿佸畾锛0锛嶆枃浠舵湭閿佸畾
+ public byte byFileType; //鏂囦欢绫诲瀷锛屼笌V40鐩稿悓
+ public byte byQuickSearch; //0- 鏅氭煡璇㈢粨鏋滐紝1- 蹇燂紙鏃ュ巻锛夋煡璇㈢粨鏋
+ public byte byStreamType; //鐮佹祦绫诲瀷锛0- 涓荤爜娴侊紝1- 瀛愮爜娴侊紝2- 鐮佹祦涓
+ public int dwFileIndex; //鏂囦欢绱㈠紩鍙
+ public byte[] sCardNum = new byte[32]; //鍗″彿
+ public int dwTotalLenH; // 瀵逛簬澶ф枃浠舵悳绱紝鏃堕棿娈靛唴鏁版嵁鎬婚暱搴︼紝楂32瀛楄妭
+ public int dwTotalLenL; // 瀵逛簬澶ф枃浠舵悳绱紝鏃堕棿娈靛唴鏁版嵁鎬婚暱搴︼紝浣32瀛楄妭
+ public byte byBigFileType; // 0涓烘櫘閫氱墖娈垫悳绱紝1涓哄ぇ鏂囦欢鎼滅储
+ public byte[] byRes = new byte[247];
+ }
+
+ public static class NET_DVR_FILECOND extends Structure //褰曡薄鏂囦欢鏌ユ壘鏉′欢缁撴瀯
+ {
+ public int lChannel;//閫氶亾鍙
+ public int dwFileType;//褰曡薄鏂囦欢绫诲瀷0xff锛嶅叏閮紝0锛嶅畾鏃跺綍鍍,1-绉诲姩渚︽祴 锛2锛嶆姤璀﹁Е鍙戯紝3-鎶ヨ|绉诲姩渚︽祴 4-鎶ヨ&绉诲姩渚︽祴 5-鍛戒护瑙﹀彂 6-鎵嬪姩褰曞儚
+ public int dwIsLocked;//鏄惁閿佸畾 0-姝e父鏂囦欢,1-閿佸畾鏂囦欢, 0xff琛ㄧず鎵鏈夋枃浠
+ public int dwUseCardNo;//鏄惁浣跨敤鍗″彿
+ public byte[] sCardNumber = new byte[32];//鍗″彿
+ public NET_DVR_TIME struStartTime;//寮濮嬫椂闂
+ public NET_DVR_TIME struStopTime;//缁撴潫鏃堕棿
+ }
+
+ public static class NET_DVR_PLAYCOND extends Structure //鍥炴斁鎴栬呬笅杞戒俊鎭粨鏋勪綋
+ {
+ public int dwChannel;//閫氶亾鍙
+ public NET_DVR_TIME struStartTime;
+ public NET_DVR_TIME struStopTime;
+ public byte byDrawFrame; //0:涓嶆娊甯э紝1锛氭娊甯
+ public byte byStreamType; //鐮佹祦绫诲瀷锛0-涓荤爜娴 1-瀛愮爜娴 2-鐮佹祦涓
+ public byte[] byStreamID = new byte[STREAM_ID_LEN];
+ public byte[] byRes = new byte[30];//淇濈暀
+ }
+
+ public static class NET_DVR_VOD_PARA extends Structure //鍥炴斁鎴栬呬笅杞戒俊鎭粨鏋勪綋
+ {
+ public int dwSize;
+ public NET_DVR_STREAM_INFO struIDInfo;
+ public NET_DVR_TIME struBeginTime;
+ public NET_DVR_TIME struEndTime;
+ public HWND hWnd;
+ public byte byDrawFrame; //0:涓嶆娊甯э紝1锛氭娊甯
+ public byte byVolumeType; //0-鏅氬綍鍍忓嵎 1-瀛樻。鍗
+ public byte byVolumeNum; //鍗峰彿锛岀洰鍓嶆寚瀛樻。鍗峰彿
+ public byte byStreamType; //鐮佹祦绫诲瀷 0-涓荤爜娴侊紝 1-瀛愮爜娴侊紝2-鐮佹祦涓
+ public int dwFileIndex; //瀛樻。鍗蜂笂鐨勫綍鍍忔枃浠剁储寮曪紝鎼滅储瀛樻。鍗峰綍鍍忔椂杩斿洖鐨勫
+ public byte byAudioFile; //闊抽鏂囦欢0-鍚︼紝1-鏄
+ public byte byCourseFile; //璇剧▼鏂囦欢0-鍚︼紝1-鏄
+ public byte byDownload; //鏄惁涓嬭浇 0-鍚︼紝1-鏄
+ public byte byOptimalStreamType; //鏄惁鎸夋渶浼樼爜娴佺被鍨嬪洖鏀 0-鍚︼紝1-鏄紙瀵逛簬鍙岀爜娴佽澶囷紝鏌愪竴娈垫椂闂村唴鐨勫綍鍍忔枃浠朵笌鎸囧畾鐮佹祦绫诲瀷涓嶅悓锛屽垯杩斿洖瀹為檯鐮佹祦绫诲瀷鐨勫綍鍍忥級
+ public byte[] byRes2 = new byte[20];
+ }
+
+ //鍥剧墖鏌ユ壘鏉′欢
+ public static class NET_DVR_FIND_PICTURE_PARAM extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public int lChannel; // 閫氶亾鍙
+ public byte byFileType; //鍥剧墖鏌ユ壘绫诲瀷
+ public byte byNeedCard; // 鏄惁闇瑕佸崱鍙
+ /*
+ 0-淇濈暀锛1-婢筹紝2-浜紝3-娓濓紝4-闂斤紝5-鐢橈紝6-绮わ紝7-妗傦紝
+ 8-璐碉紝9-鐞硷紝10-鍐锛11-璞紝12-榛戯紝13-閯傦紝14-婀橈紝
+ 15-鍚夛紝16-鑻忥紝17-璧o紝18-杈斤紝19-钂欙紝20-瀹侊紝21-闈掞紝
+ 22-椴侊紝23-鏅嬶紝24-闄曪紝25-娌紝26-宸濓紝27-鍙帮紝28-娲ワ紝
+ 29-钘忥紝30-娓紝31-鏂帮紝32-浜戯紝33-娴欙紝34-鐨栵紝0xff-鍏ㄩ儴
+ */
+ public byte byProvince; //鐪佷唤绱㈠紩鍊
+ public byte byEventType; // 浜嬩欢绫诲瀷锛0淇濈暀锛1-浜ら氫簨浠讹紱2-杩濈珷鍙栬瘉锛3-鍏朵粬浜嬩欢
+ public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; // 鍗″彿
+ public NET_DVR_TIME struStartTime = new NET_DVR_TIME();//鏌ユ壘鍥剧墖鐨勫紑濮嬫椂闂
+ public NET_DVR_TIME struStopTime = new NET_DVR_TIME();// 鏌ユ壘鍥剧墖鐨勭粨鏉熸椂闂
+ //ITC3.7 鏂板
+ public int dwTrafficType; //鍥剧墖妫绱㈢敓鏁堥」 鍙傝 VCA_OPERATE _TYPE
+ public int dwVehicleType; //杞﹁締绫诲瀷 鍙傝 VCA_VEHICLE_TYPE
+ //杩濊妫娴嬬被鍨嬪弬鑰 VCA_ILLEGAL_TYPE 褰撳墠涓嶆敮鎸佸閫
+ public int dwIllegalType;
+ public byte byLaneNo; //杞﹂亾鍙(1~99)
+ public byte bySubHvtType;//0-淇濈暀,1-鏈哄姩杞(鏈哄姩杞﹀瓙绫诲瀷涓敮鎸佽溅鐗屾绱紝鐪佷唤妫绱),2-闈炴満鍔ㄨ溅,3-琛屼汉
+ public byte[] byRes2 = new byte[2];
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //杞︾墝鍙风爜
+ public byte byRegion; // 鍖哄煙绱㈠紩鍊 0-淇濈暀锛1-娆ф床(Europe Region)锛3-娆ф床&(EU&CIS), 4-涓笢(Middle East),0xff-鎵鏈
+ public byte byCountry; // 鍥藉绱㈠紩鍊硷紝鍙傜収锛欳OUNTRY_INDEX
+ public byte byArea; //鍦板尯
+ public byte byISO8601; //鏄惁鏄8601鐨勬椂闂存牸寮忥紝鍗虫椂宸瓧娈垫槸鍚︽湁鏁0-鏃跺樊鏃犳晥锛屽勾鏈堟棩鏃跺垎绉掍负璁惧鏈湴鏃堕棿 1-鏃跺樊鏈夋晥
+ public byte cStartTimeDifferenceH; //寮濮嬫椂闂翠笌UTC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 姝f暟琛ㄧず涓滄椂鍖
+ public byte cStartTimeDifferenceM; //寮濮嬫椂闂翠笌UTC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 0, 30, 45锛屾鏁拌〃绀轰笢鏃跺尯
+ public byte cStopTimeDifferenceH; //缁撴潫鏃堕棿涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛屾鏁拌〃绀轰笢鏃跺尯
+ public byte cStopTimeDifferenceM; //缁撴潫鏃堕棿涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 0, 30, 45锛屾鏁拌〃绀轰笢鏃跺尯
+ }
+
+ public static class NET_DVR_FIND_PICTURE extends Structure {
+ public byte[] sFileName = new byte[PICTURE_NAME_LEN];//鍥剧墖鍚
+ public NET_DVR_TIME struTime;//鍥剧墖鐨勬椂闂
+ public int dwFileSize;//鍥剧墖鐨勫ぇ灏
+ public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; //鍗″彿
+ public byte byPlateColor;//鍙傝冪粨鏋 VCA_PLATE_COLOR
+ public byte byVehicleLogo;//鍙傝冪粨鏋 VLR_VEHICLE_CLASS
+ public byte byEventSearchStatus; //杩炵画鍥剧墖琛ㄧず鍚屼竴鏌ユ壘缁撴灉鐨勬椂鍊欙紝0-琛ㄧず鍚庨潰娌℃湁鍥剧墖淇℃伅锛1-琛ㄧず鍚庨潰杩樻湁鍥剧墖淇℃伅銆傛诲叡鍥剧墖淇℃伅鍖呮嫭鏈鍚庝竴寮犵姸鎬佷负0鐨勫浘鐗囥
+ public byte byRecogResult;//璇嗗埆缁撴灉鍙傝冪粨鏋刅TR_RESULT
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //杞︾墝鍙风爜
+ public byte[] byRes = new byte[12];
+ }
+
+
+ public class NET_DVR_FIND_PICTURE_V50 extends Structure {
+ public byte[] sFileName = new byte[PICTURE_NAME_LEN];//鍥剧墖鍚
+ public NET_DVR_TIME struTime = new NET_DVR_TIME();//鍥剧墖鐨勬椂闂
+ public int dwFileSize;//鍥剧墖鐨勫ぇ灏
+ public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; //鍗″彿
+ public byte byPlateColor;//鍙傝冪粨鏋 VCA_PLATE_COLOR
+ public byte byVehicleLogo;//鍙傝冪粨鏋 VLR_VEHICLE_CLASS
+ public byte byFileType; //鏂囦欢绫诲瀷锛 :0瀹氭椂鎶撳浘1 绉诲姩渚︽祴鎶撳浘 2 鎶ヨ鎶撳浘3 鎶ヨ | 绉诲姩渚︽祴鎶撳浘 4 鎶ヨ & 绉诲姩渚︽祴鎶撳浘 6 鎵嬪姩鎶撳浘 ,9-鏅鸿兘鍥剧墖,10- PIR鎶ヨ锛11- 鏃犵嚎鎶ヨ锛12- 鍛兼晳鎶ヨ, 0xa 棰勮鏃舵埅鍥撅紝0xd 浜鸿劯渚︽祴, 0xe 瓒婄晫渚︽祴锛0xf 鍏ヤ镜鍖哄煙渚︽祴锛0x10 鍦烘櫙鍙樻洿渚︽祴, 0x11-璁惧鏈湴鍥炴斁鏃舵埅鍥, 0x12-鏅鸿兘渚︽祴
+ public byte byRecogResult;//璇嗗埆缁撴灉鍙傝冪粨鏋刅TR_RESULT
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //杞︾墝鍙风爜
+ public byte byEventSearchStatus; //杩炵画鍥剧墖琛ㄧず鍚屼竴鏌ユ壘缁撴灉鐨勬椂鍊欙紝0-琛ㄧず鍚庨潰娌℃湁鍥剧墖淇℃伅锛1-琛ㄧず鍚庨潰杩樻湁鍥剧墖淇℃伅銆傛诲叡鍥剧墖淇℃伅鍖呮嫭鏈鍚庝竴寮犵姸鎬佷负0鐨勫浘鐗囥
+ public NET_DVR_ADDRESS struAddr; //鍥剧墖鎵鍦ㄧ殑鍦板潃淇℃伅锛屽浘鐗囦笅杞芥椂鐢ㄥ埌
+ public byte[] byRes = new byte[256]; // 淇濈暀瀛楄妭
+ public NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //鍥剧墖闄勪欢淇℃伅
+ }
+
+
+ public class NET_DVR_PIC_PARAM extends Structure {
+ public Pointer pDVRFileName;
+ public Pointer pSavedFileBuf;
+ public int dwBufLen;
+ public IntByReference lpdwRetLen;
+ public NET_DVR_ADDRESS struAddr;
+ public byte[] byRes = new byte[256];
+ }
+
+
+ //鏌ユ壘缁撴灉缁撴瀯浣
+ public static class NET_DVR_FIND_PICTURE_V40 extends Structure {
+ public byte[] sFileName = new byte[PICTURE_NAME_LEN];//鍥剧墖鍚
+ public NET_DVR_TIME struTime = new NET_DVR_TIME();//鍥剧墖鐨勬椂闂
+ public int dwFileSize;//鍥剧墖鐨勫ぇ灏
+ public byte[] sCardNum = new byte[CARDNUM_LEN_V30]; //鍗″彿
+ public byte byPlateColor;//鍙傝冪粨鏋 VCA_PLATE_COLOR
+ public byte byVehicleLogo;//鍙傝冪粨鏋 VLR_VEHICLE_CLASS
+ public byte byFileType; //鏂囦欢绫诲瀷锛 :0瀹氭椂鎶撳浘1 绉诲姩渚︽祴鎶撳浘 2 鎶ヨ鎶撳浘3 鎶ヨ | 绉诲姩渚︽祴鎶撳浘 4 鎶ヨ & 绉诲姩渚︽祴鎶撳浘 6 鎵嬪姩鎶撳浘 ,9-鏅鸿兘鍥剧墖,10- PIR鎶ヨ锛11- 鏃犵嚎鎶ヨ锛12- 鍛兼晳鎶ヨ, 0xa 棰勮鏃舵埅鍥撅紝0xd 浜鸿劯渚︽祴, 0xe 瓒婄晫渚︽祴锛0xf 鍏ヤ镜鍖哄煙渚︽祴锛0x10 鍦烘櫙鍙樻洿渚︽祴, 0x11-璁惧鏈湴鍥炴斁鏃舵埅鍥, 0x12-鏅鸿兘渚︽祴, 0x32-闃插尯鎶ヨ, 0x33-绱фユ眰鍔, 0x34-涓氬姟鍜ㄨ
+ public byte byRecogResult;//璇嗗埆缁撴灉鍙傝冪粨鏋刅TR_RESULT
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/]; //杞︾墝鍙风爜
+ public byte byEventSearchStatus; //杩炵画鍥剧墖琛ㄧず鍚屼竴鏌ユ壘缁撴灉鐨勬椂鍊欙紝0-琛ㄧず鍚庨潰娌℃湁鍥剧墖淇℃伅锛1-琛ㄧず鍚庨潰杩樻湁鍥剧墖淇℃伅銆傛诲叡鍥剧墖淇℃伅鍖呮嫭鏈鍚庝竴寮犵姸鎬佷负0鐨勫浘鐗囥
+ public byte[] byRes = new byte[75]; // 淇濈暀瀛楄妭
+ public NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //鍥剧墖闄勪欢淇℃伅
+ }
+
+ public static class NET_DVR_FACE_EXTRA_INFO extends Union {
+ public NET_VCA_RECT[] struVcaRect = new NET_VCA_RECT[MAX_FACE_PIC_NUM]; //浜鸿劯瀛愬浘鍧愭爣淇℃伅
+ public byte[] byRes = new byte[64];
+ }
+
+ //鍥剧墖闄勪欢淇℃伅鑱斿悎浣
+ public static class NET_DVR_PIC_EXTRA_INFO_UNION extends Union {
+ public byte[] byUnionLen = new byte[544]; //鑱斿悎浣撻暱搴︼紝鏃犲疄闄呮剰涔
+ public NET_DVR_FACE_EXTRA_INFO struFaceExtraInfo; //浜鸿劯渚︽祴淇℃伅
+ }
+
+ public static class NET_DVR_PACKET_INFO_EX extends Union {
+ public short wWidth; //width
+ public short wHeight; //height
+ public int dwTimeStamp; //lower time stamp
+ public int dwTimeStampHigh;//higher time stamp
+ public int dwYear; //year
+ public int dwMonth; //month
+ public int dwDay; //day
+ public int dwHour; //hour
+ public int dwMinute; //minute
+ public int dwSecond; //second
+ public int dwMillisecond; //millisecond
+ public int dwFrameNum; //frame num
+ public int dwFrameRate; //frame rate,褰撳抚鐜囧皬浜0鏃讹紝0x80000002:琛ㄧず1/2甯х巼锛屽悓鐞嗗彲鎺0x80000010涓1/16甯х巼
+ public int dwFlag; //flag E甯ф爣璁
+ public int dwFilePos; //file pos
+ public int dwPacketType; //Packet type:0 -file head锛1 -video I frame锛2- video B frame锛 3- video P frame锛 10- audio packet锛 11- private packet
+ public int dwPacketSize; //packet size
+ public Pointer pPacketBuffer; //packet buffer
+ public byte[] byRes1 = new byte[4];
+ public int dwPacketMode; //鎵撳寘鏂瑰紡:0-淇濈暀锛1-FU_A鎵撳寘鏂瑰紡
+ public byte[] byRes2 = new byte[16];
+ public int[] dwReserved = new int[6]; //reserved[0] 琛ㄧず绉佹湁鏁版嵁绫诲瀷
+ }
+
+ //浜戝彴鍖哄煙閫夋嫨鏀惧ぇ缂╁皬(HIK 蹇悆涓撶敤)
+ public static class NET_DVR_POINT_FRAME extends Structure {
+ public int xTop; //鏂规璧峰鐐圭殑x鍧愭爣
+ public int yTop; //鏂规缁撴潫鐐圭殑y鍧愭爣
+ public int xBottom; //鏂规缁撴潫鐐圭殑x鍧愭爣
+ public int yBottom; //鏂规缁撴潫鐐圭殑y鍧愭爣
+ public int bCounter; //淇濈暀
+ }
+
+ //璇煶瀵硅鍙傛暟
+ public static class NET_DVR_COMPRESSION_AUDIO extends Structure {
+ public byte byAudioEncType; //0- G722锛1- G711_U锛2- G711_A锛5- MP2L2锛6- G726锛7- AAC锛8- PCM锛9-G722锛10-G723锛11-G729锛12-AAC_LC锛13-AAC_LD锛14-Opus锛15-MP3锛16-ADPCM
+ public byte byAudioSamplingRate;//闊抽閲囨牱鐜 0-榛樿锛1-16kHZ锛2-32kHZ锛3-48kHZ, 4- 44.1kHZ,5-8kHZ
+ public byte byAudioBitRate;// 闊抽鐮佺巼 鍙傝 BITRATE_ENCODE_INDEX
+ public byte[] byres=new byte[4];//杩欓噷淇濈暀闊抽鐨勫帇缂╁弬鏁
+ public byte bySupport;//bySupport Bit0琛ㄧず Mp2l2鍓4涓瓧鑺傜殑鍚箟琛ㄧず鍚庨潰鍐呭闊抽鏁版嵁闀垮害
+ }
+
+ public static class NET_DVR_AUDIODEC_INFO extends Structure {
+ public int nchans; /* 澹伴亾鏁 */
+ public int sample_rate; /* 閲囨牱鐜 */
+ public int aacdec_profile; /* 缂栫爜鐢ㄧ殑妗嗘灦 */
+ public int[] reserved = new int[16]; /* 淇濈暀 */
+ }
+
+ //闊抽瑙g爜
+ public static class NET_DVR_AUDIODEC_PROCESS_PARAM extends Structure {
+ public Pointer in_buf; /* 杈撳叆鏁版嵁buf */
+ public Pointer out_buf; /* 杈撳嚭鏁版嵁buf */
+ public int in_data_size; /* 杈撳叆in_buf鍐呮暟鎹産yte鏁 */
+ public int proc_data_size; /* 杈撳嚭瑙g爜搴撳鐞唅n_buf涓暟鎹ぇ灏廱ytes */
+ public int out_frame_size; /* 瑙g爜涓甯у悗鏁版嵁BYTE鏁 */
+ public NET_DVR_AUDIODEC_INFO dec_info = new NET_DVR_AUDIODEC_INFO(); /* 杈撳嚭瑙g爜淇℃伅 */
+ public int g726dec_reset; /* 閲嶇疆寮鍏 */
+ public int g711_type; /* g711缂栫爜绫诲瀷,0 - U law, 1- A law */
+ public int[] reserved = new int[16]; /* 淇濈暀 */
+ }
+
+ public static class NET_DVR_AUDIOENC_INFO extends Structure {
+ public int in_frame_size; /* 杈撳叆涓甯ф暟鎹ぇ灏(BYTES)锛岀敱GetInfoParam鍑芥暟杩斿洖 */
+ public int[] reserved = new int[16]; /* 淇濈暀 */
+ }
+
+ //闊抽缂栫爜
+ public static class NET_DVR_AUDIOENC_PROCESS_PARAM extends Structure {
+ public Pointer in_buf; /* 杈撳叆buf */
+ public Pointer out_buf; /* 杈撳嚭buf */
+ public int out_frame_size; /* 缂栫爜涓甯у悗鐨凚YTE鏁 */
+ public int g726enc_reset; /* 閲嶇疆寮鍏 */
+ public int g711_type; /* g711缂栫爜绫诲瀷,0 - U law, 1- A law */
+ public int enc_mode; /* 闊抽缂栫爜妯″紡锛孉MR缂栫爜閰嶇疆 */
+ public int[] reserved = new int[16]; /* 淇濈暀 */
+ }
+
+ //鐢ㄤ簬鎺ユ敹鎶ヨ淇℃伅鐨勭紦瀛樺尯
+ public static class RECV_ALARM extends Structure {
+ public byte[] RecvBuffer = new byte[4000];//姝ゅ鐨400搴斾笉灏忎簬鏈澶ф姤璀︽姤鏂囬暱搴
+ }
+
+ //甯冮槻鍙傛暟
+ public static class NET_DVR_SETUPALARM_PARAM extends Structure {
+ public int dwSize;
+ public byte byLevel; //甯冮槻浼樺厛绾э紝0-涓绛夌骇锛堥珮锛夛紝1-浜岀瓑绾э紙涓級锛2-涓夌瓑绾э紙浣庯級
+ public byte byAlarmInfoType; //涓婁紶鎶ヨ淇℃伅绫诲瀷锛堟姄鎷嶆満鏀寔锛夛紝0-鑰佹姤璀︿俊鎭紙NET_DVR_PLATE_RESULT锛夛紝1-鏂版姤璀︿俊鎭(NET_ITS_PLATE_RESULT)2012-9-28
+ public byte byRetAlarmTypeV40; //0--杩斿洖NET_DVR_ALARMINFO_V30鎴朜ET_DVR_ALARMINFO, 1--璁惧鏀寔NET_DVR_ALARMINFO_V40鍒欒繑鍥濶ET_DVR_ALARMINFO_V40锛屼笉鏀寔鍒欒繑鍥濶ET_DVR_ALARMINFO_V30鎴朜ET_DVR_ALARMINFO
+ public byte byRetDevInfoVersion; //CVR涓婁紶鎶ヨ淇℃伅鍥炶皟缁撴瀯浣撶増鏈彿 0-COMM_ALARM_DEVICE锛 1-COMM_ALARM_DEVICE_V40
+ public byte byRetVQDAlarmType; //VQD鎶ヨ涓婁紶绫诲瀷锛0-涓婁紶鎶ユ姤璀ET_DVR_VQD_DIAGNOSE_INFO锛1-涓婁紶鎶ヨNET_DVR_VQD_ALARM
+ public byte byFaceAlarmDetection;
+ public byte bySupport;
+ public byte byBrokenNetHttp;
+ public short wTaskNo; //浠诲姟澶勭悊鍙 鍜 (涓婁紶鏁版嵁NET_DVR_VEHICLE_RECOG_RESULT涓殑瀛楁dwTaskNo瀵瑰簲 鍚屾椂 涓嬪彂浠诲姟缁撴瀯 NET_DVR_VEHICLE_RECOG_COND涓殑瀛楁dwTaskNo瀵瑰簲)
+ public byte byDeployType; //甯冮槻绫诲瀷锛0-瀹㈡埛绔竷闃诧紝1-瀹炴椂甯冮槻
+ public byte[] byRes1 = new byte[3];
+ public byte byAlarmTypeURL;//bit0-琛ㄧず鐗瑰緛鎶撴媿鎶ヨ涓婁紶锛圛NTER_FACESNAP_RESULT锛夛紱0-琛ㄧず浜岃繘鍒朵紶杈擄紝1-琛ㄧずURL浼犺緭锛堣澶囨敮鎸佺殑鎯呭喌涓嬶紝璁惧鏀寔鑳藉姏鏍规嵁鍏蜂綋鎶ヨ鑳藉姏闆嗗垽鏂,鍚屾椂璁惧闇瑕佹敮鎸乁RL鐨勭浉鍏虫湇鍔★紝褰撳墠鏄濅簯瀛樺偍鈥滐級
+ public byte byCustomCtrl;//Bit0- 琛ㄧず鏀寔鍓┚椹朵汉鑴稿瓙鍥句笂浼: 0-涓嶄笂浼,1-涓婁紶,(娉細鍙湪鍏徃鍐呴儴8600/8200绛夊钩鍙板紑鏀)
+
+
+ }
+
+ public static class NET_DVR_SETUPALARM_PARAM_V50 extends Structure {
+ public int dwSize;
+ public byte byLevel; //甯冮槻浼樺厛绾э紝0-涓绛夌骇锛堥珮锛夛紝1-浜岀瓑绾э紙涓級锛2-涓夌瓑绾э紙浣庯級
+ public byte byAlarmInfoType; //涓婁紶鎶ヨ淇℃伅绫诲瀷锛堟姄鎷嶆満鏀寔锛夛紝0-鑰佹姤璀︿俊鎭紙NET_DVR_PLATE_RESULT锛夛紝1-鏂版姤璀︿俊鎭(NET_ITS_PLATE_RESULT)2012-9-28
+ public byte byRetAlarmTypeV40; //0--杩斿洖NET_DVR_ALARMINFO_V30鎴朜ET_DVR_ALARMINFO, 1--璁惧鏀寔NET_DVR_ALARMINFO_V40鍒欒繑鍥濶ET_DVR_ALARMINFO_V40锛屼笉鏀寔鍒欒繑鍥濶ET_DVR_ALARMINFO_V30鎴朜ET_DVR_ALARMINFO
+ public byte byRetDevInfoVersion; //CVR涓婁紶鎶ヨ淇℃伅鍥炶皟缁撴瀯浣撶増鏈彿 0-COMM_ALARM_DEVICE锛 1-COMM_ALARM_DEVICE_V40
+ public byte byRetVQDAlarmType; //VQD鎶ヨ涓婁紶绫诲瀷锛0-涓婁紶鎶ユ姤璀ET_DVR_VQD_DIAGNOSE_INFO锛1-涓婁紶鎶ヨNET_DVR_VQD_ALARM
+ //1-琛ㄧず浜鸿劯渚︽祴鎶ヨ鎵╁睍(INTER_FACE_DETECTION),0-琛ㄧず鍘熷厛鏀寔缁撴瀯(INTER_FACESNAP_RESULT)
+ public byte byFaceAlarmDetection;
+ //Bit0- 琛ㄧず浜岀骇甯冮槻鏄惁涓婁紶鍥剧墖: 0-涓婁紶锛1-涓嶄笂浼
+ //Bit1- 琛ㄧず寮鍚暟鎹笂浼犵‘璁ゆ満鍒讹紱0-涓嶅紑鍚紝1-寮鍚
+ //Bit6- 琛ㄧず闆疯揪妫娴嬫姤璀(eventType:radarDetection)鏄惁寮鍚疄鏃朵笂浼狅紱0-涓嶅紑鍚紝1-寮鍚紙鐢ㄤ簬web鎻掍欢瀹炴椂鏄剧ず闆疯揪鐩爣锛
+ public byte bySupport;
+ //鏂綉缁紶绫诲瀷
+ //bit0-杞︾墝妫娴嬶紙IPC锛 锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit1-瀹㈡祦缁熻锛圛PC锛 锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit2-鐑害鍥剧粺璁★紙IPC锛 锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit3-鐗瑰緛鎶撴媿锛圛PC锛 锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit4-浜鸿劯瀵规瘮锛圛PC锛 锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit5-JSON鎶ヨ閫忎紶锛圛PC锛 锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit6-鐑害鍥炬寜浜哄憳鍋滅暀鏃堕棿缁熻鏁版嵁涓婁紶浜嬩欢锛0-涓嶇画浼狅紝1-缁紶锛
+ //bit7-鐑害鍥炬寜浜烘暟缁熻鏁版嵁涓婁紶浜嬩欢鐨勭‘璁ゆ満鍒讹紙0-涓嶇画浼狅紝1-缁紶锛
+ public byte byBrokenNetHttp;
+ public short wTaskNo; //浠诲姟澶勭悊鍙 鍜 (涓婁紶鏁版嵁NET_DVR_VEHICLE_RECOG_RESULT涓殑瀛楁dwTaskNo瀵瑰簲 鍚屾椂 涓嬪彂浠诲姟缁撴瀯 NET_DVR_VEHICLE_RECOG_COND涓殑瀛楁dwTaskNo瀵瑰簲)
+ public byte byDeployType; //甯冮槻绫诲瀷锛0-瀹㈡埛绔竷闃诧紝1-瀹炴椂甯冮槻
+ public byte bySubScription; //璁㈤槄锛屾寜浣嶈〃绀猴紝鏈紑鍚闃呬笉涓婃姤 //鍗犱綅
+ //Bit7-绉诲姩渚︽祴浜鸿溅鍒嗙被鏄惁浼犲浘锛0-涓嶄紶鍥(V30涓婃姤)锛1-浼犲浘(V40涓婃姤)
+ public byte[] byRes1 = new byte[2];
+ public byte byAlarmTypeURL;//bit0-琛ㄧず鐗瑰緛鎶撴媿鎶ヨ涓婁紶锛圛NTER_FACESNAP_RESULT锛夛紱0-琛ㄧず浜岃繘鍒朵紶杈擄紝1-琛ㄧずURL浼犺緭锛堣澶囨敮鎸佺殑鎯呭喌涓嬶紝璁惧鏀寔鑳藉姏鏍规嵁鍏蜂綋鎶ヨ鑳藉姏闆嗗垽鏂,鍚屾椂璁惧闇瑕佹敮鎸乁RL鐨勭浉鍏虫湇鍔★紝褰撳墠鏄濅簯瀛樺偍鈥滐級
+ //bit1-琛ㄧずEVENT_JSON涓浘鐗囨暟鎹暱浼犵被鍨嬶紱0-琛ㄧず浜岃繘鍒朵紶杈擄紝1-琛ㄧずURL浼犺緭锛堣澶囨敮鎸佺殑鎯呭喌涓嬶紝璁惧鏀寔鑳藉姏鏍规嵁鍏蜂綋鎶ヨ鑳藉姏闆嗗垽鏂級
+ //bit2 - 浜鸿劯姣斿(鎶ヨ绫诲瀷涓篊OMM_SNAP_MATCH_ALARM)涓浘鐗囨暟鎹笂浼犵被鍨嬶細0 - 浜岃繘鍒朵紶杈擄紝1 - URL浼犺緭
+ //bit3 - 寮傚父琛屼负妫娴(鎶ヨ绫诲瀷涓篊OMM_ALARM_RULE)涓浘鐗囨暟鎹笂浼犵被鍨嬶細0 - 浜岃繘鍒朵紶杈擄紝1 - URL浼犺緭锛屾湰瀛楁璁惧鏄惁鏀寔锛屽搴旇蒋纭欢鑳藉姏闆嗕腑鑺傜偣鏄惁杩斿洖涓斾负true
+ public byte byCustomCtrl;//Bit0- 琛ㄧず鏀寔鍓┚椹朵汉鑴稿瓙鍥句笂浼: 0-涓嶄笂浼,1-涓婁紶
+ public byte[] byRes4 = new byte[128];
+ }
+
+
+ //鍖哄煙妗嗗弬鏁
+ public static class NET_VCA_RECT extends Structure {
+ public float fX;
+ public float fY;
+ public float fWidth;
+ public float fHeight;
+ }
+
+ //鎶ヨ鐩爣淇℃伅
+ public static class NET_VCA_TARGET_INFO extends Structure {
+ public int dwID;
+ public NET_VCA_RECT struRect;
+ public byte[] byRes = new byte[4];
+ }
+
+ //鍓嶇璁惧淇℃伅
+ public static class NET_VCA_DEV_INFO extends Structure {
+ public NET_DVR_IPADDR struDevIP;
+ public short wPort;
+ public byte byChannel;
+ public byte byIvmsChannel;
+ }
+
+ //浜嬩欢瑙勫垯淇℃伅
+ public static class NET_VCA_RULE_INFO extends Structure {
+ public byte byRuleID;
+ public byte byRes;
+ public short wEventTypeEx;
+ public byte[] byRuleName = new byte[NAME_LEN];
+ public int dwEventType;
+ public NET_VCA_EVENT_UNION uEventParam;
+
+ public void read() {
+ super.read();
+ switch (wEventTypeEx) {
+ case 1:
+ uEventParam.setType(NET_VCA_TRAVERSE_PLANE.class);
+ break;
+ case 2:
+ uEventParam.setType(NET_VCA_AREA.class);
+ break;
+ case 3:
+ uEventParam.setType(NET_VCA_AREA.class);
+ break;
+ case 4:
+ uEventParam.setType(NET_VCA_INTRUSION.class);
+ break;
+ case 15:
+ uEventParam.setType(NET_VCA_LEAVE_POSITION.class);
+ break;
+ default:
+ break;
+ }
+ uEventParam.read();
+ }
+
+ public void write() {
+ super.write();
+ uEventParam.write();
+ }
+
+ }
+
+ //璀︽垝瑙勫垯鍙傛暟鑱斿悎浣
+ public static class NET_VCA_EVENT_UNION extends Union {
+ public int[] uLen = new int[23];
+ public NET_VCA_TRAVERSE_PLANE struTraversePlane; //璀︽垝鍙傛暟
+ public NET_VCA_AREA struArea; //杩涘叆/绂诲紑鍖哄煙鍙傛暟
+ public NET_VCA_INTRUSION struIntrusion; //鍖哄煙鍏ヤ镜鍙傛暟
+ public NET_VCA_LEAVE_POSITION struLeavePos; //鍙傛暟
+
+ }
+
+ //绌胯秺璀︽垝闈㈠弬鏁
+ public static class NET_VCA_TRAVERSE_PLANE extends Structure {
+ public NET_VCA_LINE struPlaneBottom;
+ public int dwCrossDirection;
+ public byte bySensitivity;
+ public byte byPlaneHeight;
+ public byte byDetectionTarget;/*妫娴嬬洰鏍囷細0- 鎵鏈夌洰鏍囷紝1- 浜猴紝2- 杞 */
+ public byte[] byRes2 = new byte[37];
+ }
+
+
+ //鏍规嵁鎶ヨ寤惰繜鏃堕棿鏉ユ爣璇嗘姤璀︿腑甯﹀浘鐗囷紝鎶ヨ闂撮殧鍜孖O鎶ヨ涓鑷达紝1绉掑彂閫佷竴涓
+//鍏ヤ镜鍙傛暟
+ public static class NET_VCA_INTRUSION extends Structure
+ {
+ public NET_VCA_POLYGON struRegion;//鍖哄煙鑼冨洿
+ public short wDuration; //琛屼负浜嬩欢瑙﹀彂鏃堕棿闃堝: 1-120绉掞紝寤鸿5绉掞紝鍒ゆ柇鏄湁鏁堟姤璀︾殑鏃堕棿 鍦ˋTM绯荤粺涓Е鍙戞枃浠堕槇鍊间负 1-1000绉
+ public byte bySensitivity; //鐏垫晱搴﹀弬鏁帮紝鑼冨洿[1-100]
+ public byte byRate; //鍗犳瘮锛氬尯鍩熷唴鎵鏈夋湭鎶ヨ鐩爣灏哄鐩爣鍗犲尯鍩熼潰绉殑姣旈噸锛屽綊涓鍖栦负锛嶏紱
+ /*
+ 妫娴嬬洰鏍囷紝鍙敮鎸佸閫夛紝鍏蜂綋瀹氫箟涓猴細
+ 0~鎵鏈夌洰鏍囷紙琛ㄧず涓嶉攣瀹氭娴嬬洰鏍囷紝鎵鏈夌洰鏍囬兘灏嗚繘琛屾娴嬶級
+ 0x01 ~ 浜猴紝
+ 0x02 ~ 杞︼紝
+ 0x04 ~ 鍏朵粬锛
+ 璇ュ瓧娈垫敮鎸佸閫夛紝鎸変綅鍙栧硷紝渚嬪3琛ㄧず1+2.
+ */
+ public byte byDetectionTarget;
+ public byte byPriority;//浼樺厛绾,0~浣,1~涓,2~楂
+ public byte byAlarmConfidence; //鎶ヨ缃俊搴, 0-浣,1-杈冧綆,2-杈冮珮,3-楂
+ public byte byRecordConfidence; //褰曞儚缃俊搴, 0-浣,1-杈冧綆,2-杈冮珮,3-楂
+ }
+
+ public static class NET_VCA_LEAVE_POSITION extends Structure {
+ public NET_VCA_POLYGON struRegion; //鍖哄煙鑼冨洿
+ public short wLeaveDelay; //鏃犱汉鎶ヨ鏃堕棿锛屽崟浣嶏細s
+ public short wStaticDelay; //鐫¤鎶ヨ鏃堕棿锛屽崟浣嶏細s
+ public byte byMode; //妯″紡锛0-浜嬩欢锛岋紝3-鍦ㄥ矖锛堝綋浜哄憳鍥炲埌宀椾綅锛
+ public byte byPersonType; //鍊煎矖浜烘暟绫诲瀷锛0-鍗曚汉鍊煎矖锛1-鍙屼汉鍊煎矖
+ public byte byOnPosition; //鍦ㄥ矖浜烘暟锛1-10锛岄粯璁1
+ public byte bySensitivity; //鐏垫晱搴﹀弬鏁帮紝鑼冨洿[1,5]
+ }
+
+ public static class NET_DVR_HANDLEEXCEPTION_V40 extends Structure {
+ public int dwHandleType;/*澶勭悊鏂瑰紡锛屽悇绉嶅紓甯稿鐞嗘柟寮忕殑"鎴"缁撴灉锛屽紓甯稿鐞嗘柟寮忥細
+ 0x00: 鏃犲搷搴 0x01: 甯冮槻鍣ㄤ笂璀﹀憡 0x02: 澹伴煶璀﹀憡 0x04: 涓婁紶涓績
+ 0x08: 瑙﹀彂鎶ヨ杈撳嚭 0x10: Jpeg鎶撳浘骞朵笂浼燛Mail
+ 0x20: 鏃犵嚎澹板厜鎶ヨ鍣ㄨ仈鍔 0x40: 鑱斿姩鐢靛瓙鍦板浘(鐩墠浠匬CNVR鏀寔)
+ 0x200锛氭姄鍥惧苟涓婁紶ftp 0x400: 铏氱劍渚︽祴鑱斿姩鑱氱劍
+ 0x800: PTZ鑱斿姩(鐞冩満鐩爣)
+ E.g. dwHandleType==0x01|0x04 琛ㄧず閰嶇疆鎶ヨ鍙戠敓鏃惰仈鍔ㄥ竷闃插櫒涓婅鍛婂苟涓斿皢鎶ヨ淇℃伅涓婁紶涓績銆 */
+ public int dwMaxRelAlarmOutChanNum;/*璁惧鏈澶ф敮鎸佺殑瑙﹀彂鎶ヨ杈撳嚭閫氶亾鏁帮紙鍙锛 */
+ public int dwRelAlarmOutChanNum;/*宸查厤缃殑瑙﹀彂鐨勬姤璀﹁緭鍑洪氶亾涓暟锛屽喅瀹歞wRelAlarmOut鍙栧墠澶氬皯涓暟缁勪笅鏍 */
+ public int[] dwRelAlarmOut = new int[MAX_CHANNUM_V30];/*瑙﹀彂鎶ヨ杈撳嚭閫氶亾锛屽彇鏁扮粍鍓峝wRelAlarmOutChanNum涓硷紝
+ 鍏跺艰〃绀烘姤璀﹁緭鍑洪氶亾鍙(浠1寮濮)锛屽垵濮嬪兼槸0xfffffffff(涓嶅叧鑱旈氶亾)銆
+ 渚嬪锛宒wRelAlarmOutChanNum=5锛屽垯鍙互閰嶇疆瑙﹀彂鎶ヨ杈撳嚭閫氶亾dwRelAlarmOut[0]~dwRelAlarmOut[4]銆 */
+ public byte[] byRes = new byte[64]; /*淇濈暀锛岀疆涓0 */
+ }
+
+ public static final int MAX_ALERTLINE_NUM = 8;
+
+ public static class NET_VCA_TRAVERSE_PLANE_DETECTION extends Structure {
+ public int dwSize;
+ public byte byEnable;//浣胯兘
+ public byte byEnableDualVca;// 鍚敤鏀寔鏅鸿兘鍚庢绱 0-涓嶅惎鐢紝1-鍚敤
+ public byte[] byRes1 = new byte[2];
+ public NET_VCA_TRAVERSE_PLANE[] struAlertParam = new NET_VCA_TRAVERSE_PLANE[MAX_ALERTLINE_NUM]; //璀︽垝绾垮弬鏁
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmSched = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];
+ public NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //寮傚父澶勭悊鏂瑰紡
+ public int dwMaxRelRecordChanNum; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾 鏁帮紙鍙锛夋渶澶ф敮鎸佹暟閲
+ public int dwRelRecordChanNum; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾 鏁 瀹為檯鏀寔鐨勬暟閲
+ public int[] byRelRecordChan = new int[MAX_CHANNUM_V30];//瑙﹀彂褰曞儚鐨勯氶亾鍙
+ public NET_DVR_SCHEDTIME[] struHolidayTime = new NET_DVR_SCHEDTIME[MAX_TIMESEGMENT_V30]; //鍋囨棩甯冮槻鏃堕棿
+ public byte[] byRes2 = new byte[100];
+ }
+
+
+
+
+ //蹇熺Щ鍔ㄥ弬鏁
+ public static class NET_VCA_RUN extends Structure {
+ public NET_VCA_POLYGON struRegion;//鍖哄煙鑼冨洿
+ public float fRunDistance; //浜哄揩閫熺Щ鍔ㄦ渶澶ц窛绂, 鑼冨洿: [0.1, 1.00] 鍍忕礌妯″紡 瀹為檯妯″紡(1,20)m/s
+ public byte bySensitivity; //鐏垫晱搴﹀弬鏁帮紝鑼冨洿[1,5]
+ public byte byMode; // 0 鍍忕礌妯″紡 1 瀹為檯妯″紡
+ /*
+ 妫娴嬬洰鏍囷紝鍙敮鎸佸閫夛紝鍏蜂綋瀹氫箟涓猴細
+ 0~鎵鏈夌洰鏍囷紙琛ㄧず涓嶉攣瀹氭娴嬬洰鏍囷紝鎵鏈夌洰鏍囬兘灏嗚繘琛屾娴嬶級
+ 0x01 ~ 浜猴紝
+ 0x02 ~ 杞︼紝锛
+ 0x04 ~ 鍏朵粬锛
+ 璇ュ瓧娈垫敮鎸佸閫夛紝鎸変綅鍙栧硷紝渚嬪3琛ㄧず1+2.
+ */
+ public byte byDetectionTarget;
+ public byte byRes;
+ }
+
+
+ //濂旇窇妫娴
+ public static class NET_VCA_RUNNING extends Structure {
+ public NET_VCA_POLYGON struRegion; //鍖哄煙鑼冨洿
+ public int dwSpeed; //濂旇窇閫熷害锛岃寖鍥碵1,10]
+ public short wDuration; // 瑙﹀彂鎶ヨ鏃堕棿闃堝
+ public byte byRunMode; //濂旇窇妯″紡锛0-淇濈暀,1锛氬崟浜哄璺,2:澶氫汉濂旇窇
+ public byte byRes;
+ }
+
+ //鍊掑湴鍙傛暟
+ public static class NET_VCA_FALL_DOWN extends Structure {
+ public NET_VCA_POLYGON struRegion;//鍖哄煙鑼冨洿
+ public short wDuration; /* 瑙﹀彂浜嬩欢闃堝 1-60s*/
+ public short bySensitivity; /* 鐏垫晱搴﹀弬鏁帮紝鑼冨洿[1,5] */
+ public short byHeightThreshold; //楂樺害闃堝硷紝鑼冨洿[0,250]锛岄粯璁90锛屽崟浣嶏細鍘樼背
+ public byte[] byRes = new byte[4];
+ }
+
+ public static final int MAX_INTRUSIONREGION_NUM = 8; //鏈澶у尯鍩熸暟鏁
+
+ public static class NET_VCA_FIELDDETECION extends Structure {
+ public int dwSize;
+ public byte byEnable; //浣胯兘锛屾槸鍚﹀紑鍚
+ public byte byEnableDualVca;// 鍚敤鏀寔鏅鸿兘鍚庢绱 0-涓嶅惎鐢紝1-鍚敤
+ public byte byEnableHumanMisinfoFilter;// 鍚敤浜轰綋鍘昏鎶 0-涓嶅惎鐢紝1-鍚敤
+ public byte byEnableVehicleMisinfoFilter;// 鍚敤杞﹁締鍘昏鎶 0-涓嶅惎鐢紝1-鍚敤
+ public NET_VCA_INTRUSION[] struIntrusion = new NET_VCA_INTRUSION[MAX_INTRUSIONREGION_NUM];//姣忎釜鍖哄煙鐨勫弬鏁拌缃
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmSched = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS]; //甯冮槻鏃堕棿
+ public NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //寮傚父澶勭悊鏂瑰紡
+ public int dwMaxRelRecordChanNum; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾 鏁帮紙鍙锛夋渶澶ф敮鎸佹暟閲
+ public int dwRelRecordChanNum; //鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾 鏁 瀹為檯鏀寔鐨勬暟閲
+ public int[] byRelRecordChan = new int[MAX_CHANNUM_V30];//瑙﹀彂褰曞儚閫氶亾
+ public NET_DVR_SCHEDTIME[] struHolidayTime = new NET_DVR_SCHEDTIME[MAX_TIMESEGMENT_V30]; //鍋囨棩甯冮槻鏃堕棿
+ public byte[] byRes2 = new byte[100];
+ }
+
+ public static class NET_DVR_CHANNEL_GROUP extends Structure {
+ public int dwSize;
+ public int dwChannel;
+ public int dwGroup;
+ public byte byID;
+ public byte[] byRes1 = new byte[3];
+ public int dwPositionNo;
+ public byte[] byRes = new byte[56];
+ }
+
+ //绾跨粨鏋勫弬鏁
+ public static class NET_VCA_LINE extends Structure {
+ public NET_VCA_POINT struStart;
+ public NET_VCA_POINT struEnd;
+ }
+
+ //鐐瑰潗鏍囧弬鏁
+ public static class NET_VCA_POINT extends Structure {
+ public float fX;
+ public float fY;
+
+
+ }
+
+ //杩涘叆/绂诲紑鍖哄煙鍙傛暟
+ public static class NET_VCA_AREA extends Structure {
+ public NET_VCA_POLYGON struRegion;
+ public byte bySensitivity; //鐏垫晱搴﹀弬鏁帮紝鑼冨洿[1,5]
+ /*
+ 妫娴嬬洰鏍囷紝鍙敮鎸佸閫夛紝鍏蜂綋瀹氫箟涓猴細
+ 0~鎵鏈夌洰鏍囷紙琛ㄧず涓嶉攣瀹氭娴嬬洰鏍囷紝鎵鏈夌洰鏍囬兘灏嗚繘琛屾娴嬶級
+ 0x01 ~ 浜猴紝
+ 0x02 ~ 杞︼紝
+ 0x04 ~ 鍏朵粬锛
+ 璇ュ瓧娈垫敮鎸佸閫夛紝鎸変綅鍙栧硷紝渚嬪3琛ㄧず1+2.
+ */
+ public byte byDetectionTarget;
+ public byte byPriority;//浼樺厛绾,0~浣,1~涓,2~楂
+ public byte[] byRes = new byte[5];
+ }
+
+ //澶氳竟褰㈢粨鏋勪綋
+ public static class NET_VCA_POLYGON extends Structure {
+ public int dwPointNum;
+ public NET_VCA_POINT[] struPos = new NET_VCA_POINT[VCA_MAX_POLYGON_POINT_NUM];
+ }
+
+ public static class NET_VCA_SIZE_FILTER extends Structure {
+ public byte byActive; //鏄惁婵娲诲昂瀵歌繃婊ゅ櫒 0-鍚 闈0-鏄
+ public byte byMode; //杩囨护鍣ㄦā寮廠IZE_FILTER_MODE
+ public byte[] byRes = new byte[2]; //淇濈暀锛岀疆0
+ public NET_VCA_RECT struMiniRect; //鏈灏忕洰鏍囨,鍏0琛ㄧず涓嶈缃
+ public NET_VCA_RECT struMaxRect; //鏈澶х洰鏍囨,鍏0琛ㄧず涓嶈缃
+ }
+
+
+ //灏哄杩囨护绛栫暐
+ public static class NET_VCA_FILTER_STRATEGY extends Structure {
+ public byte byStrategy; //灏哄杩囨护绛栫暐 0 - 涓嶅惎鐢 1-楂樺害鍜屽搴﹁繃婊,2-闈㈢Н杩囨护
+ public byte[] byRes = new byte[11]; //淇濈暀
+ }
+
+ //寮傚父琛屼负妫娴嬫姤璀
+ public static class NET_VCA_RULE_ALARM extends Structure {
+ public int dwSize;
+ public int dwRelativeTime;
+ public int dwAbsTime;
+ public NET_VCA_RULE_INFO struRuleInfo;
+ public NET_VCA_TARGET_INFO struTargetInfo;
+ public NET_VCA_DEV_INFO struDevInfo;
+ public int dwPicDataLen;
+ public byte byPicType;
+ public byte byRelAlarmPicNum; //鍏宠仈閫氶亾鎶ヨ鍥剧墖鏁伴噺
+ public byte bySmart;//IDS璁惧杩斿洖0(榛樿鍊)锛孲mart Functiom Return 1
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public int dwAlarmID; //鎶ヨID锛岀敤浠ユ爣璇嗛氶亾闂村叧鑱斾骇鐢熺殑缁勫悎鎶ヨ锛0琛ㄧず鏃犳晥
+ public short wDevInfoIvmsChannelEx; //涓嶯ET_VCA_DEV_INFO閲岀殑byIvmsChannel鍚箟鐩稿悓锛岃兘琛ㄧず鏇村ぇ鐨勫笺傝佸鎴风鐢╞yIvmsChannel鑳界户缁吋瀹癸紝浣嗘槸鏈澶у埌255銆傛柊瀹㈡埛绔増鏈浣跨敤wDevInfoIvmsChannelEx銆
+ public byte byRelativeTimeFlag; //dwRelativeTime瀛楁鏄惁鏈夋晥 0-鏃犳晥锛 1-鏈夋晥锛宒wRelativeTime琛ㄧずUTC鏃堕棿
+ public byte byAppendInfoUploadEnabled; //闄勫姞淇℃伅涓婁紶浣胯兘 0-涓嶄笂浼 1-涓婁紶
+ public Pointer pAppendInfo; //鎸囧悜闄勫姞淇℃伅NET_VCA_APPEND_INFO鐨勬寚閽堬紝byAppendInfoUploadEnabled涓1鏃舵垨鑰卋yTimeDiffFlag涓1鏃舵湁鏁
+ public Pointer pImage;
+ }
+
+ public static class NET_DVR_SYSTEM_TIME extends Structure {
+ public short wYear; //骞
+ public short wMonth; //鏈
+ public short wDay; //鏃
+ public short wHour; //鏃
+ public short wMinute; //鍒
+ public short wSecond; //绉
+ public short wMilliSec; //姣
+ public byte[] byRes = new byte[2];
+ }
+
+ //璁惧鏀寔AI寮鏀惧钩鍙版帴鍏ワ紝涓婁紶瑙嗛妫娴嬫暟鎹
+ public static class NET_AIOP_VIDEO_HEAD extends Structure {
+ public int dwSize; //dwSize = sizeof(NET_AIOP_VIDEO_HEAD)
+ public int dwChannel; //璁惧鍒嗘瀽閫氶亾鐨勯氶亾鍙凤紱
+ public NET_DVR_SYSTEM_TIME struTime = new NET_DVR_SYSTEM_TIME(); //鏃堕棿
+ public byte[] szTaskID = new byte[64]; //瑙嗛浠诲姟ID锛屾潵鑷簬瑙嗛浠诲姟娲惧彂
+ public int dwAIOPDataSize; //瀵瑰簲AIOPDdata鏁版嵁闀垮害
+ public int dwPictureSize; //瀵瑰簲鍒嗘瀽鍥剧墖闀垮害
+ public byte[] szMPID = new byte[64]; //妫娴嬫ā鍨嬪寘ID锛岀敤浜庡尮閰岮IOP鐨勬娴嬫暟鎹В鏋愶紱鍙互閫氳繃URI(GET /ISAPI/Intelligent/AIOpenPlatform/algorithmModel/management?format=json)鑾峰彇褰撳墠璁惧鍔犺浇鐨勬ā鍨嬪寘鐨刲abel description淇℃伅锛
+ public Pointer pBufferAIOPData; //AIOPDdata鏁版嵁
+ public Pointer pBufferPicture;//瀵瑰簲鍒嗘瀽鍥剧墖鏁版嵁
+ public byte byPictureMode;//鍥剧墖鏁版嵁浼犺緭妯″紡 0-浜岃繘鍒讹紝1-姝︽眽浜戜簯瀛樺偍锛屽綋byPictureMode涓0鏃秔BufferPicture涓轰簩杩涘埗鏁版嵁锛屽綋byPictureMode涓1鏃秔BufferPicture涓烘姹変簯URL
+ public byte[] byRes2 = new byte[3];//淇濈暀瀛楄妭
+ public int dwPresetIndex; //棰勭疆鐐瑰簭鍙
+ public byte[] byRes = new byte[176];
+ }
+
+ //璁惧鏀寔AI寮鏀惧钩鍙版帴鍏ワ紝涓婁紶鍥剧墖妫娴嬫暟鎹
+ public static class NET_AIOP_PICTURE_HEAD extends Structure {
+ public int dwSize; //dwSize = sizeof(NET_AIOP_PICTURE_HEAD)
+ public NET_DVR_SYSTEM_TIME struTime = new NET_DVR_SYSTEM_TIME(); //鏃堕棿
+ public byte[] szPID = new byte[64]; //閫忎紶涓嬪彂鐨勫浘鐗嘔D锛屾潵鑷簬鍥剧墖浠诲姟娲惧彂
+ public int dwAIOPDataSize; //瀵瑰簲AIOPDdata鏁版嵁闀垮害
+ public byte byStatus; //鐘舵佸硷細0-鎴愬姛锛1-鍥剧墖澶у皬閿欒
+ public byte[] byRes1 = new byte[3];
+ public byte[] szMPID = new byte[64]; //妫娴嬫ā鍨嬪寘ID锛岀敤浜庡尮閰岮IOP鐨勬娴嬫暟鎹В鏋愶紱
+ public Pointer pBufferAIOPData;//AIOPDdata鏁版嵁
+ public int dwPresetIndex; //棰勭疆鐐瑰簭鍙
+ public byte[] byRes = new byte[180];
+ }
+
+
+ public static class NET_DVR_AI_PICTUR_UPLOAD extends Structure {
+ public int dwSize;
+ public byte[] szTaskID = new byte[64]; //浠诲姟id锛宻trlen.max = 64,涓氬姟骞冲彴缁熶竴缁存姢绠$悊
+ public byte[] szPID = new byte[64]; //鍥剧墖id锛宻trlen.max = 64锛屼笟鍔″钩鍙扮粺涓缁存姢绠$悊
+ public byte[] byRes = new byte[128];
+ }
+
+ // AI寮鏀惧钩鍙版帴鍏ヨ疆璇㈣棰戞娴嬫姤璀︾粨鏋勪綋銆
+ public static class NET_AIOP_POLLING_SNAP_HEAD extends Structure {
+ public int dwSize; //dwSize = sizeof(NET_AIOP_POLLING_SNAP_HEAD)
+ public int dwChannel; //璁惧鍒嗘瀽閫氶亾鐨勯氶亾鍙(璧癝DK鍗忚)锛
+ public NET_DVR_SYSTEM_TIME struTime = new NET_DVR_SYSTEM_TIME(); //鏃堕棿
+ public byte[] szTaskID = new byte[64]; //杞鎶撳浘浠诲姟ID锛屾潵鑷簬杞鎶撳浘浠诲姟娲惧彂
+ public int dwAIOPDataSize; //瀵瑰簲AIOPDdata鏁版嵁闀垮害
+ public int dwPictureSize; //瀵瑰簲鍒嗘瀽鍥剧墖闀垮害
+ public byte[] szMPID = new byte[64]; //妫娴嬫ā鍨嬪寘ID锛岀敤浜庡尮閰岮IOP鐨勬娴嬫暟鎹В鏋愶紱
+ public Pointer pBufferAIOPData;//AIOPDdata鏁版嵁
+ public Pointer pBufferPicture;//鍒嗘瀽鍥剧墖鏁版嵁
+ public byte byPictureMode;//鍥剧墖鏁版嵁浼犺緭妯″紡 0-浜岃繘鍒讹紝1-姝︽眽浜戜簯瀛樺偍锛屽綋byPictureMode涓0鏃秔BufferPicture涓轰簩杩涘埗鏁版嵁锛屽綋byPictureMode涓1鏃秔BufferPicture涓烘姹変簯URL
+ public byte[] byRes2 = new byte[3];//淇濈暀瀛楄妭
+ public int dwPresetIndex; //棰勭疆鐐瑰簭鍙
+ public byte[] byRes = new byte[176];
+ }
+
+ // AI寮鏀惧钩鍙版帴鍏ヨ疆璇㈣棰戞娴嬫姤璀︾粨鏋勪綋銆
+ public static class NET_AIOP_POLLING_VIDEO_HEAD extends Structure {
+ public int dwSize; //dwSize = sizeof(NET_AIOP_POLLING_VIDEO_HEAD)
+ public int dwChannel; //璁惧鍒嗘瀽閫氶亾鐨勯氶亾鍙(璧癝DK鍗忚)锛
+ public NET_DVR_SYSTEM_TIME struTime; //鏃堕棿
+ public byte[] szTaskID = new byte[64]; //杞鎶撳浘浠诲姟ID锛屾潵鑷簬杞鎶撳浘浠诲姟娲惧彂
+ public int dwAIOPDataSize; //瀵瑰簲AIOPDdata鏁版嵁闀垮害
+ public int dwPictureSize; //瀵瑰簲鍒嗘瀽鍥剧墖闀垮害
+ public byte[] szMPID = new byte[64]; //妫娴嬫ā鍨嬪寘ID锛岀敤浜庡尮閰岮IOP鐨勬娴嬫暟鎹В鏋愶紱
+ public Pointer pBufferAIOPData;//AIOPDdata鏁版嵁
+ public Pointer pBufferPicture;//瀵瑰簲鍒嗘瀽鍥剧墖鏁版嵁
+ public byte byPictureMode;//鍥剧墖鏁版嵁浼犺緭妯″紡 0-浜岃繘鍒讹紝1-姝︽眽浜戜簯瀛樺偍锛屽綋byPictureMode涓0鏃秔BufferPicture涓轰簩杩涘埗鏁版嵁锛屽綋byPictureMode涓1鏃秔BufferPicture涓烘姹変簯URL
+ public byte[] byRes2 = new byte[3];//淇濈暀瀛楄妭
+ public int dwPresetIndex; //棰勭疆鐐瑰簭鍙
+ public byte[] byRes = new byte[176];
+ }
+
+ //瑙勫垯瑙﹀彂鍙傛暟
+ public static class NET_VCA_RULE_TRIGGER_PARAM extends Structure {
+ public byte byTriggerMode; //瑙勫垯鐨勮Е鍙戞柟寮忥紝0- 涓嶅惎鐢紝1- 鐐 2- 鐩爣闈㈢Н
+ public byte byTriggerPoint; //瑙﹀彂鐐癸紝瑙﹀彂鏂瑰紡涓虹偣鏃舵湁鏁 0- 涓,1-涓,2-涓
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public float fTriggerArea; //瑙﹀彂鐩爣闈㈢Н鐧惧垎姣 [0,100]锛岃Е鍙戞柟寮忎负鐩爣闈㈢Н鏃舵湁鏁
+ public byte[] byRes2 = new byte[4]; //淇濈暀
+ }
+
+ public static class NET_VCA_ONE_RULE_V42 extends Structure {
+ public byte byActive; //鏄惁婵娲昏鍒, 0-鍚︼紝闈0-鏄
+ public byte byEventPriority;//浜嬩欢浼樺厛绾 0-浣庯紝1-涓紝2-楂
+ public byte[] byRes1 = new byte[4]; //淇濈暀锛岃缃负0瀛楁
+ public short wEventType; //琛屼负浜嬩欢绫诲瀷锛屽弬鑰僔CA_RULE_EVENT_TYPE_EX
+ public byte[] byRuleName = new byte[NAME_LEN/*32*/]; //瑙勫垯鍚嶇О
+ public NET_VCA_EVENT_UNION uEventParam; //寮傚父琛屼负妫娴嬩簨浠跺弬鏁
+ public NET_VCA_SIZE_FILTER struSizeFilter; //灏哄杩囨护鍣
+ public NET_DVR_SCHEDTIMEWEEK[] struAlarmTime = new NET_DVR_SCHEDTIMEWEEK[MAX_DAYS];//甯冮槻鏃堕棿
+ public NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*澶勭悊鏂瑰紡*/
+ //寮傚父澶勭悊鏂瑰紡涓姤璀﹁緭鍑哄彿涓庣粍鍙风粦瀹氾紝鍗崇粍鍙蜂负0鏃讹紝琛ㄧず鍏宠仈鐨勬姤璀﹁緭鍑哄彿鑼冨洿涓1-64锛屽綋缁勫彿涓1鏃讹紝琛ㄧず鍏宠仈鐨勬姤璀﹁緭鍑哄彿鑼冨洿涓65-128锛 涓旀槸缁勫唴绱у噾鎺掑垪锛屽鏋滈亣鍒0xffffffff琛ㄧず鏈粍 褰撳墠鐨勫強缁勫唴鍚庣画鐨勬姤璀﹀嚭鍙锋棤鏁
+ public int[] dwRelRecordChan = new int[MAX_CHANNUM_V30]; /* 鎶ヨ瑙﹀彂鐨勫綍璞¢氶亾锛堝洓瀛楄妭鐨勯氶亾鍙凤紝鍒濆鍊兼槸 0xffffffff锛*/
+ //鍏宠仈鐨勫綍鍍忛氶亾鍙蜂笌缁勫彿缁戝畾锛屽嵆缁勫彿涓0鏃讹紝琛ㄧず鍏宠仈鐨勯氶亾鍙疯寖鍥翠负1-64锛屽綋缁勫彿涓1鏃讹紝琛ㄧず鍏宠仈鐨勯氶亾鍙疯寖鍥翠负65-128锛 涓旀槸缁勫唴绱у噾鎺掑垪锛屽鏋滈亣鍒0xffffffff琛ㄧず鏈粍 褰撳墠鐨勫強缁勫唴鍚庣画鐨勫叧鑱旈氶亾鍙锋棤鏁
+ public short wAlarmDelay; //鏅鸿兘鎶ヨ寤舵椂锛0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s
+ public byte[] byRes2 = new byte[2]; //淇濈暀
+ public NET_VCA_FILTER_STRATEGY struFilterStrategy; //灏哄杩囨护绛栫暐
+ public NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //瑙勫垯瑙﹀彂鍙傛暟
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_PTZ_POSITION extends Structure {
+ // 鏄惁鍚敤鍦烘櫙锛屽湪璁剧疆鍦烘櫙琛屼负瑙勫垯鐨勬椂鍊欒瀛楁鏃犳晥锛屽湪璁剧疆鐞冩満鏈湴閰嶇疆鍦烘櫙浣嶇疆淇℃伅鏃朵綔涓轰娇鑳戒綅
+ public byte byEnable;
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public byte[] byPtzPositionName = new byte[NAME_LEN]; //鍦烘櫙浣嶇疆鍚嶇О
+ public NET_DVR_PTZPOS struPtzPos; //ptz 鍧愭爣
+ public byte[] byRes2 = new byte[40];
+ }
+
+ //寮傚父琛屼负妫娴嬮厤缃粨鏋勪綋
+ public static class NET_VCA_RULECFG_V42 extends Structure {
+ public int dwSize; //缁撴瀯鍥惧ぇ灏
+ public byte byPicProType; //鎶ヨ鏃跺浘鐗囧鐞嗘柟寮 0-涓嶅鐞 1-涓婁紶
+ public byte byUpLastAlarm; //鏄惁鍏堜笂浼犳渶杩戜竴娆$殑鎶ヨ锛0-鍚︼紝1-鏄
+ public byte byPicRecordEnable; //鏄惁鍚敤鍥剧墖瀛樺偍, 0-涓嶅惎鐢, 1-鍚敤
+ public byte byRes1;
+ public NET_DVR_JPEGPARA struPicParam; //鍥剧墖瑙勬牸缁撴瀯
+ public NET_VCA_ONE_RULE_V42[] struRule = new NET_VCA_ONE_RULE_V42[16]; /* 瑙勫垯鏁扮粍*/
+ public short[] wRelSnapChan = new short[3]; //鍏宠仈鎶撳浘閫氶亾锛屽綋涓婚氶亾鎶ヨ鏃讹紝鍚屾椂浼氫笂浼犲叧鑱旈氶亾鐨勬姄鎷嶅浘鐗囷紝0琛ㄧず涓嶅叧鑱旓紝鍏朵粬鍊间负鍏宠仈閫氶亾鍙
+ public byte byTrackEnable; //鏄惁鍚敤
+ public byte byRes2;
+ public NET_DVR_PTZ_POSITION struPTZPosition; //鍦烘櫙浣嶇疆淇℃伅
+ public short wTrackDuration; //鎸佺画鏃堕棿锛屽崟浣峴
+ public short wIntervalTime; //鍗曟鎶ヨ闂撮殧鏃堕棿锛堢锛塠1-7200]锛埪堥粯璁や负600锛
+ public short wHeightLimit;//鐩爣妫娴嬮珮搴︿笅闄愶紙鍘樼背锛塠0-250]锛堥粯璁や负80cm锛夛紝灏忎簬姝ら珮搴︾殑鐩爣灏嗕笉浣滀负鐩爣杩涜妫娴
+ public byte[] byRes = new byte[58];//淇濈暀
+ }
+
+ public static final int CID_CODE_LEN = 4;
+ public static final int DEV_SERIAL_LEN = 9;
+ public static final int ACCOUNTNUM_LEN = 6;
+ public static final int ACCOUNTNUM_LEN_32 = 32;
+
+ public static class NET_DVR_CID_ALARM extends Structure {
+ public int dwSize;
+ public byte[] sCIDCode = new byte[CID_CODE_LEN/*4*/]; //CID浜嬩欢鍙
+ public byte[] sCIDDescribe = new byte[NAME_LEN/*32*/]; //CID浜嬩欢鍚
+ public NET_DVR_TIME_EX struTriggerTime = new NET_DVR_TIME_EX(); //瑙﹀彂鎶ヨ鐨勬椂闂寸偣
+ public NET_DVR_TIME_EX struUploadTime = new NET_DVR_TIME_EX(); //涓婁紶鎶ヨ鐨勬椂闂寸偣
+ public byte[] sCenterAccount = new byte[ACCOUNTNUM_LEN/*6*/]; //涓績甯愬彿
+ public byte byReportType; //瑙佸畾涔塏ET_DVR_ALARMHOST_REPORT_TYPE
+ public byte byUserType; //鐢ㄦ埛绫诲瀷锛0-缃戠粶鐢ㄦ埛 1-閿洏鐢ㄦ埛,2-鎵嬫満鐢ㄦ埛,3-绯荤粺鐢ㄦ埛
+ public byte[] sUserName = new byte[NAME_LEN/*32*/]; //缃戠粶鐢ㄦ埛鐢ㄦ埛鍚
+ public short wKeyUserNo; //閿洏鐢ㄦ埛鍙 0xFFFF琛ㄧず鏃犳晥
+ public byte byKeypadNo; //閿洏鍙 0xFF琛ㄧず鏃犳晥
+ public byte bySubSysNo; //瀛愮郴缁熷彿 0xFF琛ㄧず鏃犳晥
+ public short wDefenceNo; //闃插尯鍙 0xFFFF琛ㄧず鏃犳晥
+ public byte byVideoChanNo; //瑙嗛閫氶亾鍙 0xFF琛ㄧず鏃犳晥
+ public byte byDiskNo; //纭洏鍙 0xFF琛ㄧず鏃犳晥
+ public short wModuleAddr; //妯″潡鍦板潃 0xFFFF琛ㄧず鏃犳晥
+ public byte byCenterType; //0-鏃犳晥, 1-涓績璐﹀彿(闀垮害6),2-鎵╁睍鐨勪腑蹇冭处鍙(闀垮害9)
+ public byte byRes1;
+ public byte[] sCenterAccountV40 = new byte[ACCOUNTNUM_LEN_32/*32*/]; //涓績璐﹀彿V40,浣跨敤姝ゅ瓧娈垫椂sCenterAccount鏃犳晥
+ public byte[] byDevSerialNo = new byte[DEV_SERIAL_LEN]; /*浜у搧搴忓垪鍙*/
+ public byte byRepeaterNo; //涓户鍣ㄥ彿锛屼负0鏃犳晥
+ public short wRemoteCtrllerUserNo; //閬ユ帶鍣ㄧ敤鎴峰彿锛屼负0鏃犳晥
+ public int dwIOTChannelNo; //IOT閫氶亾鍙
+ public byte[] byRes2 = new byte[12];
+ }
+
+ public static class NET_DVR_SENSOR_ALARM extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public int dwAbsTime; // 缁濆鏃舵爣淇℃伅 OSD鏄剧ず淇℃伅
+ public byte[] byName = new byte[NAME_LEN]; // sensor 鍚嶇О
+ public byte bySensorChannel; // 妯℃嫙閲忛氶亾
+ public byte byType; // 妯℃嫙閲忕被鍨
+ public byte byAlarmType; // 1-涓4銆2-涓3銆3-涓2銆4-涓1銆5-涓1銆6-涓2銆7-涓3銆8-涓4 鍜屽綋鍓嶆ā寮忔湁鍏
+ // 渚嬪褰撲负1000鏃,鏈変笂1涓1锛2锛3鎶ヨ鍥涚鎶ヨ
+ public byte byAlarmMode; //鎶ヨ妯″紡锛屼簲绉嶏紝-HHHH銆-HHHL銆-HHLL銆丠LLL銆-LLLL锛 浣滀负骞冲彴鎶ヨ绋嬪害鍒ゆ柇鍔熻兘,鍗筹細1111锛堜笂涓婁笂涓婏級锛1110锛堜笂涓婁笂涓嬶級锛1100锛堜笂涓婁笅涓嬶級锛1000(涓婁笅涓嬩笅)锛0000(涓嬩笅涓嬩笅)
+ public float fValue; // 浣嗗墠妯℃嫙閲忕殑鍊
+ public float fOriginalValue; //鍘熷鐢垫祦鐢靛帇鍊硷紝淇濈暀灏忔暟鐐瑰悗涓変綅锛屽叿浣撳艰〃绀虹數娴佽繕鏄數鍘嬫牴鎹甆ET_DVR_SENSOR_INFO鐨刡ySensorStandard绫诲瀷
+ public byte[] byRes2 = new byte[28]; // 淇濈暀瀛楄妭
+ }
+
+ //寮鍏抽噺鎶ヨ涓婁紶
+ public static class NET_DVR_SWITCH_ALARM extends Structure {
+ public int dwSize;
+ public byte[] byName = new byte[NAME_LEN]; // switch 鍚嶇О
+ public short wSwitchChannel; // 寮鍏抽噺閫氶亾, 0-255
+ public byte byAlarmType; // 鎶ヨ绫诲瀷 0--姝e父锛1--鐭矾锛2--鏂矾,3-寮傚父
+ public byte[] byRes = new byte[41]; // 淇濈暀瀛楄妭
+ }
+
+ public static class NET_DVR_ALARMHOST_EXCEPTION_ALARM extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ // 寮傚父鍙傛暟 1-璁惧闃叉媶鎶ヨ 2-璁惧闃叉媶鍚庡悗鎭㈠姝e父 3-涓荤數婧愭帀鐢垫姤璀 4-涓荤數婧愭帀鐢靛悗鎭㈠姝e父 5-鍐呴儴閫氫俊鏁呴殰鎶ヨ
+ // 6-鍐呴儴閫氫俊鏁呴殰鍚庢仮澶嶆甯 7-鐢佃瘽绾挎柇绾 8-鐢佃瘽绾挎柇绾挎仮澶 9-鑷澶辫触鎶ヨ 10-鑷澶辫触鍚庢仮澶嶆甯
+ // 11钃勭數姹犳瑺鍘 12钃勭數姹犵數鍘嬫仮澶嶆甯革紝13-钃勭數姹犳晠闅滐紱14-MBUS妯″潡鎺夌嚎锛15-MBUS妯″潡鎺夌嚎鎭㈠锛16-閿洏鎺夌嚎锛
+ //17-閿洏鎺夌嚎鎭㈠锛18-璁惧琚Щ鍔紱19-璁惧琚Щ鍔ㄥ浣 20-485澶栬绾胯矾鏂姤璀 21-485澶栬绾胯矾鏂悗鎭㈠姝e父
+ //25-瀛愭澘1鎻掍笂,26-瀛愭澘1鎷斿嚭, 27-瀛愭澘2鎻掍笂,28-瀛愭澘2鎷斿嚭
+ public int dwExceptionType;
+ public byte[] byRes = new byte[36]; // 淇濈暀
+ }
+
+
+ public static class NET_DVR_ALARMHOST_POINT_VALUE extends Structure {
+ public byte byChanType; //鎺ュ叆绫诲瀷锛1-鏈湴妯℃嫙閲忛氶亾锛2-鏈湴寮鍏抽噺閫氶亾锛3-485閫氶亾锛4-缃戠粶閫氶亾
+ public byte byPointType; //鐐圭被鍨嬶紝1-閬ユ祴锛堟ā鎷熼噺锛夛紝2-閬ヤ俊锛堝紑鍏抽噺锛
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public int dwChanNo; //485閫氶亾鍙凤紝0xffffffff琛ㄧず鏃犳晥锛岄氶亾绫诲瀷涓1鏃讹細琛ㄧず鏈湴妯℃嫙閲忛氶亾鍙凤紝閫氶亾绫诲瀷涓2鏃惰〃绀烘湰鍦板紑鍏抽噺閫氶亾鍙凤紝閫氶亾绫诲瀷涓3鏃惰〃绀485閫氶亾鍙枫
+ public int dwSubChanNo; //妲戒綅鍙凤紝 0xffffffff琛ㄧず鏃犳晥锛岄氶亾绫诲瀷涓3鏃朵娇鐢
+ public int dwVariableNo; //鍙橀噺缂栧彿锛0xffffffff琛ㄧず鏃犳晥
+ public int dwPointNo; //104鐐瑰彿锛0xffffffff琛ㄧず鏃犳晥
+ public int iValue; //鐩戞祴鐐圭殑鍊硷紝琛ㄧず浣32浣
+ public int iValueEx; //鐩戞祴鐐圭殑鍊硷紝琛ㄧず楂32浣
+ public byte[] byRes = new byte[12];
+ }
+
+ public static class NET_DVR_ALARMHOST_DATA_UNION extends Structure {
+ public byte[] byLength = new byte[40];
+ public NET_DVR_ALARMHOST_POINT_VALUE struPointValue; //鐩戞祴鐐瑰疄鏃舵暟鎹
+ }
+
+ public static class NET_DVR_ALARMHOST_DATA_UPLOAD extends Structure {
+ public int dwSize;
+ public byte byDataType; //鏁版嵁绫诲瀷锛1-鐩戞祴鐐瑰疄鏃舵暟鎹笂浼
+ public byte[] byRes1 = new byte[3];
+ public NET_DVR_ALARMHOST_DATA_UNION struAlarmData;
+ public byte[] byRes2 = new byte[32];
+ }
+
+ //杞︾墝璇嗗埆缁撴灉瀛愮粨鏋
+ public static class NET_DVR_PLATE_INFO extends Structure {
+ public byte byPlateType; //杞︾墝绫诲瀷
+ public byte byColor; //杞︾墝棰滆壊
+ public byte byBright; //杞︾墝浜害
+ public byte byLicenseLen; //杞︾墝瀛楃涓暟
+ public byte byEntireBelieve; //鏁翠釜杞︾墝鐨勭疆淇″害锛-100
+ public byte byRegion; // 鍖哄煙绱㈠紩鍊 0-淇濈暀锛1-娆ф床(EU)锛3-娆ф床&(EU&CIS) ,4-涓笢(ME),0xff-鎵鏈
+ public byte byCountry; // 鍥藉绱㈠紩鍊硷紝鍙傜収鏋氫妇COUNTRY_INDEX锛堜笉鏀寔"COUNTRY_ALL = 0xff, //ALL 鍏ㄩ儴"锛
+ public byte byArea; //鍖哄煙锛堢渷浠斤級锛屽悇鍥藉鍐呴儴鍖哄煙鏋氫妇锛岄樋鑱旈厠鍙傜収 EMI_AREA
+ public byte byPlateSize; //杞︾墝灏哄锛0~鏈煡锛1~long, 2~short(涓笢杞︾墝浣跨敤)
+ public byte byAddInfoFlag;
+ public short wCRIndex;//鍥藉/鍦板尯绱㈠紩锛岀储寮曞煎弬鑰僟CR_ INDEX_
+ public byte[] byRes = new byte[12]; //淇濈暀
+ public byte[] sPlateCategory = new byte[8];//杞︾墝闄勫姞淇℃伅, 鍗充腑涓滆溅鐗屼腑杞︾墝鍙风爜鏃佽竟鐨勫皬瀛椾俊鎭紝(鐩墠鍙湁涓笢鍦板尯鏀寔)
+ public int dwXmlLen; //XML鎶ヨ淇℃伅闀垮害
+ public Pointer pXmlBuf; // XML鎶ヨ淇℃伅鎸囬拡,鎶ヨ绫诲瀷涓 COMM_ITS_PLATE_RESUL鏃舵湁鏁堬紝鍏禭ML瀵瑰簲鍒癊ventNotificationAlert XML Block
+ public NET_VCA_RECT struPlateRect = new NET_VCA_RECT(); //杞︾墝浣嶇疆
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN]; //杞︾墝鍙风爜,娉細涓笢杞︾墝闇姹傛妸灏忓瓧涔熺撼鍏ヨ溅鐗屽彿鐮侊紝灏忓瓧鍜岃溅鐗屽彿涓棿鐢ㄧ┖鏍煎垎闅
+ public byte[] byBelieve = new byte[MAX_LICENSE_LEN]; //鍚勪釜璇嗗埆瀛楃鐨勭疆淇″害锛屽妫娴嬪埌杞︾墝"娴橝12345", 缃俊搴︿负,20,30,40,50,60,70锛屽垯琛ㄧず"娴"瀛楁纭殑鍙兘鎬у彧鏈%锛"A"瀛楃殑姝g‘鐨勫彲鑳芥ф槸%
+ }
+
+ public static class NET_DVR_VEHICLE_INFO extends Structure {
+ public int dwIndex; //杞﹁締搴忓彿
+ public byte byVehicleType; //杞﹁締绫诲瀷 0 琛ㄧず鍏跺畠杞﹀瀷锛1 琛ㄧず灏忓瀷杞︼紝2 琛ㄧず澶у瀷杞 ,3琛ㄧず琛屼汉瑙﹀彂 ,4琛ㄧず浜岃疆杞﹁Е鍙 5琛ㄧず涓夎疆杞﹁Е鍙(3.5Ver)
+ public byte byColorDepth; //杞﹁韩棰滆壊娣辨祬
+ public byte byColor; //杞﹁韩棰滆壊,鍙傝僔CR_CLR_CLASS
+ /*闆疯揪寮傚父鐘舵侊細
+ 0~闆疯揪姝e父锛
+ 1~闆疯揪鏁呴殰
+ 2~闆疯揪涓鐩村彂閫佹煇涓涓浉鍚岄熷害鍊
+ 3~闆疯揪閫佸嚭鏁版嵁涓0
+ 4~闆疯揪閫佸嚭鏁版嵁杩囧ぇ鎴栬呰繃灏
+ */
+ public byte byRadarState;
+ public short wSpeed; //鍗曚綅km/h
+ public short wLength; //鍓嶄竴杈嗚溅鐨勮溅韬暱搴
+ /*杩濊绫诲瀷锛0-姝e父锛1-浣庨燂紝2-瓒呴燂紝3-閫嗚锛4-闂孩鐏,5-鍘嬭溅閬撶嚎,6-涓嶆寜瀵煎悜锛7-璺彛婊炵暀锛
+ 8-鏈哄崰闈烇紝9-杩濇硶鍙橀亾锛10-涓嶆寜杞﹂亾 11-杩濆弽绂佷护锛12-璺彛鍋滆溅锛13-缁跨伅鍋滆溅, 14-鏈ぜ璁╄浜(杩濇硶浠g爜1357),
+ 15-杩濈珷鍋滆溅锛16-杩濈珷鎺夊ご,17-鍗犵敤搴旀ヨ溅閬,18-绂佸彸,19-绂佸乏,20-鍘嬮粍绾,21-鏈郴瀹夊叏甯,22-琛屼汉闂孩鐏,23-鍔犲,24-杩濇硶浣跨敤杩滃厜鐏紝
+ 25-椹鹃┒鏃舵嫧鎵撴帴鍚墜鎸佺數璇濓紝26-宸﹁浆涓嶈鐩磋锛27-鍙宠浆涓嶈宸﹁浆锛28-鎺夊ご涓嶈鐩磋锛29-澶у集灏忚浆, 30-闂豢鐏紝31-鏈甫澶寸洈锛
+ 32-闈炴満鍔ㄨ溅杞戒汉锛33-闈炴満鍔ㄨ溅鍗犵敤鏈哄姩杞﹂亾锛34-闈炴満鍔ㄨ溅鎵撲紴妫, 35-榛戠儫杞, 36-楦g瑳*/
+ public byte byIllegalType;
+ public byte byVehicleLogoRecog; //鍙傝冩灇涓剧被鍨 VLR_VEHICLE_CLASS
+ public byte byVehicleSubLogoRecog; //杞﹁締鍝佺墝瀛愮被鍨嬭瘑鍒紱鍙傝僔SB_VOLKSWAGEN_CLASS绛夊瓙绫诲瀷鏋氫妇銆
+ public byte byVehicleModel; //杞﹁締瀛愬搧鐗屽勾娆撅紝0-鏈煡锛屽弬鑰"杞﹁締瀛愬搧鐗屽勾娆.xlsx"
+ public byte[] byCustomInfo = new byte[16]; //鑷畾涔変俊鎭
+ public short wVehicleLogoRecog; //杞﹁締涓诲搧鐗岋紝鍙傝"杞﹁締涓诲搧鐗.xlsx" (璇ュ瓧娈靛吋瀹筨yVehicleLogoRecog);
+ public byte byIsParking;//鏄惁鍋滆溅 0-鏃犳晥锛1-鍋滆溅锛2-鏈仠杞
+ public byte byRes;//淇濈暀瀛楄妭
+ public int dwParkingTime; //鍋滆溅鏃堕棿锛屽崟浣嶏細s
+ public byte[] byRes3 = new byte[8];
+ }
+
+ //鎵嬪姩鎶撴媿
+ public static class NET_DVR_MANUALSNAP extends Structure {
+ public byte byOSDEnable;//0-涓嶅叧闂(榛樿)锛1-鍏抽棴
+ public byte byLaneNo;//杞﹂亾鍙, 鑼冨洿涓1-6锛岄粯璁や负1(鎶撴媿鏈哄唴閮ㄦ祴璇曚娇鐢)
+ public byte byChannel;//閫氶亾鍙
+ public byte[] byRes = new byte[21]; //淇濈暀
+ }
+
+ //浜ら氭姄鎷嶇粨鏋滀俊鎭
+ public static class NET_DVR_PLATE_RESULT extends Structure {
+ public int dwSize;
+ public byte byResultType;
+ public byte byChanIndex;
+ public short wAlarmRecordID;
+ public int dwRelativeTime;
+ public byte[] byAbsTime = new byte[32];
+ public int dwPicLen;
+ public int dwPicPlateLen;
+ public int dwVideoLen;
+ public byte byTrafficLight;
+ public byte byPicNum;
+ public byte byDriveChan;
+ public byte byVehicleType;
+ public int dwBinPicLen;
+ public int dwCarPicLen;
+ public int dwFarCarPicLen;
+ public Pointer pBuffer3;
+ public Pointer pBuffer4;
+ public Pointer pBuffer5;
+ public byte[] byRes3 = new byte[8];
+ public NET_DVR_PLATE_INFO struPlateInfo;
+ public NET_DVR_VEHICLE_INFO struVehicleInfo;
+ public Pointer pBuffer1;
+ public Pointer pBuffer2;
+ }
+
+ public static class NET_DVR_TIME_V30 extends Structure {
+ public short wYear;
+ public byte byMonth;
+ public byte byDay;
+ public byte byHour;
+ public byte byMinute;
+ public byte bySecond;
+ public byte byRes;
+ public short wMilliSec;
+ public byte[] byRes1 = new byte[2];
+
+
+ }
+
+ public static class NET_ITS_PICTURE_INFO extends Structure {
+ public int dwDataLen;
+ public byte byType;
+ public byte byDataType;
+ public byte byCloseUpType;
+ public byte byPicRecogMode;
+ public int dwRedLightTime;
+ public byte[] byAbsTime = new byte[32];
+ public NET_VCA_RECT struPlateRect = new NET_VCA_RECT();
+ public NET_VCA_RECT struPlateRecgRect = new NET_VCA_RECT();
+ public Pointer pBuffer;
+ public int dwUTCTime;//UTC鏃堕棿
+ public byte byCompatibleAblity;//鍏煎鑳藉姏瀛楁锛屾寜浣嶈〃绀猴紝鍊硷細0- 鏃犳晥锛1- 鏈夋晥
+ public byte byTimeDiffFlag; /*鏃跺樊瀛楁鏄惁鏈夋晥 0-鏃跺樊鏃犳晥锛 1-鏃跺樊鏈夋晥 */
+ public byte cTimeDifferenceH; /*涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 +琛ㄧず涓滃尯,锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte cTimeDifferenceM; /*涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 30, 45锛 +琛ㄧず涓滃尯锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte[] byRes2 = new byte[4];
+ }
+
+ public static class NET_ITS_PLATE_RESULT extends Structure {
+ public int dwSize;
+ public int dwMatchNo;
+ public byte byGroupNum;
+ public byte byPicNo;
+ public byte bySecondCam;
+ public byte byFeaturePicNo;
+ public byte byDriveChan;
+ public byte byVehicleType;
+ public byte byDetSceneID;
+ public byte byVehicleAttribute;
+ public short wIllegalType;
+ public byte[] byIllegalSubType = new byte[8];
+ public byte byPostPicNo;
+ public byte byChanIndex;
+ public short wSpeedLimit;
+ public byte byChanIndexEx; //byChanIndexEx*256+byChanIndex琛ㄧず鐪熷疄閫氶亾鍙枫
+ public byte byRes2;
+ public NET_DVR_PLATE_INFO struPlateInfo = new NET_DVR_PLATE_INFO();
+ public NET_DVR_VEHICLE_INFO struVehicleInfo = new NET_DVR_VEHICLE_INFO();
+ public byte[] byMonitoringSiteID = new byte[48];
+ public byte[] byDeviceID = new byte[48];
+ public byte byDir;
+ public byte byDetectType;
+ public byte byRelaLaneDirectionType;
+ public byte byCarDirectionType;
+ public int dwCustomIllegalType;
+ public Pointer pIllegalInfoBuf;
+ public byte byIllegalFromatType;
+ public byte byPendant;
+ public byte byDataAnalysis;
+ public byte byYellowLabelCar;
+ public byte byDangerousVehicles;
+ public byte byPilotSafebelt;
+ public byte byCopilotSafebelt;
+ public byte byPilotSunVisor;
+ public byte byCopilotSunVisor;
+ public byte byPilotCall;
+ public byte byBarrierGateCtrlType;
+ public byte byAlarmDataType;
+ public NET_DVR_TIME_V30 struSnapFirstPicTime = new NET_DVR_TIME_V30();
+ public int dwIllegalTime;
+ public int dwPicNum;
+ public NET_ITS_PICTURE_INFO[] struPicInfo = new NET_ITS_PICTURE_INFO[6];
+ }
+
+ public int MAX_PARKNO_LEN = 16; //杞︿綅缂栧彿闀垮害
+ public int MAX_ID_LEN = 48; //缂栧彿鏈澶ч暱搴
+
+ //鍋滆溅鍦烘暟鎹笂浼
+ public static class NET_ITS_PARK_VEHICLE extends Structure {
+ public int dwSize; //缁撴瀯闀垮害
+ public byte byGroupNum; //鍥剧墖缁勬暟閲忥紙鍗曟杞鎶撴媿鐨勫浘鐗囨暟閲忥級
+ public byte byPicNo; //杩炴媿鐨勫浘鐗囩粍涓婁紶鍥剧墖搴忓彿锛堟帴鏀跺埌鍥剧墖缁勬暟閲忓悗锛岃〃绀烘帴鏀跺畬鎴
+ //鎺ユ敹瓒呮椂涓嶈冻鍥剧墖缁勬暟閲忔椂锛屾牴鎹渶瑕佷繚鐣欐垨鍒犻櫎锛
+ public byte byLocationNum; //鍗曞紶鍥剧墖鎵绠$悊鐨勮溅浣嶆暟
+ public byte byParkError; //鍋滆溅寮傚父锛0-姝e父 1 寮傚父
+ public byte[] byParkingNo = new byte[MAX_PARKNO_LEN];//杞︿綅缂栧彿
+ public byte byLocationStatus; //杞︿綅杞﹁締鐘舵侊紝0-鏃犺溅锛1鏈夎溅
+ public byte bylogicalLaneNum;//閫昏緫杞︿綅鍙凤紝0-3锛屼竴涓浉鏈烘渶澶ц兘绠4涓溅浣 锛0浠h〃鏈宸﹁竟锛3浠h〃鏈鍙宠竟锛
+ public short wUpLoadType;//绗浂浣嶈〃绀猴細0~杞涓婁紶銆1~鍙樺寲涓婁紶
+ public byte[] byRes1 = new byte[4]; //淇濈暀瀛楄妭
+ public int dwChanIndex; //閫氶亾鍙锋暟瀛楅氶亾
+ public NET_DVR_PLATE_INFO struPlateInfo; //杞︾墝淇℃伅缁撴瀯
+ public NET_DVR_VEHICLE_INFO struVehicleInfo; //杞﹁締淇℃伅
+ public byte[] byMonitoringSiteID = new byte[MAX_ID_LEN]; //鐩戞祴鐐圭紪鍙
+ public byte[] byDeviceID = new byte[MAX_ID_LEN]; //璁惧缂栧彿
+ public int dwPicNum; //鍥剧墖鏁伴噺锛堜笌picGroupNum涓嶅悓锛屼唬琛ㄦ湰鏉′俊鎭檮甯︾殑鍥剧墖鏁伴噺锛屽浘鐗囦俊鎭敱struVehicleInfoEx瀹氫箟
+ public NET_ITS_PICTURE_INFO[] struPicInfo = new NET_ITS_PICTURE_INFO[2]; //鍥剧墖淇℃伅,鍗曞紶鍥炶皟锛屾渶澶2寮犲浘锛岀敱搴忓彿鍖哄垎
+ public byte[] byRes2 = new byte[256];
+ }
+
+ public static class NET_DVR_SNAPCFG extends Structure {
+
+ public int dwSize;
+ public byte byRelatedDriveWay;//瑙﹀彂IO鍏宠仈鐨勮溅閬撳彿
+ public byte bySnapTimes; //绾垮湀鎶撴媿娆℃暟锛0-涓嶆姄鎷嶏紝闈0-杩炴媿娆℃暟锛岀洰鍓嶆渶澶5娆
+ public short wSnapWaitTime; //鎶撴媿绛夊緟鏃堕棿锛屽崟浣峬s锛屽彇鍊艰寖鍥碵0,60000]
+ public short[] wIntervalTime = new short[MAX_INTERVAL_NUM];//杩炴媿闂撮殧鏃堕棿锛宮s
+ public int dwSnapVehicleNum; //鎶撴媿杞﹁締搴忓彿銆
+ public NET_DVR_JPEGPARA struJpegPara;//鎶撴媿鍥剧墖鍙傛暟
+ public byte[] byRes2 = new byte[16];
+ }
+
+ // 閬撻椄鎺у埗
+ public static class NET_DVR_BARRIERGATE_CFG extends Structure {
+ public int dwSize;
+ public int dwChannel; //閫氶亾鍙
+ public byte byLaneNo; //閬撻椄鍙凤紙0-琛ㄧず鏃犳晥鍊(璁惧闇瑕佸仛鏈夋晥鍊煎垽鏂),1-閬撻椄1锛
+ /*
+ 鑻ヨ佺殑骞冲彴涓嶆敮鎸乥yUnlock瀛楁锛岃瀛楁灏嗚祴鍊间负0锛岄氳繃鈥0-鍏抽棴閬撻椄,1-寮鍚亾闂,2-鍋滄閬撻椄鈥濅腑鐨勪换浣曚竴绉嶆搷浣滅殕鍙繘琛岃В閿併
+ 鑻ユ柊骞冲彴鏀寔byUnlock瀛楁锛岄渶byUnlock瀛楁璧嬪间负1锛屽苟缁撳悎4~瑙i攣閬撻椄鏉ヨ繘琛岃В閿併俠yUnlock瀛楁璧嬪间负1鍚庯紝鈥0-鍏抽棴閬撻椄,1-寮鍚亾闂,2-鍋滄閬撻椄鈥濇搷浣滃皢涓嶅彲鐢ㄤ簬瑙i攣銆
+ */
+ public byte byBarrierGateCtrl;//0-鍏抽棴閬撻椄,1-寮鍚亾闂,2-鍋滄閬撻椄 3-閿佸畾閬撻椄,4~瑙i攣閬撻椄
+ public byte byEntranceNo;//鍑哄叆鍙g紪鍙 [1,8]
+ public byte byUnlock;//鍚敤瑙i攣浣胯兘锛0~涓轰笉鍚敤锛1~鍚敤
+ public byte[] byRes = new byte[12];
+ }
+
+
+ public static class NET_DVR_GROUP_PARAM extends Structure {
+ public int dwTeenage;//灏戝勾锛堜汉鏁帮級
+ public int dwYouth;//闈掑勾锛堜汉鏁帮級
+ public int dwMidLife;//涓勾锛堜汉鏁帮級
+ public int dwElderly;//鑰佸勾锛堜汉鏁帮級
+ public int dwChild;//鍎跨锛堜汉鏁帮級
+ public int dwAdolescent;//闈掑皯骞达紙浜烘暟锛
+ public int dwPrime;//澹勾锛堜汉鏁帮級
+ public int dwMidage;//涓佸勾锛堜汉鏁帮級
+ public byte[] byRes = new byte[48];
+ }
+
+ public static class NET_DVR_SEXGROUP_PARAM extends Structure {
+ public int dwMale;//鐢凤紙浜烘暟锛
+ public int dwFemale;//濂筹紙浜烘暟锛
+ public byte[] byRes = new byte[64];
+ }
+
+ public static class NET_DVR_PROGRAM_INFO extends Structure {
+ public int dwProgramNo; //鑺傜洰缂栧彿
+ public byte[] sProgramName = new byte[NAME_LEN]; //鑺傜洰鍚嶇О
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_FACECAPTURE_STATISTICS_RESULT extends Structure {
+ public int dwSize;
+ public NET_DVR_TIME_EX struStartTime;/*闂撮殧寮濮嬫椂闂*/
+ public NET_DVR_TIME_EX struEndTime;/*闂撮殧缁撴潫鏃堕棿*/
+ public byte byStatType;//鏁版嵁绫诲瀷缁熻锛欱it0-骞撮緞娈垫湁鏁堬紝Bit1-鎬у埆鏈夋晥锛孊it2-浜烘暟鏈夋晥
+ public byte[] byRes = new byte[7];
+ public int dwPeopleNum;//浜烘暟缁熻
+ public byte[] byRes2=new byte[80]; //
+ public NET_DVR_SEXGROUP_PARAM struSexGroupParam;//鎬у埆浜烘暟缁熻
+ public NET_DVR_PROGRAM_INFO struProgramInfo; //鑺傜洰淇℃伅
+ public byte[] byRes1 = new byte[76];
+ }
+
+ //鑾峰彇浜ら氭暟鎹潯浠剁粨鏋
+ public static class NET_DVR_TRAFFIC_DATA_QUERY_COND extends Structure {
+ public int dwSize;
+ /*
+ Bit0-閫氶亾鏈夋晥
+ Bit1-鏃堕棿鏈夋晥
+ Bit2-杞︾墝鍙锋湁鏁
+ Bit3-杞︾墝绫诲瀷鏈夋晥
+ Bit4-杞︾墝棰滆壊鏈夋晥
+ Bit5-杞﹁韩棰滆壊鏈夋晥
+ Bit6-杞﹁締绫诲瀷鏈夋晥
+ Bit7-杞﹁締鍝佺墝鏈夋晥
+ Bit8-杞﹂亾鍙锋湁鏁
+ Bit9-鐩戞祴鏂瑰悜鏈夋晥
+ Bit10-鏈浣庨熷害鏈夋晥
+ Bit11-鏈楂橀熷害鏈夋晥
+ Bit12-鏁版嵁绫诲瀷鏈夋晥
+ Bit13-甯冮槻鏂瑰紡绫诲瀷鏈夋晥
+ Bit14-杩濇硶鍙栬瘉鏈夋晥
+ Bit15-浜嬩欢绫诲瀷鏈夋晥
+ Bit16-鍙栬瘉绫诲瀷鏈夋晥
+ */
+ public int dwQueryCond;//鏌ヨ鏉′欢 0琛ㄧず鏃犳晥锛1琛ㄧず鏈夋晥
+ public int dwChannel;//榛樿鏄1锛圼1~32]锛宐it0琛ㄧず閫氶亾1锛屼緷娆$被鎺╞it31琛ㄧず閫氶亾32锛
+ public NET_DVR_TIME_V30 struStartTime;//寮濮嬫椂闂
+ public NET_DVR_TIME_V30 struEndTime;//缁撴潫鏃堕棿
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/];//(璁惧鏀寔妯$硦鏌ヨ, GB2312缂栫爜)
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-鏍囧噯姘戠敤杞︿笌鐗圭杞
+ Bit2-02寮忔皯鐢ㄨ溅鐗
+ Bit3-
+ Bit4-璀﹁溅
+ Bit5-姘戠敤杞﹀弻琛屽熬鐗
+ Bit6-浣块杞︾墝
+ Bit7-鍐滅敤杞
+ Bit8-鎽╂墭杞
+ */
+ public int dwPlateType;//杞︾墝绫诲瀷锛堟敮鎸佹寜浣嶈〃绀猴紝鍙互澶嶉夛級
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-榛勮壊
+ Bit2-鐧借壊
+ Bit3-榛戣壊
+ Bit4-缁胯壊
+ Bit5-钃濊壊
+ */
+ public int dwPlateColor;//杞︾墝棰滆壊锛堟敮鎸佹寜浣嶈〃绀猴紝鍙互澶嶉夛級
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-鐧借壊
+ Bit2-閾惰壊
+ Bit3-鐏拌壊
+ Bit4-榛戣壊
+ Bit5-绾㈣壊
+ Bit6-娣辫摑鑹
+ Bit7-钃濊壊
+ Bit8-榛勮壊
+ Bit9-缁胯壊
+ Bit10-妫曡壊
+ Bit11-绮夎壊
+ Bit12-绱壊
+ Bit13-娣辩伆鑹
+ */
+ public int dwVehicleColor;//杞﹁韩棰滆壊锛堟敮鎸佹寜浣嶈〃绀猴紝鍙互澶嶉夛級
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-瀹㈣溅
+ Bit2-澶ц揣杞
+ Bit3-杞胯溅
+ Bit4-闈㈠寘杞
+ Bit5-灏忚揣杞
+ Bit6-琛屼汉
+ Bit7-浜岃疆杞
+ Bit8-涓夎疆杞
+ Bit9-SUV/MPV
+ Bit10-涓瀷瀹㈣溅
+ */
+ public int dwVehicleType;//杞﹁締绫诲瀷锛堟敮鎸佹寜浣嶈〃绀猴紝鍙互澶嶉夛級
+ /**
+ * Bit0-鍏朵粬锛堜繚鐣欙級
+ * Bit1-浣庨
+ * Bit2-瓒呴
+ * Bit3-閫嗚
+ * Bit4-闂孩鐏
+ * Bit5-鍘嬭溅閬撶嚎
+ * Bit6-涓嶆寜瀵煎悜
+ * Bit7-璺彛婊炵暀
+ * Bit8-鏈哄崰闈
+ * Bit9-杩濇硶鍙橀亾
+ * Bit10-涓嶆寜杞﹂亾
+ * Bit11-杩濆弽绂佷护
+ * Bit12-璺彛鍋滆溅
+ * Bit13-缁跨伅鍋滆溅
+ * Bit14-鏈ぜ璁╄浜
+ * Bit15-杩濈珷鍋滆溅
+ * Bit16-杩濈珷鎺夊ご
+ * Bit17-鍗犵敤搴旀ヨ溅閬
+ * Bit18-鏈郴瀹夊叏甯
+ */
+ public int dwIllegalType;
+ /**
+ * Bit0-鍏朵粬锛堜繚鐣欙級
+ * Bit1-鎷ュ牭
+ * Bit2-鍋滆溅
+ * Bit3-閫嗚
+ * Bit4-琛屼汉
+ * Bit5-鎶涙磼鐗
+ * Bit6-鐑熼浘
+ * Bit7-鍘嬬嚎
+ * Bit8-绂佹鍚嶅崟
+ * Bit9-瓒呴
+ * Bit10-鍙橀亾
+ * Bit11-鎺夊ご
+ * Bit12-鏈哄崰闈
+ * Bit13-鍔犲
+ */
+ public int dwEventType;
+ /**
+ * Bit0-鍏朵粬锛堜繚鐣欙級
+ * Bit1-鍩庡競鍏矾杩濇硶鍋滆溅
+ * Bit2-楂橀熷叕璺繚娉曞仠杞
+ * Bit3-鍘嬬嚎
+ * Bit4-閫嗚
+ * Bit5-杩濇硶鍙橀亾
+ * Bit6-鏈哄崰闈
+ */
+ public int dwForensiceType;
+ public short wVehicleLogoRecog; //杞﹁締涓诲搧鐗岋紝鍙傝"杞﹁締涓诲搧鐗.xlsx" 锛堜粎鍗曢夛級
+ public byte byLaneNo;//杞﹂亾鍙凤紙0~255,0鍙疯溅閬 琛ㄧず 杞﹂亾鍙锋湭鐭ワ級
+ public byte byDirection;//鐩戞祴鏂瑰悜锛1-涓婅锛2-涓嬭锛3-鍙屽悜锛4-鐢变笢鍚戣タ锛5-鐢卞崡鍚戝寳,6-鐢辫タ鍚戜笢锛7-鐢卞寳鍚戝崡
+ public short wMinSpeed;//鏈浣庨熷害锛0~999锛夊崟浣峩m/h
+ public short wMaxSpeed;//鏈楂橀熷害锛0~999锛夊崟浣峩m/h
+ public byte byDataType;//鏁版嵁绫诲瀷 0-鍗″彛鏁版嵁锛1-杩濇硶鏁版嵁锛2-浜ら氫簨浠讹紝3-鍙栬瘉鏁版嵁 锛堜粎鍗曢夛級
+ public byte byExecuteCtrl;//甯冮槻 0-鍏佽鍚嶅崟锛1-绂佹鍚嶅崟锛0xff-鍏朵粬
+ public byte[] byRes = new byte[254];
+ }
+
+ public static final int MAX_TRAFFIC_PICTURE_NUM = 8; //浜ら氬浘鐗囨暟閲
+
+ //浜ら氭暟鎹粨鏋勪綋
+ public static class NET_DVR_TRAFFIC_DATA_QUERY_RESULT extends Structure {
+ public int dwSize;
+ public int dwChannel;//榛樿鏄1锛圼1~32]锛
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN/*16*/];
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-鏍囧噯姘戠敤杞︿笌鐗圭杞
+ Bit2-02寮忔皯鐢ㄨ溅鐗
+ Bit4-璀﹁溅
+ Bit5-姘戠敤杞﹀弻琛屽熬鐗
+ Bit6-浣块杞︾墝
+ Bit7-鍐滅敤杞
+ Bit8-鎽╂墭杞
+ */
+ public int dwPlateType;//杞︾墝绫诲瀷
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-榛勮壊
+ Bit2-鐧借壊
+ Bit3-榛戣壊
+ Bit4-缁胯壊
+ Bit5-钃濊壊
+ */
+ public int dwPlateColor;//杞︾墝棰滆壊
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-鐧借壊
+ Bit2-閾惰壊
+ Bit3-鐏拌壊
+ Bit4-榛戣壊
+ Bit5-绾㈣壊
+ Bit6-娣辫摑鑹
+ Bit7-钃濊壊
+ Bit8-榛勮壊
+ Bit9-缁胯壊
+ Bit10-妫曡壊
+ Bit11-绮夎壊
+ Bit12-绱壊
+ Bit13-娣辩伆鑹
+ */
+ public int dwVehicleColor;//杞﹁韩棰滆壊
+ /*
+ Bit0-鏈煡锛堝叾浠栵級
+ Bit1-瀹㈣溅
+ Bit2-澶ц揣杞
+ Bit3-杞胯溅
+ Bit4-闈㈠寘杞
+ Bit5-灏忚揣杞
+ Bit6-琛屼汉
+ Bit7-浜岃疆杞
+ Bit8-涓夎疆杞
+ Bit9-SUV/MPV
+ Bit10-涓瀷瀹㈣溅
+ Bit11-鏈哄姩杞
+ Bit12-闈炴満鍔ㄨ溅
+ Bit13-灏忓瀷杞胯溅
+ Bit14-寰瀷杞胯溅
+ Bit15-鐨崱杞
+ Bit16-闆嗚绠卞崱杞
+ Bit17-寰崱锛屾爮鏉垮崱
+ Bit18-娓e湡杞
+ Bit19-鍚婅溅锛屽伐绋嬭溅
+ Bit20-娌圭綈杞
+ Bit21-娣峰嚌鍦熸悈鎷岃溅
+ Bit22-骞虫澘鎷栬溅
+ Bit23-涓ゅ帰杞胯溅
+ Bit24-涓夊帰杞胯溅
+ Bit25-杞胯窇
+ Bit26-灏忓瀷瀹㈣溅
+ */
+ public int dwVehicleType;//杞﹁締绫诲瀷
+ /**
+ * Bit0-鍏朵粬锛堜繚鐣欙級
+ * Bit1-浣庨
+ * Bit2-瓒呴
+ * Bit3-閫嗚
+ * Bit4-闂孩鐏
+ * Bit5-鍘嬭溅閬撶嚎
+ * Bit6-涓嶆寜瀵煎悜
+ * Bit7-璺彛婊炵暀
+ * Bit8-鏈哄崰闈
+ * Bit9-杩濇硶鍙橀亾
+ * Bit10-涓嶆寜杞﹂亾
+ * Bit11-杩濆弽绂佷护
+ * Bit12-璺彛鍋滆溅
+ * Bit13-缁跨伅鍋滆溅
+ * Bit14-鏈ぜ璁╄浜
+ * Bit15-杩濈珷鍋滆溅
+ * Bit16-杩濈珷鎺夊ご
+ * Bit17-鍗犵敤搴旀ヨ溅閬
+ * Bit18-鏈郴瀹夊叏甯
+ */
+ public int dwIllegalType;
+ /**
+ * Bit0-鍏朵粬锛堜繚鐣欙級
+ * Bit1-鎷ュ牭
+ * Bit2-鍋滆溅
+ * Bit3-閫嗚
+ * Bit4-琛屼汉
+ * Bit5-鎶涙磼鐗
+ * Bit6-鐑熼浘
+ * Bit7-鍘嬬嚎
+ * Bit8-绂佹鍚嶅崟
+ * Bit9-瓒呴
+ * Bit10-鍙橀亾
+ * Bit11-鎺夊ご
+ * Bit12-鏈哄崰闈
+ * Bit13-鍔犲
+ */
+ public int dwEventType;
+ /**
+ * Bit0-鍏朵粬锛堜繚鐣欙級
+ * Bit1-鍩庡競鍏矾杩濇硶鍋滆溅
+ * Bit2-楂橀熷叕璺繚娉曞仠杞
+ * Bit3-鍘嬬嚎
+ * Bit4-閫嗚
+ * Bit5-杩濇硶鍙橀亾
+ * Bit6-鏈哄崰闈
+ */
+ public int dwForensiceType;
+ public short wVehicleLogoRecog; //杞﹁締涓诲搧鐗岋紝鍙傝"杞﹁締涓诲搧鐗.xlsx"
+ public byte byLaneNo;//杞﹂亾鍙凤紙0~255,0鍙疯溅閬 琛ㄧず 杞﹂亾鍙锋湭鐭ワ級
+ public byte byDirection;//鐩戞祴鏂瑰悜锛1-涓婅锛2-涓嬭锛3-鍙屽悜锛4-鐢变笢鍚戣タ锛5-鐢卞崡鍚戝寳,6-鐢辫タ鍚戜笢锛7-鐢卞寳鍚戝崡
+ public short wSpeed;//閫熷害锛0~999锛夊崟浣峩m/h
+ public byte byDataType;//鏁版嵁绫诲瀷: 0-鍗″彛 1-杩濇硶 2-浜嬩欢 3-鍙栬瘉
+ public byte[] byRes = new byte[253];
+ public NET_DVR_TRAFFIC_PICTURE_PARAM[] struTrafficPic = new NET_DVR_TRAFFIC_PICTURE_PARAM[MAX_TRAFFIC_PICTURE_NUM/*8*/];
+ }
+
+ //浜ら氬浘鐗囧弬鏁板瓙缁撴瀯
+ public static final int PICTURE_NAME_LEN = 64;
+
+ public static class NET_DVR_TRAFFIC_PICTURE_PARAM extends Structure {
+ public NET_DVR_TIME_V30 struRelativeTime = new NET_DVR_TIME_V30(); //鎶撴媿鐩稿鏃舵爣
+ public NET_DVR_TIME_V30 struAbsTime = new NET_DVR_TIME_V30(); //鎶撴媿缁濆鏃舵爣
+ public byte[] szPicName = new byte[PICTURE_NAME_LEN/*64*/];
+ public byte byPicType;//鍥剧墖绫诲瀷 0-杞︾墝鍥撅紝1-鎶撴媿鍘熷浘锛2-鍚堟垚鍥撅紝3-鐗瑰啓鍥
+ public byte[] byRes = new byte[63];
+ }
+
+ public static class NET_DVR_VEHICLE_CONTROL_COND extends Structure {
+ public int dwChannel;
+ public int dwOperateType;
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN];
+ public byte[] sCardNo = new byte[48];
+ public byte byListType;
+ public byte[] byRes1 = new byte[3];
+ public int dwDataIndex;
+ public byte[] byRes = new byte[116];
+ }
+
+ public static class NET_DVR_VEHICLE_CONTROL_LIST_INFO extends Structure {
+ public int dwSize;
+ public int dwChannel;
+ public int dwDataIndex;
+ public byte[] sLicense = new byte[16];
+ public byte byListType;
+ public byte byPlateType;
+ public byte byPlateColor;
+ public byte[] byRes = new byte[21];
+ public byte[] sCardNo = new byte[48];
+ public NET_DVR_TIME_V30 struStartTime = new NET_DVR_TIME_V30();
+ public NET_DVR_TIME_V30 struStopTime = new NET_DVR_TIME_V30();
+ public byte[] sOperateIndex = new byte[32];
+ public byte[] byRes1 = new byte[224];
+ }
+
+ //杞﹁締鎶ヨ
+ public static class NET_DVR_VEHICLE_CONTROL_ALARM extends Structure {
+ public int dwSize;
+ public byte byListType; //鍚嶅崟灞炴э細0-鍏佽鍚嶅崟锛1-绂佹鍚嶅崟锛2-涓存椂鍚嶅崟
+ public byte byPlateType; //杞︾墝绫诲瀷
+ public byte byPlateColor; //杞︾墝棰滆壊
+ public byte byRes1;
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN];//杞︾墝鍙风爜
+ public byte[] sCardNo = new byte[MAX_CARDNO_LEN]; // 鍗″彿
+ public NET_DVR_TIME_V30 struAlarmTime = new NET_DVR_TIME_V30(); //鎶ヨ鏃堕棿
+ public int dwChannel; //璁惧閫氶亾鍙凤紝濡傛灉鐩磋繛鐨勬槸IPC锛屽垯涓篿pc閫氶亾鍙凤紱濡傛灉杩炵殑DVR\nvr,鍒欎负DVR\NVR鐨勯氶亾鍙
+ public int dwPicDataLen; //鍥剧墖鏁版嵁澶у皬锛0琛ㄧず鏃犲浘鐗囷紝涓嶄负0鏄〃绀哄悗闈㈠甫鍥剧墖鏁版嵁
+ public byte byPicType; //鍥剧墖绫诲瀷锛0-JPEG
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public byte[] byRes3 = new byte[2];
+ public Pointer pPicData;
+ public byte[] byRes2 = new byte[48];
+ }
+
+ public int MAX_LED_INFO_LEN = 512;
+ public int MAX_VOICE_INFO_LEN = 128;
+
+ //LED灞忓箷鏄剧ず鍙傛暟
+ public static class NET_DVR_LEDDISPLAY_CFG extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public byte[] sDisplayInfo = new byte[MAX_LED_INFO_LEN/*512*/]; // LED鏄剧ず鍐呭
+ public byte byDisplayMode;//鏄剧ず鏂瑰紡:0~宸︾Щ,1~鍙崇Щ,2~绔嬪嵆鏄剧ず
+ public byte bySpeedType;//閫熷害绫诲瀷:0~蹇,1~涓,2~鎱
+ public byte byShowPlateEnable;//鏄剧ず杞︾墝浣胯兘锛0~鍏抽棴锛1~鍚敤
+ public byte byRes1;
+ public int dwShowTime;//鏄剧ず鏃堕暱锛1~60绉
+ public byte[] byRes = new byte[128];
+ }
+
+ //璇煶鎾姤鎺у埗鍙傛暟
+ public static class NET_DVR_VOICEBROADCAST_CFG extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public byte[] sInfo = new byte[MAX_VOICE_INFO_LEN/*128*/]; //璇煶鎾姤鍐呭
+ public byte byBroadcastNum;// 璇煶鎾姤娆℃暟锛 1~10娆
+ public byte byIntervalTime;// 璇煶鎾姤闂撮殧鏃堕棿,1~5s
+ public byte[] byRes = new byte[126];
+ }
+
+ //缂磋垂閲戦淇℃伅
+ public static class NET_DVR_CHARGEACCOUNT_CFG extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public float fAccount;//瀹為檯鏀惰垂閲戦
+ public byte[] byRes = new byte[128];
+ }
+
+ public static final int DOOR_NAME_LEN = 32; //闂ㄥ悕绉
+ public static final int STRESS_PASSWORD_LEN = 8; //鑳佽揩瀵嗙爜闀垮害
+ public static final int SUPER_PASSWORD_LEN = 8; //鑳佽揩瀵嗙爜闀垮害
+ public static final int UNLOCK_PASSWORD_LEN = 8; // 瑙i櫎瀵嗙爜闀垮害
+
+ public static class NET_DVR_DOOR_CFG extends Structure {
+ public int dwSize;
+ public byte[] byDoorName = new byte[DOOR_NAME_LEN]; //闂ㄥ悕绉
+ public byte byMagneticType; //闂ㄧ绫诲瀷锛0-甯搁棴锛1-甯稿紑
+ public byte byOpenButtonType; //寮闂ㄦ寜閽被鍨嬶紝0-甯搁棴锛1-甯稿紑
+ public byte byOpenDuration; //寮闂ㄦ寔缁椂闂达紝1-255s锛堟ゼ灞傜户鐢靛櫒鍔ㄤ綔鏃堕棿锛
+ public byte byDisabledOpenDuration; //鍗″紑闂ㄦ寔缁椂闂达紝1-255s
+ public byte byMagneticAlarmTimeout; //闂ㄧ妫娴嬭秴鏃舵姤璀︽椂闂达紝0-255s锛0琛ㄧず涓嶆姤璀
+ public byte byEnableDoorLock; //鏄惁鍚敤闂棬鍥為攣锛0-鍚︼紝1-鏄
+ public byte byEnableLeaderCard; //鏄惁鍚敤棣栧崱甯稿紑鍔熻兘锛0-鍚︼紝1-鏄
+ public byte byLeaderCardMode; //棣栧崱妯″紡锛0-涓嶅惎鐢ㄩ鍗″姛鑳斤紝1-棣栧崱甯稿紑妯″紡锛2-棣栧崱鎺堟潈妯″紡锛堜娇鐢ㄤ簡姝ゅ瓧娈碉紝鍒檅yEnableLeaderCard鏃犳晥锛
+ public int dwLeaderCardOpenDuration; //棣栧崱甯稿紑鎸佺画鏃堕棿锛1-1440min
+ public byte[] byStressPassword = new byte[STRESS_PASSWORD_LEN]; //鑳佽揩瀵嗙爜
+ public byte[] bySuperPassword = new byte[SUPER_PASSWORD_LEN]; //瓒呯骇瀵嗙爜
+ public byte[] byUnlockPassword = new byte[UNLOCK_PASSWORD_LEN]; //瑙i櫎鐮丯ET_DVR_LOCAL_CONTROLLER_STATUS
+ public byte byUseLocalController; //鍙锛屾槸鍚﹁繛鎺ュ湪灏卞湴鎺у埗鍣ㄤ笂锛0-鍚︼紝1-鏄
+ public byte byRes1;
+ public short wLocalControllerID; //鍙锛屽氨鍦版帶鍒跺櫒搴忓彿锛1-64,0浠h〃鏈敞鍐
+ public short wLocalControllerDoorNumber; //鍙锛屽氨鍦版帶鍒跺櫒鐨勯棬缂栧彿锛1-4,0浠h〃鏈敞鍐
+ public short wLocalControllerStatus; //鍙锛屽氨鍦版帶鍒跺櫒鍦ㄧ嚎鐘舵侊細0-绂荤嚎锛1-缃戠粶鍦ㄧ嚎锛2-鐜矾1涓婄殑RS485涓插彛1锛3-鐜矾1涓婄殑RS485涓插彛2锛4-鐜矾2涓婄殑RS485涓插彛1锛5-鐜矾2涓婄殑RS485涓插彛2锛6-鐜矾3涓婄殑RS485涓插彛1锛7-鐜矾3涓婄殑RS485涓插彛2锛8-鐜矾4涓婄殑RS485涓插彛1锛9-鐜矾4涓婄殑RS485涓插彛2锛堝彧璇伙級
+ public byte byLockInputCheck; //鏄惁鍚敤闂ㄩ攣杈撳叆妫娴(1瀛楄妭锛0涓嶅惎鐢紝1鍚敤锛岄粯璁や笉鍚敤)
+ public byte byLockInputType; //闂ㄩ攣杈撳叆绫诲瀷(1瀛楄妭锛0甯搁棴锛1甯稿紑锛岄粯璁ゅ父闂)
+ public byte byDoorTerminalMode; //闂ㄧ浉鍏崇瀛愬伐浣滄ā寮(1瀛楄妭锛0闃插壀闃茬煭锛1鏅氾紝榛樿闃插壀闃茬煭)
+ public byte byOpenButton; //鏄惁鍚敤寮闂ㄦ寜閽(1瀛楄妭锛0鏄紝1鍚︼紝榛樿鏄)
+ public byte byLadderControlDelayTime; //姊帶璁垮寤惰繜鏃堕棿锛1-255min
+ public byte[] byRes2 = new byte[43];
+ }
+
+ public static class NET_DVR_DOOR_STATUS_PLAN extends Structure {
+ public int dwSize;
+ public int dwTemplateNo; //璁″垝妯℃澘缂栧彿锛屼负0琛ㄧず鍙栨秷鍏宠仈锛屾仮澶嶉粯璁ょ姸鎬侊紙鏅氱姸鎬侊級
+ public byte[] byRes = new byte[64];
+ }
+
+
+ public static class NET_DVR_EVENT_CARD_LINKAGE_COND extends Structure {
+ public int dwSize;
+ public int dwEventID; //浜嬩欢ID
+ public short wLocalControllerID; //灏卞湴鎺у埗鍣ㄥ簭鍙穂1,64]
+ public byte[] byRes = new byte[106];
+ }
+
+ public static final int MAX_ALARMHOST_ALARMIN_NUM = 512;//缃戠粶鎶ヨ涓绘満鏈澶ф姤璀﹁緭鍏ュ彛鏁
+ public static final int MAX_ALARMHOST_ALARMOUT_NUM = 512;//缃戠粶鎶ヨ涓绘満鏈澶ф姤璀﹁緭鍑哄彛鏁
+
+ public static class NET_DVR_EVENT_CARD_LINKAGE_CFG_V50 extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public byte byProMode; //鑱斿姩鏂瑰紡锛0-浜嬩欢锛1-鍗″彿, 2-MAC鍦板潃
+ public byte[] byRes1 = new byte[3];
+ public int dwEventSourceID; //浜嬩欢婧怚D锛屽綋涓荤被鍨嬩负璁惧浜嬩欢鏃舵棤鏁堬紝 褰撲富绫诲瀷鏄棬浜嬩欢鏃朵负闂ㄧ紪鍙;褰撲富绫诲瀷涓鸿鍗″櫒浜嬩欢鏃讹紝涓鸿鍗″櫒ID;褰撲负鎶ヨ杈撳叆浜嬩欢鏃朵负闃插尯鎶ヨ杈撳叆ID鎴栦簨浠舵姤璀﹁緭鍏D銆0xffffffff琛ㄧず鑱斿姩鍏ㄩ儴
+ public NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo = new NET_DVR_EVETN_CARD_LINKAGE_UNION(); //鑱斿姩鏂瑰紡鍙傛暟
+ public byte[] byAlarmout = new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //鍏宠仈鐨勬姤璀﹁緭鍑哄彿锛屾寜浣嶈〃绀猴紝涓0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byRes2 = new byte[32]; //淇濈暀
+ public byte[] byOpenDoor = new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩寮闂紝0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byCloseDoor = new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩鍏抽棬锛0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byNormalOpen = new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩甯稿紑锛0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byNormalClose = new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩甯稿叧锛0-涓嶈仈鍔紝1-鑱斿姩
+ public byte byMainDevBuzzer; //涓绘満铚傞福鍣 0-涓嶈仈鍔紝1-鑱斿姩杈撳嚭
+ public byte byCapturePic; //鏄惁鑱斿姩鎶撴媿锛0-涓嶈仈鍔ㄦ姄鎷嶏紝1-鑱斿姩鎶撴媿
+ public byte byRecordVideo; //鏄惁鑱斿姩褰曞儚锛0-涓嶈仈鍔ㄥ綍鍍忥紝1-鑱斿姩褰曞儚
+ public byte[] byRes3 = new byte[29]; //淇濈暀
+ public byte[] byReaderBuzzer = new byte[MAX_CARD_READER_NUM_512]; //鑱斿姩璇诲崱鍣ㄨ渹楦e櫒锛屾寜浣嶈〃绀猴紝0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byAlarmOutClose = new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //鍏宠仈鎶ヨ杈撳嚭鍏抽棴锛屾寜瀛楄妭琛ㄧず锛屼负0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byAlarmInSetup = new byte[MAX_ALARMHOST_ALARMIN_NUM]; //鍏宠仈闃插尯甯冮槻锛屾寜瀛楄妭琛ㄧず锛屼负0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byAlarmInClose = new byte[MAX_ALARMHOST_ALARMIN_NUM]; //鍏宠仈闃插尯鎾ら槻锛屾寜瀛楄妭琛ㄧず锛屼负0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byRes = new byte[500]; //淇濈暀
+ }
+
+ public static class NET_DVR_EVENT_LINKAGE_CARD_CFG_V51 extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public byte byProMode; //鑱斿姩鏂瑰紡锛0-浜嬩欢锛1-鍗″彿锛2-MAC鍦板潃锛3-宸ュ彿锛堜汉鍛業D锛
+ public byte[] byRes1=new byte[3];
+ public int dwEventSourceID; //浜嬩欢婧怚D锛屽綋涓荤被鍨嬩负璁惧浜嬩欢鏃舵棤鏁堬紝 褰撲富绫诲瀷鏄棬浜嬩欢鏃朵负闂ㄧ紪鍙;褰撲富绫诲瀷涓鸿鍗″櫒浜嬩欢鏃讹紝涓鸿鍗″櫒ID;褰撲负鎶ヨ杈撳叆浜嬩欢鏃朵负闃插尯鎶ヨ杈撳叆ID鎴栦簨浠舵姤璀﹁緭鍏D銆0xffffffff琛ㄧず鑱斿姩鍏ㄩ儴
+ public NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //鑱斿姩鏂瑰紡鍙傛暟
+ public byte[] byAlarmout=new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //鍏宠仈鐨勬姤璀﹁緭鍑哄彿锛屾寜浣嶈〃绀猴紝涓0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byRes2=new byte[32]; //淇濈暀
+ public byte[] byOpenDoor=new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩寮闂紝0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byCloseDoor=new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩鍏抽棬锛0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byNormalOpen=new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩甯稿紑锛0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byNormalClose=new byte[MAX_DOOR_NUM_256]; //鎸変綅琛ㄧず,鏄惁鑱斿姩甯稿叧锛0-涓嶈仈鍔紝1-鑱斿姩
+ public byte byMainDevBuzzer; //涓绘満铚傞福鍣 0-涓嶈仈鍔紝1-鑱斿姩杈撳嚭
+ public byte byCapturePic; //鏄惁鑱斿姩鎶撴媿锛0-涓嶈仈鍔ㄦ姄鎷嶏紝1-鑱斿姩鎶撴媿
+ public byte byRecordVideo; //鏄惁鑱斿姩褰曞儚锛0-涓嶈仈鍔ㄥ綍鍍忥紝1-鑱斿姩褰曞儚
+ public byte byMainDevStopBuzzer; //涓绘満鍋滄铚傞福 0-涓嶈仈鍔紝1-鑱斿姩杈撳嚭
+ public short wAudioDisplayID; //鑱斿姩璇煶鎾斁ID锛0-涓嶈仈鍔紝鐩墠鑼冨洿1-32
+ public byte byAudioDisplayMode; //鑱斿姩璇煶鎾斁妯″紡锛0-鍏抽棴锛1-鍗曟鎾斁锛2-寰幆鎾斁
+ public byte[] byRes3=new byte[25]; //淇濈暀
+ public byte[] byReaderBuzzer=new byte[MAX_CARD_READER_NUM_512]; //鑱斿姩璇诲崱鍣ㄨ渹楦e櫒锛屾寜浣嶈〃绀猴紝0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byAlarmOutClose=new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //鍏宠仈鎶ヨ杈撳嚭鍏抽棴锛屾寜瀛楄妭琛ㄧず锛屼负0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byAlarmInSetup=new byte[MAX_ALARMHOST_ALARMIN_NUM]; //鍏宠仈闃插尯甯冮槻锛屾寜瀛楄妭琛ㄧず锛屼负0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byAlarmInClose=new byte[MAX_ALARMHOST_ALARMIN_NUM]; //鍏宠仈闃插尯鎾ら槻锛屾寜瀛楄妭琛ㄧず锛屼负0琛ㄧず涓嶅叧鑱旓紝涓1琛ㄧず鍏宠仈
+ public byte[] byReaderStopBuzzer=new byte[MAX_CARD_READER_NUM_512]; //鑱斿姩璇诲崱鍣ㄥ仠姝㈣渹楦o紝鎸夊瓧鑺傝〃绀猴紝0-涓嶈仈鍔紝1-鑱斿姩
+ public byte[] byRes=new byte[512]; //淇濈暀
+ }
+
+ public static class NET_DVR_EVENT_LINKAGE_INFO extends Structure {
+ public short wMainEventType; //浜嬩欢涓荤被鍨嬶紝0-璁惧浜嬩欢锛1-鎶ヨ杈撳叆浜嬩欢锛2-闂ㄤ簨浠讹紝3-璇诲崱鍣ㄤ簨浠
+ public short wSubEventType; //浜嬩欢娆$被鍨
+ public byte[] byRes = new byte[28];
+ }
+
+ public static class NET_DVR_EVETN_CARD_LINKAGE_UNION extends Union {
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鍗″彿
+ public NET_DVR_EVENT_LINKAGE_INFO struEventLinkage; //浜嬩欢鑱斿姩鏃跺弬鏁
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; //鐗╃悊MAC鍦板潃
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ }
+
+ //鍗″弬鏁伴厤缃潯浠
+ public static class NET_DVR_CARD_CFG_COND extends Structure {
+ public int dwSize;
+ public int dwCardNum;
+ public byte byCheckCardNo;
+ public byte[] ibyRes = new byte[31];
+ }
+
+ //鑾峰彇鍗″弬鏁扮殑鍙戦佹暟鎹
+ public static class NET_DVR_CARD_CFG_SEND_DATA extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[32];
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class CARDRIGHTPLAN extends Structure {
+ public byte[] byRightPlan = new byte[4];
+ }
+
+ //鍗″弬鏁
+ public static class NET_DVR_CARD_CFG extends Structure {
+ public int dwSize;
+ public int dwModifyParamType;
+ public byte[] byCardNo = new byte[32];
+ public byte byCardValid;
+ public byte byCardType;
+ public byte byLeaderCard;
+ public byte byRes1;
+ public int dwDoorRight;
+ public NET_DVR_VALID_PERIOD_CFG struValid;
+ public int dwBelongGroup;
+ public byte[] byCardPassword = new byte[8];
+ public CARDRIGHTPLAN[] byCardRightPlan = new CARDRIGHTPLAN[32];
+ public int dwMaxSwipeTime;
+ public int dwSwipeTime;
+ public short wRoomNumber;
+ public short wFloorNumber;
+ public byte[] byRes2 = new byte[20];
+ }
+
+ public int ACS_CARD_NO_LEN = 32; //闂ㄧ鍗″彿闀垮害
+ public int MAX_GROUP_NUM_128 = 128; //鏈澶х兢缁勬暟
+ public int MAX_DOOR_NUM_256 = 256; //鏈澶ч棬鏁
+ public int CARD_PASSWORD_LEN = 8; //鍗″瘑鐮侀暱搴
+ public int MAX_CARD_READER_NUM = 64; //鏈澶ц鍗″櫒鏁
+ public int MAX_DOOR_CODE_LEN = 8; //鎴块棿浠g爜闀垮害
+ public int MAX_LOCK_CODE_LEN = 8; //閿佷唬鐮侀暱搴
+ public int MAX_CARD_RIGHT_PLAN_NUM = 4; //鍗℃潈闄愭渶澶ц鍒掍釜鏁
+ public int MAX_CASE_SENSOR_NUM = 8; //鏈澶ase sensor瑙﹀彂鍣ㄦ暟
+
+ public static class CARDRIGHTPLAN_WORD extends Structure {
+ public short[] wRightPlan = new short[MAX_CARD_RIGHT_PLAN_NUM];
+ }
+
+ public static class NET_DVR_CARD_CFG_V50 extends Structure {
+ public int dwSize;
+ public int dwModifyParamType;//闇瑕佷慨鏀圭殑鍗″弬鏁帮紝璁剧疆鍗″弬鏁版椂鏈夋晥锛屾寜浣嶈〃绀猴紝姣忎綅浠h〃涓绉嶅弬鏁帮紝1涓洪渶瑕佷慨鏀癸紝0涓轰笉淇敼
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鍗″彿
+ public byte byCardValid; //鍗℃槸鍚︽湁鏁堬紝0-鏃犳晥锛1-鏈夋晥锛堢敤浜庡垹闄ゅ崱锛岃缃椂缃负0杩涜鍒犻櫎锛岃幏鍙栨椂姝ゅ瓧娈靛缁堜负1锛
+ public byte byCardType; //鍗$被鍨嬶紝1-鏅氬崱锛3-绂佹鍚嶅崟鍗★紝4-宸℃洿鍗★紝5-鑳佽揩鍗★紝6-瓒呯骇鍗★紝7-鏉ュ鍗★紝8-瑙i櫎鍗★紝9-鍛樺伐鍗★紝10-搴旀ュ崱锛11-搴旀ョ鐞嗗崱锛岄粯璁ゆ櫘閫氬崱
+ public byte byLeaderCard; //鏄惁涓洪鍗★紝1-鏄紝0-鍚
+ public byte byRes1;
+ public byte[] byDoorRight = new byte[MAX_DOOR_NUM_256]; //闂ㄦ潈闄(妤煎眰鏉冮檺)锛屾寜浣嶈〃绀猴紝1涓烘湁鏉冮檺锛0涓烘棤鏉冮檺锛屼粠浣庝綅鍒伴珮浣嶈〃绀哄闂1-N鏄惁鏈夋潈闄
+ public NET_DVR_VALID_PERIOD_CFG struValid; //鏈夋晥鏈熷弬鏁
+ public byte[] byBelongGroup = new byte[MAX_GROUP_NUM_128]; //鎵灞炵兢缁勶紝鎸夊瓧鑺傝〃绀猴紝1-灞炰簬锛0-涓嶅睘浜
+ public byte[] byCardPassword = new byte[CARD_PASSWORD_LEN]; //鍗″瘑鐮
+ public CARDRIGHTPLAN_WORD[] wCardRightPlan = new CARDRIGHTPLAN_WORD[MAX_DOOR_NUM_256]; //鍗℃潈闄愯鍒掞紝鍙栧间负璁″垝妯℃澘缂栧彿锛屽悓涓棬涓嶅悓璁″垝妯℃澘閲囩敤鏉冮檺鎴栫殑鏂瑰紡澶勭悊
+ public int dwMaxSwipeTime; //鏈澶у埛鍗℃鏁帮紝0涓烘棤娆℃暟闄愬埗锛堝紑閿佹鏁帮級
+ public int dwSwipeTime; //宸插埛鍗℃鏁
+ public short wRoomNumber; //鎴块棿鍙
+ public short wFloorNumber; //灞傚彿
+ public int dwEmployeeNo; //宸ュ彿
+ public byte[] byName = new byte[NAME_LEN]; //濮撳悕
+ public short wDepartmentNo; //閮ㄩ棬缂栧彿
+ public short wSchedulePlanNo; //鎺掔彮璁″垝缂栧彿
+ public byte bySchedulePlanType; //鎺掔彮璁″垝绫诲瀷锛0-鏃犳剰涔夈1-涓汉銆2-閮ㄩ棬
+ public byte byRightType; //涓嬪彂鏉冮檺绫诲瀷锛0-鏅氬彂鍗℃潈闄愩1-浜岀淮鐮佹潈闄愩2-钃濈墮鏉冮檺锛堝彲瑙嗗璁茶澶囦簩缁寸爜鏉冮檺閰嶇疆椤癸細鎴块棿鍙枫佸崱鍙凤紙铏氭嫙鍗″彿锛夈佹渶澶у埛鍗℃鏁帮紙寮閿佹鏁帮級銆佹湁鏁堟湡鍙傛暟锛涜摑鐗欐潈闄愶細鍗″彿锛堣悿鐭矨PP璐﹀彿锛夈佸叾浠栧弬鏁伴厤缃笌鏅氬彂鍗℃潈闄愪竴鑷达級
+ public byte[] byRes2 = new byte[2];
+ public int dwLockID; //閿両D
+ public byte[] byLockCode = new byte[MAX_LOCK_CODE_LEN]; //閿佷唬鐮
+ public byte[] byRoomCode = new byte[MAX_DOOR_CODE_LEN]; //鎴块棿浠g爜
+ public int dwCardRight; //鍗℃潈闄
+ public int dwPlanTemplate; //璁″垝妯℃澘(姣忓ぉ)鍚勬椂闂存鏄惁鍚敤锛屾寜浣嶈〃绀猴紝0--涓嶅惎鐢紝1-鍚敤
+ public int dwCardUserId; //鎸佸崱浜篒D
+ public byte byCardModelType; //0-绌猴紝1- S50锛2- S70锛3- FM1208 CPU鍗★紝4- FM1216 CPU鍗★紝5-鍥藉瘑CPU鍗★紝6-韬唤璇侊紝7- NFC
+ public byte[] byRes3 = new byte[83];
+ }
+ //鏈夋晥鏈熷弬鏁扮粨鏋勪綋
+ public static class NET_DVR_VALID_PERIOD_CFG extends Structure {
+ public byte byEnable;
+ public byte byBeginTimeFlag; //鏄惁闄愬埗璧峰鏃堕棿鐨勬爣蹇楋紝0-涓嶉檺鍒讹紝1-闄愬埗
+ public byte byEnableTimeFlag; //鏄惁闄愬埗缁堟鏃堕棿鐨勬爣蹇楋紝0-涓嶉檺鍒讹紝1-闄愬埗
+ public byte byTimeDurationNo; //鏈夋晥鏈熺储寮,浠0寮濮嬶紙鏃堕棿娈甸氳繃SDK璁剧疆缁欓攣锛屽悗缁湪鍒跺崱鏃讹紝鍙渶瑕佷紶閫掓湁鏁堟湡绱㈠紩鍗冲彲锛屼互鍑忓皯鏁版嵁閲忥級
+ public NET_DVR_TIME_EX struBeginTime;
+ public NET_DVR_TIME_EX struEndTime;
+ public byte byTimeType; //鏃堕棿绫诲瀷
+ public byte[] byRes2 = new byte[31];
+ }
+
+ //鎵╁睍缁撴瀯浣撲俊鎭
+ public static class NET_DVR_ID_CARD_INFO_EXTEND extends Structure {
+ public byte byRemoteCheck; //鏄惁闇瑕佽繙绋嬫牳楠岋紙0-鏃犳晥锛1-涓嶉渶瑕侊紙榛樿锛夛紝2-闇瑕侊級
+ public byte byThermometryUnit; //娴嬫俯鍗曚綅锛0-鎽勬皬搴︼紙榛樿锛夛紝1-鍗庢皬搴︼紝2-寮灏旀枃锛
+ public byte byIsAbnomalTemperature; //鐗瑰緛鎶撴媿娴嬫俯鏄惁娓╁害寮傚父锛1-鏄紝0-鍚
+ public byte byRes2;
+ public float fCurrTemperature; //浜鸿劯娓╁害锛堢簿纭埌灏忔暟鐐瑰悗涓浣嶏級
+ public NET_VCA_POINT struRegionCoordinates = new NET_VCA_POINT(); //浜鸿劯娓╁害鍧愭爣
+ public int dwQRCodeInfoLen; //浜岀淮鐮佷俊鎭暱搴︼紝涓嶄负0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public int dwVisibleLightDataLen; //鐑垚鍍忕浉鏈哄彲瑙佸厜鍥剧墖闀垮害锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public int dwThermalDataLen; //鐑垚鍍忓浘鐗囬暱搴︼紝涓嶄负0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pQRCodeInfo; //浜岀淮鐮佷俊鎭寚閽
+ public Pointer pVisibleLightData; //鐑垚鍍忕浉鏈哄彲瑙佸厜鍥剧墖鎸囬拡
+ public Pointer pThermalData; //鐑垚鍍忓浘鐗囨寚閽
+ public byte[] byRes = new byte[1024];
+ }
+
+ //韬唤璇佷俊鎭姤璀
+ public static class NET_DVR_ID_CARD_INFO_ALARM extends Structure {
+ public int dwSize; //缁撴瀯闀垮害
+ public NET_DVR_ID_CARD_INFO struIDCardCfg = new NET_DVR_ID_CARD_INFO();//韬唤璇佷俊鎭
+ public int dwMajor; //鎶ヨ涓荤被鍨嬶紝鍙傝冨畯瀹氫箟
+ public int dwMinor; //鎶ヨ娆$被鍨嬶紝鍙傝冨畯瀹氫箟
+ public NET_DVR_TIME_V30 struSwipeTime = new NET_DVR_TIME_V30(); //鏃堕棿
+ public byte[] byNetUser = new byte[MAX_NAMELEN];//缃戠粶鎿嶄綔鐨勭敤鎴峰悕
+ public NET_DVR_IPADDR struRemoteHostAddr = new NET_DVR_IPADDR();//杩滅▼涓绘満鍦板潃
+ public int dwCardReaderNo; //璇诲崱鍣ㄧ紪鍙凤紝涓0鏃犳晥
+ public int dwDoorNo; //闂ㄧ紪鍙凤紝涓0鏃犳晥
+ public int dwPicDataLen; //鍥剧墖鏁版嵁澶у皬锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pPicData;
+ public byte byCardType; //鍗$被鍨嬶紝1-鏅氬崱锛3-绂佹鍚嶅崟鍗★紝4-宸℃洿鍗★紝5-鑳佽揩鍗★紝6-瓒呯骇鍗★紝7-鏉ュ鍗★紝8-瑙i櫎鍗★紝涓0鏃犳晥
+ public byte byDeviceNo; // 璁惧缂栧彿锛屼负0鏃舵棤鏁堬紙鏈夋晥鑼冨洿1-255锛
+ public byte byMask; //鏄惁甯﹀彛缃╋細0-淇濈暀锛1-鏈煡锛2-涓嶆埓鍙g僵锛3-鎴村彛缃
+ public byte byCurrentEvent; //鏄惁涓哄疄鏃朵簨浠讹細0-鏃犳晥锛1-鏄紙瀹炴椂浜嬩欢锛夛紝2-鍚︼紙绂荤嚎浜嬩欢锛
+ public int dwFingerPrintDataLen; // 鎸囩汗鏁版嵁澶у皬锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pFingerPrintData;
+ public int dwCapturePicDataLen; // 鎶撴媿鍥剧墖鏁版嵁澶у皬锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pCapturePicData;
+ public int dwCertificatePicDataLen; //璇佷欢鎶撴媿鍥剧墖鏁版嵁澶у皬锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pCertificatePicData;
+ public byte byCardReaderKind; //璇诲崱鍣ㄥ睘浜庡摢涓绫伙紝0-鏃犳晥锛1-IC璇诲崱鍣紝2-韬唤璇佽鍗″櫒锛3-浜岀淮鐮佽鍗″櫒,4-鎸囩汗澶
+ public byte[] byRes3 = new byte[2];
+ public byte byIDCardInfoExtend; //pIDCardInfoExtend鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public Pointer pIDCardInfoExtend; //byIDCardInfoExtend涓1鏃讹紝琛ㄧず鎸囧悜涓涓狽ET_DVR_ID_CARD_INFO_EXTEND缁撴瀯浣
+ public int dwSerialNo; //浜嬩欢娴佹按鍙凤紝涓0鏃犳晥
+ public byte[] byRes = new byte[168];
+ }
+
+ public static final int CARD_READER_DESCRIPTION = 32; //璇诲崱鍣ㄦ弿杩
+
+ public static class NET_DVR_CARD_READER_CFG_V50 extends Structure {
+ public int dwSize;
+ public byte byEnable; //鏄惁浣胯兘锛1-浣胯兘锛0-涓嶄娇鑳
+ public byte byCardReaderType; //璇诲崱鍣ㄧ被鍨嬶紝1-DS-K110XM/MK/C/CK锛2-DS-K192AM/AMP锛3-DS-K192BM/BMP锛4-DS-K182AM/AMP锛5-DS-K182BM/BMP锛6-DS-K182AMF/ACF锛7-闊︽牴鎴485涓嶅湪绾匡紝8- DS-K1101M/MK锛9- DS-K1101C/CK锛10- DS-K1102M/MK/M-A锛11- DS-K1102C/CK锛12- DS-K1103M/MK锛13- DS-K1103C/CK锛14- DS-K1104M/MK锛15- DS-K1104C/CK锛16- DS-K1102S/SK/S-A锛17- DS-K1102G/GK锛18- DS-K1100S-B锛19- DS-K1102EM/EMK锛20- DS-K1102E/EK锛21- DS-K1200EF锛22- DS-K1200MF锛23- DS-K1200CF锛24- DS-K1300EF锛25- DS-K1300MF锛26- DS-K1300CF锛27- DS-K1105E锛28- DS-K1105M锛29- DS-K1105C锛30- DS-K182AMF锛31- DS-K196AMF锛32-DS-K194AMP锛33-DS-K1T200EF/EF-C/MF/MF-C/CF/CF-C,34-DS-K1T300EF/EF-C/MF/MF-C/CF/CF-C锛35-DS-K1T105E/E-C/M/M-C/C/C-C,36-DS-K1T803F/F-M/F-S/F-E,37-DS-K1A801F/F-M/F-S/F-E,38-DS-K1107M/MK,39-DS-K1107E/EK,40-DS-K1107S/SK,41-DS-K1108M/MK,42-DS-K1108E/EK,43-DS-K1108S/SK,44-DS-K1200F,45-DS-K1S110-I,46-DS-K1T200M-PG/PGC,47-DS-K1T200M-PZ/PZC,48-DS-K1109H
+ public byte byOkLedPolarity; //OK LED鏋佹э紝0-闃存瀬锛1-闃虫瀬
+ public byte byErrorLedPolarity; //Error LED鏋佹э紝0-闃存瀬锛1-闃虫瀬
+ public byte byBuzzerPolarity; //铚傞福鍣ㄦ瀬鎬э紝0-闃存瀬锛1-闃虫瀬
+ public byte bySwipeInterval; //閲嶅鍒峰崱闂撮殧鏃堕棿锛屽崟浣嶏細绉
+ public byte byPressTimeout; //鎸夐敭瓒呮椂鏃堕棿锛屽崟浣嶏細绉
+ public byte byEnableFailAlarm; //鏄惁鍚敤璇诲崱澶辫触瓒呮鎶ヨ锛0-涓嶅惎鐢紝1-鍚敤
+ public byte byMaxReadCardFailNum; //鏈澶ц鍗″け璐ユ鏁
+ public byte byEnableTamperCheck; //鏄惁鏀寔闃叉媶妫娴嬶紝0-disable 锛1-enable
+ public byte byOfflineCheckTime; //鎺夌嚎妫娴嬫椂闂 鍗曚綅绉
+ public byte byFingerPrintCheckLevel; //鎸囩汗璇嗗埆绛夌骇锛1-1/10璇鐜囷紝2-1/100璇鐜囷紝3-1/1000璇鐜囷紝4-1/10000璇鐜囷紝5-1/100000璇鐜囷紝6-1/1000000璇鐜囷紝7-1/10000000璇鐜囷紝8-1/100000000璇鐜囷紝9-3/100璇鐜囷紝10-3/1000璇鐜囷紝11-3/10000璇鐜囷紝12-3/100000璇鐜囷紝13-3/1000000璇鐜囷紝14-3/10000000璇鐜囷紝15-3/100000000璇鐜囷紝16-Automatic Normal,17-Automatic Secure,18-Automatic More Secure锛堢洰鍓嶉棬绂佷笉鏀寔锛
+ public byte byUseLocalController; //鍙锛屾槸鍚﹁繛鎺ュ湪灏卞湴鎺у埗鍣ㄤ笂锛0-鍚︼紝1-鏄
+ public byte byRes1;
+ public short wLocalControllerID; //鍙锛屽氨鍦版帶鍒跺櫒搴忓彿, byUseLocalController=1鏃舵湁鏁堬紝1-64,0浠h〃鏈敞鍐
+ public short wLocalControllerReaderID; //鍙锛屽氨鍦版帶鍒跺櫒鐨勮鍗″櫒ID锛宐yUseLocalController=1鏃舵湁鏁堬紝0浠h〃鏈敞鍐
+ public short wCardReaderChannel; //鍙锛岃鍗″櫒閫氫俊閫氶亾鍙凤紝byUseLocalController=1鏃舵湁鏁堬紝0闊︽牴鎴栫绾匡紝1-RS485A,2-RS485B
+ public byte byFingerPrintImageQuality; //鎸囩汗鍥惧儚璐ㄩ噺锛0-鏃犳晥锛1-浣庤川閲(V1)锛2-涓瓑璐ㄩ噺(V1)锛3-楂樿川閲(V1)锛4-鏈楂樿川閲(V1)锛5-浣庤川閲(V2)锛6-涓瓑璐ㄩ噺(V2)锛7-楂樿川閲(V2)锛8-鏈楂樿川閲(V2)
+ public byte byFingerPrintContrastTimeOut; //鎸囩汗瀵规瘮瓒呮椂鏃堕棿锛0-鏃犳晥锛岃寖鍥1-20浠h〃:1s-20s锛0xff-鏃犻檺澶
+ public byte byFingerPrintRecogizeInterval; //鎸囩汗杩炵画璇嗗埆闂撮殧锛0-鏃犳晥锛岃寖鍥1-10浠h〃:1s-10s锛0xff-鏃犲欢杩
+ public byte byFingerPrintMatchFastMode; //鎸囩汗鍖归厤蹇熸ā寮忥紝0-鏃犳晥锛岃寖鍥1-5浠h〃:蹇熸ā寮1-蹇熸ā寮5锛0xff-鑷姩
+ public byte byFingerPrintModuleSensitive; //鎸囩汗妯$粍鐏垫晱搴︼紝0-鏃犳晥锛岃寖鍥1-8浠h〃锛氱伒鏁忓害绾у埆1-鐏垫晱搴︾骇鍒8
+ public byte byFingerPrintModuleLightCondition; //鎸囩汗妯$粍鍏夌嚎鏉′欢锛0-鏃犳晥锛1-瀹ゅ锛2-瀹ゅ唴
+ public byte byFaceMatchThresholdN; //浜鸿劯姣斿闃鍊硷紝鑼冨洿0-100
+ public byte byFaceQuality; //浜鸿劯璐ㄩ噺锛岃寖鍥0-100
+ public byte byFaceRecogizeTimeOut; //鐗瑰緛璇嗗埆瓒呮椂鏃堕棿锛岃寖鍥1-20浠h〃锛1s-20s锛0xff-鏃犻檺澶
+ public byte byFaceRecogizeInterval; //浜鸿劯杩炵画璇嗗埆闂撮殧锛0-鏃犳晥锛岃寖鍥1-10浠h〃锛1s-10s锛0xff-鏃犲欢杩
+ public short wCardReaderFunction; //鍙锛岃鍗″櫒绉嶇被锛屾寜浣嶈〃绀猴細绗1浣-鎸囩汗锛岀浜屼綅-浜鸿劯锛岀涓変綅-鎸囬潤鑴
+ public byte[] byCardReaderDescription = new byte[CARD_READER_DESCRIPTION]; //璇诲崱鍣ㄦ弿杩
+ public short wFaceImageSensitometry; //鍙锛屼汉鑴稿浘鍍忔洕鍏夊害锛岃寖鍥0-65535
+ public byte byLivingBodyDetect; //鐪熶汉妫娴嬶紝0-鏃犳晥锛1-涓嶅惎鐢紝2-鍚敤
+ public byte byFaceMatchThreshold1; //浜鸿劯1:1鍖归厤闃鍊硷紝鑼冨洿0-100
+ public short wBuzzerTime; //铚傞福鏃堕棿锛岃寖鍥0s-5999s锛0-浠h〃闀块福锛
+ public byte byFaceMatch1SecurityLevel; //浜鸿劯1:1璇嗗埆瀹夊叏绛夌骇锛0-鏃犳晥锛1-涓鑸紝2-杈冨己锛3-鏋佸己
+ public byte byFaceMatchNSecurityLevel; //浜鸿劯1:N璇嗗埆瀹夊叏绛夌骇锛0-鏃犳晥锛1-涓鑸紝2-杈冨己锛3-鏋佸己
+ public byte byEnvirMode;//鐗瑰緛璇嗗埆鐜妯″紡锛0-鏃犳晥锛1-瀹ゅ唴锛2-鍏朵粬锛
+ public byte byLiveDetLevelSet;//娲讳綋妫娴嬮槇鍊肩瓑绾ц缃紝0-鏃犳晥锛1-浣庯紝2-涓紝3-楂橈紱
+ public byte byLiveDetAntiAttackCntLimit;//娲讳綋妫娴嬮槻鏀诲嚮娆℃暟锛 0-鏃犳晥锛1-255娆★紙瀹㈡埛绔佽澶囩粺涓娆℃暟闄愬埗锛屾牴鎹兘鍔涚骇闄愬埗锛夛紱
+ public byte byEnableLiveDetAntiAttack;//娲讳綋妫娴嬮槻鏀诲嚮浣胯兘锛0-鏃犳晥锛1-涓嶅惎鐢紝2-鍚敤
+ public byte bySupportDelFPByID;//鍙锛岃鍗″櫒鏄惁鏀寔鎸夋墜鎸嘔D鍒犻櫎鎸囩汗锛0-鏃犳晥锛1-涓嶆敮鎸侊紝2-鏀寔
+ public byte byFaceContrastMotionDetLevel;//浜鸿劯姣斿鏃剁Щ鍔ㄤ睛娴嬬骇鍒紝0-鏃犳晥锛1-浣庯紝2-涓紝3-楂橈紝0xff-绂佺敤
+ public byte byDayFaceMatchThresholdN; //鐧藉ぉ浜鸿劯1:N鍖归厤闃鍊硷紝鑼冨洿0-100
+ public byte byNightFaceMatchThresholdN; //澶滄櫄浜鸿劯1:N鍖归厤闃鍊硷紝鑼冨洿0-100
+ public byte byFaceRecogizeEnable; //鐗瑰緛璇嗗埆浣胯兘锛0-鏃犳晥锛1-寮鍚紝2-鍏抽棴
+ public byte byBlockListMatchThreshold; //绂佹鍚嶅崟鍖归厤闃鍊硷紝鑼冨洿0-100
+ public byte byRes3;
+ public byte byDefaultVerifyMode; //鍙锛岃鍗″櫒榛樿楠岃瘉鏂瑰紡锛堝嚭鍘傞粯璁わ級锛1-浼戠湢锛2-鍒峰崱+瀵嗙爜锛3-鍒峰崱锛4-鍒峰崱鎴栧瘑鐮侊紝5-鎸囩汗锛6-鎸囩汗+瀵嗙爜锛7-鎸囩汗鎴栧埛鍗★紝8-鎸囩汗+鍒峰崱锛9-鎸囩汗+鍒峰崱+瀵嗙爜锛10-浜鸿劯鎴栨寚绾规垨鍒峰崱鎴栧瘑鐮侊紝11-浜鸿劯+鎸囩汗锛12-浜鸿劯+瀵嗙爜锛13-浜鸿劯+鍒峰崱锛14-浜鸿劯锛15-宸ュ彿+瀵嗙爜锛16-鎸囩汗鎴栧瘑鐮侊紝17-宸ュ彿+鎸囩汗锛18-宸ュ彿+鎸囩汗+瀵嗙爜锛19-浜鸿劯+鎸囩汗+鍒峰崱锛20-浜鸿劯+瀵嗙爜+鎸囩汗锛21-宸ュ彿+浜鸿劯锛22-浜鸿劯鎴栦汉鑴+鍒峰崱锛23-鎸囩汗鎴栦汉鑴革紝24-鍒峰崱鎴栦汉鑴告垨瀵嗙爜锛25-鍒峰崱鎴栦汉鑴革紝26-鍒峰崱鎴栦汉鑴告垨鎸囩汗锛27-鍒峰崱鎴栨寚绾规垨瀵嗙爜
+ public int dwFingerPrintCapacity;//鍙锛屾寚绾瑰閲
+ public int dwFingerPrintNum;//鍙锛屽凡瀛樺湪鎸囩汗鏁伴噺
+ public byte byEnableFingerPrintNum;//鍙锛屾寚绾瑰閲忎娇鑳斤細0-涓嶄娇鑳斤紝1-浣胯兘锛堝彧鏈夊綋璇ュ瓧娈典负1-浣胯兘鏃讹紝dwFingerPrintCapacity鍜宒wFingerPrintNum鎵嶆湁鏁堬級
+ public byte[] byRes = new byte[231];
+ }
+
+ /****************
+ * 浼樺寲鎺ュ彛缁撴瀯浣撳畾涔夊紑濮
+ *************/
+
+ public static final int NET_SDK_CONFIG_STATUS_SUCCESS = 1000;
+ public static final int NET_SDK_CONFIG_STATUS_NEED_WAIT = 1001;
+ public static final int NET_SDK_CONFIG_STATUS_FINISH = 1002;
+ public static final int NET_SDK_CONFIG_STATUS_FAILED = 1003;
+ public static final int NET_SDK_CONFIG_STATUS_EXCEPTION = 1004;
+
+ public static final int NET_SDK_GET_NEXT_STATUS_SUCCESS = 1000;
+ public static final int NET_SDK_GET_NEXT_STATUS_NEED_WAIT = 1001;
+ public static final int NET_SDK_NEXT_STATUS__FINISH = 1002;
+ public static final int NET_SDK_GET_NEXT_STATUS_FAILED = 1003;
+
+ public static class NET_DVR_CARD_COND extends Structure {
+ public int dwSize;
+ public int dwCardNum; //璁剧疆鎴栬幏鍙栧崱鏁伴噺锛岃幏鍙栨椂缃负0xffffffff琛ㄧず鑾峰彇鎵鏈夊崱淇℃伅
+ public byte[] byRes = new byte[64];
+ }
+
+ public static class NET_DVR_CARD_SEND_DATA extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鍗″彿
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_CARD_RECORD extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public byte byCardType;
+ public byte byLeaderCard;
+ public byte byUserType;
+ public byte byRes1;
+ public byte[] byDoorRight = new byte[MAX_DOOR_NUM_256];
+ public NET_DVR_VALID_PERIOD_CFG struValid = new NET_DVR_VALID_PERIOD_CFG();
+ public byte[] byBelongGroup = new byte[MAX_GROUP_NUM_128];
+ public byte[] byCardPassword = new byte[CARD_PASSWORD_LEN];
+ public short[] wCardRightPlan = new short[MAX_DOOR_NUM_256];
+ public int dwMaxSwipeTimes;
+ public int dwSwipeTimes;
+ public int dwEmployeeNo;
+ public byte[] byName = new byte[NAME_LEN];
+ //鎸変綅琛ㄧず锛0-鏃犳潈闄愶紝1-鏈夋潈闄
+ //绗0浣嶈〃绀猴細寮辩數鎶ヨ
+ //绗1浣嶈〃绀猴細寮闂ㄦ彁绀洪煶
+ //绗2浣嶈〃绀猴細闄愬埗瀹㈠崱
+ //绗3浣嶈〃绀猴細閫氶亾
+ //绗4浣嶈〃绀猴細鍙嶉攣寮闂
+ //绗5浣嶈〃绀猴細宸℃洿鍔熻兘
+ public int dwCardRight;
+ public byte[] byRes = new byte[256];
+ }
+
+ public static class NET_DVR_CARD_STATUS extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public int dwErrorCode;
+ public byte byStatus; // 鐘舵侊細0-澶辫触锛1-鎴愬姛
+ public byte[] byRes = new byte[23];
+ }
+
+
+ public static class NET_DVR_FACE_COND extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public int dwFaceNum;
+ public int dwEnableReaderNo;
+ public byte[] byRes = new byte[124];
+ }
+
+ public static class NET_DVR_FACE_RECORD extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public int dwFaceLen;
+ public Pointer pFaceBuffer;
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class NET_DVR_FACE_STATUS extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public byte[] byErrorMsg = new byte[ERROR_MSG_LEN];
+ public int dwReaderNo;
+ public byte byRecvStatus;
+ public byte[] byRes = new byte[131];
+ }
+
+ public static class NET_DVR_FINGERPRINT_COND extends Structure {
+ public int dwSize;
+ public int dwFingerprintNum;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public int dwEnableReaderNo;
+ public byte byFingerPrintID;
+ public byte[] byRes = new byte[131];
+ }
+
+ public static class NET_DVR_FINGERPRINT_RECORD extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN];
+ public int dwFingerPrintLen; //鎸囩汗鏁版嵁闀垮害
+ public int dwEnableReaderNo; //闇瑕佷笅鍙戞寚绾圭殑璇诲崱鍣ㄧ紪鍙
+ public byte byFingerPrintID; //鎵嬫寚缂栧彿锛屾湁鏁堝艰寖鍥翠负1-10
+ public byte byFingerType; //鎸囩汗绫诲瀷 0-鏅氭寚绾癸紝1-鑳佽揩鎸囩汗
+ public byte[] byRes1 = new byte[30];
+ public byte[] byFingerData = new byte[MAX_FINGER_PRINT_LEN]; //鎸囩汗鏁版嵁鍐呭
+ public byte[] byRes = new byte[96];
+ }
+
+ public static class NET_DVR_FINGERPRINT_STATUS extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鎸囩汗鍏宠仈鐨勫崱鍙
+ public byte byCardReaderRecvStatus; //鎸囩汗璇诲崱鍣ㄧ姸鎬侊紝鎸夊瓧鑺傝〃绀猴紝0-澶辫触锛1-鎴愬姛锛2-璇ユ寚绾规ā缁勪笉鍦ㄧ嚎锛3-閲嶈瘯鎴栨寚绾硅川閲忓樊锛4-鍐呭瓨宸叉弧锛5-宸插瓨鍦ㄨ鎸囩汗锛6-宸插瓨鍦ㄨ鎸囩汗ID锛7-闈炴硶鎸囩汗ID锛8-璇ユ寚绾规ā缁勬棤闇閰嶇疆
+ public byte byFingerPrintID; //鎵嬫寚缂栧彿锛屾湁鏁堝艰寖鍥翠负1-10
+ public byte byFingerType; //鎸囩汗绫诲瀷 0-鏅氭寚绾癸紝1-鑳佽揩鎸囩汗
+ public byte byRecvStatus; //涓绘満閿欒鐘舵侊細0-鎴愬姛锛1-鎵嬫寚缂栧彿閿欒锛2-鎸囩汗绫诲瀷閿欒锛3-鍗″彿閿欒锛堝崱鍙疯鏍间笉绗﹀悎璁惧瑕佹眰锛夛紝4-鎸囩汗鏈叧鑱斿伐鍙锋垨鍗″彿锛堝伐鍙锋垨鍗″彿瀛楁涓虹┖锛夛紝5-宸ュ彿涓嶅瓨鍦紝6-鎸囩汗鏁版嵁闀垮害涓0锛7-璇诲崱鍣ㄧ紪鍙烽敊璇紝8-宸ュ彿閿欒
+ public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; //涓嬪彂閿欒淇℃伅锛屽綋byCardReaderRecvStatus涓5鏃讹紝琛ㄧず宸插瓨鍦ㄦ寚绾瑰搴旂殑鍗″彿
+ public int dwCardReaderNo; //褰揵yCardReaderRecvStatus涓5鏃讹紝琛ㄧず宸插瓨鍦ㄦ寚绾瑰搴旂殑鎸囩汗璇诲崱鍣ㄧ紪鍙凤紝鍙敤浜庝笅鍙戦敊璇繑鍥炪0鏃惰〃绀烘棤閿欒淇℃伅
+ public byte[] byRes = new byte[20];
+ }
+
+ public static class NET_DVR_CAPTURE_FINGERPRINT_COND extends Structure {
+ public int dwSize;
+ public byte byFingerPrintPicType; //鍥剧墖绫诲瀷锛0-鏃犳剰涔
+ public byte byFingerNo; //鎵嬫寚缂栧彿锛岃寖鍥1-10
+ public byte[] byRes = new byte[126];
+ }
+
+ //
+ public static class NET_DVR_CAPTURE_FINGERPRINT_CFG extends Structure {
+ public int dwSize;
+ public int dwFingerPrintDataSize; //鎸囩汗鏁版嵁澶у皬
+ public byte[] byFingerData = new byte[MAX_FINGER_PRINT_LEN]; //鍥剧墖绫诲瀷锛0-鏃犳剰涔
+ public int dwFingerPrintPicSize; //鎸囩汗鍥剧墖澶у皬锛岀瓑浜0鏃讹紝浠h〃鏃犳寚绾瑰浘鐗囨暟鎹
+ public Pointer pFingerPrintPicBuffer; //鎸囩汗鍥剧墖缂撳瓨
+ public byte byFingerNo; //鎵嬫寚缂栧彿锛岃寖鍥1-10
+ public byte byFingerPrintQuality; //鎸囩汗璐ㄩ噺锛岃寖鍥1-100
+ public byte[] byRes = new byte[62];
+ }
+
+ public static class NET_DVR_FINGER_PRINT_INFO_CTRL_V50 extends Structure {
+ public int dwSize;
+ public byte byMode; //鍒犻櫎鏂瑰紡锛0-鎸夊崱鍙凤紙浜哄憳ID锛夋柟寮忓垹闄わ紝1-鎸夎鍗″櫒鍒犻櫎
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public NET_DVR_DEL_FINGER_PRINT_MODE_V50 struProcessMode; //澶勭悊鏂瑰紡
+ public byte[] byRes = new byte[64]; //淇濈暀
+ }
+
+ public static class NET_DVR_DEL_FINGER_PRINT_MODE_V50 extends Union {
+ public byte[] uLen = new byte[588]; //鑱斿悎浣撻暱搴
+ public NET_DVR_FINGER_PRINT_BYCARD_V50 struByCard; //鎸夊崱鍙凤紙浜哄憳ID锛夌殑鏂瑰紡鍒犻櫎
+ public NET_DVR_FINGER_PRINT_BYREADER_V50 struByReader; //鎸夎鍗″櫒鐨勬柟寮忓垹闄
+ }
+
+ public static class NET_DVR_FINGER_PRINT_BYREADER_V50 extends Structure {
+ public int dwCardReaderNo; //鎸夊艰〃绀猴紝鎸囩汗璇诲崱鍣ㄧ紪鍙
+ public byte byClearAllCard; //鏄惁鍒犻櫎鎵鏈夊崱鐨勬寚绾逛俊鎭紝0-鎸夊崱鍙凤紙浜哄憳ID锛夊垹闄ゆ寚绾逛俊鎭紝1-鍒犻櫎鎵鏈夊崱锛堜汉鍛業D锛夌殑鎸囩汗淇℃伅
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鎸囩汗鍏宠仈鐨勫崱鍙
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ public byte[] byRes = new byte[516]; //淇濈暀
+ }
+
+ public static class NET_DVR_FINGER_PRINT_BYCARD_V50 extends Structure {
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鎸囩汗鍏宠仈鐨勫崱鍙
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //鎸囩汗鐨勮鍗″櫒淇℃伅锛屾寜浣嶈〃绀
+ public byte[] byFingerPrintID = new byte[10]; //闇瑕佸垹闄ょ殑鎵嬫寚缂栧彿锛屾寜鏁扮粍涓嬫爣锛屽艰〃绀0-涓嶅垹闄わ紝1-鍒犻櫎璇ユ寚绾
+ public byte[] byRes1 = new byte[2];
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ }
+
+ //浜鸿劯鍒犻櫎鎺у埗鍙傛暟缁撴瀯浣
+ public static class NET_DVR_FACE_PARAM_CTRL extends Structure {
+ public int dwSize;
+ public byte byMode; //鍒犻櫎鏂瑰紡锛0-鎸夊崱鍙锋柟寮忓垹闄わ紝1-鎸夎鍗″櫒鍒犻櫎
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public NET_DVR_DEL_FACE_PARAM_MODE struProcessMode = new NET_DVR_DEL_FACE_PARAM_MODE(); //澶勭悊鏂瑰紡
+ public byte[] byRes = new byte[64]; //淇濈暀
+
+ public void read() {
+ super.read();
+ switch (byMode) {
+ case 0:
+ struProcessMode.setType(NET_DVR_FACE_PARAM_BYCARD.class);
+ break;
+ case 1:
+ struProcessMode.setType(NET_DVR_FACE_PARAM_BYREADER.class);
+ break;
+ default:
+ break;
+ }
+ struProcessMode.read();
+ }
+
+ public void write() {
+ super.write();
+ struProcessMode.write();
+ }
+ }
+
+ //鎸囩汗鍒犻櫎鎺у埗鍙傛暟缁撴瀯浣
+ public static class NET_DVR_FINGER_PRINT_INFO_CTRL extends Structure {
+ public int dwSize;
+ public byte byMode; //鍒犻櫎鏂瑰紡锛0-鎸夊崱鍙锋柟寮忓垹闄わ紝1-鎸夎鍗″櫒鍒犻櫎
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public NET_DVR_DEL_FINGER_PRINT_MODE struProcessMode = new NET_DVR_DEL_FINGER_PRINT_MODE(); //澶勭悊鏂瑰紡
+ public byte[] byRes = new byte[64]; //淇濈暀
+
+ public void read() {
+ super.read();
+ switch (byMode) {
+ case 0:
+ struProcessMode.setType(NET_DVR_FINGER_PRINT_BYCARD.class);
+ break;
+ case 1:
+ struProcessMode.setType(NET_DVR_FINGER_PRINT_BYREADER.class);
+ break;
+ default:
+ break;
+ }
+ struProcessMode.read();
+ }
+
+ public void write() {
+ super.write();
+ struProcessMode.write();
+ }
+ }
+
+ public static class NET_DVR_DEL_FINGER_PRINT_MODE extends Union {
+ // public byte[] uLen = new byte[588]; //鑱斿悎浣撻暱搴
+ public NET_DVR_FINGER_PRINT_BYCARD struByCard; //鎸夊崱鍙风殑鏂瑰紡鍒犻櫎
+ public NET_DVR_FINGER_PRINT_BYREADER struByReader; //鎸夎鍗″櫒鐨勬柟寮忓垹闄
+ }
+
+ public static class NET_DVR_FINGER_PRINT_BYCARD extends Structure {
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //浜鸿劯鐨勮鍗″櫒淇℃伅锛屾寜鏁扮粍琛ㄧず
+ public byte[] byFaceID = new byte[MAX_FACE_NUM]; //闇瑕佸垹闄ょ殑浜鸿劯缂栧彿锛屾寜鏁扮粍涓嬫爣锛屽艰〃绀0-涓嶅垹闄わ紝1-鍒犻櫎璇ヤ汉鑴
+ public byte[] byRes1 = new byte[34]; //淇濈暀
+ }
+
+ public static class NET_DVR_FINGER_PRINT_BYREADER extends Structure {
+ public int dwCardReaderNo; //鎸夊艰〃绀猴紝浜鸿劯璇诲崱鍣ㄧ紪鍙
+ public byte byClearAllCard; //鏄惁鍒犻櫎鎵鏈夊崱鐨勪汉鑴镐俊鎭紝0-鎸夊崱鍙峰垹闄や汉鑴镐俊鎭紝1-鍒犻櫎鎵鏈夊崱鐨勪汉鑴镐俊鎭
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public byte[] byRes = new byte[548]; //淇濈暀
+ }
+
+ //闂ㄧ涓绘満鍙傛暟
+ public static class NET_DVR_ACS_CFG extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public byte byRS485Backup; //鏄惁鍚敤涓嬭RS485閫氫俊澶囦唤鍔熻兘锛0-涓嶅惎鐢紝1-鍚敤
+ public byte byShowCapPic; //鏄惁鏄剧ず鎶撴媿鍥剧墖锛 0-涓嶆樉绀猴紝1-鏄剧ず
+ public byte byShowCardNo; //鏄惁鏄剧ず鍗″彿锛0-涓嶆樉绀猴紝1-鏄剧ず
+ public byte byShowUserInfo; //鏄惁鏄剧ず鐢ㄦ埛淇℃伅锛0-涓嶆樉绀猴紝1-鏄剧ず
+ public byte byOverlayUserInfo;//鏄惁鍙犲姞鐢ㄦ埛淇℃伅锛0-涓嶅彔鍔狅紝1-鍙犲姞
+ public byte byVoicePrompt; //鏄惁鍚敤璇煶鎻愮ず锛0-涓嶅惎鐢紝1-鍚敤
+ public byte byUploadCapPic; //鑱斿姩鎶撴媿鏄惁涓婁紶鍥剧墖锛0-涓嶄笂浼狅紝1-涓婁紶
+ public byte bySaveCapPic; //鏄惁淇濆瓨鎶撴媿鍥剧墖锛0-涓嶄繚瀛橈紝1-淇濆瓨
+ public byte byInputCardNo; //鏄惁鏄惁鍏佽鎸夐敭杈撳叆鍗″彿锛0-涓嶅厑璁革紝1-鍏佽
+ public byte byEnableWifiDetect; //鏄惁鍚姩wifi锛0-涓嶅惎鍔紝1-鍚姩
+ public byte byEnable3G4G; //3G4G浣胯兘锛0-涓嶄娇鑳斤紝1-浣胯兘
+ public byte byProtocol;//璇诲崱鍣ㄩ氫俊鍗忚绫诲瀷锛0-绉佹湁鍗忚锛堥粯璁わ級锛1-OSDP鍗忚
+ public byte[] byRes = new byte[500];
+ }
+
+ /**************
+ * 浼樺寲鎺ュ彛缁撴瀯浣撳畾涔夌粨鏉
+ ***************************/
+ public static class NET_DVR_UPLOAD_ID_BLOCKLIST_COND extends Structure {
+ public int dwSize;
+ public int dwBlockListNum; //绂佹鍚嶅崟鏁伴噺
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class NET_DVR_UPLOAD_ID_BLOCKLIST_CFG extends Structure {
+ public int dwSize;
+ public NET_DVR_ID_CARD_INFO struIDCardCfg; //韬唤璇佷俊鎭紙璇ョ粨鏋勪綋涓鍚嶅拰韬唤璇佸彿鐮佷负蹇呭~椤癸紝鍏朵粬瀛楁涓洪夊~椤癸級
+ public byte byBlockListValid; //韬唤璇佺姝㈠悕鍗曟槸鍚︽湁鏁堬細0-鏃犳晥锛1-鏈夋晥锛堢敤浜庢寜韬唤璇佸彿鐮佸垹闄よ韩浠借瘉绂佹鍚嶅崟锛岃瀛楁涓0鏃朵唬琛ㄥ垹闄わ級
+ public byte[] byRes = new byte[127]; //棰勭暀
+ }
+
+ public static class NET_DVR_UPLOAD_ID_BLOCKLIST_STATUS extends Structure {
+ public int dwSize;
+ public byte[] byIDNum = new byte[MAX_ID_NUM_LEN]; //韬唤璇佸彿鐮
+ public byte byStatus; //鐘舵侊細0-鏃犳晥锛1-澶勭悊涓紝2-涓婁紶澶辫触锛3-鎴愬姛
+ public byte[] byRes = new byte[63];
+ }
+
+ public static class REMOTECONFIGSTATUS extends Structure {
+ public byte[] byStatus = new byte[4];
+ public byte[] byErrorCode = new byte[4];
+ }
+
+
+ //寮閿佽褰
+ public static class NET_DVR_UNLOCK_RECORD_INFO extends Structure {
+ public byte byUnlockType; //寮閿佹柟寮忥紝鍙傝僓NLOCK_TYPE_ENUM
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public byte[] byControlSrc = new byte[NAME_LEN]; //鎿嶄綔鍙戣捣婧愪俊鎭紝鍒峰崱寮閿佹椂涓哄崱鍙凤紝钃濈墮寮閿佹椂涓鸿悿鐭崇殑APP璐﹀彿锛屼簩缁寸爜寮閿佹椂涓鸿瀹㈢殑鎵嬫満鍙凤紝鍏朵綑鎯呭喌涓嬩负璁惧缂栧彿
+ public int dwPicDataLen; //鍥剧墖鏁版嵁闀垮害
+ public Pointer pImage; //鍥剧墖鎸囬拡
+ public int dwCardUserID; //鎸佸崱浜篒D
+ public short nFloorNumber;//鍒峰崱寮閿佹椂鏈夋晥锛屼负妤煎眰鍙
+ public short wRoomNumber; //鎿嶄綔鍙戣捣婧愰檮鍔犱俊鎭紝鍒峰崱寮閿佹椂鏈夋晥锛屼负鎴块棿鍙凤紝
+ public short wLockID; //锛堝浜庨棬鍙f満锛0-琛ㄧず鏈満鎺у埗鍣ㄤ笂鎺ョ殑閿併1-琛ㄧず澶栨帴鎺у埗鍣ㄤ笂鎺ョ殑閿侊級
+ public byte[] byRes2 = new byte[2];
+ public byte[] byLockName = new byte[LOCK_NAME_LEN]; //鍒峰崱寮閿佹椂鏈夋晥锛岄攣鍚嶇О锛屽搴旈棬鍙傛暟閰嶇疆涓棬鍚嶇О
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ public byte[] byRes = new byte[136]; //淇濈暀
+ }
+
+ //鍏憡淇℃伅闃呰鍥炴墽
+ public static class NET_DVR_NOTICEDATA_RECEIPT_INFO extends Structure {
+ public byte[] byNoticeNumber = new byte[MAX_NOTICE_NUMBER_LEN]; //鍏憡缂栧彿
+ public byte[] byRes = new byte[224]; //淇濈暀
+ }
+
+ //璁よ瘉璁板綍锛堣澶囨湭瀹炵幇锛
+ public static class NET_DVR_AUTH_INFO extends Structure {
+ public byte byAuthResult; //璁よ瘉缁撴灉锛0-鏃犳晥锛1-璁よ瘉鎴愬姛锛2-璁よ瘉澶辫触
+ public byte byAuthType; //璁よ瘉鏂瑰紡锛0-鏃犳晥锛1-鎸囩汗锛2-浜鸿劯
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN/*32*/]; //鍗″彿
+ public int dwPicDataLen; //鍥剧墖鏁版嵁闀垮害锛堝綋璁よ瘉鏂瑰紡byAuthType涓轰汉鑴告椂鏈夋晥锛
+ public Pointer pImage; //鍥剧墖鎸囬拡锛堝綋璁よ瘉鏂瑰紡byAuthType涓轰汉鑴告椂鏈夋晥锛
+ public byte[] byRes = new byte[212]; //淇濈暀
+ }
+
+ //杞︾墝淇℃伅涓婁紶
+ public static class NET_DVR_UPLOAD_PLATE_INFO extends Structure {
+ public byte[] sLicense = new byte[MAX_LICENSE_LEN]; //杞︾墝鍙风爜
+ public byte byColor; //杞︾墝棰滆壊锛屽弬鑰冪粨鏋刅CA_PLATE_COLOR
+ public byte[] byRes = new byte[239]; //淇濈暀
+ }
+
+ public static class NET_DVR_SEND_CARD_INFO extends Structure {
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN/*32*/]; //鍗″彿
+ public byte[] byRes = new byte[224]; //淇濈暀
+ }
+
+ //闃插尯鎶ヨ淇℃伅缁撴瀯浣
+ public static class NET_DVR_ZONE_ALARM_INFO extends Structure {
+ public byte[] byZoneName = new byte[NAME_LEN]; //闃插尯鍚嶇О
+ public int dwZonendex;//闃插尯鍙
+ public byte byZoneType;//闃插尯绫诲瀷 ENUM_ALARM_ZONE_TYPE_MANUAL-绱фュ紑鍏虫姤璀;ENUM_ALARM_ZONE_TYPE_MAGNETIC-闂ㄧ鎶ヨ;ENUM_ALARM_ZONE_TYPE_SMOKE-鐑熸劅鎶ヨ;ENUM_ALARM_ZONE_TYPE_ACTIVE_INFRARED-涓诲姩绾㈠鎶ヨ;ENUM_ALARM_ZONE_TYPE_PASSIVE_INFRARED-琚姩绾㈠鎶ヨ;ENUM_ALARM_ZONE_TYPE_GAS-鐓ゆ皵鎶ヨ
+ public byte[] byRes = new byte[219]; //淇濈暀,缃负0
+ }
+ //鍙瀵硅鎶ヨ淇℃伅鑱斿悎浣
+ public static class NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION extends Union {
+ public byte[] byLen = new byte[256]; //鑱斿悎浣撳ぇ灏
+ public NET_DVR_ZONE_ALARM_INFO struZoneAlarm = new NET_DVR_ZONE_ALARM_INFO(); //寮閿佽褰
+ }
+
+ //鍙瀵硅鎶ヨ淇℃伅缁撴瀯浣
+ public static class NET_DVR_VIDEO_INTERCOM_ALARM extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX(); //鏃堕棿
+ public byte[] byDevNumber = new byte[MAX_DEV_NUMBER_LEN]; //璁惧缂栧彿
+ public byte byAlarmType;//鎶ヨ绫诲瀷锛1- 闃插尯鎶ヨ锛2- 闃叉媶鎶ヨ锛3- 鍔寔鎶ヨ锛4- 澶氭瀵嗙爜寮閿佸け璐ユ姤璀︼紝5- 闂ㄦ病寮锛6- 闂ㄦ病鍏筹紝7- SOS(鍛兼晳鎶ヨ)锛8- 閫氳瘽瀵硅锛9- 鏅鸿兘閿佸姭鎸佹寚绾规姤璀︼紝
+ // 10- 鏅鸿兘閿佸姭鎸佸瘑鐮佹姤璀︼紝11- 鏅鸿兘閿佹挰闂ㄦ姤璀︼紝12- 鏅鸿兘閿侀棬閿侀攣瀹氭姤璀︼紝13- 鏅鸿兘閿佺數閲忎笉瓒虫姤璀, 14-绂佹鍚嶅崟鎶ヨ, 15-鏅鸿兘閿佹帀绾, 16-闂ㄧ瀹夊叏妯″潡闃叉媶鎶ヨ
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION uAlarmInfo = new NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION(); //鎶ヨ淇℃伅锛宐yAlarmType涓1鏃舵湁鏁
+ public short wLockID; //閿両D锛岋紙0-琛ㄧず闂ㄥ彛鏈烘湰鏈烘帶鍒跺櫒涓婃帴鐨勯攣銆1-琛ㄧず澶栨帴鎺у埗鍣ㄤ笂鎺ョ殑閿侊級锛堟姤璀︾被鍨嬩负5鍜6鏃舵湁鏁堬級
+ public byte[] byRes2 = new byte[254]; //淇濈暀锛岀疆涓0
+ }
+
+ //鍙瀵硅浜嬩欢璁板綍淇℃伅鑱斿悎浣
+ public static class NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON extends Union {
+ public byte[] byLen = new byte[256]; //鑱斿悎浣撳ぇ灏
+ public NET_DVR_UNLOCK_RECORD_INFO struUnlockRecord = new NET_DVR_UNLOCK_RECORD_INFO(); //寮閿佽褰
+ public NET_DVR_NOTICEDATA_RECEIPT_INFO struNoticedataReceipt = new NET_DVR_NOTICEDATA_RECEIPT_INFO(); //鍏憡淇℃伅闃呰鍥炴墽
+ public NET_DVR_AUTH_INFO struAuthInfo = new NET_DVR_AUTH_INFO(); //璁よ瘉璁板綍锛堣澶囨湭瀹炵幇锛
+ public NET_DVR_UPLOAD_PLATE_INFO struUploadPlateInfo = new NET_DVR_UPLOAD_PLATE_INFO(); //杞︾墝淇℃伅涓婁紶
+ public NET_DVR_SEND_CARD_INFO struSendCardInfo = new NET_DVR_SEND_CARD_INFO(); //闂ㄥ彛鏈哄彂鍗,瀵瑰簲璁惧澶勪簬鍙戝崱鐘舵侊紝鍒峰崱鏃朵笂浼犺浜嬩欢
+ }
+
+ //鍙瀵硅浜嬩欢璁板綍
+ public static class NET_DVR_VIDEO_INTERCOM_EVENT extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX(); //鏃堕棿
+ public byte[] byDevNumber = new byte[MAX_DEV_NUMBER_LEN]; //璁惧缂栧彿
+ public byte byEventType; //浜嬩欢淇℃伅绫诲瀷锛1-寮閿佽褰曪紝2-鍏憡淇℃伅闃呰鍥炴墽锛3-璁よ瘉璁板綍锛4-杞︾墝淇℃伅涓婁紶锛5闈炴硶鍗″埛鍗′簨浠讹紝6-闂ㄥ彛鏈哄彂鍗¤褰(闇瑕佸惎鍔ㄩ棬鍙f満鍙戝崱鍔熻兘锛屽埛鍗℃椂鎵嶄細涓婁紶璇ヤ簨浠)
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON uEventInfo = new NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON(); //浜嬩欢淇℃伅锛屽叿浣撳唴瀹瑰弬鑰僢yEventType鍙栧
+ public int dwIOTChannelNo; //IOT閫氶亾鍙
+ public byte[] byRes2 = new byte[252]; //淇濈暀
+ }
+
+ public static class NET_DVR_CONTROL_GATEWAY extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public int dwGatewayIndex; //闂ㄧ搴忓彿锛屼粠1寮濮
+ public byte byCommand; //鎿嶄綔鍛戒护锛0-鍏抽棴锛1-鎵撳紑锛2-甯稿紑锛堥氶亾鐘舵侊級锛3-鎭㈠锛堟櫘閫氱姸鎬侊級
+ public byte byLockType; //閿佺被鍨嬶紝0-鏅氾紙浠ュ墠榛樿閮戒负0锛,1-鏅鸿兘閿
+ public short wLockID; //閿両D锛屼粠1寮濮嬶紙杩滅▼寮闂ㄥ彛鏈洪攣鏃讹紝0琛ㄧず闂ㄥ彛鏈烘湰鏈烘帶鍒跺櫒涓婃帴鐨勯攣銆1琛ㄧず澶栨帴鎺у埗鍣ㄤ笂鎺ョ殑閿侊級
+ public byte[] byControlSrc = new byte[NAME_LEN]; //鎿嶄綔鍙戣捣婧愪俊鎭
+ public byte byControlType; //寮閿佺被鍨嬶紝1-甯冮槻锛2-閫氳瘽
+ public byte[] byRes3 = new byte[3];
+ public byte[] byPassword = new byte[PASSWD_LEN]; //閿佸瘑鐮侊紝褰揵yLockType涓烘櫤鑳介攣鏃舵湁鏁
+ public byte[] byRes2 = new byte[108]; //淇濈暀
+ }
+
+
+ //鍏憡鍥剧墖淇℃伅缁撴瀯浣
+ public static class NET_DVR_NOTICE_PIC extends Structure {
+ public Pointer pPicData; //鍥剧墖鎸囬拡
+ public int dwPicDataLen; //鍥剧墖鏁版嵁闀垮害
+ public byte[] byRes = new byte[32]; //淇濈暀
+ }
+
+ //鍏憡鏁版嵁
+ public static class NET_DVR_NOTICE_DATA extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public NET_DVR_TIME_EX struTime = new NET_DVR_TIME_EX(); //鍏憡鏃堕棿
+ public byte[] byNoticeNumber = new byte[MAX_NOTICE_NUMBER_LEN]; //鍏憡缂栧彿
+ public byte[] byNoticeTheme = new byte[MAX_NOTICE_THEME_LEN];//鍏憡涓婚
+ public byte[] byNoticeDetail = new byte[MAX_NOTICE_DETAIL_LEN]; //鍏憡璇︽儏
+ public byte byLevel; //鍏憡绛夌骇锛1-骞垮憡绫讳俊鎭紱2-鐗╀笟淇℃伅锛3-鎶ヨ绫讳俊鎭;4-閫氱煡绫讳俊鎭
+ public byte byPicNum; //鍏憡鍥剧墖鏁伴噺
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public NET_DVR_NOTICE_PIC[] struNoticePic = new NET_DVR_NOTICE_PIC[MAX_NOTICE_PIC_NUM]; //鍏憡鍥剧墖
+ public byte[] byRes2 = new byte[128]; //淇濈暀
+ }
+
+ public static class NET_DVR_DATE extends Structure {
+ public short wYear; //骞
+ public byte byMonth; //鏈
+ public byte byDay; //鏃
+ }
+
+ //韬唤璇佷俊鎭
+ public static class NET_DVR_ID_CARD_INFO extends Structure {
+ public int dwSize; //缁撴瀯闀垮害
+ public byte[] byName = new byte[MAX_ID_NAME_LEN]; //濮撳悕
+ public NET_DVR_DATE struBirth; //鍑虹敓鏃ユ湡
+ public byte[] byAddr = new byte[MAX_ID_ADDR_LEN]; //浣忓潃
+ public byte[] byIDNum = new byte[MAX_ID_NUM_LEN]; //韬唤璇佸彿鐮
+ public byte[] byIssuingAuthority = new byte[MAX_ID_ISSUING_AUTHORITY_LEN]; //绛惧彂鏈哄叧
+ public NET_DVR_DATE struStartDate; //鏈夋晥寮濮嬫棩鏈
+ public NET_DVR_DATE struEndDate; //鏈夋晥鎴鏃ユ湡
+ public byte byTermOfValidity; //鏄惁闀挎湡鏈夋晥锛 0-鍚︼紝1-鏄紙鏈夋晥鎴鏃ユ湡鏃犳晥锛
+ public byte bySex; //鎬у埆锛1-鐢凤紝2-濂
+ public byte byNation; //
+ public byte[] byRes = new byte[101];
+ }
+
+ public static class NET_DVR_ACS_EVENT_INFO_EXTEND_V20 extends Structure {
+ public byte byRemoteCheck; //鏄惁闇瑕佽繙绋嬫牳楠岋紙0-鏃犳晥锛1-涓嶉渶瑕侊紙榛樿锛夛紝2-闇瑕侊級
+ public byte byThermometryUnit; //娴嬫俯鍗曚綅锛0-鎽勬皬搴︼紙榛樿锛夛紝1-鍗庢皬搴︼紝2-寮灏旀枃锛
+ public byte byIsAbnomalTemperature; //鐗瑰緛鎶撴媿娴嬫俯鏄惁娓╁害寮傚父锛1-鏄紝0-鍚
+ public byte byRes2;
+ public float fCurrTemperature; //浜鸿劯娓╁害锛堢簿纭埌灏忔暟鐐瑰悗涓浣嶏級
+ public NET_VCA_POINT struRegionCoordinates = new NET_VCA_POINT(); //浜鸿劯娓╁害鍧愭爣
+ public int dwQRCodeInfoLen; //浜岀淮鐮佷俊鎭暱搴︼紝涓嶄负0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public int dwVisibleLightDataLen; //鐑垚鍍忕浉鏈哄彲瑙佸厜鍥剧墖闀垮害锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public int dwThermalDataLen; //鐑垚鍍忓浘鐗囬暱搴︼紝涓嶄负0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pQRCodeInfo; //浜岀淮鐮佷俊鎭寚閽
+ public Pointer pVisibleLightData; //鐑垚鍍忕浉鏈哄彲瑙佸厜鍥剧墖鎸囬拡
+ public Pointer pThermalData; //鐑垚鍍忓浘鐗囨寚閽
+ public byte[] byRes = new byte[1024];
+
+
+ }
+
+ //闂ㄧ涓绘満鎶ヨ淇℃伅缁撴瀯浣
+ public static class NET_DVR_ACS_ALARM_INFO extends Structure {
+ public int dwSize;
+ public int dwMajor; //鎶ヨ涓荤被鍨嬶紝鍙傝冨畯瀹氫箟
+ public int dwMinor; //鎶ヨ娆$被鍨嬶紝鍙傝冨畯瀹氫箟
+ public NET_DVR_TIME struTime = new NET_DVR_TIME(); //鏃堕棿
+ public byte[] sNetUser = new byte[MAX_NAMELEN];//缃戠粶鎿嶄綔鐨勭敤鎴峰悕
+ public NET_DVR_IPADDR struRemoteHostAddr = new NET_DVR_IPADDR();//杩滅▼涓绘満鍦板潃
+ public NET_DVR_ACS_EVENT_INFO struAcsEventInfo = new NET_DVR_ACS_EVENT_INFO(); //璇︾粏鍙傛暟
+ public int dwPicDataLen; //鍥剧墖鏁版嵁澶у皬锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pPicData;
+ public short wInductiveEventType; //褰掔撼浜嬩欢绫诲瀷锛0-鏃犳晥锛屽鎴风鍒ゆ柇璇ュ间负闈0鍊煎悗锛屾姤璀︾被鍨嬮氳繃褰掔撼浜嬩欢绫诲瀷鍖哄垎锛屽惁鍒欓氳繃鍘熸湁鎶ヨ涓绘绫诲瀷锛坉wMajor銆乨wMinor锛夊尯鍒
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public byte byRes1; //淇濈暀瀛楄妭
+ public int dwIOTChannelNo; //IOT閫氶亾鍙
+ public Pointer pAcsEventInfoExtend; //byAcsEventInfoExtend涓1鏃讹紝琛ㄧず鎸囧悜涓涓狽ET_DVR_ACS_EVENT_INFO_EXTEND缁撴瀯浣
+ public byte byAcsEventInfoExtend; //pAcsEventInfoExtend鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public byte byTimeType; //鏃堕棿绫诲瀷锛0-璁惧鏈湴鏃堕棿锛1-UTC鏃堕棿锛坰truTime鐨勬椂闂达級
+ public byte byRes2; //淇濈暀瀛楄妭
+ public byte byAcsEventInfoExtendV20; //pAcsEventInfoExtendV20鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public Pointer pAcsEventInfoExtendV20; //byAcsEventInfoExtendV20涓1鏃讹紝琛ㄧず鎸囧悜涓涓狽ET_DVR_ACS_EVENT_INFO_EXTEND_V20缁撴瀯浣
+ public byte[] byRes = new byte[4];
+ }
+
+ //闂ㄧ涓绘満浜嬩欢淇℃伅
+ public static class NET_DVR_ACS_EVENT_INFO extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[32];
+ public byte byCardType;
+ public byte byAllowListNo;
+ public byte byReportChannel;
+ public byte byCardReaderKind;
+ public int dwCardReaderNo;
+ public int dwDoorNo;
+ public int dwVerifyNo;
+ public int dwAlarmInNo;
+ public int dwAlarmOutNo;
+ public int dwCaseSensorNo;
+ public int dwRs485No;
+ public int dwMultiCardGroupNo;
+ public short wAccessChannel;
+ public byte byDeviceNo;
+ public byte byDistractControlNo;
+ public int dwEmployeeNo;
+ public short wLocalControllerID;
+ public byte byInternetAccess;
+ public byte byType;
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; //鐗╃悊鍦板潃锛屼负0鏃犳晥
+ public byte bySwipeCardType;//鍒峰崱绫诲瀷锛0-鏃犳晥锛1-浜岀淮鐮
+ public byte byMask; //鏄惁甯﹀彛缃╋細0-淇濈暀锛1-鏈煡锛2-涓嶆埓鍙g僵锛3-鎴村彛缃
+ public int dwSerialNo; //浜嬩欢娴佹按鍙凤紝涓0鏃犳晥
+ public byte byChannelControllerID; //閫氶亾鎺у埗鍣↖D锛屼负0鏃犳晥锛1-涓婚氶亾鎺у埗鍣紝2-浠庨氶亾鎺у埗鍣
+ public byte byChannelControllerLampID; //閫氶亾鎺у埗鍣ㄧ伅鏉縄D锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public byte byChannelControllerIRAdaptorID; //閫氶亾鎺у埗鍣ㄧ孩澶栬浆鎺ユ澘ID锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public byte byChannelControllerIREmitterID; //閫氶亾鎺у埗鍣ㄧ孩澶栧灏処D锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public byte byHelmet;//鍙夛紝鏄惁鎴村畨鍏ㄥ附锛0-淇濈暀锛1-鏈煡锛2-涓嶆埓瀹夊叏, 3-鎴村畨鍏ㄥ附
+ public byte[] byRes = new byte[3];
+ }
+
+ public static final int NET_DEV_NAME_LEN = 64;
+
+ public static class NET_DVR_ACS_EVENT_INFO_EXTEND extends Structure {
+ public int dwFrontSerialNo; //浜嬩欢娴佹按鍙凤紝涓0鏃犳晥锛堣嫢璇ュ瓧娈典负0锛屽钩鍙版牴鎹甦wSerialNo鍒ゆ柇鏄惁涓㈠け浜嬩欢锛涜嫢璇ュ瓧娈典笉涓0锛屽钩鍙版牴鎹瀛楁鍜宒wSerialNo瀛楁鍏卞悓鍒ゆ柇鏄惁涓㈠け浜嬩欢锛夛紙涓昏鐢ㄤ簬瑙e喅鎶ヨ璁㈤槄鍚庡鑷磀wSerialNo涓嶈繛缁殑鎯呭喌锛
+ public byte byUserType; //浜哄憳绫诲瀷锛0-鏃犳晥锛1-鏅氫汉锛堜富浜猴級锛2-鏉ュ锛堣瀹級锛3-绂佹鍚嶅崟浜猴紝4-绠$悊鍛
+ public byte byCurrentVerifyMode; //璇诲崱鍣ㄥ綋鍓嶉獙璇佹柟寮忥細0-鏃犳晥锛1-浼戠湢锛2-鍒峰崱+瀵嗙爜锛3-鍒峰崱锛4-鍒峰崱鎴栧瘑鐮侊紝5-鎸囩汗锛6-鎸囩汗+瀵嗙爜锛7-鎸囩汗鎴栧埛鍗★紝8-鎸囩汗+鍒峰崱锛9-鎸囩汗+鍒峰崱+瀵嗙爜锛10-浜鸿劯鎴栨寚绾规垨鍒峰崱鎴栧瘑鐮侊紝11-浜鸿劯+鎸囩汗锛12-浜鸿劯+瀵嗙爜锛13-浜鸿劯+鍒峰崱锛14-浜鸿劯锛15-宸ュ彿+瀵嗙爜锛16-鎸囩汗鎴栧瘑鐮侊紝17-宸ュ彿+鎸囩汗锛18-宸ュ彿+鎸囩汗+瀵嗙爜锛19-浜鸿劯+鎸囩汗+鍒峰崱锛20-浜鸿劯+瀵嗙爜+鎸囩汗锛21-宸ュ彿+浜鸿劯锛22-浜鸿劯鎴栦汉鑴+鍒峰崱锛23-鎸囩汗鎴栦汉鑴革紝24-鍒峰崱鎴栦汉鑴告垨瀵嗙爜锛25-鍒峰崱鎴栦汉鑴革紝26-鍒峰崱鎴栦汉鑴告垨鎸囩汗锛27-鍒峰崱鎴栨寚绾规垨瀵嗙爜
+ public byte byCurrentEvent; //鏄惁涓哄疄鏃朵簨浠讹細0-鏃犳晥锛1-鏄紙瀹炴椂浜嬩欢锛夛紝2-鍚︼紙绂荤嚎浜嬩欢锛
+ public byte byPurePwdVerifyEnable; //璁惧鏄惁鏀寔绾瘑鐮佽璇侊紝 0-涓嶆敮鎸侊紝1-鏀寔
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛夛紙瀵逛簬璁惧鏉ヨ锛屽鏋滀娇鐢ㄤ簡宸ュ彿锛堜汉鍛業D锛夊瓧娈碉紝byEmployeeNo涓瀹氳浼犻掞紝濡傛灉byEmployeeNo鍙浆鎹负dwEmployeeNo锛岄偅涔堣瀛楁涔熻浼犻掞紱瀵逛簬涓婂眰骞冲彴鎴栧鎴风鏉ヨ锛屼紭鍏堣В鏋恇yEmployeeNo瀛楁锛屽璇ュ瓧娈典负绌猴紝鍐嶈冭檻瑙f瀽dwEmployeeNo瀛楁锛
+ public byte byAttendanceStatus; //鑰冨嫟鐘舵侊細0-鏈畾涔,1-涓婄彮锛2-涓嬬彮锛3-寮濮嬩紤鎭紝4-缁撴潫浼戞伅锛5-寮濮嬪姞鐝紝6-缁撴潫鍔犵彮
+ public byte byStatusValue; //鑰冨嫟鐘舵佸
+ public byte[] byRes2 = new byte[2];
+ public byte[] byUUID = new byte[NET_SDK_UUID_LEN/*36*/]; //UUID锛堣瀛楁浠呭湪瀵规帴钀ょ煶骞冲彴杩囩▼涓墠浼氫娇鐢級
+ public byte[] byDeviceName = new byte[NET_DEV_NAME_LEN/*64*/]; //璁惧搴忓垪鍙
+ public byte[] byRes = new byte[24];
+
+ }
+
+ /*
+ 闂ㄧ涓绘満鎶ヨ浜嬩欢缁嗚妭缁撴瀯浣
+ */
+ public static class NET_DVR_ACS_EVENT_DETAIL extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鍗″彿锛坢ac鍦板潃锛夛紝涓0鏃犳晥
+ public byte byCardType; //鍗$被鍨嬶紝1-鏅氬崱锛3-绂佹鍚嶅崟鍗★紝4-宸℃洿鍗★紝5-鑳佽揩鍗★紝6-瓒呯骇鍗★紝7-鏉ュ鍗★紝8-瑙i櫎鍗★紝涓0鏃犳晥
+ public byte byAllowListNo; //鍏佽鍚嶅崟鍗曞彿,1-8锛屼负0鏃犳晥
+ public byte byReportChannel; //鎶ュ憡涓婁紶閫氶亾锛1-甯冮槻涓婁紶锛2-涓績缁1涓婁紶锛3-涓績缁2涓婁紶锛屼负0鏃犳晥
+ public byte byCardReaderKind; //璇诲崱鍣ㄥ睘浜庡摢涓绫伙紝0-鏃犳晥锛1-IC璇诲崱鍣紝2-韬唤璇佽鍗″櫒锛3-浜岀淮鐮佽鍗″櫒,4-鎸囩汗澶
+ public int dwCardReaderNo; //璇诲崱鍣ㄧ紪鍙凤紝涓0鏃犳晥
+ public int dwDoorNo; //闂ㄧ紪鍙凤紙妤煎眰缂栧彿锛夛紝涓0鏃犳晥
+ public int dwVerifyNo; //澶氶噸鍗¤璇佸簭鍙凤紝涓0鏃犳晥
+ public int dwAlarmInNo; //鎶ヨ杈撳叆鍙凤紝涓0鏃犳晥
+ public int dwAlarmOutNo; //鎶ヨ杈撳嚭鍙凤紝涓0鏃犳晥
+ public int dwCaseSensorNo; //浜嬩欢瑙﹀彂鍣ㄧ紪鍙
+ public int dwRs485No; //RS485閫氶亾鍙凤紝涓0鏃犳晥
+ public int dwMultiCardGroupNo; //缇ょ粍缂栧彿
+ public short wAccessChannel; //浜哄憳閫氶亾鍙
+ public byte byDeviceNo; //璁惧缂栧彿锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public byte byDistractControlNo;//鍒嗘帶鍣ㄧ紪鍙凤紝涓0鏃犳晥
+ public int dwEmployeeNo; //宸ュ彿锛屼负0鏃犳晥
+ public short wLocalControllerID; //灏卞湴鎺у埗鍣ㄧ紪鍙凤紝0-闂ㄧ涓绘満锛1-64浠h〃灏卞湴鎺у埗鍣
+ public byte byInternetAccess; //缃戝彛ID锛氾紙1-涓婅缃戝彛1,2-涓婅缃戝彛2,3-涓嬭缃戝彛1锛
+ public byte byType; //闃插尯绫诲瀷锛0:鍗虫椂闃插尯,1-24灏忔椂闃插尯,2-寤舵椂闃插尯 ,3-鍐呴儴闃插尯锛4-閽ュ寵闃插尯 5-鐏闃插尯 6-鍛ㄧ晫闃插尯 7-24灏忔椂鏃犲0闃插尯 8-24灏忔椂杈呭姪闃插尯锛9-24灏忔椂闇囧姩闃插尯,10-闂ㄧ绱фュ紑闂ㄩ槻鍖猴紝11-闂ㄧ绱фュ叧闂ㄩ槻鍖 0xff-鏃
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; //鐗╃悊鍦板潃锛屼负0鏃犳晥
+ public byte bySwipeCardType;//鍒峰崱绫诲瀷锛0-鏃犳晥锛1-浜岀淮鐮
+ public byte byEventAttribute; //浜嬩欢灞炴э細0-鏈畾涔夛紝1-鍚堟硶璁よ瘉锛2-鍏跺畠
+ public int dwSerialNo; //浜嬩欢娴佹按鍙凤紝涓0鏃犳晥
+ public byte byChannelControllerID; //閫氶亾鎺у埗鍣↖D锛屼负0鏃犳晥锛1-涓婚氶亾鎺у埗鍣紝2-浠庨氶亾鎺у埗鍣
+ public byte byChannelControllerLampID; //閫氶亾鎺у埗鍣ㄧ伅鏉縄D锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public byte byChannelControllerIRAdaptorID; //閫氶亾鎺у埗鍣ㄧ孩澶栬浆鎺ユ澘ID锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public byte byChannelControllerIREmitterID; //閫氶亾鎺у埗鍣ㄧ孩澶栧灏処D锛屼负0鏃犳晥锛堟湁鏁堣寖鍥1-255锛
+ public int dwRecordChannelNum; //褰曞儚閫氶亾鏁扮洰
+ public Pointer pRecordChannelData;//褰曞儚閫氶亾锛屽ぇ灏忎负sizeof(DWORD)* dwRecordChannelNum
+ public byte byUserType; //浜哄憳绫诲瀷锛0-鏃犳晥锛1-鏅氫汉锛堜富浜猴級锛2-鏉ュ锛堣瀹級锛3-绂佹鍚嶅崟浜猴紝4-绠$悊鍛
+ public byte byCurrentVerifyMode; //璇诲崱鍣ㄥ綋鍓嶉獙璇佹柟寮忥細0-鏃犳晥锛1-浼戠湢锛2-鍒峰崱+瀵嗙爜锛3-鍒峰崱锛4-鍒峰崱鎴栧瘑鐮侊紝5-鎸囩汗锛6-鎸囩汗+瀵嗙爜锛7-鎸囩汗鎴栧埛鍗★紝8-鎸囩汗+鍒峰崱锛9-鎸囩汗+鍒峰崱+瀵嗙爜锛10-浜鸿劯鎴栨寚绾规垨鍒峰崱鎴栧瘑鐮侊紝11-浜鸿劯+鎸囩汗锛12-浜鸿劯+瀵嗙爜锛
+ //13-浜鸿劯+鍒峰崱锛14-浜鸿劯锛15-宸ュ彿+瀵嗙爜锛16-鎸囩汗鎴栧瘑鐮侊紝17-宸ュ彿+鎸囩汗锛18-宸ュ彿+鎸囩汗+瀵嗙爜锛19-浜鸿劯+鎸囩汗+鍒峰崱锛20-浜鸿劯+瀵嗙爜+鎸囩汗锛21-宸ュ彿+浜鸿劯锛22-浜鸿劯鎴栦汉鑴+鍒峰崱锛23-鎸囩汗鎴栦汉鑴革紝24-鍒峰崱鎴栦汉鑴告垨瀵嗙爜锛25-鍒峰崱鎴栦汉鑴革紝26-鍒峰崱鎴栦汉鑴告垨鎸囩汗锛27-鍒峰崱鎴栨寚绾规垨瀵嗙爜
+ public byte byAttendanceStatus; //鑰冨嫟鐘舵侊細0-鏈畾涔,1-涓婄彮锛2-涓嬬彮锛3-寮濮嬩紤鎭紝4-缁撴潫浼戞伅锛5-寮濮嬪姞鐝紝6-缁撴潫鍔犵彮
+ public byte byStatusValue; //鑰冨嫟鐘舵佸
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛夛紙瀵逛簬璁惧鏉ヨ锛屽鏋滀娇鐢ㄤ簡宸ュ彿锛堜汉鍛業D锛夊瓧娈碉紝byEmployeeNo涓瀹氳浼犻掞紝濡傛灉byEmployeeNo鍙浆鎹负dwEmployeeNo锛岄偅涔堣瀛楁涔熻浼犻掞紱瀵逛簬涓婂眰骞冲彴鎴栧鎴风鏉ヨ锛屼紭鍏堣В鏋恇yEmployeeNo瀛楁锛屽璇ュ瓧娈典负绌猴紝鍐嶈冭檻瑙f瀽dwEmployeeNo瀛楁锛
+ public byte byRes1; //淇濈暀
+ public byte byMask; //鏄惁甯﹀彛缃╋細0-淇濈暀锛1-鏈煡锛2-涓嶆埓鍙g僵锛3-鎴村彛缃
+ public byte byThermometryUnit; //娴嬫俯鍗曚綅锛0-鎽勬皬搴︼紙榛樿锛夛紝1-鍗庢皬搴︼紝2-寮灏旀枃锛
+ public byte byIsAbnomalTemperature; //鐗瑰緛鎶撴媿娴嬫俯鏄惁娓╁害寮傚父锛1-鏄紝0-鍚
+ public float fCurrTemperature; //浜鸿劯娓╁害锛堢簿纭埌灏忔暟鐐瑰悗涓浣嶏級
+ public NET_VCA_POINT struRegionCoordinates; //浜鸿劯娓╁害鍧愭爣
+ public byte[] byRes = new byte[48];
+ }
+
+ /*
+ 闂ㄧ涓绘満鎶ヨ浜嬩欢閰嶇疆缁撴瀯浣
+ */
+ public static class NET_DVR_ACS_EVENT_CFG extends Structure {
+ public int dwSize;
+ public int dwMajor; //鎶ヨ涓荤被鍨嬶紝鍙傝冨畯瀹氫箟
+ public int dwMinor; //鎶ヨ娆$被鍨嬶紝鍙傝冨畯瀹氫箟
+ public NET_DVR_TIME struTime = new NET_DVR_TIME(); //鏃堕棿
+ public byte[] sNetUser = new byte[MAX_NAMELEN];//缃戠粶鎿嶄綔鐨勭敤鎴峰悕
+ public NET_DVR_IPADDR struRemoteHostAddr;//杩滅▼涓绘満鍦板潃
+ public NET_DVR_ACS_EVENT_DETAIL struAcsEventInfo; //璇︾粏鍙傛暟
+ public int dwPicDataLen; //鍥剧墖鏁版嵁澶у皬锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pPicData;
+ public short wInductiveEventType; //褰掔撼浜嬩欢绫诲瀷锛0-鏃犳晥锛屽叾浠栧煎弬瑙2.2绔犺妭锛屽鎴风鍒ゆ柇璇ュ间负闈0鍊煎悗锛屾姤璀︾被鍨嬮氳繃褰掔撼浜嬩欢绫诲瀷鍖哄垎锛屽惁鍒欓氳繃鍘熸湁鎶ヨ涓绘绫诲瀷锛坉wMajor銆乨wMinor锛夊尯鍒
+ public byte byTimeType; //鏃堕棿绫诲瀷锛0-璁惧鏈湴鏃堕棿锛堥粯璁わ級锛1-UTC鏃堕棿锛坰truTime鐨勬椂闂达級
+ public byte byRes1;
+ public int dwQRCodeInfoLen; //浜岀淮鐮佷俊鎭暱搴︼紝涓嶄负0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public int dwVisibleLightDataLen; //鐑垚鍍忕浉鏈哄彲瑙佸厜鍥剧墖闀垮害锛屼笉涓0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public int dwThermalDataLen; //鐑垚鍍忓浘鐗囬暱搴︼紝涓嶄负0鏄〃绀哄悗闈㈠甫鏁版嵁
+ public Pointer pQRCodeInfo; //浜岀淮鐮佷俊鎭寚閽
+ public Pointer pVisibleLightData; //鐑垚鍍忕浉鏈哄彲瑙佸厜鍥剧墖鎸囬拡
+ public Pointer pThermalData; //鐑垚鍍忓浘鐗囨寚閽
+ public byte[] byRes = new byte[36];
+ }
+
+ public static final int NET_SDK_MONITOR_ID_LEN = 64;
+
+ public static class NET_DVR_ACS_EVENT_COND extends Structure {
+ public int dwSize;
+ public int dwMajor; //鎶ヨ涓荤被鍨嬶紝鍙傝冧簨浠朵笂浼犲畯瀹氫箟锛0-鍏ㄩ儴
+ public int dwMinor; //鎶ヨ娆$被鍨嬶紝鍙傝冧簨浠朵笂浼犲畯瀹氫箟锛0-鍏ㄩ儴
+ public NET_DVR_TIME struStartTime; //寮濮嬫椂闂
+ public NET_DVR_TIME struEndTime; //缁撴潫鏃堕棿
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鍗″彿
+ public byte[] byName = new byte[NAME_LEN]; //鎸佸崱浜哄鍚
+ public byte byPicEnable; //鏄惁甯﹀浘鐗囷紝0-涓嶅甫鍥剧墖锛1-甯﹀浘鐗
+ public byte byTimeType; //鏃堕棿绫诲瀷锛0-璁惧鏈湴鏃堕棿锛堥粯璁わ級锛1-UTC鏃堕棿锛坰truStartTime鍜宻truEndTime鐨勬椂闂达級
+ public byte[] byRes2 = new byte[2]; //淇濈暀
+ public int dwBeginSerialNo; //璧峰娴佹按鍙凤紙涓0鏃堕粯璁ゅ叏閮級
+ public int dwEndSerialNo; //缁撴潫娴佹按鍙凤紙涓0鏃堕粯璁ゅ叏閮級
+ public int dwIOTChannelNo; //IOT閫氶亾鍙凤紝0-鏃犳晥
+ public short wInductiveEventType; //褰掔撼浜嬩欢绫诲瀷锛0-鏃犳晥锛屽叾浠栧煎弬瑙2.2绔犺妭锛屽鎴风鍒ゆ柇璇ュ间负闈0鍊煎悗锛屾姤璀︾被鍨嬮氳繃褰掔撼浜嬩欢绫诲瀷鍖哄垎锛屽惁鍒欓氳繃鍘熸湁鎶ヨ涓绘绫诲瀷锛坉wMajor銆乨wMinor锛夊尯鍒
+ public byte bySearchType; //鎼滅储鏂瑰紡锛0-淇濈暀锛1-鎸変簨浠舵簮鎼滅储锛堟鏃堕氶亾鍙蜂负闈炶棰戦氶亾鍙凤級锛2-鎸夊竷闃茬偣ID鎼滅储
+ public byte byEventAttribute; //浜嬩欢灞炴э細0-鏈畾涔夛紝1-鍚堟硶浜嬩欢锛2-鍏跺畠
+ public byte[] szMonitorID = new byte[NET_SDK_MONITOR_ID_LEN/*64*/]; //甯冮槻鐐笽D锛堢敱璁惧搴忓垪鍙枫侀氶亾绫诲瀷銆佺紪鍙风粍鎴愶紝渚嬪闂ㄧ鐐癸細璁惧搴忓垪鍙+鈥淒OOR鈥+闂ㄧ紪鍙凤級
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ public byte[] byRes = new byte[140]; //淇濈暀
+ }
+
+ public static class NET_DVR_ACS_WORK_STATUS_V50 extends Structure {
+ public int dwSize;
+ public byte[] byDoorLockStatus = new byte[MAX_DOOR_NUM_256]; //闂ㄩ攣鐘舵(缁х數鍣ㄥ紑鍚堢姸鎬)锛0-姝e父鍏筹紝1-姝e父寮锛2-鐭矾鎶ヨ锛3-鏂矾鎶ヨ锛4-寮傚父鎶ヨ
+ public byte[] byDoorStatus = new byte[MAX_DOOR_NUM_256]; //闂ㄧ姸鎬(妤煎眰鐘舵)锛1-浼戠湢锛2-甯稿紑鐘舵(鑷敱)锛3-甯搁棴鐘舵(绂佺敤)锛4-鏅氱姸鎬(鍙楁帶)
+ public byte[] byMagneticStatus = new byte[MAX_DOOR_NUM_256]; //闂ㄧ鐘舵侊紝0-姝e父鍏筹紝1-姝e父寮锛2-鐭矾鎶ヨ锛3-鏂矾鎶ヨ锛4-寮傚父鎶ヨ
+ public byte[] byCaseStatus = new byte[MAX_CASE_SENSOR_NUM]; //浜嬩欢瑙﹀彂鍣ㄧ姸鎬侊紝0-鏃犺緭鍏ワ紝1-鏈夎緭鍏
+ public short wBatteryVoltage; //钃勭數姹犵數鍘嬪硷紝瀹為檯鍊间箻10锛屽崟浣嶏細浼忕壒
+ public byte byBatteryLowVoltage; //钃勭數姹犳槸鍚﹀浜庝綆鍘嬬姸鎬侊紝0-鍚︼紝1-鏄
+ public byte byPowerSupplyStatus; //璁惧渚涚數鐘舵侊紝1-浜ゆ祦鐢典緵鐢碉紝2-钃勭數姹犱緵鐢
+ public byte byMultiDoorInterlockStatus; //澶氶棬浜掗攣鐘舵侊紝0-鍏抽棴锛1-寮鍚
+ public byte byAntiSneakStatus; //鍙嶆綔鍥炵姸鎬侊紝0-鍏抽棴锛1-寮鍚
+ public byte byHostAntiDismantleStatus; //涓绘満闃叉媶鐘舵侊紝0-鍏抽棴锛1-寮鍚
+ public byte byIndicatorLightStatus; //鎸囩ず鐏姸鎬侊紝0-鎺夌嚎锛1-鍦ㄧ嚎
+ public byte[] byCardReaderOnlineStatus = new byte[MAX_CARD_READER_NUM_512]; //璇诲崱鍣ㄥ湪绾跨姸鎬侊紝0-涓嶅湪绾匡紝1-鍦ㄧ嚎
+ public byte[] byCardReaderAntiDismantleStatus = new byte[MAX_CARD_READER_NUM_512]; //璇诲崱鍣ㄩ槻鎷嗙姸鎬侊紝0-鍏抽棴锛1-寮鍚
+ public byte[] byCardReaderVerifyMode = new byte[MAX_CARD_READER_NUM_512]; //璇诲崱鍣ㄥ綋鍓嶉獙璇佹柟寮忥紝1-浼戠湢锛2-鍒峰崱+瀵嗙爜锛3-鍒峰崱锛4-鍒峰崱鎴栧瘑鐮
+ public byte[] bySetupAlarmStatus = new byte[MAX_ALARMHOST_ALARMIN_NUM];//鎶ヨ杈撳叆鍙e竷闃茬姸鎬侊紝0-瀵瑰簲鎶ヨ杈撳叆鍙e浜庢挙闃茬姸鎬侊紝1-瀵瑰簲鎶ヨ杈撳叆鍙e浜庡竷闃茬姸鎬
+ public byte[] byAlarmInStatus = new byte[MAX_ALARMHOST_ALARMIN_NUM]; //鎸変綅琛ㄧず鎶ヨ杈撳叆鍙f姤璀︾姸鎬侊紝0-瀵瑰簲鎶ヨ杈撳叆鍙e綋鍓嶆棤鎶ヨ锛1-瀵瑰簲鎶ヨ杈撳叆鍙e綋鍓嶆湁鎶ヨ
+ public byte[] byAlarmOutStatus = new byte[MAX_ALARMHOST_ALARMOUT_NUM]; //鎸変綅琛ㄧず鎶ヨ杈撳嚭鍙g姸鎬侊紝0-瀵瑰簲鎶ヨ杈撳嚭鍙f棤鎶ヨ锛1-瀵瑰簲鎶ヨ杈撳嚭鍙f湁鎶ヨ
+ public int dwCardNum; //宸叉坊鍔犵殑鍗℃暟閲
+ public byte byFireAlarmStatus; //娑堥槻鎶ヨ鐘舵佹樉绀猴細0-姝e父銆1-鐭矾鎶ヨ銆2-鏂紑鎶ヨ
+ public byte byBatteryChargeStatus; //鐢垫睜鍏呯數鐘舵侊細0-鏃犳晥锛1-鍏呯數涓紱2-鏈厖鐢
+ public byte byMasterChannelControllerStatus; //涓婚氶亾鎺у埗鍣ㄥ湪绾跨姸鎬侊細0-鏃犳晥锛1-涓嶅湪绾匡紱2-鍦ㄧ嚎
+ public byte bySlaveChannelControllerStatus; //浠庨氶亾鎺у埗鍣ㄥ湪绾跨姸鎬侊細0-鏃犳晥锛1-涓嶅湪绾匡紱2-鍦ㄧ嚎
+ public byte byAntiSneakServerStatus; //鍙嶆綔鍥炴湇鍔″櫒鐘舵侊細0-鏃犳晥锛1-鏈惎鐢紝2-姝e父锛3-鏂紑
+ public byte[] byRes3 = new byte[3];
+ public int dwAllowFaceNum; //宸叉坊鍔犵殑鍏佽鍚嶅崟浜鸿劯鏁伴噺锛堥氳繃鑳藉姏闆嗗垽鏂級
+ public int dwBlockFaceNum; //宸叉坊鍔犵殑绂佹鍚嶅崟浜鸿劯鏁伴噺锛堥氳繃鑳藉姏闆嗗垽鏂級
+ public byte[] byRes2 = new byte[108];
+ }
+
+ public static final int ACS_PARAM_DOOR_STATUS_WEEK_PLAN = 0x00000001;//闂ㄧ姸鎬佸懆璁″垝鍙傛暟
+ public static final int ACS_PARAM_VERIFY_WEEK_PALN = 0x00000002; //璇诲崱鍣ㄥ懆璁″垝鍙傛暟
+ public static final int ACS_PARAM_CARD_RIGHT_WEEK_PLAN = 0x00000004; //鍗℃潈闄愬懆璁″垝鍙傛暟
+ public static final int ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN = 0x00000008; //闂ㄧ姸鎬佸亣鏃ヨ鍒掑弬鏁
+ public static final int ACS_PARAM_VERIFY_HOLIDAY_PALN = 0x00000010; //璇诲崱鍣ㄥ亣鏃ヨ鍒掑弬鏁
+ public static final int ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN = 0x00000020; //鍗℃潈闄愬亣鏃ヨ鍒掑弬鏁
+ public static final int ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP = 0x00000040; //闂ㄧ姸鎬佸亣鏃ョ粍鍙傛暟
+ public static final int ACS_PARAM_VERIFY_HOLIDAY_GROUP = 0x00000080;//璇诲崱鍣ㄩ獙璇佹柟寮忓亣鏃ョ粍鍙傛暟
+ public static final int ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP = 0x00000100; //鍗℃潈闄愬亣鏃ョ粍鍙傛暟
+ public static final int ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE = 0x00000200;//闂ㄧ姸鎬佽鍒掓ā鏉垮弬鏁
+ public static final int ACS_PARAM_VERIFY_PALN_TEMPLATE = 0x00000400; //璇诲崱鍣ㄩ獙璇佹柟寮忚鍒掓ā鏉垮弬鏁
+ public static final int ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE = 0x00000800; //鍗℃潈闄愯鍒掓ā鏉垮弬鏁
+ public static final int ACS_PARAM_CARD = 0x00001000; //鍗″弬鏁
+ public static final int ACS_PARAM_GROUP = 0x00002000; //缇ょ粍鍙傛暟
+ public static final int ACS_PARAM_ANTI_SNEAK_CFG = 0x00004000; //鍙嶆綔鍥炲弬鏁
+ public static final int ACS_PAPAM_EVENT_CARD_LINKAGE = 0x00008000; //浜嬩欢鍙婂崱鍙疯仈鍔ㄥ弬鏁
+ public static final int ACS_PAPAM_CARD_PASSWD_CFG = 0x00010000; //瀵嗙爜寮闂ㄤ娇鑳藉弬鏁
+ public static final int ACS_PARAM_PERSON_STATISTICS_CFG = 0x00020000; //浜烘暟缁熻鍙傛暟
+ public static final int ACS_PARAM_BLOCKLIST_PICTURE = 0x00040000; //绂佹鍚嶅崟鍥剧墖鍙傛暟
+ public static final int ACS_PARAM_ID_BLOCKLIST = 0x00080000; //韬唤璇佺姝㈠悕鍗曞弬鏁
+ public static final int ACS_PARAM_EXAM_INFO = 0x00100000; //鑰冭瘯淇℃伅鍙傛暟
+ public static final int ACS_PARAM_EXAMINEE_INFO = 0x00200000; //鑰冪敓淇℃伅鍙傛暟
+ public static final int ACS_PARAM_FAILED_FACE_INFO = 0x00400000; //鍗囩骇璁惧浜鸿劯寤烘ā澶辫触璁板綍
+
+ public static class NET_DVR_ACS_PARAM_TYPE extends Structure {
+ public int dwSize;
+ public int dwParamType; //鍙傛暟绫诲瀷锛屾寜浣嶈〃绀
+
+ public short wLocalControllerID; //灏卞湴鎺у埗鍣ㄥ簭鍙穂1,64],0浠h〃闂ㄧ涓绘満
+ public byte[] byRes = new byte[30];
+ }
+
+
+ public static class NET_DVR_FACE_PARAM_COND extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //浜鸿劯鐨勮鍗″櫒鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public int dwFaceNum; //璁剧疆鎴栬幏鍙栦汉鑴告暟閲忥紝鑾峰彇鏃剁疆涓0xffffffff琛ㄧず鑾峰彇鎵鏈変汉鑴镐俊鎭
+ public byte byFaceID; //浜鸿劯缂栧彿锛屾湁鏁堝艰寖鍥翠负1-2 0xff琛ㄧず璇ュ崱鎵鏈変汉鑴
+ public byte[] byRes = new byte[127]; //淇濈暀
+ }
+
+ public static class NET_DVR_FACE_PARAM_CFG extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public int dwFaceLen; //浜鸿劯鏁版嵁闀垮害锛岃澶囩杩斿洖鐨勫嵆鍔犲瘑鍚庣殑鏁版嵁
+ public Pointer pFaceBuffer; //浜鸿劯鏁版嵁鎸囬拡
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //闇瑕佷笅鍙戜汉鑴哥殑璇诲崱鍣紝鎸夋暟缁勮〃绀猴紝浠庝綆浣嶅埌楂樹綅琛ㄧず锛0-涓嶄笅鍙戣璇诲崱鍣紝1-涓嬪彂鍒拌璇诲崱鍣
+ public byte byFaceID; //浜鸿劯缂栧彿锛屾湁鏁堝艰寖鍥翠负1-2
+ public byte byFaceDataType; //浜鸿劯鏁版嵁绫诲瀷锛0-妯℃澘锛堥粯璁わ級锛1-鍥剧墖
+ public byte[] byRes = new byte[126];
+ }
+
+ public static class NET_DVR_FACE_PARAM_STATUS extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public byte[] byCardReaderRecvStatus = new byte[MAX_CARD_READER_NUM_512]; //浜鸿劯璇诲崱鍣ㄧ姸鎬侊紝鎸夊瓧鑺傝〃绀猴紝0-澶辫触锛1-鎴愬姛锛2-閲嶈瘯鎴栦汉鑴歌川閲忓樊锛3-鍐呭瓨宸叉弧锛4-宸插瓨鍦ㄨ浜鸿劯锛5-闈炴硶浜鸿劯ID
+ public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; //涓嬪彂閿欒淇℃伅锛屽綋byCardReaderRecvStatus涓4鏃讹紝琛ㄧず宸插瓨鍦ㄤ汉鑴稿搴旂殑鍗″彿
+ public int dwCardReaderNo; //绾硅鍗″櫒缂栧彿锛屽彲鐢ㄤ簬涓嬪彂閿欒杩斿洖
+ public byte byTotalStatus; //涓嬪彂鎬荤殑鐘舵侊紝0-褰撳墠浜鸿劯鏈笅瀹屾墍鏈夎鍗″櫒锛1-宸蹭笅瀹屾墍鏈夎鍗″櫒(杩欓噷鐨勬墍鏈夋寚鐨勬槸闂ㄧ涓绘満寰鎵鏈夌殑璇诲崱鍣ㄤ笅鍙戜簡锛屼笉绠℃垚鍔熶笌鍚)
+ public byte byFaceID; //浜鸿劯缂栧彿锛屾湁鏁堝艰寖鍥翠负1-2
+ public byte[] byRes = new byte[130];
+ }
+
+ public static class NET_DVR_FACE_PARAM_BYCARD extends Structure {
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //浜鸿劯鐨勮鍗″櫒淇℃伅锛屾寜鏁扮粍琛ㄧず
+ public byte[] byFaceID = new byte[MAX_FACE_NUM]; //闇瑕佸垹闄ょ殑浜鸿劯缂栧彿锛屾寜鏁扮粍涓嬫爣锛屽艰〃绀0-涓嶅垹闄わ紝1-鍒犻櫎璇ヤ汉鑴
+ public byte[] byRes1 = new byte[42]; //淇濈暀
+ }
+
+ public static class NET_DVR_FACE_PARAM_BYREADER extends Structure {
+ public int dwCardReaderNo; //鎸夊艰〃绀猴紝浜鸿劯璇诲崱鍣ㄧ紪鍙
+ public byte byClearAllCard; //鏄惁鍒犻櫎鎵鏈夊崱鐨勪汉鑴镐俊鎭紝0-鎸夊崱鍙峰垹闄や汉鑴镐俊鎭紝1-鍒犻櫎鎵鏈夊崱鐨勪汉鑴镐俊鎭
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //浜鸿劯鍏宠仈鐨勫崱鍙
+ public byte[] byRes = new byte[548]; //淇濈暀
+ }
+
+ public static class NET_DVR_DEL_FACE_PARAM_MODE extends Union {
+ public byte[] uLen = new byte[588]; //鑱斿悎浣撻暱搴
+ public NET_DVR_FACE_PARAM_BYCARD struByCard; //鎸夊崱鍙风殑鏂瑰紡鍒犻櫎
+ public NET_DVR_FACE_PARAM_BYREADER struByReader; //鎸夎鍗″櫒鐨勬柟寮忓垹闄
+ }
+
+ public static class NET_DVR_CHECK_FACE_PICTURE_COND extends Structure {
+ public int dwSize;
+ public int dwPictureNum; //鍥剧墖鏁伴噺
+ public byte byCheckTemplate; //0-鏍¢獙鍥剧墖鏄惁鍚堟硶锛堥粯璁わ級锛1-鏍¢獙鍥剧墖鍜屽缓妯℃暟鎹槸鍚﹀尮閰
+ public byte[] byRes = new byte[127];
+ }
+
+ public static class NET_DVR_CHECK_FACE_PICTURE_CFG extends Structure {
+ public int dwSize;
+ public int dwPictureNo; //鍥剧墖缂栧彿
+ public int dwPictureLen; //鍥剧墖闀垮害锛堝浘鐗囧ぇ灏忎笉瓒呰繃200k锛
+ public Pointer pPictureBuffer; //鍥剧墖鎸囬拡
+ public int dwFaceTemplateLen; //浜鸿劯寤烘ā鏁版嵁闀垮害
+ public Pointer pFaceTemplateBuffer; //浜鸿劯寤烘ā鏁版嵁鎸囬拡
+ public byte[] byRes = new byte[248];
+ }
+
+ public static class NET_DVR_CHECK_FACE_PICTURE_STATUS extends Structure {
+ public int dwSize;
+ public int dwPictureNo; //鍥剧墖缂栧彿
+ public byte byCheckStatus; //鏍¢獙缁撴灉锛0-鏃犳晥锛1-寤烘ā鎴愬姛锛2-寤烘ā澶辫触锛3-浜鸿劯妯″潡閫氳寮傚父锛4-鍥惧儚鏃犱汉鑴革紝5-浜鸿劯鏈濅笂锛6-浜鸿劯鏈濅笅锛7-浜鸿劯鍋忓乏锛8-浜鸿劯鍋忓彸锛9-浜鸿劯椤烘椂鏃嬭浆锛
+ //10 - 浜鸿劯閫嗘椂鏃嬭浆锛11-浜虹溂闂磋窛灏忥紝12-浜鸿劯鍜屾ā鏉垮尮閰嶏紝13-浜鸿劯鍜屾ā鏉夸笉鍖归厤,14-浼犺緭鏁版嵁鏈夎
+ public byte[] byRes = new byte[127];
+ }
+
+ public static class NET_DVR_FINGER_PRINT_CFG_V50 extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鎸囩汗鍏宠仈鐨勫崱鍙
+ public int dwFingerPrintLen; //鎸囩汗鏁版嵁闀垮害
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //闇瑕佷笅鍙戞寚绾圭殑璇诲崱鍣紝鎸夋暟缁勮〃绀猴紝浠庝綆浣嶅埌楂樹綅琛ㄧず锛0-涓嶄笅鍙戣璇诲崱鍣紝1-涓嬪彂鍒拌璇诲崱鍣
+ public byte byFingerPrintID; //鎵嬫寚缂栧彿锛屾湁鏁堝艰寖鍥翠负1-10
+ public byte byFingerType; //鎸囩汗绫诲瀷 0-鏅氭寚绾癸紝1-鑳佽揩鎸囩汗锛2-宸℃洿鎸囩汗锛3-瓒呯骇鎸囩汗锛4-瑙i櫎鎸囩汗
+ public byte[] byRes1 = new byte[30];
+ public byte[] byFingerData = new byte[MAX_FINGER_PRINT_LEN]; //鎸囩汗鏁版嵁鍐呭
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ public byte[] byLeaderFP = new byte[MAX_DOOR_NUM_256]; //瀵归棬鏄惁鏈夐娆¤璇佸姛鑳斤紙鎸夊瓧鑺傝〃绀猴級锛0-鏃犻娆¤璇佸姛鑳斤紝1-鏈夐娆¤璇佸姛鑳
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class NET_DVR_FINGER_PRINT_STATUS_V50 extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鎸囩汗鍏宠仈鐨勫崱鍙
+ public byte[] byCardReaderRecvStatus = new byte[MAX_CARD_READER_NUM_512]; //鎸囩汗璇诲崱鍣ㄧ姸鎬侊紝鎸夊瓧鑺傝〃绀猴紝0-澶辫触锛1-鎴愬姛锛2-璇ユ寚绾规ā缁勪笉鍦ㄧ嚎锛3-閲嶈瘯鎴栨寚绾硅川閲忓樊锛4-鍐呭瓨宸叉弧锛5-宸插瓨鍦ㄨ鎸囩汗锛6-宸插瓨鍦ㄨ鎸囩汗ID锛7-闈炴硶鎸囩汗ID锛8-璇ユ寚绾规ā缁勬棤闇閰嶇疆锛10-鎸囩汗璇诲崱鍣ㄧ増鏈繃浣庯紙鏃犳硶鏀寔宸ュ彿锛
+ public byte byFingerPrintID; //鎵嬫寚缂栧彿锛屾湁鏁堝艰寖鍥翠负1-10
+ public byte byFingerType; //鎸囩汗绫诲瀷 0-鏅氭寚绾癸紝1-鑳佽揩鎸囩汗锛2-宸℃洿鎸囩汗锛3-瓒呯骇鎸囩汗锛4-瑙i櫎鎸囩汗
+ public byte byTotalStatus; //涓嬪彂鎬荤殑鐘舵侊紝0-褰撳墠鎸囩汗鏈笅瀹屾墍鏈夎鍗″櫒锛1-宸蹭笅瀹屾墍鏈夎鍗″櫒(杩欓噷鐨勬墍鏈夋寚鐨勬槸闂ㄧ涓绘満寰鎵鏈夌殑璇诲崱鍣ㄤ笅鍙戜簡锛屼笉绠℃垚鍔熶笌鍚)
+ public byte byRecvStatus; //涓绘満閿欒鐘舵侊細0-鎴愬姛锛1-鎵嬫寚缂栧彿閿欒锛2-鎸囩汗绫诲瀷閿欒锛3-鍗″彿閿欒锛堝崱鍙疯鏍间笉绗﹀悎璁惧瑕佹眰锛夛紝4-鎸囩汗鏈叧鑱斿伐鍙锋垨鍗″彿锛堝伐鍙锋垨鍗″彿瀛楁涓虹┖锛夛紝5-宸ュ彿涓嶅瓨鍦紝6-鎸囩汗鏁版嵁闀垮害涓0锛7-璇诲崱鍣ㄧ紪鍙烽敊璇紝8-宸ュ彿閿欒
+ public byte[] byErrorMsg = new byte[ERROR_MSG_LEN]; //涓嬪彂閿欒淇℃伅锛屽綋byCardReaderRecvStatus涓5鏃讹紝琛ㄧず宸插瓨鍦ㄦ寚绾瑰搴旂殑鍗″彿
+ public int dwCardReaderNo; //褰揵yCardReaderRecvStatus涓5鏃讹紝琛ㄧず宸插瓨鍦ㄦ寚绾瑰搴旂殑鎸囩汗璇诲崱鍣ㄧ紪鍙凤紝鍙敤浜庝笅鍙戦敊璇繑鍥炪0鏃惰〃绀烘棤閿欒淇℃伅
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ public byte[] byErrorEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //涓嬪彂閿欒淇℃伅锛屽綋byCardReaderRecvStatus涓5鏃讹紝琛ㄧず宸插瓨鍦ㄦ寚绾瑰搴旂殑宸ュ彿锛堜汉鍛業D锛
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class NET_DVR_FINGER_PRINT_INFO_COND_V50 extends Structure {
+ public int dwSize;
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鎸囩汗鍏宠仈鐨勫崱鍙凤紙璇ュ瓧娈佃幏鍙栨椂鏈夋晥锛岃缃椂鏃犳晥锛
+ public byte[] byEnableCardReader = new byte[MAX_CARD_READER_NUM_512]; //鎸囩汗鐨勮鍗″櫒鏄惁鏈夋晥锛0-鏃犳晥锛1-鏈夋晥
+ public int dwFingerPrintNum; //璁剧疆鎴栬幏鎸囩汗鏁伴噺锛岃幏鍙栨椂缃负0xffffffff琛ㄧず鑾峰彇鎵鏈夋寚绾逛俊鎭
+ public byte byFingerPrintID; //鎵嬫寚缂栧彿锛屾湁鏁堝艰寖鍥翠负1-10 0xff琛ㄧず璇ュ崱鎵鏈夋寚绾
+ public byte byCallBackMode; //璁惧鍥炶皟鏂瑰紡锛0-璁惧鎵鏈夎鍗″櫒涓嬪畬浜嗚繑鍥烇紝1-鍦ㄦ椂闂存鍐呬笅浜嗛儴鍒嗕篃杩斿洖
+ public byte[] byRes2 = new byte[2]; //淇濈暀
+ public byte[] byEmployeeNo = new byte[NET_SDK_EMPLOYEE_NO_LEN]; //宸ュ彿锛堜汉鍛業D锛
+ public byte[] byRes1 = new byte[128]; //淇濈暀
+ }
+
+ public static class NET_DVR_GROUP_CFG extends Structure {
+ public int dwSize;
+ public byte byEnable; //鏄惁鍚敤锛0-涓嶅惎鐢紝1-鍚敤
+ public byte[] byRes1 = new byte[3];
+ public NET_DVR_VALID_PERIOD_CFG struValidPeriodCfg = new NET_DVR_VALID_PERIOD_CFG(); //缇ょ粍鏈夋晥鏈熷弬鏁
+ public byte[] byGroupName = new byte[32]; //缇ょ粍鍚嶇О
+ public byte[] byRes2 = new byte[32];
+ }
+
+ public static class NET_DVR_MULTI_CARD_CFG_V50 extends Structure {
+ public int dwSize;
+ public byte byEnable;
+ public byte bySwipeIntervalTimeout;
+ public byte[] byRes1 = new byte[2];
+ public NET_DVR_MULTI_CARD_GROUP_CFG_V50[] struGroupCfg = (NET_DVR_MULTI_CARD_GROUP_CFG_V50[]) new NET_DVR_MULTI_CARD_GROUP_CFG_V50().toArray(20);
+ public byte[] byRes2 = new byte[32];
+ }
+
+ public static class NET_DVR_MULTI_CARD_GROUP_CFG_V50 extends Structure {
+ public byte byEnable;
+ public byte byEnableOfflineVerifyMode;
+ public byte[] byRes1 = new byte[2];
+ public int dwTemplateNo;
+ public NET_DVR_GROUP_COMBINATION_INFO_V50[] struGroupCombination = (NET_DVR_GROUP_COMBINATION_INFO_V50[]) new NET_DVR_GROUP_COMBINATION_INFO_V50().toArray(8);
+ }
+
+ public static class NET_DVR_GROUP_COMBINATION_INFO_V50 extends Structure {
+ public byte byEnable;
+ public byte byMemberNum;
+ public byte bySequenceNo;
+ public byte byRes;
+ public int dwGroupNo;
+ }
+
+
+ //鑷畾涔夌粨鏋勪綋锛岀敤浜庝簩缁存暟缁勮浆鎹
+ public static class NET_DVR_SINGLE_PLAN_SEGMENT_WEEK extends Structure {
+ public NET_DVR_SINGLE_PLAN_SEGMENT[] struPlanCfgDay = new NET_DVR_SINGLE_PLAN_SEGMENT[MAX_TIMESEGMENT_V30]; //涓澶╃殑璁″垝鍙傛暟
+ }
+
+ public static class NET_DVR_WEEK_PLAN_CFG extends Structure {
+ public int dwSize;
+ public byte byEnable; //鏄惁浣胯兘锛1-浣胯兘锛0-涓嶄娇鑳
+ public byte[] byRes1 = new byte[3];
+ public NET_DVR_SINGLE_PLAN_SEGMENT_WEEK[] struPlanCfg = new NET_DVR_SINGLE_PLAN_SEGMENT_WEEK[MAX_DAYS]; //鍛ㄨ鍒掑弬鏁
+ public byte[] byRes2 = new byte[16];
+ }
+
+ public static class NET_DVR_SINGLE_PLAN_SEGMENT extends Structure {
+ public byte byEnable; //鏄惁浣胯兘锛1-浣胯兘锛0-涓嶄娇鑳
+ public byte byDoorStatus; //闂ㄧ姸鎬佹ā寮忥紙姊帶妯″紡锛夛紝0-鏃犳晥锛1-甯稿紑鐘舵侊紙鑷敱锛夛紝2-甯搁棴鐘舵侊紙绂佺敤锛夛紝3-鏅氱姸鎬侊紙闂ㄧ姸鎬佽鍒掍娇鐢級
+ public byte byVerifyMode; //楠岃瘉鏂瑰紡锛0-鏃犳晥锛1-鍒峰崱锛2-鍒峰崱+瀵嗙爜(璇诲崱鍣ㄩ獙璇佹柟寮忚鍒掍娇鐢)锛3-鍒峰崱,4-鍒峰崱鎴栧瘑鐮(璇诲崱鍣ㄩ獙璇佹柟寮忚鍒掍娇鐢), 5-鎸囩汗锛6-鎸囩汗+瀵嗙爜锛7-鎸囩汗鎴栧埛鍗★紝8-鎸囩汗+鍒峰崱锛9-鎸囩汗+鍒峰崱+瀵嗙爜锛堟棤鍏堝悗椤哄簭锛夛紝10-浜鸿劯鎴栨寚绾规垨鍒峰崱鎴栧瘑鐮侊紝11-浜鸿劯+鎸囩汗锛12-浜鸿劯+瀵嗙爜锛
+ //13-浜鸿劯+鍒峰崱锛14-浜鸿劯锛15-宸ュ彿+瀵嗙爜锛16-鎸囩汗鎴栧瘑鐮侊紝17-宸ュ彿+鎸囩汗锛18-宸ュ彿+鎸囩汗+瀵嗙爜锛19-浜鸿劯+鎸囩汗+鍒峰崱锛20-浜鸿劯+瀵嗙爜+鎸囩汗锛21-宸ュ彿+浜鸿劯锛22-浜鸿劯鎴栦汉鑴+鍒峰崱
+ public byte[] byRes = new byte[5];
+ public NET_DVR_TIME_SEGMENT struTimeSegment; //鏃堕棿娈靛弬鏁
+ }
+
+
+ public static class NET_DVR_TIME_SEGMENT extends Structure {
+ public NET_DVR_SIMPLE_DAYTIME struBeginTime; //寮濮嬫椂闂寸偣
+ public NET_DVR_SIMPLE_DAYTIME struEndTime; //缁撴潫鏃堕棿鐐
+ }
+
+ public static class NET_DVR_SIMPLE_DAYTIME extends Structure {
+ public byte byHour; //鏃
+ public byte byMinute; //鍒
+ public byte bySecond; //绉
+ public byte byRes;
+ }
+
+ public static class NET_DVR_WEEK_PLAN_COND extends Structure {
+ public int dwSize;
+ public int dwWeekPlanNumber; //鍛ㄨ鍒掔紪鍙
+ public short wLocalControllerID; //灏卞湴鎺у埗鍣ㄥ簭鍙穂1,64]
+ public byte[] byRes = new byte[106];
+ }
+
+ public static final int TEMPLATE_NAME_LEN = 32; //璁″垝妯℃澘鍚嶇О闀垮害
+ public static final int MAX_HOLIDAY_GROUP_NUM = 16; //璁″垝妯℃澘鏈澶у亣鏃ョ粍鏁
+
+ public static class NET_DVR_PLAN_TEMPLATE extends Structure {
+ public int dwSize;
+ public byte byEnable; //鏄惁鍚敤锛1-鍚敤锛0-涓嶅惎鐢
+ public byte[] byRes1 = new byte[3];
+ public byte[] byTemplateName = new byte[TEMPLATE_NAME_LEN]; //妯℃澘鍚嶇О
+ public int dwWeekPlanNo; //鍛ㄨ鍒掔紪鍙凤紝0涓烘棤鏁
+ public int[] dwHolidayGroupNo = new int[MAX_HOLIDAY_GROUP_NUM]; //鍋囨棩缁勭紪鍙凤紝灏卞墠濉厖锛岄亣0鏃犳晥
+ public byte[] byRes2 = new byte[32];
+ }
+
+ public static class NET_DVR_PLAN_TEMPLATE_COND extends Structure {
+ public int dwSize;
+ public int dwPlanTemplateNumber; //璁″垝妯℃澘缂栧彿锛屼粠1寮濮嬶紝鏈澶у间粠闂ㄧ鑳藉姏闆嗚幏鍙
+ public short wLocalControllerID; //灏卞湴鎺у埗鍣ㄥ簭鍙穂1,64]锛0鏃犳晥
+ public byte[] byRes = new byte[106];
+ }
+
+ public static class NET_DVR_CAPTURE_FACE_COND extends Structure {
+ public int dwSize;
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class NET_DVR_FACE_FEATURE extends Structure {
+ public NET_VCA_RECT struFace; //浜鸿劯瀛愬浘鍖哄煙
+ public NET_VCA_POINT struLeftEye; // 宸︾溂鍧愭爣
+ public NET_VCA_POINT struRightEye; // 鍙崇溂鍧愭爣
+ public NET_VCA_POINT struLeftMouth; // 鍢村乏杈瑰潗鏍
+ public NET_VCA_POINT struRightMouth; // 鍢村彸杈瑰潗鏍
+ public NET_VCA_POINT struNoseTip; // 榧诲瓙鍧愭爣
+ }
+
+ public static class NET_DVR_CAPTURE_FACE_CFG extends Structure {
+ public int dwSize;
+ public int dwFaceTemplate1Size; //浜鸿劯妯℃澘1鏁版嵁澶у皬锛岀瓑浜0鏃讹紝浠h〃鏃犱汉鑴告ā鏉1鏁版嵁
+ public Pointer pFaceTemplate1Buffer; //浜鸿劯妯℃澘1鏁版嵁缂撳瓨锛堜笉澶т簬2.5k锛
+ public int dwFaceTemplate2Size; //浜鸿劯妯℃澘2鏁版嵁澶у皬锛岀瓑浜0鏃讹紝浠h〃鏃犱汉鑴告ā鏉2鏁版嵁
+ public Pointer pFaceTemplate2Buffer; //浜鸿劯妯℃澘2鏁版嵁缂撳瓨锛堜笉澶т簬2.5K锛
+ public int dwFacePicSize; //浜鸿劯鍥剧墖鏁版嵁澶у皬锛岀瓑浜0鏃讹紝浠h〃鏃犱汉鑴稿浘鐗囨暟鎹
+ public Pointer pFacePicBuffer; //浜鸿劯鍥剧墖鏁版嵁缂撳瓨
+ public byte byFaceQuality1; //浜鸿劯璐ㄩ噺锛岃寖鍥1-100
+ public byte byFaceQuality2; //浜鸿劯璐ㄩ噺锛岃寖鍥1-100
+ public byte byCaptureProgress; //閲囬泦杩涘害锛岀洰鍓嶅彧鏈変袱绉嶈繘搴﹀硷細0-鏈噰闆嗗埌浜鸿劯锛100-閲囬泦鍒颁汉鑴革紙鍙湁鍦ㄨ繘搴︿负100鏃讹紝鎵嶈В鏋愪汉鑴镐俊鎭級
+ public byte byFacePicQuality; //浜鸿劯鍥剧墖涓汉鑴歌川閲
+ public int dwInfraredFacePicSize; //绾㈠浜鸿劯鍥剧墖鏁版嵁澶у皬锛岀瓑浜0鏃讹紝浠h〃鏃犱汉鑴稿浘鐗囨暟鎹
+ public Pointer pInfraredFacePicBuffer; //绾㈠浜鸿劯鍥剧墖鏁版嵁缂撳瓨
+ public byte byInfraredFacePicQuality; //绾㈠浜鸿劯鍥剧墖涓汉鑴歌川閲
+ public byte[] byRes1 = new byte[3];
+ public NET_DVR_FACE_FEATURE struFeature = new NET_DVR_FACE_FEATURE(); //浜鸿劯鎶犲浘鐗瑰緛淇℃伅
+ public byte[] byRes = new byte[56];
+ }
+
+ public static class NET_DVR_XML_CONFIG_INPUT extends Structure {
+ public int dwSize;
+ public Pointer lpRequestUrl;
+ public int dwRequestUrlLen;
+ public Pointer lpInBuffer;
+ public int dwInBufferSize;
+ public int dwRecvTimeOut;
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_STRING_POINTER extends Structure {
+ public byte[] byString;
+
+ public NET_DVR_STRING_POINTER(int iLen) {
+ byString = new byte[iLen];
+ }
+ }
+
+ public static class NET_DVR_XML_CONFIG_OUTPUT extends Structure {
+ public int dwSize;
+ public Pointer lpOutBuffer;
+ public int dwOutBufferSize;
+ public int dwReturnedXMLSize;
+ public Pointer lpStatusBuffer;
+ public int dwStatusSize;
+ public byte[] byRes = new byte[32];
+ }
+
+ //鎶ヨ鍦烘櫙淇℃伅
+ public static class NET_DVR_SCENE_INFO extends Structure {
+ public int dwSceneID; //鍦烘櫙ID, 0 - 琛ㄧず璇ュ満鏅棤鏁
+ public byte[] bySceneName = new byte[NAME_LEN]; //鍦烘櫙鍚嶇О
+ public byte byDirection; //鐩戞祴鏂瑰悜 1-涓婅锛2-涓嬭锛3-鍙屽悜锛4-鐢变笢鍚戣タ锛5-鐢卞崡鍚戝寳锛6-鐢辫タ鍚戜笢锛7-鐢卞寳鍚戝崡锛8-鍏跺畠
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public NET_DVR_PTZPOS struPtzPos; //Ptz 鍧愭爣
+ public byte[] byRes2 = new byte[64]; //淇濈暀
+ }
+
+ // 鏂瑰悜缁撴瀯浣
+ public static class NET_DVR_DIRECTION extends Structure {
+ public NET_VCA_POINT struStartPoint = new NET_VCA_POINT(); // 鏂瑰悜璧峰鐐
+ public NET_VCA_POINT struEndPoint = new NET_VCA_POINT(); // 鏂瑰悜缁撴潫鐐
+ }
+
+ // 浜ら氫簨浠朵俊鎭
+ public static class NET_DVR_AID_INFO extends Structure {
+ public byte byRuleID; // 瑙勫垯搴忓彿锛屼负瑙勫垯閰嶇疆缁撴瀯涓嬫爣锛0-16
+ public byte[] byRes1 = new byte[3];
+ public byte[] byRuleName = new byte[NAME_LEN]; // 瑙勫垯鍚嶇О
+ public int dwAIDType; // 鎶ヨ浜嬩欢绫诲瀷
+ public NET_DVR_DIRECTION struDirect = new NET_DVR_DIRECTION(); // 鎶ヨ鎸囧悜鍖哄煙
+ public byte bySpeedLimit; //闄愰熷硷紝鍗曚綅km/h[0,255]
+ public byte byCurrentSpeed; //褰撳墠閫熷害鍊硷紝鍗曚綅km/h[0,255]
+ public byte byVehicleEnterState; //杞﹁締鍑哄叆鐘舵侊細0- 鏃犳晥锛1- 椹跺叆锛2- 椹跺嚭
+ public byte byState; //0-鍙樺寲涓婁紶锛1-杞贰涓婁紶
+ public byte[] byParkingID = new byte[16]; //鍋滆溅浣嶇紪鍙
+ public int dwAIDTypeEx; // 鎶ヨ浜嬩欢绫诲瀷鎵╁睍,鍙傝僒RAFFIC_AID_TYPE_EX
+ public byte[] byRes2 = new byte[16]; // 淇濈暀瀛楄妭
+ }
+
+ public int ILLEGAL_LEN = 32; //杩濇硶浠g爜闀垮害
+ public int MONITORSITE_ID_LEN = 48;//鐩戞祴鐐圭紪鍙烽暱搴
+ public int DEVICE_ID_LEN = 48;
+
+ //浜ら氬彇璇佹姤璀
+ public static class NET_DVR_TFS_ALARM extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public int dwRelativeTime; //鐩稿鏃舵爣
+ public int dwAbsTime; //缁濆鏃舵爣
+ public int dwIllegalType; //杩濈珷绫诲瀷锛岄噰鐢ㄥ浗鏍囧畾涔夛紝褰揹wIllegalType鍊间负0xffffffff鏃朵娇鐢╞yIllegalCode
+ public int dwIllegalDuration; //杩濇硶鎸佺画鏃堕棿锛堝崟浣嶏細绉掞級 = 鎶撴媿鏈鍚庝竴寮犲浘鐗囩殑鏃堕棿 - 鎶撴媿绗竴寮犲浘鐗囩殑鏃堕棿
+ public byte[] byMonitoringSiteID = new byte[MONITORSITE_ID_LEN];//鐩戞祴鐐圭紪鍙凤紙璺彛缂栧彿銆佸唴閮ㄧ紪鍙凤級
+ public byte[] byDeviceID = new byte[DEVICE_ID_LEN]; //璁惧缂栧彿
+ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //鍓嶇璁惧淇℃伅
+ public NET_DVR_SCENE_INFO struSceneInfo = new NET_DVR_SCENE_INFO(); //鍦烘櫙淇℃伅
+ public NET_DVR_TIME_EX struBeginRecTime = new NET_DVR_TIME_EX(); //褰曞儚寮濮嬫椂闂
+ public NET_DVR_TIME_EX struEndRecTime = new NET_DVR_TIME_EX(); //褰曞儚缁撴潫鏃堕棿
+ public NET_DVR_AID_INFO struAIDInfo = new NET_DVR_AID_INFO(); //浜ら氫簨浠朵俊鎭
+ public NET_DVR_PLATE_INFO struPlateInfo = new NET_DVR_PLATE_INFO(); //杞︾墝淇℃伅
+ public NET_DVR_VEHICLE_INFO struVehicleInfo = new NET_DVR_VEHICLE_INFO(); //杞﹁締淇℃伅
+ public int dwPicNum; //鍥剧墖鏁伴噺
+ public NET_ITS_PICTURE_INFO[] struPicInfo = new NET_ITS_PICTURE_INFO[8]; //鍥剧墖淇℃伅锛屾渶澶8寮
+ public byte bySpecificVehicleType; //鍏蜂綋杞﹁締绉嶇被 鍙傝冭瘑鍒粨鏋滅被鍨媀TR_RESULT
+ public byte byLaneNo; //鍏宠仈杞﹂亾鍙
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public NET_DVR_TIME_V30 struTime = new NET_DVR_TIME_V30();//鎵嬪姩瀹氫綅锛屽綋鍓嶆椂闂淬
+ public int dwSerialNo;//搴忓彿锛
+ public byte byVehicleAttribute;//杞﹁締灞炴э紝鎸変綅琛ㄧず锛0- 鏃犻檮鍔犲睘鎬(鏅氳溅)锛宐it1- 榛勬爣杞(绫讳技骞存鐨勬爣蹇)锛宐it2- 鍗遍櫓鍝佽溅杈嗭紝鍊硷細0- 鍚︼紝1- 鏄
+ public byte byPilotSafebelt;//0-琛ㄧず鏈煡,1-绯诲畨鍏ㄥ甫,2-涓嶇郴瀹夊叏甯
+ public byte byCopilotSafebelt;//0-琛ㄧず鏈煡,1-绯诲畨鍏ㄥ甫,2-涓嶇郴瀹夊叏甯
+ public byte byPilotSunVisor;//0-琛ㄧず鏈煡,1-涓嶆墦寮閬槼鏉,2-鎵撳紑閬槼鏉
+ public byte byCopilotSunVisor;//0-琛ㄧず鏈煡, 1-涓嶆墦寮閬槼鏉,2-鎵撳紑閬槼鏉
+ public byte byPilotCall;// 0-琛ㄧず鏈煡, 1-涓嶆墦鐢佃瘽,2-鎵撶數璇
+ public byte[] byRes2 = new byte[2]; //淇濈暀
+ public byte[] byIllegalCode = new byte[ILLEGAL_LEN/*32*/];//杩濇硶浠g爜鎵╁睍锛屽綋dwIllegalType鍊间负0xffffffff锛涗娇鐢ㄨ繖涓
+ public short wCountry; // 鍥藉绱㈠紩鍊,鍙傜収鏋氫妇COUNTRY_INDEX
+ public byte byRegion; //鍖哄煙绱㈠紩鍊,0-淇濈暀锛1-娆ф床(Europe Region)锛岋紝3-娆ф床&(EU&CIS) , 4-涓笢锛圡iddle East锛夛紝0xff-鎵鏈
+ public byte byCrossLine;//鏄惁鍘嬬嚎鍋滆溅锛堜晶鏂瑰仠杞︼級锛0-琛ㄧず鏈煡锛1-涓嶅帇绾匡紝2-鍘嬬嚎
+ public byte[] byParkingSerialNO = new byte[16];//娉婅溅浣嶇紪鍙
+ public byte byCrossSpaces;//鏄惁璺ㄦ硦杞︿綅鍋滆溅锛堜晶鏂瑰仠杞︼級锛0-琛ㄧず鏈煡锛1-鏈法娉婅溅浣嶅仠杞︼紝2-璺ㄦ硦杞︿綅鍋滆溅
+ public byte byAngledParking;//鏄惁鍊炬枩鍋滆溅锛堜晶鏂瑰仠杞︼級, 0-琛ㄧず鏈煡锛1-鏈炬枩鍋滆溅锛2-鍊炬枩鍋滆溅
+ public byte byAlarmValidity;//鎶ヨ缃俊搴︼紝鍙互杈撳嚭椹跺叆椹跺嚭鐨勭疆淇″害锛岃寖鍥0-100锛涚疆淇″害瓒婇珮锛屼簨浠剁湡瀹炴ц秺楂
+ public byte byDoorsStatus;//杞﹂棬鐘舵 0-杞﹂棬鍏抽棴 1-杞﹂棬寮鍚
+ public int dwXmlLen;//XML鎶ヨ淇℃伅闀垮害
+ public Pointer pXmlBuf; // XML鎶ヨ淇℃伅鎸囬拡,鍏禭ML瀵瑰簲鍒癊ventNotificationAlert XML Block
+ public byte byVehicleHeadTailStatus;//杞﹀ご杞﹀熬鐘舵 0-淇濈暀 1-杞﹀ご 2-杞﹀熬
+ public byte byBrokenNetHttp; //鏂綉缁紶鏍囧織浣嶏紝0-涓嶉噸浼犳暟鎹紝1-閲嶄紶鏁版嵁
+ public byte[] byRes = new byte[30]; //淇濈暀
+ }
+
+ public static class NET_ITS_OVERLAPCFG_COND extends Structure {
+ public int dwSize;
+ public int dwChannel;
+ public int dwConfigMode; //閰嶇疆妯″紡锛0-缁堢锛1-鍓嶇(鐩磋繛鍓嶇鎴栫粓绔帴鍓嶇)
+ public byte byPicModeType;//0-琛ㄧず灏忓浘(鐙珛鍥)锛1-琛ㄧず澶у浘(鍚堟垚鍥)
+ /*
+ 0琛ㄧず鍏宠仈 鎶撴媿MPR妯″紡锛堝甯цЕ鍙戞姄鎷 IPC浣跨敤锛
+ 1 琛ㄧず鍏宠仈 鎶撴媿 HVT 妯″紡锛堟贩鍗PC浣跨敤锛
+ */
+ public byte byRelateType;
+ public byte[] byRes = new byte[14];
+
+ }
+
+ //瀛楃鍙犲姞姣忎竴鏉′俊鎭粨鏋勪綋
+ public static class NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50 extends Structure {
+ public byte[] byRes1 = new byte[2]; // 淇濈暀
+ public byte byItemType; //绫诲瀷锛岃瑙丱VERLAP_ITEM_TYPE
+ public byte byChangeLineNum; //鍙犲姞椤瑰悗鐨勬崲琛屾暟[0-10](榛樿0)
+ public byte bySpaceNum; //鍙犲姞椤瑰悗鐨勭┖鏍兼暟[0-255](榛樿0)
+ public byte[] byRes2 = new byte[2];
+ public byte byEnablePos; //鏄惁鍚敤鍧愭爣鏄剧ず
+ public short wStartPosTop; //璧峰涓婂潗鏍,鍙鍥剧墖鍐呴儴鍙犲姞鏈夋晥[0~2448](榛樿0)
+ public short wStartPosLeft; //璧峰宸﹀潗鏍,鍙鍥剧墖鍐呴儴鍙犲姞鏈夋晥[0~2448](榛樿0)
+ //鑷畾涔夌被鍨嬶紱涓巄yItemType鍙傛暟瀵瑰簲銆傚彲灏哹yItemType鍙傛暟绫诲瀷鑷畾涔夊悕绉般傝嫢鑷畾涔夊唴瀹逛负绌猴紝渚块粯璁や互byItemType鍙傛暟涓殑绫诲瀷鍛藉悕銆
+ public byte[] byItemTypeCustom = new byte[32];
+ public byte[] byRes = new byte[8];
+
+ }
+
+ public int MAX_OVERLAP_ITEM_NUM = 50; //鏈澶у瓧绗﹀彔鍔犵鏁
+
+ public static class NET_ITS_OVERLAP_ITEM_PARAM_V50 extends Structure {
+ public NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50[] struSingleItem = new NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50[MAX_OVERLAP_ITEM_NUM]; //鍗曟潯瀛楃鍙傛暟
+ public int dwLinePercent; //鍙犲姞琛岀櫨鍒嗘瘮(0-100),(榛樿100)
+ public int dwItemsStlye; //鍙犲姞鏂瑰紡锛0-妯帓,1-绔栨帓(榛樿妯帓)
+ public short wStartPosTop; //璧峰涓婂潗鏍,鍙鍥剧墖鍐呴儴鍙犲姞鏈夋晥[0~2448](榛樿0)
+ public short wStartPosLeft; //璧峰宸﹀潗鏍,鍙鍥剧墖鍐呴儴鍙犲姞鏈夋晥[0~2448](榛樿0)
+ public short wCharStyle; //瀛椾綋绫诲瀷,0-瀹嬩綋1-榄忎綋(榛樿)
+ public short wCharSize; //瀛楃澶у皬,0--16x16,1--32x32,2-48x48,3--64x64 (榛樿),8x128(Ver3.7)
+ public short wCharInterval; //瀛楃闂磋窛锛孾0锝16]锛屽彲璁惧崟浣嶏細鍍忕礌(榛樿)
+ public byte[] byRes1 = new byte[2];
+ public int dwForeClorRGB; //鍓嶆櫙鑹茬殑RGB鍊糱it0-1:(B) bit2-3:(G) bit4-5:(G) (榛樿x00FFFFFF-鐧)
+ public int dwBackClorRGB; //鑳屾櫙鑹茬殑RGB鍊,鍙鍥剧墖澶栧彔鍔犳湁鏁坆it0-1:(B) bit2-3:(G) bit4-5:(G) (榛樿x00000000-榛)
+ public byte byColorAdapt; //棰滆壊鏄惁鑷傚簲0-鍚1-鏄
+ //(Ver3.7 鏂板)
+ // 鍙傛暟琛ラ浂浣胯兘 0-琛ラ浂, 1-涓嶈ˉ闆讹紙璇︾粏娉ㄩ噴锛夐熷害,闄愰熷 涓嶈冻3浣嶈ˉ0
+ public byte byParamFillZeroEnble;
+ public byte byPlateLeftCornerEnable;// 杞︾墝灏忓浘鍙犲姞宸︿笂瑙掍娇鑳 0-涓嶅彔鍔, 1-鍙犲姞
+ public byte byRes2;
+ public short wStartSPicPosTop; //璧峰涓婂潗鏍,鍙鍥剧墖鍐呴儴鍙犲姞鏈夋晥[0~2448](榛樿0)
+ public short wStartSPicPosLeft; //璧峰宸﹀潗鏍,鍙鍥剧墖鍐呴儴鍙犲姞鏈夋晥[0~2448](榛樿0)
+ //OSD鍙犲姞浣嶇疆 0-鍥剧墖鍐,1-鍥剧墖涓婅竟缂,2-鍥剧墖涓嬭竟缂橈紙鍚堟垚鍥句笓鐢ㄧ殑鏄笂杈圭紭澶栵級锛圴3.7锛
+ public byte byOsdLocate;
+ public byte[] byRes = new byte[63];
+
+ }
+
+ //鍙犲姞椤瑰叿浣撲俊鎭
+ public static class NET_ITS_OVERLAP_INFO_PARAM extends Structure {
+ public byte[] bySite = new byte[128]; //鍦扮偣鎻忚堪
+ public byte[] byRoadNum = new byte[32]; //璺彛缂栧彿
+ public byte[] byInstrumentNum = new byte[32]; //璁惧缂栧彿
+ public byte[] byDirection = new byte[32]; //鏂瑰悜缂栧彿
+ public byte[] byDirectionDesc = new byte[32]; //鏂瑰悜鎻忚堪
+ public byte[] byLaneDes = new byte[32]; //杞﹂亾鎻忚堪
+ public byte[] byRes1 = new byte[32]; //淇濈暀
+ public byte[] byMonitoringSite1 = new byte[44]; //鐩戞祴鐐1淇℃伅
+ public byte[] byMonitoringSite2 = new byte[32]; //鐩戞祴鐐2淇℃伅
+ public byte[] byRes = new byte[64]; //淇濈暀
+ }
+
+ public static class NET_ITS_OVERLAP_CFG_V50 extends Structure {
+ public int dwSize;
+ public byte byEnable; //鏄惁鍚敤锛0-涓嶅惎鐢紝1-鍚敤
+ public byte[] byRes1 = new byte[3];
+ public NET_ITS_OVERLAP_ITEM_PARAM_V50 struOverLapItemV50 = new NET_ITS_OVERLAP_ITEM_PARAM_V50(); //瀛楃涓插弬鏁
+ public NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo = new NET_ITS_OVERLAP_INFO_PARAM(); //瀛楃涓插唴瀹逛俊鎭
+ public byte[] byRes = new byte[120];
+
+ }
+
+ //浜轰綋鐗瑰緛璇嗗埆缁撴灉缁撴瀯浣
+ public static class NET_VCA_HUMAN_FEATURE extends Structure {
+ public byte byRes3;
+ public byte bySex; //鎬у埆, 0-琛ㄧず鈥滄湭鐭モ濓紙绠楁硶涓嶆敮鎸侊級,1 鈥 鐢 , 2 鈥 濂, 0xff-绠楁硶鏀寔锛屼絾鏄病鏈夎瘑鍒嚭鏉
+ public byte byEyeGlass; //鏄惁鎴寸溂闀 0-琛ㄧず鈥滄湭鐭モ濓紙绠楁硶涓嶆敮鎸侊級,1 鈥 涓嶆埓, 2 鈥 鎴,0xff-绠楁硶鏀寔锛屼絾鏄病鏈夎瘑鍒嚭鏉
+ //鎶撴媿鍥剧墖浜鸿劯骞撮緞鐨勪娇鐢ㄦ柟寮忥紝濡俠yAge涓15,byAgeDeviation涓1,琛ㄧず锛屽疄闄呬汉鑴稿浘鐗囧勾榫勭殑涓14-16涔嬮棿
+ public byte byRes4;// 0-琛ㄧず鈥滄湭鐭モ濓紙绠楁硶涓嶆敮鎸侊級,0xff-绠楁硶鏀寔锛屼絾鏄病鏈夎瘑鍒嚭鏉
+ public byte byDeviation;//璇樊鍊
+ public byte byRes0; //瀛楁棰勭暀
+ public byte byMask; //鏄惁鎴村彛缃 0-琛ㄧず鈥滄湭鐭モ濓紙绠楁硶涓嶆敮鎸侊級,1 鈥 涓嶆埓, 2 鈥 鎴, 0xff-绠楁硶鏀寔锛屼絾鏄病鏈夎瘑鍒嚭鏉
+ public byte bySmile; //鏄惁寰瑧 0-琛ㄧず鈥滄湭鐭モ濓紙绠楁硶涓嶆敮鎸侊級,1 鈥 涓嶅井绗, 2 鈥 寰瑧, 0xff-绠楁硶鏀寔锛屼絾鏄病鏈夎瘑鍒嚭鏉
+ public byte byFaceExpression; /* 琛ㄦ儏,鍙傝FACE_EXPRESSION_GROUP_ENUM*/
+ public byte byRes1;
+ public byte byRes2;
+ public byte byHat; // 甯藉瓙, 0-涓嶆敮鎸,1-涓嶆埓甯藉瓙,2-鎴村附瀛,0xff-unknow琛ㄧず鏈煡,绠楁硶鏀寔鏈鍑
+ public byte[] byRes = new byte[4]; //淇濈暀
+ }
+
+ //鐗瑰緛鎶撴媿闄勫姞淇℃伅缁撴瀯浣
+ public static class NET_VCA_FACESNAP_ADDINFO extends Structure {
+ //浜鸿劯鐭╁舰妗,璇ュ潗鏍囦负浜鸿劯灏忓浘(澶磋偐鐓)涓汉鑴哥殑鍧愭爣
+ public NET_VCA_RECT struFacePicRect = new NET_VCA_RECT();
+ public int iSwingAngle;//鏃嬭浆瑙, -90~90搴
+ public int iTiltAngle;//淇话瑙, -90~90搴
+ public int dwPupilDistance;//鐬宠窛,鑼冨洿涓猴細鏈灏忓间负10鍍忕礌,鏈澶у间负褰撳墠鍒嗚鲸鐜囧搴/1.6
+ public byte byBlockingState;//鐩爣閬尅鐘舵侊紝 0-琛ㄧず鈥滄湭鐭モ濓紙绠楁硶涓嶆敮鎸侊級,1~鏃犻伄鎸,2~鐬椂杞诲害閬尅锛3~鎸佺画杞诲害閬尅锛4~涓ラ噸閬尅
+ public byte byFaceSnapThermometryEnabled;//鐗瑰緛鎶撴媿娴嬫俯浣胯兘 1-寮鍚 0-鍏抽棴
+ public byte byIsAbnomalTemperature;//鐗瑰緛鎶撴媿娴嬫俯鏄惁娓╁害寮傚父 1-鏄 0-鍚
+ public byte byThermometryUnit;//娴嬫俯鍗曚綅: 0-鎽勬皬搴︼紙鈩冿級锛1-鍗庢皬搴︼紙鈩夛級锛2-寮灏旀枃(K)
+ public NET_DVR_TIME_EX struEnterTime = new NET_DVR_TIME_EX(); // 鏈浣虫姄鎷嶄笅杩涘叆鏃堕棿
+ public NET_DVR_TIME_EX struExitTime = new NET_DVR_TIME_EX(); // 鏈浣虫姄鎷嶄笅绂诲紑鏃堕棿
+ public float fFaceTemperature; // 浜鸿劯娓╁害锛 - 20.0鈩儈150.0鈩冿紝绮剧‘鍒板皬鏁扮偣鍚1浣嶏級
+ public float fAlarmTemperature;// 娴嬫俯鎶ヨ璀﹂槇鍊硷紙绮剧‘鍒板皬鏁扮偣鍚1浣嶏級
+ public byte[] byRes = new byte[472];// 淇濈暀瀛楄妭
+ }
+
+ //鐗瑰緛鎶撴媿缁撴灉
+ public static class NET_VCA_FACESNAP_RESULT extends Structure {
+ public int dwSize; // 缁撴瀯澶у皬
+ public int dwRelativeTime; // 鐩稿鏃舵爣
+ public int dwAbsTime; // 缁濆鏃舵爣
+ public int dwFacePicID; //浜鸿劯鍥綢D
+ public int dwFaceScore; //浜鸿劯璇勫垎,0-100
+ public NET_VCA_TARGET_INFO struTargetInfo = new NET_VCA_TARGET_INFO();//鎶ヨ鐩爣淇℃伅
+ public NET_VCA_RECT struRect = new NET_VCA_RECT(); //浜鸿劯瀛愬浘鍖哄煙
+ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //鍓嶇璁惧淇℃伅
+ public int dwFacePicLen; //浜鸿劯瀛愬浘鐨勯暱搴︼紝涓0琛ㄧず娌℃湁鍥剧墖锛屽ぇ浜0琛ㄧず鏈夊浘鐗
+ public int dwBackgroundPicLen; //鑳屾櫙鍥剧殑闀垮害锛屼负0琛ㄧず娌℃湁鍥剧墖锛屽ぇ浜0琛ㄧず鏈夊浘鐗(淇濈暀)
+ public byte bySmart; //IDS璁惧杩斿洖0(榛樿鍊)锛孲mart Functiom Return 1
+ public byte byAlarmEndMark;//鎶ヨ缁撴潫鏍囪0-淇濈暀锛1-缁撴潫鏍囪锛堣瀛楁缁撳悎浜鸿劯ID瀛楁浣跨敤锛岃〃绀鸿ID瀵瑰簲鐨勪笅鎶ヨ缁撴潫锛屼富瑕佹彁渚涚粰NVR浣跨敤锛岀敤浜庡垽鏂姤璀︾粨鏉燂紝鎻愬彇璇嗗埆鍥剧墖鏁版嵁涓紝娓呮櫚搴︽渶楂樼殑鍥剧墖锛
+ public byte byRepeatTimes; //閲嶅鎶ヨ娆℃暟锛0-鏃犳剰涔
+ public byte byUploadEventDataType;//浜鸿劯鍥剧墖鏁版嵁闀夸紶鏂瑰紡锛0-浜岃繘鍒舵暟鎹紝1-URL
+ public NET_VCA_HUMAN_FEATURE struFeature = new NET_VCA_HUMAN_FEATURE(); //浜轰綋灞炴
+ public float fStayDuration; //鍋滅暀鐢婚潰涓椂闂(鍗曚綅: 绉)
+ public byte[] sStorageIP = new byte[16]; //瀛樺偍鏈嶅姟IP鍦板潃
+ public short wStoragePort; //瀛樺偍鏈嶅姟绔彛鍙
+ public short wDevInfoIvmsChannelEx; //涓嶯ET_VCA_DEV_INFO閲岀殑byIvmsChannel鍚箟鐩稿悓锛岃兘琛ㄧず鏇村ぇ鐨勫笺傝佸鎴风鐢╞yIvmsChannel鑳界户缁吋瀹癸紝浣嗘槸鏈澶у埌255銆傛柊瀹㈡埛绔増鏈浣跨敤wDevInfoIvmsChannelEx銆
+ public byte byFacePicQuality;
+ public byte byUIDLen; // 涓婁紶鎶ヨ鐨勬爣璇嗛暱搴
+ public byte byLivenessDetectionStatus;// 娲讳綋妫娴嬬姸鎬侊細0-淇濈暀锛1-鏈煡(妫娴嬪け璐)锛2-闈炵湡浜轰汉鑴革紝3-鐪熶汉浜鸿劯锛4-鏈紑鍚椿浣撴娴
+ /*闄勫姞淇℃伅鏍囪瘑浣嶏紙鍗虫槸鍚︽湁NET_VCA_FACESNAP_ADDINFO缁撴瀯浣擄級,0-鏃犻檮鍔犱俊鎭, 1-鏈夐檮鍔犱俊鎭*/
+ public byte byAddInfo;
+ public Pointer pUIDBuffer; //鏍囪瘑鎸囬拡
+ //闄勫姞淇℃伅鎸囬拡,鎸囧悜NET_VCA_FACESNAP_ADDINFO缁撴瀯浣
+ public Pointer pAddInfoBuffer;
+ public byte byTimeDiffFlag; /*鏃跺樊瀛楁鏄惁鏈夋晥 0-鏃跺樊鏃犳晥锛 1-鏃跺樊鏈夋晥 */
+ public byte cTimeDifferenceH; /*涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 +琛ㄧず涓滃尯,锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte cTimeDifferenceM; /*涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 30, 45锛 +琛ㄧず涓滃尯锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte byBrokenNetHttp; //鏂綉缁紶鏍囧織浣嶏紝0-涓嶆槸閲嶄紶鏁版嵁锛1-閲嶄紶鏁版嵁
+ public Pointer pBuffer1; //浜鸿劯瀛愬浘鐨勫浘鐗囨暟鎹
+ public Pointer pBuffer2; //鑳屾櫙鍥剧殑鍥剧墖鏁版嵁锛堜繚鐣欙紝閫氳繃鏌ユ壘鑳屾櫙鍥炬帴鍙e彲浠ヨ幏鍙栬儗鏅浘锛
+ }
+
+ //鐗瑰緛鎶撴媿淇℃伅
+ public static class NET_VCA_FACESNAP_INFO_ALARM extends Structure {
+ public int dwRelativeTime; // 鐩稿鏃舵爣
+ public int dwAbsTime; // 缁濆鏃舵爣
+ public int dwSnapFacePicID; //鎶撴媿浜鸿劯鍥綢D
+ public int dwSnapFacePicLen; //鎶撴媿浜鸿劯瀛愬浘鐨勯暱搴︼紝涓0琛ㄧず娌℃湁鍥剧墖锛屽ぇ浜0琛ㄧず鏈夊浘鐗
+ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //鍓嶇璁惧淇℃伅
+ public byte byFaceScore; //浜鸿劯璇勫垎锛屾寚浜鸿劯瀛愬浘鐨勮川閲忕殑璇勫垎,0-100
+ public byte bySex;//鎬у埆锛0-鏈煡锛1-鐢凤紝2-濂
+ public byte byGlasses;//鏄惁甯︾溂闀滐紝0-鏈煡锛1-鏄紝2-鍚
+ //鎶撴媿鍥剧墖浜鸿劯骞撮緞鐨勪娇鐢ㄦ柟寮忥紝濡俠yAge涓15,byAgeDeviation涓1,琛ㄧず锛屽疄闄呬汉鑴稿浘鐗囧勾榫勭殑涓14-16涔嬮棿
+ public byte byRes2;//
+ public byte byDeviation;//璇樊鍊
+ public byte byGroup;//娈碉紝璇﹁HUMAN_GROUP_ENUM锛岃嫢浼犲叆0xff琛ㄧず鏈煡
+ public byte byFacePicQuality;
+ public byte byRes1; // 淇濈暀瀛楄妭
+ public int dwUIDLen; // 涓婁紶鎶ヨ鐨勬爣璇嗛暱搴
+ public Pointer pUIDBuffer; //鏍囪瘑鎸囬拡
+ public float fStayDuration; //鍋滅暀鐢婚潰涓椂闂(鍗曚綅: 绉)
+ public Pointer pBuffer1; //鎶撴媿浜鸿劯瀛愬浘鐨勫浘鐗囨暟鎹
+ }
+
+ //绫嶈疮鍙傛暟
+ public static class NET_DVR_AREAINFOCFG extends Structure {
+ public short wNationalityID; //鍥界睄
+ public short wProvinceID; //鐪
+ public short wCityID; //甯
+ public short wCountyID; //鍘
+ public int dwCode; //鍥藉鏍囧噯鐨勭渷浠姐佸煄甯傘佸幙绾т唬鐮侊紝褰撹繖涓瓧娈典笉涓0鐨勬椂鍊欙紝浣跨敤杩欎釜鍊硷紝鏂拌澶囦笂浼犺繖涓艰〃绀虹睄璐弬鏁帮紝鑰佽澶囪繖涓间负0
+ }
+
+ //浜哄憳淇℃伅
+ public int MAX_HUMAN_BIRTHDATE_LEN = 10;
+
+ public static class NET_VCA_HUMAN_ATTRIBUTE extends Structure {
+ public byte bySex; //鎬у埆锛0-鐢凤紝1-濂
+ public byte byCertificateType; //璇佷欢绫诲瀷锛0-韬唤璇侊紝1-璀﹀畼璇
+ public byte[] byBirthDate = new byte[MAX_HUMAN_BIRTHDATE_LEN]; //鍑虹敓骞存湀锛屽锛201106
+ public byte[] byName = new byte[NAME_LEN]; //濮撳悕
+ public NET_DVR_AREAINFOCFG struNativePlace = new NET_DVR_AREAINFOCFG(); //绫嶈疮鍙傛暟
+ public byte[] byCertificateNumber = new byte[NAME_LEN]; //璇佷欢鍙
+ public int dwPersonInfoExtendLen;// 浜哄憳鏍囩淇℃伅鎵╁睍闀垮害
+ public Pointer pPersonInfoExtend; //浜哄憳鏍囩淇℃伅鎵╁睍淇℃伅
+ public byte byGroup;//娈碉紝锛屽浼犲叆0xff琛ㄧず鏈煡
+ public byte[] byRes2 = new byte[11];
+ }
+
+
+ //绂佹鍚嶅崟鎶ヨ淇℃伅
+ public static class NET_VCA_BLOCKLIST_INFO_ALARM extends Structure {
+ public NET_VCA_BLOCKLIST_INFO struBlockListInfo = new NET_VCA_BLOCKLIST_INFO(); //绂佹鍚嶅崟鍩烘湰淇℃伅
+ public int dwBlockListPicLen; //绂佹鍚嶅崟浜鸿劯瀛愬浘鐨勯暱搴︼紝涓0琛ㄧず娌℃湁鍥剧墖锛屽ぇ浜0琛ㄧず鏈夊浘鐗
+ public int dwFDIDLen;// 浜鸿劯搴揑D闀垮害
+ public Pointer pFDID; //浜鸿劯搴揑d鎸囬拡
+ public int dwPIDLen;// 浜鸿劯搴撳浘鐗嘔D闀垮害
+ public Pointer pPID; //浜鸿劯搴撳浘鐗嘔D鎸囬拡
+ public short wThresholdValue; //浜鸿劯搴撻槇鍊糩0,100]
+ public byte[] byRes = new byte[2]; // 淇濈暀瀛楄妭
+ public Pointer pBuffer1; //绂佹鍚嶅崟浜鸿劯瀛愬浘鐨勫浘鐗囨暟鎹
+ }
+
+ //绂佹鍚嶅崟淇℃伅
+ public static class NET_VCA_BLOCKLIST_INFO extends Structure {
+ public int dwSize; //缁撴瀯澶у皬
+ public int dwRegisterID; //鍚嶅崟娉ㄥ唽ID鍙凤紙鍙锛
+ public int dwGroupNo; //鍒嗙粍鍙
+ public byte byType; //绂佹/杩愯鍏佽鍚嶅崟鏍囧織锛0-鍏ㄩ儴锛1-鍏佽鍚嶅崟锛2-绂佹鍚嶅崟
+ public byte byLevel; //绂佹鍚嶅崟绛夌骇锛0-鍏ㄩ儴锛1-浣庯紝2-涓紝3-楂
+ public byte[] byRes1 = new byte[2]; //淇濈暀
+ public NET_VCA_HUMAN_ATTRIBUTE struAttribute = new NET_VCA_HUMAN_ATTRIBUTE(); //浜哄憳淇℃伅
+ public byte[] byRemark = new byte[NAME_LEN]; //澶囨敞淇℃伅
+ public int dwFDDescriptionLen;//浜鸿劯搴撴弿杩版暟鎹暱搴
+ public Pointer pFDDescriptionBuffer;//浜鸿劯搴撴弿杩版暟鎹寚閽
+ public int dwFCAdditionInfoLen;//鎶撴媿搴撻檮鍔犱俊鎭暱搴
+ public Pointer pFCAdditionInfoBuffer;//鎶撴媿搴撻檮鍔犱俊鎭暟鎹寚閽堬紙FCAdditionInfo涓寘鍚浉鏈篜TZ鍧愭爣锛
+ public byte[] byRes2 = new byte[4];
+ }
+
+
+ //绂佹鍚嶅崟姣斿缁撴灉鎶ヨ涓婁紶
+ public static class NET_VCA_FACESNAP_MATCH_ALARM extends Structure {
+ public int dwSize; // 缁撴瀯澶у皬
+ public float fSimilarity; //鐩镐技搴︼紝[0.001,1]
+ public NET_VCA_FACESNAP_INFO_ALARM struSnapInfo = new NET_VCA_FACESNAP_INFO_ALARM(); //鎶撴媿淇℃伅
+ public NET_VCA_BLOCKLIST_INFO_ALARM struBlockListInfo = new NET_VCA_BLOCKLIST_INFO_ALARM(); //绂佹鍚嶅崟淇℃伅
+ public byte[] sStorageIP = new byte[16]; //瀛樺偍鏈嶅姟IP鍦板潃
+ public short wStoragePort; //瀛樺偍鏈嶅姟绔彛鍙
+ public byte byMatchPicNum; //鍖归厤鍥剧墖鐨勬暟閲忥紝0-淇濈暀锛堣佽澶囪繖涓奸粯璁0锛屾柊璁惧杩欎釜鍊间负0鏃惰〃绀哄悗缁病鏈夊尮閰嶇殑鍥剧墖淇℃伅锛
+ public byte byPicTransType;//鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public int dwSnapPicLen;//璁惧璇嗗埆鎶撴媿鍥剧墖闀垮害
+ public Pointer pSnapPicBuffer;//璁惧璇嗗埆鎶撴媿鍥剧墖鎸囬拡
+ public NET_VCA_RECT struRegion = new NET_VCA_RECT();//鐩爣杈圭晫妗嗭紝璁惧璇嗗埆鎶撴媿鍥剧墖涓紝浜鸿劯瀛愬浘鍧愭爣
+ public int dwModelDataLen;//寤烘ā鏁版嵁闀垮害
+ public Pointer pModelDataBuffer;// 寤烘ā鏁版嵁鎸囬拡
+ public byte byModelingStatus;// 寤烘ā鐘舵
+ public byte byLivenessDetectionStatus;//娲讳綋妫娴嬬姸鎬侊細0-淇濈暀锛1-鏈煡锛堟娴嬪け璐ワ級锛2-闈炵湡浜轰汉鑴革紝3-鐪熶汉浜鸿劯锛4-鏈紑鍚椿浣撴娴
+ public byte cTimeDifferenceH; /*涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 +琛ㄧず涓滃尯,0xff鏃犳晥*/
+ public byte cTimeDifferenceM; /*涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 30, 45锛 +琛ㄧず涓滃尯锛0xff鏃犳晥*/
+ public byte byMask; //鎶撴媿鍥炬槸鍚︽埓鍙g僵锛0-淇濈暀锛1-鏈煡锛2-涓嶆埓鍙g僵锛3-鎴村彛缃
+ public byte bySmile; //鎶撴媿鍥炬槸鍚﹀井绗戯紝0-淇濈暀锛1-鏈煡锛2-涓嶅井绗戯紝3-寰瑧
+ public byte byContrastStatus; //姣斿缁撴灉锛0-淇濈暀锛1-姣斿鎴愬姛锛2-姣斿澶辫触
+ public byte byBrokenNetHttp; //鏂綉缁紶鏍囧織浣嶏紝0-涓嶆槸閲嶄紶鏁版嵁锛1-閲嶄紶鏁版嵁
+ }
+
+ //浜ら氫簨浠舵姤璀(鎵╁睍)
+ public static class NET_DVR_AID_ALARM_V41 extends Structure {
+ public int dwSize; //缁撴瀯闀垮害
+ public int dwRelativeTime; //鐩稿鏃舵爣
+ public int dwAbsTime; //缁濆鏃舵爣
+ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO(); //鍓嶇璁惧淇℃伅
+ public NET_DVR_AID_INFO struAIDInfo = new NET_DVR_AID_INFO(); //浜ら氫簨浠朵俊鎭
+ public NET_DVR_SCENE_INFO struSceneInfo = new NET_DVR_SCENE_INFO(); //鍦烘櫙淇℃伅
+ public int dwPicDataLen; //鍥剧墖闀垮害
+ public Pointer pImage; //鎸囧悜鍥剧墖鐨勬寚閽
+ // 0-鏁版嵁鐩存帴涓婁紶; 1-浜戝瓨鍌ㄦ湇鍔″櫒URL(3.7Ver)鍘熷厛鐨勫浘鐗囨暟鎹彉鎴怳RL鏁版嵁锛屽浘鐗囬暱搴﹀彉鎴怳RL闀垮害
+ public byte byDataType;
+ public byte byLaneNo; //鍏宠仈杞﹂亾鍙
+ public short wMilliSecond; //鏃舵爣姣
+ //鐩戞祴鐐圭紪鍙凤紙璺彛缂栧彿銆佸唴閮ㄧ紪鍙凤級
+ public byte[] byMonitoringSiteID = new byte[MONITORSITE_ID_LEN/*48*/];
+ public byte[] byDeviceID = new byte[DEVICE_ID_LEN/*48*/];//璁惧缂栧彿
+ public int dwXmlLen;//XML鎶ヨ淇℃伅闀垮害
+ public Pointer pXmlBuf;// XML鎶ヨ淇℃伅鎸囬拡,鍏禭ML瀵瑰簲鍒癊ventNotificationAlert XML Block
+ public byte byTargetType;// 妫娴嬬殑鐩爣绫诲瀷锛0~鏈煡锛1~琛屼汉銆2~浜岃疆杞︺3~涓夎疆杞(琛屼汉妫娴嬩腑杩斿洖)
+ public byte byRuleID;//瑙勫垯ID,1-4,褰揷ongestion浜嬩欢閰嶇疆浜嗚鍒欏尯鍩熸椂杩斿洖
+ public short wDevInfoIvmsChannelEx; //涓嶯ET_VCA_DEV_INFO閲岀殑byIvmsChannel鍚箟鐩稿悓锛岃兘琛ㄧず鏇村ぇ鐨勫笺傝佸鎴风鐢╞yIvmsChannel鑳界户缁吋瀹癸紝浣嗘槸鏈澶у埌255銆傛柊瀹㈡埛绔増鏈浣跨敤wDevInfoIvmsChannelEx銆
+ public byte byBrokenNetHttp; // 鏂綉缁紶鏍囧織浣嶏紝0-涓嶉噸浼犳暟鎹紝1-閲嶄紶鏁版嵁
+ public byte[] byRes = new byte[3]; // 淇濈暀瀛楄妭
+ public int dwPlateSmallPicDataLen; //杞︾墝灏忓浘鍥剧墖闀垮害
+ public Pointer pPlateSmallImage; // //鎸囧悜杞︾墝灏忓浘鐨勬寚閽
+ }
+
+
+ //浜ら氱粺璁′俊鎭姤璀(鎵╁睍)
+ public static class NET_DVR_TPS_ALARM_V41 extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public int dwRelativeTime; // 鐩稿鏃舵爣
+ public int dwAbsTime; // 缁濆鏃舵爣
+ public NET_VCA_DEV_INFO struDevInfo; // 鍓嶇璁惧淇℃伅
+ public NET_DVR_TPS_INFO_V41 struTPSInfo; // 浜ら氬弬鏁扮粺璁′俊鎭
+ //鐩戞祴鐐圭紪鍙凤紙璺彛缂栧彿銆佸唴閮ㄧ紪鍙凤級
+ public byte[] byMonitoringSiteID = new byte[MONITORSITE_ID_LEN/*48*/];
+ public byte[] byDeviceID = new byte[DEVICE_ID_LEN/*48*/];//璁惧缂栧彿
+ public int dwStartTime; // 寮濮嬬粺璁℃椂闂
+ public int dwStopTime; // 缁撴潫缁熻鏃堕棿
+ public byte[] byRes = new byte[24]; // 淇濈暀
+ }
+
+ public static class NET_DVR_LANE_PARAM_V41 extends Structure {
+ public byte[] byRuleName = new byte[NAME_LEN]; // 杞﹂亾瑙勫垯鍚嶇О
+ public byte byRuleID; // 瑙勫垯搴忓彿锛屼负瑙勫垯閰嶇疆缁撴瀯涓嬫爣锛0-7
+ public byte byLaneType; // 杞﹂亾涓婅鎴栦笅琛
+ public byte byTrafficState; // 杞﹂亾鐨勪氦閫氱姸鎬侊紝0-鏃犳晥锛1-鐣呴氾紝2-鎷ユ尋锛3-鍫靛
+ public byte byLaneNo; //杞﹂亾鍙
+ public int dwVaryType; // 杞﹂亾浜ら氬弬鏁板彉鍖栫被鍨嬪弬鐓 TRAFFIC_DATA_VARY_TYPE_EX_ENUM锛屾寜浣嶅尯鍒
+ public int dwTpsType; // 鏁版嵁鍙樺寲绫诲瀷鏍囧織锛岃〃绀哄綋鍓嶄笂浼犵殑缁熻鍙傛暟涓紝鍝簺鏁版嵁鏈夋晥锛屽弬鐓TS_TPS_TYPE,鎸変綅鍖哄垎
+ public int dwLaneVolume; // 杞﹂亾娴侀噺锛岀粺璁℃湁澶氬皯杞﹀瓙閫氳繃
+ public int dwLaneVelocity; // 杞﹂亾閫熷害锛屽叕閲岃绠
+ public int dwTimeHeadway; // 杞﹀ご鏃惰窛锛屼互绉掕绠
+ public int dwSpaceHeadway; // 杞﹀ご闂磋窛锛屼互绫虫潵璁$畻
+ public float fSpaceOccupyRation; // 杞﹂亾鍗犳湁鐜囷紝鐧惧垎姣旇绠楋紙绌洪棿涓)
+ public float fTimeOccupyRation; // 鏃堕棿鍗犳湁鐜囷紝鐧惧垎姣旇绠
+ public int dwLightVehicle; // 灏忓瀷杞︽暟閲
+ public int dwMidVehicle; // 涓瀷杞︽暟閲
+ public int dwHeavyVehicle; // 閲嶅瀷杞︽暟閲
+ public NET_DVR_LANE_QUEUE struLaneQueue; // 杞﹂亾闃熷垪闀垮害
+ public NET_VCA_POINT struRuleLocation; // 瑙勫垯浣嶇疆铏氭嫙绾垮湀鐨勪腑蹇
+ public int dwOversizeVehicle; // 澶у瀷杞︽暟閲
+ public byte[] byRes2 = new byte[60]; // 淇濈暀
+ }
+
+ public int MAX_TPS_RULE = 8; // 鏈澶у弬鏁拌鍒欐暟鐩
+
+ public static class NET_DVR_TPS_INFO_V41 extends Structure {
+ public int dwLanNum; // 浜ら氬弬鏁扮殑杞﹂亾鏁扮洰
+ public NET_DVR_LANE_PARAM_V41[] struLaneParam = new NET_DVR_LANE_PARAM_V41[MAX_TPS_RULE];
+ public int dwSceneID;//鍦烘櫙ID
+ public byte[] byRes = new byte[28]; //淇濈暀
+ }
+
+ // 杞﹂亾闃熷垪缁撴瀯浣
+ public static class NET_DVR_LANE_QUEUE extends Structure {
+ public NET_VCA_POINT struHead; //闃熷垪澶
+ public NET_VCA_POINT struTail; //闃熷垪灏
+ public int dwLength; //瀹為檯闃熷垪闀垮害 鍗曚綅涓虹背 [0-500]
+ }
+
+ //TPS缁熻杩囪溅鏁版嵁涓婁紶
+ public static class NET_DVR_TPS_STATISTICS_INFO extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public int dwChan;//閫氶亾鍙
+ public NET_DVR_TPS_STATISTICS_PARAM struTPSStatisticsInfo;// 浜ら氬弬鏁扮粺璁′俊鎭
+ public byte[] byRes = new byte[128]; // 淇濈暀
+ }
+
+
+ // 浜ら氬弬鏁扮粺璁′俊鎭
+ public static class NET_DVR_TPS_STATISTICS_PARAM extends Structure {
+ public byte byStart; // 寮濮嬬爜
+ public byte byCMD; // 鍛戒护鍙凤紝 08-瀹氭椂鎴愮粍鏁版嵁鎸囦护
+ public byte[] byRes = new byte[2]; // 棰勭暀瀛楄妭
+ public short wDeviceID; // 璁惧ID
+ public short wDataLen; // 鏁版嵁闀垮害
+ public byte byTotalLaneNum; // 鏈夋晥杞﹂亾鎬绘暟
+ public byte[] byRes1 = new byte[15];
+ public NET_DVR_TIME_V30 struStartTime; //缁熻寮濮嬫椂闂
+ public int dwSamplePeriod; //缁熻鏃堕棿,鍗曚綅绉
+ public NET_DVR_TPS_LANE_PARAM[] struLaneParam = new NET_DVR_TPS_LANE_PARAM[8];
+ }
+
+ //缁熻淇℃伅
+ public static class NET_DVR_TPS_LANE_PARAM extends Structure {
+ public byte byLane; // 瀵瑰簲杞﹂亾鍙
+ public byte bySpeed; // 杞﹂亾杩囪溅骞冲潎閫熷害
+ public byte[] byRes = new byte[2]; // 淇濈暀
+ public int dwLightVehicle; // 灏忓瀷杞︽暟閲
+ public int dwMidVehicle; // 涓瀷杞︽暟閲
+ public int dwHeavyVehicle; // 閲嶅瀷杞︽暟閲
+ public int dwTimeHeadway; // 杞﹀ご鏃惰窛锛屼互绉掕绠
+ public int dwSpaceHeadway; // 杞﹀ご闂磋窛锛屼互绫虫潵璁$畻
+ public float fSpaceOccupyRation; // 绌洪棿鍗犳湁鐜囷紝鐧惧垎姣旇绠,娴偣鏁*1000
+ public float fTimeOccupyRation; // 鏃堕棿鍗犳湁鐜囷紝鐧惧垎姣旇绠,娴偣鏁*1000
+ public byte[] byRes1 = new byte[16]; // 淇濈暀
+ }
+
+ //TPS瀹炴椂杩囪溅鏁版嵁涓婁紶
+ public static class NET_DVR_TPS_REAL_TIME_INFO extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public int dwChan;//閫氶亾鍙
+ public NET_DVR_TIME_V30 struTime; //妫娴嬫椂闂
+ public NET_DVR_TPS_PARAM struTPSRealTimeInfo;// 浜ら氬弬鏁扮粺璁′俊鎭
+ public Pointer pAddInfoBuffer;
+ /*闄勫姞淇℃伅鏍囪瘑锛堝嵆鏄惁鏈塏ET_DVR_TPS_ADDINFO缁撴瀯浣擄級,0-鏃犻檮鍔犱俊鎭, 1-鏈夐檮鍔犱俊鎭*/
+ public byte byAddInfoFlag;
+ public byte[] byRes1 = new byte[3]; // 淇濈暀
+ public int dwDeviceIDEx; // 璁惧ID鎵╁睍
+ public byte[] byRes = new byte[8]; // 淇濈暀
+ }
+
+ //瀹炴椂淇℃伅
+ public static class NET_DVR_TPS_PARAM extends Structure {
+ public byte byStart; // 寮濮嬬爜
+ public byte byCMD; // 鍛戒护鍙凤紝01-杩涘叆鎸囦护锛02-绂诲紑鎸囦护锛03-鎷ュ牭鐘舵佹寚浠(涓03鏃讹紝鍙湁byLaneState鍜宐yQueueLen鏈夋晥)锛04-澶氱嚎鍦堢姸鎬侊紙涓04鏃讹紝wLoopState鍜寃StateMask鏈夋晥锛岃〃绀篵yLane杞﹂亾涓婂涓嚎鍦堢殑杩囪溅鐘舵侊級
+ public short wSpaceHeadway; //杞﹀ご闂磋窛锛屼互绫虫潵璁$畻
+ public short wDeviceID; // 璁惧ID
+ public short wDataLen; // 鏁版嵁闀垮害
+ public byte byLane; // 瀵瑰簲杞﹂亾鍙
+ public byte bySpeed; // 瀵瑰簲杞﹂燂紙KM/H锛
+ public byte byLaneState; // 杞﹂亾鐘舵侊紱0-鏃犵姸鎬侊紝1-鐣呴氾紝2-鎷ユ尋锛3-鍫靛
+ public byte byQueueLen; // 鍫靛鐘舵佷笅鎺掗槦闀垮害锛堟瘮濡50绫筹級
+ public short wLoopState; //绾垮湀鐘舵侊紝绗嚑浣嶈〃绀哄嚑鍙风嚎鍦堢姸鎬併傜姸鎬1-鍒拌揪锛0-绂诲紑锛岀嚎鍦堢紪鍙蜂粠闀滃ご鐢辫繎鍒拌繙渚濇澧炲ぇ锛岀敤鎴峰湪瑙f瀽鏃朵紭鍏堣В鏋愯溅閬撳彿锛屽啀瑙f瀽绾垮湀鍙凤紝鍗曚釜杞﹂亾鐨勭嚎鍦堝彿鏄敮涓鐨勩
+ public short wStateMask; //绾垮湀鐘舵佹帺鐮侊紝鎺╃爜浣嶄负1瀵瑰簲wLoopState鐘舵佷綅鏈夋晥锛屼负0琛ㄧず鏃犳晥
+ public int dwDownwardFlow; //褰撳墠杞﹂亾 浠庝笂鍒颁笅杞︽祦閲
+ public int dwUpwardFlow; //褰撳墠杞﹂亾 浠庝笅鍒颁笂杞︽祦閲
+ public byte byJamLevel; //鎷ュ牭绛夌骇锛屽綋byLaneState涓3鏃舵湁鏁堬紝1-杞诲害锛2-涓害锛3-閲嶅害
+ public byte byVehicleDirection; //0-鏈煡锛1-鐢变笂鑰屼笅锛2-鐢变笅鑰屼笂
+ public byte byJamFlow; //鎷ュ牭鏂板娴侀噺锛屾瘡鏂板涓杈嗚溅灏变笂鎶ヤ竴娆$疮璁¤溅杈嗙殑淇℃伅
+ public byte byChannelizationLane; //娓犲寲杞﹂亾鍙凤紙娓犲寲琛ㄧず锛岃溅閬撴暟閲忓彉鍖栫殑鎯呭喌锛屼竴鑸负璺彛杞﹂亾鐨勬暟鐩級
+ public byte byVehicleType; //杞﹀瀷璇嗗埆锛0- 鏈煡锛1- 瀹㈣溅(澶у瀷)锛2- 璐ц溅(澶у瀷)锛3- 杞胯溅(灏忓瀷)锛4- 闈炴満鍔ㄨ溅
+ public byte[] byRes1 = new byte[5]; //淇濈暀
+ public short wTimeHeadway; // 杞﹀ご鏃惰窛锛屼互绉掕绠
+ }
+
+ public static class NET_DVR_TIME_SEARCH_COND extends Structure {
+ public short wYear; //骞
+ public byte byMonth; //鏈
+ public byte byDay; //鏃
+ public byte byHour; //鏃
+ public byte byMinute; //鍒
+ public byte bySecond; //绉
+ public byte byLocalOrUTC; //0-鏃跺樊鏃犳晥锛岃澶囨湰鍦版椂闂达紝鍗宠澶嘜SD鏃堕棿 1-鏃跺樊鏈夋晥
+ public short wMillisecond; //姣锛岀簿搴︿笉澶燂紝榛樿涓0
+ public byte cTimeDifferenceH; //涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛+琛ㄧず涓滃尯锛宐yLocalOrUTC涓1鏃舵湁鏁
+ public byte cTimeDifferenceM; //涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 0, 30, 45锛+琛ㄧず涓滃尯锛宐yLocalOrUTC涓1鏃舵湁鏁
+ }
+
+ //浜嬩欢鎼滅储鏉′欢
+ public static class NET_DVR_SEARCH_EVENT_PARAM extends Structure {
+ public short wMajorType; //0-绉诲姩渚︽祴锛1-鎶ヨ杈撳叆, 2-鏅鸿兘浜嬩欢 5-pos褰曞儚 7-闂ㄧ浜嬩欢, 8-闈炶棰戣仈鍔ㄤ簨浠
+ public short wMinorType; //鎼滅储娆$被鍨- 鏍规嵁涓荤被鍨嬪彉鍖栵紝0xffff琛ㄧず鍏ㄩ儴
+ public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); //鎼滅储鐨勫紑濮嬫椂闂达紝鍋滄鏃堕棿: 鍚屾椂涓(0, 0) 琛ㄧず浠庢渶鏃╃殑鏃堕棿寮濮嬶紝鍒版渶鍚庯紝鏈鍓嶉潰鐨4000涓簨浠
+ public NET_DVR_TIME struEndTime = new NET_DVR_TIME(); //鎼滅储鐨勭粨鏉熸椂闂
+ public byte byLockType; // 0xff-鍏ㄩ儴锛0-鏈攣锛1-閿佸畾
+ public byte byValue; //0-鎸変綅琛ㄧず锛1-鎸夊艰〃绀
+ public byte[] byRes = new byte[130]; // 淇濈暀
+ public UNION_EVENT_PARAM uSeniorParam = new UNION_EVENT_PARAM();
+ }
+
+ public static class UNION_EVENT_PARAM extends Union {
+ public byte[] byLen = new byte[SEARCH_EVENT_INFO_LEN];
+ public EVENT_INQUESTPARAM struInquestParam = new EVENT_INQUESTPARAM();
+ }
+
+ //瀹¤浜嬩欢鎼滅储鏉′欢
+ public static class EVENT_INQUESTPARAM extends Structure {
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙,鎸夊艰〃绀猴紝浠1寮濮
+ public byte[] byRes1 = new byte[3];
+ public byte[] sInquestInfo = new byte[INQUEST_CASE_LEN];
+ public byte[] byRes2 = new byte[232]; //淇濈暀
+ }
+
+ //浜嬩欢鎼滅储鏉′欢
+ public static class NET_DVR_SEARCH_EVENT_PARAM_V50 extends Structure {
+ public short wMajorType; //0-绉诲姩渚︽祴锛1-鎶ヨ杈撳叆, 2-鏅鸿兘浜嬩欢 5-pos褰曞儚 7-闂ㄧ浜嬩欢, 8-闈炶棰戣仈鍔ㄤ簨浠
+ public short wMinorType; //鎼滅储娆$被鍨- 鏍规嵁涓荤被鍨嬪彉鍖栵紝0xffff琛ㄧず鍏ㄩ儴
+ public NET_DVR_TIME_SEARCH_COND struStartTime = new NET_DVR_TIME_SEARCH_COND(); //鎼滅储鐨勫紑濮嬫椂闂达紝鍋滄鏃堕棿: 鍚屾椂涓(0, 0) 琛ㄧず浠庢渶鏃╃殑鏃堕棿寮濮嬶紝鍒版渶鍚庯紝鏈鍓嶉潰鐨4000涓簨浠
+ public NET_DVR_TIME_SEARCH_COND struEndTime = new NET_DVR_TIME_SEARCH_COND(); //鎼滅储鐨勭粨鏉熸椂闂
+ public byte byLockType; // 0xff-鍏ㄩ儴锛0-鏈攣锛1-閿佸畾
+ public byte byQuickSearch; // 鏄惁鍚敤蹇熸煡璇紝0-涓嶅惎鐢紝1-鍚敤锛堝揩閫熸煡璇笉浼氳繑鍥炴枃浠跺ぇ灏忥紝浠呭璁惧鏁版嵁搴撹繘琛屾煡璇紝閬垮厤棰戠箒鍞ら啋纭洏锛
+ public byte[] byRes = new byte[254]; // 淇濈暀
+ public UNION_EVENT_PARAM_V50 uSeniorParam = new UNION_EVENT_PARAM_V50();
+ }
+
+ public static class UNION_EVENT_PARAM_V50 extends Union {
+ public byte[] byLen = new byte[SEARCH_EVENT_INFO_LEN_V40/*800*/];
+ public EVENT_ALARMPARAM_V50 struAlarmParam = new EVENT_ALARMPARAM_V50();
+ public EVENT_MOTIONPARAM_V50 struMotionParam = new EVENT_MOTIONPARAM_V50();
+ public EVENT_VCAPARAM_V50 struVcaParam = new EVENT_VCAPARAM_V50();
+ public EVENT_INQUESTPARAM_V50 struInquestParam = new EVENT_INQUESTPARAM_V50();
+ public EVENT_VCADETECTPARAM_V50 struVCADetect = new EVENT_VCADETECTPARAM_V50();
+ public EVENT_STREAMIDPARAM_V50 struStreamIDParam = new EVENT_STREAMIDPARAM_V50();
+ public EVENT_POSPARAM_V50 struPosAlarm = new EVENT_POSPARAM_V50();
+ public EVENT_TRIALPARAM_V50 struTrialParam = new EVENT_TRIALPARAM_V50();
+ public EVENT_ACSPARAM_V50 struACSAlarm = new EVENT_ACSPARAM_V50();
+ public EVENT_IOTPARAM_V50 struIOTAlarm = new EVENT_IOTPARAM_V50();
+ }
+
+ public static class EVENT_ALARMPARAM_V50 extends Structure {
+ /*鎶ヨ杈撳叆鍙凤紝鎸夊艰〃绀,閲囩敤绱у噾鍨嬫帓鍒楋紝0xffff琛ㄧず鍚庣画鏃犳晥*/
+ public short[] wAlarmInNo = new short[128];
+ public byte[] byRes = new byte[544]; //淇濈暀
+ }
+
+ //绉诲姩渚︽祴
+ public static class EVENT_MOTIONPARAM_V50 extends Structure {
+ /* 绉诲姩渚︽祴閫氶亾锛屾寜鍊艰〃绀 ,閲囩敤绱у噾鍨嬫帓鍒楋紝0xffff琛ㄧず鍚庣画鏃犳晥*/
+ public short[] wMotDetChanNo = new short[MAX_CHANNUM_V30];
+ public byte[] byRes = new byte[672]; /*淇濈暀*/
+ }
+
+ //寮傚父琛屼负妫娴
+ public static class EVENT_VCAPARAM_V50 extends Structure {
+ //寮傚父琛屼负妫娴嬪搴旂殑閫氶亾锛屾寜鍊艰〃绀,閲囩敤绱у噾鍨嬫帓鍒楋紝0xffff琛ㄧず鍚庣画鏃犳晥
+ public short[] wChanNo = new short[MAX_CHANNUM_V30];
+ public byte byRuleID; //寮傚父琛屼负妫娴嬬被鍨嬶紝瑙勫垯0xff琛ㄧず鍏ㄩ儴锛屼粠0寮濮
+ public byte byDriverBehaviortType; //鍙告満椹鹃┒琛屼负绫诲瀷锛0-淇濈暀銆1-鎶界儫銆2-鎺ユ墦鐢佃瘽銆3-鐤插姵椹鹃┒銆4-鍒嗙鎻愰啋銆5-椹鹃┒鍛樺紓甯搞6-鏈郴瀹夊叏甯︺7-绾㈠闃绘柇澧ㄩ暅
+ public byte byADASType; //楂樼骇杈呭姪椹鹃┒绫诲瀷锛0-淇濈暀銆1-鍓嶅悜纰版挒銆2-杞﹂亾鍋忕銆3-鐩插尯妫娴嬨4-杞﹁窛妫娴嬨5-琛屼汉闃叉挒銆6-鎬ュ姞閫熴7-鎬ュ噺閫熴8-鎬ュ乏杞集銆9-鎬ュ彸杞集銆10-杞﹁締缈昏溅銆11-鏈ぜ璁╄浜
+ public byte byGSensorType; // G-Sensor浜嬩欢锛0-淇濈暀銆1-鎬ュ姞閫熴2-鎬ュ噺閫熴3-鎬ュ乏杞集銆4-鎬ュ彸杞集銆5-杞﹁締缈昏溅銆6-杞﹁締纰版挒
+ public byte bySensorInType; // Sensor-In琛屼负锛0-淇濈暀銆1-鍒硅溅銆2-宸﹁浆銆3-鍙宠浆銆4-鍊掕溅
+ public byte[] byRes = new byte[667]; /*淇濈暀*/
+ }
+
+ //瀹¤浜嬩欢鎼滅储鏉′欢
+ public static class EVENT_INQUESTPARAM_V50 extends Structure {
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙,浠1寮濮
+ public byte[] byRes = new byte[799]; //淇濈暀
+ }
+
+ //鏅鸿兘渚︽祴鏌ユ壘鏉′欢 锛岄氶亾鍙锋寜鍊艰〃绀
+ public static class EVENT_VCADETECTPARAM_V50 extends Structure {
+ public byte byAll; //鏌ユ壘鍏ㄩ儴閫氶亾锛0-鍚︼紝姝ゆ椂dwChanNo鍙傛暟鏈夋晥锛
+ //1-鏌ユ壘鍏ㄩ儴閫氶亾锛屾鏃禿wChanNo鍙傛暟鏃犳晥銆
+ public byte[] byRes1 = new byte[3];
+ public short[] wChanNo = new short[MAX_CHANNUM_V30];// 瑙﹀彂閫氶亾鍙,鎸夊艰〃绀猴紝0xffff鏃犳晥锛屼笖鍚庣画鏁版嵁涔熻〃绀烘棤鏁堝
+ public byte[] byRes = new byte[668];
+ }
+
+ public static class EVENT_STREAMIDPARAM_V50 extends Structure {
+ public NET_DVR_STREAM_INFO struIDInfo = new NET_DVR_STREAM_INFO(); // 娴乮d淇℃伅锛72瀛楄妭闀
+ public int dwCmdType; // 澶栭儴瑙﹀彂绫诲瀷锛孨VR鎺ュ叆浜戝瓨鍌ㄤ娇鐢
+ public byte byBackupVolumeNum; //瀛樻。鍗峰彿锛孋VR浣跨敤
+ public byte[] byRes1 = new byte[3];
+ public byte[] byArchiveLabel = new byte[64]; //瀛樻。鏍囩锛孋VR浣跨敤
+ public byte[] byRes = new byte[656];
+ }
+
+ //pos褰曞儚
+ public static class EVENT_POSPARAM_V50 extends Structure {
+ public short[] wChannel = new short[MAX_CHANNUM_V30]; //閫氶亾锛屾寜鍊艰〃绀,绱у噾鍨嬫帓鍒楋紝閬囧埌0xffff鏃惰〃绀烘暟缁勫悗缁兼棤鏁
+ public byte byAllChan; //鏄惁鏌ユ壘鍏ㄩ儴閫氶亾锛0-鍚︼紝姝ゆ椂wChannel鏈夋晥锛1-鍏ㄩ儴閫氶亾锛屾鏃秝Channel鏃犳晥
+ public byte byCaseSensitive; //0-涓嶅尯鍒嗗ぇ灏忓啓锛 1-鍖哄垎澶у皬鍐
+ public byte byCombinateMode; //鍏抽敭瀛楃粍鍚堟柟寮忥紝0-鎴栵紝1-涓
+ public byte byRes1; //淇濈暀
+ public byte[] sKeyWord = new byte[MAX_POS_KEYWORDS_NUM * MAX_POS_KEYWORD_LEN];
+ //鍏抽敭瀛楁煡鎵炬椂鐨勬潯浠
+ public byte[] byRes = new byte[284]; //淇濈暀
+ }
+
+ public static class EVENT_TRIALPARAM_V50 extends Structure {
+ public byte[] byCaseNo = new byte[SEARCH_CASE_NO_LEN];
+ public byte[] byCaseName = new byte[SEARCH_CASE_NAME_LEN];
+ public byte[] byLitigant1 = new byte[SEARCH_LITIGANT_LEN];
+ public byte[] byLitigant2 = new byte[SEARCH_LITIGANT_LEN];
+ public byte[] byChiefJudge = new byte[SEARCH_CHIEF_JUDGE_LEN];
+ public byte byCaseType;
+ public byte[] byRes = new byte[547];
+ }
+
+ //闂ㄧ浜嬩欢鎼滅储鏉′欢
+ public static class EVENT_ACSPARAM_V50 extends Structure {
+ public int dwMajor; //鎶ヨ涓荤被鍨嬶紙涓庝簨浠朵笂浼犱富绫诲瀷涓鑷达紝0浠h〃鍏ㄩ儴锛
+ public int dwMinor; //鎶ヨ娆$被鍨嬶紙涓庝簨浠朵笂浼犱富绫诲瀷涓鑷达紝0浠h〃鍏ㄩ儴锛
+ public byte[] byCardNo = new byte[ACS_CARD_NO_LEN]; //鍗″彿
+ public byte[] byName = new byte[NAME_LEN/*32*/]; //濮撳悕
+ public byte[] byMACAddr = new byte[MACADDR_LEN]; //鐗╃悊MAC鍦板潃
+ public byte[] byRes = new byte[722];
+ }
+
+ //闈炶棰戣仈鍔ㄤ簨浠舵悳绱㈡潯浠
+ public static class EVENT_IOTPARAM_V50 extends Structure {
+ public short wDeviceType; //璁惧绫诲瀷,0-娴峰悍闂ㄧ涓绘満锛1-娴峰悍鍙瀵硅璁惧, 2-娴峰悍鎶ヨ涓绘満锛堥鐣欙級 3-GJD鎶ヨ涓绘満 4-Luminite鎶ヨ涓绘満, 5-OPTEX鎶ヨ涓绘満,6-cameraDetector妯℃嫙鐩告満浼犳劅鍣ㄨ澶
+ public short wEventType; //鎼滅储娆$被鍨- 鏍规嵁涓荤被鍨嬪彉鍖栵紝0xffff琛ㄧず鍏ㄩ儴
+ public short[] wChannel = new short[MAX_CHANNUM_V30/*64*/]; //閫氶亾鍙凤紝鎸夊艰〃绀,绱у噾鍨嬫帓鍒楋紝閬囧埌0xffff鏃惰〃绀烘暟缁勫悗缁兼棤鏁
+ public byte byAllChan; //鏄惁鏌ユ壘鍏ㄩ儴閫氶亾锛0-鍚︼紝姝ゆ椂wChannel鏈夋晥锛1-鍏ㄩ儴閫氶亾锛屾鏃秝Channel鏃犳晥
+ public byte byCaseSensitive; //0-涓嶅尯鍒嗗ぇ灏忓啓锛 1-鍖哄垎澶у皬鍐
+ public byte byCombinateMode; //鍏抽敭瀛楃粍鍚堟柟寮忥紝0-鎴栵紝1-涓
+ public byte bySearchType; //鎼滅储鏂瑰紡锛0-鎸夎棰戞簮鎼滅储锛堟鏃堕氶亾鍙蜂负瑙嗛閫氶亾鍙凤級
+ public byte[] sKeyWord = new byte[MAX_POS_KEYWORDS_NUM * MAX_POS_KEYWORD_LEN];//鍏抽敭瀛楁煡鎵炬椂鐨勬潯浠
+ public short wZoneNo; //闃插尯鍙凤紝浠呭綋璁惧绫诲瀷涓烘捣搴锋姤璀︿富鏈猴紝娆$被鍨嬩负闃插尯锛坵EventType涓1锛夋椂鏈夋晥
+ public byte[] byRes = new byte[278]; //淇濈暀
+ }
+
+ //鏌ユ壘杩斿洖缁撴灉
+ public static class NET_DVR_SEARCH_EVENT_RET extends Structure {
+ public short wMajorType; //涓荤被鍨
+ public short wMinorType; //娆$被鍨
+ public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); //浜嬩欢寮濮嬬殑鏃堕棿
+ public NET_DVR_TIME struEndTime = new NET_DVR_TIME(); //浜嬩欢鍋滄鐨勬椂闂
+ public byte[] byChan = new byte[MAX_CHANNUM_V30];
+ public byte[] byChanEx = new byte[32]; //鍏宠仈閫氶亾锛屾寜浣嶈〃绀猴紝浣跨敤璇ュ瓧娈靛悗byChan鍙互涓嶄娇鐢
+ public byte[] byRes = new byte[4];
+ public UNION_EVENT_RET uSeniorRet = new UNION_EVENT_RET();
+ }
+
+ public static class UNION_EVENT_RET extends Union {
+ public byte[] byLen = new byte[304];
+ public EVENT_ALARMSTRET struAlarmRet = new EVENT_ALARMSTRET();
+ public EVENT_INQUESTRET struInquestRet = new EVENT_INQUESTRET();
+ }
+
+ //鎶ヨ杈撳叆缁撴灉
+ public static class EVENT_ALARMSTRET extends Structure {
+
+ public int dwAlarmInNo; //鎶ヨ杈撳叆鍙
+ public byte[] byRes = new byte[SEARCH_EVENT_INFO_LEN];
+ }
+
+ //瀹¤浜嬩欢
+ public static class EVENT_INQUESTRET extends Structure {
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙,浠1寮濮
+ public byte byDriveIndex; //鍒诲綍鏈虹紪鍙,浠1寮濮
+ public byte[] byRes1 = new byte[6]; //淇濈暀
+ public int dwSegmentNo; //鏈墖鏂湪鏈瀹¤涓殑搴忓彿,浠1寮濮
+ public short wSegmetSize; //鏈墖鏂殑澶у皬, 鍗曚綅M
+ public short wSegmentState; //鏈墖鏂姸鎬 0 鍒诲綍姝e父锛1 鍒诲綍寮傚父锛2 涓嶅埢褰曞璁
+ public byte[] byRes2 = new byte[288]; //淇濈暀
+
+ @Override
+ protected List getFieldOrder() {
+ // TODO Auto-generated method stub
+ return Arrays.asList("byRoomIndex", "byDriveIndex", "byRes1", "dwSegmentNo", "wSegmetSize", "wSegmentState", "byRes2");
+ }
+ }
+
+ //鏌ユ壘杩斿洖缁撴灉
+ public static class NET_DVR_SEARCH_EVENT_RET_V50 extends Structure {
+ public short wMajorType; //涓荤被鍨
+ public short wMinorType; //娆$被鍨
+ public NET_DVR_TIME_SEARCH struStartTime = new NET_DVR_TIME_SEARCH(); //浜嬩欢寮濮嬬殑鏃堕棿
+ public NET_DVR_TIME_SEARCH struEndTime = new NET_DVR_TIME_SEARCH(); //浜嬩欢鍋滄鐨勬椂闂达紝鑴夊啿浜嬩欢鏃跺拰寮濮嬫椂闂翠竴鏍
+ public NET_DVR_ADDRESS struAddr = new NET_DVR_ADDRESS(); //鐗囨鎵鍦ㄧ殑鍦板潃淇℃伅锛岄泦缇ゅ洖鏀炬椂鐢ㄥ埌
+ public short[] wChan = new short[MAX_CHANNUM_V40/*512*/]; //瑙﹀彂鐨勯氶亾鍙凤紝0xffff琛ㄧず鍚庣画鏃犳晥
+ public byte[] byRes = new byte[256];
+ public UNION_EVENT_RET_V50 uSeniorRet = new UNION_EVENT_RET_V50();
+ }
+
+ public static class UNION_EVENT_RET_V50 extends Union {
+ public byte[] byLen = new byte[800];
+ public EVENT_ALARMRET_V50 struAlarmRet = new EVENT_ALARMRET_V50();
+ public EVENT_MOTIONRET_V50 struMotionRet = new EVENT_MOTIONRET_V50();
+ public EVENT_VCARET_V50 struVcaRet = new EVENT_VCARET_V50();
+ public EVENT_INQUESTRET_V50 struInquestRet = new EVENT_INQUESTRET_V50();
+ public EVENT_STREAMIDRET_V50 struStreamIDRet = new EVENT_STREAMIDRET_V50();
+ public EVENT_POSRET_V50 struPosRet = new EVENT_POSRET_V50();
+ public EVENT_TRIALRET_V50 struTrialRet = new EVENT_TRIALRET_V50();
+ public EVENT_IOTRET_V50 struIOTRet = new EVENT_IOTRET_V50();
+ }
+
+ //鎶ヨ杈撳叆缁撴灉
+ public static class EVENT_ALARMRET_V50 extends Structure {
+ public int dwAlarmInNo; //鎶ヨ杈撳叆鍙
+ public byte[] byRes = new byte[796];
+ }
+
+ //绉诲姩渚︽祴缁撴灉
+ public static class EVENT_MOTIONRET_V50 extends Structure {
+ public int dwMotDetNo; //绉诲姩渚︽祴閫氶亾
+ public byte[] byRes = new byte[796];
+ }
+
+ //寮傚父琛屼负妫娴嬬粨鏋
+ public static class EVENT_VCARET_V50 extends Structure {
+ public int dwChanNo; //瑙﹀彂浜嬩欢鐨勯氶亾鍙
+ public byte byRuleID; //瑙勫垯ID
+ public byte[] byRes1 = new byte[3]; //淇濈暀
+ public byte[] byRuleName = new byte[NAME_LEN]; //瑙勫垯鍚嶇О
+ public NET_VCA_EVENT_UNION uEvent = new NET_VCA_EVENT_UNION(); //琛屼负浜嬩欢鍙傛暟
+ public byte[] byRes = new byte[668]; //淇濈暀
+ }
+
+ //瀹¤浜嬩欢
+ public static class EVENT_INQUESTRET_V50 extends Structure {
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙,浠1寮濮
+ public byte byDriveIndex; //鍒诲綍鏈虹紪鍙,浠1寮濮
+ public byte[] byRes1 = new byte[6]; //淇濈暀
+ public int dwSegmentNo; //鏈墖鏂湪鏈瀹¤涓殑搴忓彿,浠1寮濮
+ public short wSegmetSize; //鏈墖鏂殑澶у皬, 鍗曚綅M
+ public short wSegmentState; //鏈墖鏂姸鎬 0 鍒诲綍姝e父锛1 鍒诲綍寮傚父锛2 涓嶅埢褰曞璁
+ public byte[] byRes2 = new byte[784]; //淇濈暀
+ }
+
+ //娴乮d褰曞儚鏌ヨ缁撴灉
+ public static class EVENT_STREAMIDRET_V50 extends Structure {
+ public int dwRecordType; //褰曞儚绫诲瀷 0-瀹氭椂褰曞儚 1-绉诲姩渚︽祴 2-鎶ヨ褰曞儚 3-鎶ヨ|绉诲姩渚︽祴 4-鎶ヨ&绉诲姩渚︽祴 5-鍛戒护瑙﹀彂 6-鎵嬪姩褰曞儚 7-闇囧姩鎶ヨ 8-鐜瑙﹀彂 9-鏅鸿兘鎶ヨ 10-鍥炰紶褰曞儚
+ public int dwRecordLength; //褰曞儚澶у皬
+ public byte byLockFlag; // 閿佸畾鏍囧織 0锛氭病閿佸畾 1锛氶攣瀹
+ public byte byDrawFrameType; // 0锛氶潪鎶藉抚褰曞儚 1锛氭娊甯у綍鍍
+ public byte byPosition;// 鏂囦欢鎵鍦ㄥ瓨鍌ㄤ綅缃細0-闃靛垪涓婏紝1-甯﹀簱鏈轰綅涓婏紝鍙互鐩存帴涓嬭浇锛2-纾佸甫搴撳唴锛岄渶瑕佹妸纾佺洏鍒囨崲鍒版満浣嶄笂锛3-涓嶅湪纾佸甫搴撲腑锛岄渶瑕佹妸纾佺洏鎻掑埌纾佸甫搴撲腑
+ public byte byRes1;
+ public byte[] byFileName = new byte[NAME_LEN]; //鏂囦欢鍚
+ public int dwFileIndex; // 瀛樻。鍗蜂笂鐨勬枃浠剁储寮
+ public byte[] byTapeIndex = new byte[NET_SDK_MAX_TAPE_INDEX_LEN]; //鏂囦欢鎵鍦ㄧ甯︾紪鍙
+ public byte[] byFileNameEx = new byte[NET_SDK_MAX_FILE_LEN/*256*/]; //鏂囦欢鍚嶆墿灞
+ public byte[] byRes = new byte[464];
+ }
+
+ //POS褰曞儚鏌ヨ缁撴灉
+ public static class EVENT_POSRET_V50 extends Structure {
+ public int dwChanNo; //瑙﹀彂浜х敓pos浜嬩欢鐨勯氶亾
+ public byte[] byRes = new byte[796];
+ }
+
+ public static class EVENT_TRIALRET_V50 extends Structure {
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙,浠1寮濮
+ public byte byDriveIndex; //鍒诲綍鏈虹紪鍙,浠1寮濮
+ public short wSegmetSize; //鏈墖鏂殑澶у皬, 鍗曚綅M
+ public int dwSegmentNo; //鏈墖鏂湪鏈瀹¤涓殑搴忓彿,浠1寮濮
+ public byte bySegmentState; //鏈墖鏂姸鎬侊紝0-鍒诲綍姝e父锛1-鍒诲綍寮傚父锛2-涓嶅埢褰曞璁
+ public byte byCaseType; //妗堜欢绫诲瀷锛0-鍏ㄩ儴銆1-鍒戜簨妗堜欢銆2-姘戜簨妗堜欢
+ public byte[] byRes = new byte[2];
+ public byte[] byCaseNo = new byte[CASE_NO_RET_LEN]; //妗堜欢缂栧彿
+ public byte[] byCaseName = new byte[CASE_NAME_RET_LEN]; //妗堜欢鍚嶇О锛
+ public byte[] byLitigant1 = new byte[LITIGANT_RET_LEN]; //褰撲簨浜1锛
+ public byte[] byLitigant2 = new byte[LITIGANT_RET_LEN]; //褰撲簨浜2锛
+ public byte[] byChiefJudge = new byte[CHIEF_JUDGE_RET_LEN];//瀹″垽闀
+ public byte[] byRes1 = new byte[600];
+ }
+
+ //闈炶棰戦氶亾鏌ヨ缁撴灉
+ public static class EVENT_IOTRET_V50 extends Structure {
+ public int dwChanNo; //瑙﹀彂浜х敓浜嬩欢鐨勯氶亾鍙凤紙浜嬩欢婧愰氶亾锛
+ public byte[] byRes = new byte[796];
+ }
+
+ public static class NET_DVR_INQUEST_RESUME_SEGMENT extends Structure {
+ public NET_DVR_TIME struStartTime = new NET_DVR_TIME(); //浜嬩欢璧峰鏃堕棿
+ public NET_DVR_TIME struStopTime = new NET_DVR_TIME(); //浜嬩欢缁堟鏃堕棿
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙,浠1寮濮
+ public byte byDriveIndex; //鍒诲綍鏈虹紪鍙,浠1寮濮
+ public short wSegmetSize; //鏈墖鏂殑澶у皬, 鍗曚綅M
+ public int dwSegmentNo; //鏈墖鏂湪鏈瀹¤涓殑搴忓彿,浠1寮濮
+ public byte[] byRes = new byte[24]; //淇濈暀
+ }
+
+ public static class NET_DVR_INQUEST_RESUME_EVENT extends Structure {
+ public int dwResumeNum; //闇鎭㈠鐨勪簨浠朵釜鏁
+ public NET_DVR_INQUEST_RESUME_SEGMENT[] struResumeSegment = new NET_DVR_INQUEST_RESUME_SEGMENT[MAX_RESUME_SEGMENT];
+ public byte byResumeMode; //鎭㈠妯″紡锛0-鍗曞厜鐩樻仮澶嶏紝1-鍙屽厜鐩樻仮澶
+ public byte[] byRes = new byte[199]; //淇濈暀
+ }
+
+ //鎶ヨ淇℃伅鏌ヨ鏉′欢缁撴瀯浣
+ public static class NET_DVR_ALARM_SEARCH_COND extends Structure {
+ public int dwSize;
+ public NET_DVR_TIME_SEARCH_COND strStartTime; //寮濮嬫椂闂,鏃堕棿涓虹┖鍒欎唬琛ㄤ笉閫氳繃鏃堕棿绛涢夈
+ public NET_DVR_TIME_SEARCH_COND strStopTime; //缁撴潫鏃堕棿, 鏃堕棿涓虹┖鍒欎唬琛ㄤ笉閫氳繃鏃堕棿绛涢夈
+ /*
+ 鎶ヨ鍛戒护锛岃瀛楁鍊间笌鎶ヨ甯冮槻绫诲瀷鐩稿悓锛岀洰鍓嶆敮鎸侊細
+ COMM_VCA_ALARM 0x4993 鏅鸿兘妫娴嬫姤璀
+ COMM_UPLOAD_FACESNAP_RESULT 0x1112 鐗瑰緛璇嗗埆缁撴灉涓婁紶
+ COMM_SNAP_MATCH_ALAR 0x2902 浜鸿劯姣斿缁撴灉涓婁紶
+ */
+ public int dwAlarmComm; //鑻ヨ鍛戒护涓虹┖杩欎唬琛ㄤ笉杩涜鎶ヨ鍛戒护杩囨护銆
+ public byte[] sAlarmUID = new byte[64]; //UID鏍囪瘑锛堜笂浼犳姤璀︽椂璁惧杩斿洖鐨刄ID鏍囪瘑锛64瀛楄妭鐨勯暱搴︼紝鍙互浣跨敤鏃堕棿锛堢簿纭埌姣锛夊姞涓婇殢鍗虫暟鐨勬柟寮忕粍鎴愶級,涓虹┖鍒欎唬琛ㄤ笉鍖哄垎UID
+ public byte[] byRes = new byte[128];
+ }
+
+ //鎶ヨ淇℃伅鏌ヨ缁撴灉缁撴瀯浣
+ public static class NET_DVR_ALARM_SEARCH_RESULT extends Structure {
+ public int dwSize;
+ /*
+ 鎶ヨ鍛戒护锛岃瀛楁鍊间笌鎶ヨ甯冮槻绫诲瀷鐩稿悓锛岀洰鍓嶆敮鎸侊細
+ COMM_VCA_ALARM 0x4993 鏅鸿兘妫娴嬫姤璀
+ COMM_UPLOAD_FACESNAP_RESULT 0x1112 鐗瑰緛璇嗗埆缁撴灉涓婁紶
+ COMM_SNAP_MATCH_ALARM 0x2902 浜鸿劯姣斿缁撴灉涓婁紶
+ */
+ public int dwAlarmComm;
+ /*
+ 鎶ヨ淇℃伅锛岃瀛楁鍊间笌鎶ヨ淇℃伅鐩稿悓锛岀洰鍓嶆敮鎸侊細
+ 褰揅OMM_VCA_ALARM鏃讹紝璇ユ姤璀︿俊鎭负JSON鎶ユ枃
+ 褰揅OMM_UPLOAD_FACESNAP_RESULT鏃讹紝璇ユ姤璀︿俊鎭负NET_VCA_FACESNAP_RESULT
+ 褰揅OMM_SNAP_MATCH_ALARM聴露锛岃鎶ヨ淇℃伅涓篘ET_VCA_FACESNAP_MATCH_ALARM
+ */
+ public int dwAlarmLen;//鎶ヨ淇℃伅锛屽嵆pAlarmInfo鎸囬拡鎸囧悜鐨勬暟鎹暱搴
+ public Pointer pAlarmInfo;
+ public NET_DVR_ALARMER struAlarmer = new NET_DVR_ALARMER();
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class NET_DVR_ALARM_ISAPI_INFO extends Structure {
+ public Pointer pAlarmData; // 鎶ヨ鏁版嵁锛堝弬瑙佷笅琛級
+ public int dwAlarmDataLen; // 鎶ヨ鏁版嵁闀垮害
+ public byte byDataType; // 0-invalid,1-xml,2-json
+ public byte byPicturesNumber; // 鍥剧墖鏁伴噺
+ public byte[] byRes = new byte[2];
+ public Pointer pPicPackData; // 鍥剧墖鍙橀暱閮ㄥ垎
+ //锛坆yPicturesNumber涓獅NET_DVR_ALARM_ISAPI_PICDATA}锛涳級
+ public byte[] byRes1 = new byte[32];
+ }
+
+ public static class NET_DVR_LOCAL_GENERAL_CFG extends Structure {
+ public byte byExceptionCbDirectly; //0-閫氳繃绾跨▼姹犲紓甯稿洖璋冿紝1-鐩存帴寮傚父鍥炶皟缁欎笂灞
+ public byte byNotSplitRecordFile; //鍥炴斁鍜岄瑙堜腑淇濆瓨鍒版湰鍦板綍鍍忔枃浠朵笉鍒囩墖 0-榛樿鍒囩墖锛1-涓嶅垏鐗
+ public byte byResumeUpgradeEnable; //鏂綉缁紶鍗囩骇浣胯兘锛0-鍏抽棴锛堥粯璁わ級锛1-寮鍚
+ public byte byAlarmJsonPictureSeparate; //鎺у埗JSON閫忎紶鎶ヨ鏁版嵁鍜屽浘鐗囨槸鍚﹀垎绂伙紝0-涓嶅垎绂伙紝1-鍒嗙锛堝垎绂诲悗璧癈OMM_ISAPI_ALARM鍥炶皟杩斿洖锛
+ public byte[] byRes = new byte[4]; //淇濈暀
+ public long i64FileSize; //鍗曚綅锛欱yte
+ public int dwResumeUpgradeTimeout; //鏂綉缁紶閲嶈繛瓒呮椂鏃堕棿锛屽崟浣嶆绉
+ public byte[] byRes1 = new byte[236]; //棰勭暀
+
+ }
+
+ public static class NET_DVR_LOCAL_TCP_PORT_BIND_CFG extends Structure {
+ public short wLocalBindTcpMinPort; //鏈湴缁戝畾Tcp鏈灏忕鍙
+ public short wLocalBindTcpMaxPort; //鏈湴缁戝畾Tcp鏈澶х鍙
+ public byte[] byRes = new byte[60]; //淇濈暀
+ }
+
+
+ public static class NET_DVR_LOCAL_CHECK_DEV extends Structure {
+ public int dwCheckOnlineTimeout; //宸℃鏃堕棿闂撮殧锛屽崟浣峬s 鏈灏忓间负30s锛屾渶澶у120s銆備负0鏃讹紝琛ㄧず鐢ㄩ粯璁ゅ(120s)
+ public int dwCheckOnlineNetFailMax; //鐢变簬缃戠粶鍘熷洜澶辫触鐨勬渶澶х疮鍔犳鏁帮紱瓒呰繃璇ュ糞DK鎵嶅洖璋冪敤鎴峰紓甯革紝涓0鏃讹紝琛ㄧず浣跨敤榛樿鍊1
+ public byte[] byRes = new byte[256];
+ }
+
+ public static final int MAX_FILE_PATH_LEN = 256; //鏂囦欢璺緞闀垮害
+
+ public static class NET_DVR_ALARM_ISAPI_PICDATA extends Structure {
+ public int dwPicLen;
+ public byte byPicType; //鍥剧墖鏍煎紡: 1- jpg
+ public byte[] byRes = new byte[3];
+ public byte[] szFilename = new byte[MAX_FILE_PATH_LEN];
+ public Pointer pPicData; // 鍥剧墖鏁版嵁
+ }
+
+ public static class NET_DVR_FOCUSMODE_CFG extends Structure {
+ public int dwSize;
+ public byte byFocusMode; /* 鑱氱劍妯″紡锛0-鑷姩锛1-鎵嬪姩锛2-鍗婅嚜鍔 */
+ public byte byAutoFocusMode; /* 鑷姩鑱氱劍妯″紡锛0-鍏筹紝1-妯″紡A锛2-妯″紡B锛3-妯″紡AB锛4-妯″紡C 鑷姩鑱氱劍妯″紡锛岄渶瑕佸湪鑱氱劍妯″紡涓鸿嚜鍔ㄦ椂鎵嶆樉绀*/
+ public short wMinFocusDistance; /* 鏈灏忚仛鐒﹁窛绂伙紝鍗曚綅CM, 0-鑷姩锛0xffff-鏃犵┓杩 */
+ public byte byZoomSpeedLevel; /* 鍙樺嶉熷害锛屼负瀹為檯鍙栧硷紝1-3 */
+ public byte byFocusSpeedLevel; /* 鑱氱劍閫熷害锛屼负瀹為檯鍙栧硷紝1-3 */
+ public byte byOpticalZoom; /* 鍏夊鍙樺嶏紝0-255 */
+ public byte byDigtitalZoom; /* 鏁板瓧鍙樺嶏紝0-255 */
+ public float fOpticalZoomLevel; /* 鍏夊鍙樺(鍊嶇巼鍊) [1,32], 鏈灏忛棿闅0.5 锛屽唴閮ㄨ澶囦氦浜掔殑鏃跺*1000 */
+ public int dwFocusPos;/* dwFocusPos 鏄痜ocus鍊硷紙鑱氱劍鍊硷級锛岃寖鍥翠负[0x1000,0xC000]锛岃繖涓兼槸sony鍧愭爣鍊硷紝浣跨敤杩欎釜鍊兼槸涓轰簡瀵瑰缁熶竴锛屼繚璇佷笉鍚岀殑闀滃ご瀵瑰focus鍊奸兘杞崲鍦ㄨ繖涓寖鍥村唴 (鎵嬪姩鑱氱劍妯″紡涓嬩笅搴旂敤)*/
+ public byte byFocusDefinitionDisplay;// 鑱氱劍娓呮櫚搴︽樉绀猴紝0~涓嶆樉绀猴紝1~鏄剧ず, 寮鍚細鍦ㄧ爜娴佷笂鏄剧ず褰撳墠闀滃ご鐩爣鐨勬竻鏅板害鍊硷紝鐢ㄤ簬甯姪瀹㈡埛璋冪劍浣跨浉鏈烘姄鎷嶈兘澶熻揪鍒版渶娓呮櫚鐨勬晥鏋滐紝璇ユ竻鏅板害瓒婂ぇ浠h〃鐫瓒婃竻鏅帮紝娓呮櫚搴﹁寖鍥翠负锛0~100.0000
+ public byte byFocusSensitivity; //鑱氱劍鐏垫晱搴︼紝鑼冨洿[0,2]锛岃仛鐒︽ā寮忎负鑷姩銆佸崐鑷姩鏃剁敓鏁
+ public byte[] byRes1 = new byte[2];
+ public int dwRelativeFocusPos;//鐩稿focus鍊硷紝鍏朵綆16浣嶈〃绀鸿仛鐒﹀硷紝0~4000锛涢珮16浣嶄唬琛ㄥ綋鍓嶈仛鐒﹀艰幏鍙栨椂鐨勬俯搴﹀
+ public byte[] byRes = new byte[48];
+ }
+
+ public static class NET_DVR_SERIALSTART_V40 extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public int dwSerialType; //涓插彛鍙凤紙1-232涓插彛锛2-485涓插彛锛
+ public byte bySerialNum; //涓插彛缂栧彿
+ public byte[] byRes = new byte[255];
+
+
+ }
+
+ public static class NET_DVR_PRESET_NAME extends Structure {
+ public int dwSize;
+ public short wPresetNum; //棰勭疆鐐圭紪鍙
+ public byte[] byRes1 = new byte[2]; //瀛楄妭瀵归綈
+ public byte[] byName = new byte[NAME_LEN];
+ public short wPanPos; //姘村钩鍙傛暟 濡傛灉鑾峰彇鍒扮殑鏁版嵁澶т簬360榛樿鍑忓幓360
+ public short wTiltPos; //鍨傜洿鍙傛暟 濡傛灉鑾峰彇鍒扮殑鏁版嵁澶т簬360榛樿鍑忓幓360
+ public short wZoomPos; //鍙樺嶅弬鏁板鏋滆幏鍙栧埌鐨勬暟鎹ぇ浜360榛樿鍑忓幓360
+ public byte[] byRes = new byte[58];
+ }
+
+ //Sensor淇℃伅
+ public static class NET_DVR_SENSOR_PARAM extends Structure {
+ public byte bySensorType;//SensorType:0-CCD,1-CMOS
+ public byte[] byRes = new byte[31];
+ public float fHorWidth;//姘村钩瀹藉害 绮剧‘鍒板皬鏁扮偣鍚庝袱浣 *10000
+ public float fVerWidth;//鍨傜洿瀹藉害 绮剧‘鍒板皬鏁扮偣鍚庝袱浣 *10000
+ public float fFold;//zoom=1娌″彉鏃剁殑鐒﹁窛 绮剧‘鍒板皬鏁扮偣鍚庝袱浣 *100
+ }
+
+ //鐞冩満浣嶇疆淇℃伅
+ public static class NET_DVR_PTZPOS_PARAM extends Structure {
+ public float fPanPos;//姘村钩鍙傛暟锛岀簿纭埌灏忔暟鐐瑰悗1浣
+ public float fTiltPos;//鍨傜洿鍙傛暟锛岀簿纭埌灏忔暟鐐瑰悗1浣
+ public float fZoomPos;//鍙樺嶅弬鏁帮紝绮剧‘鍒板皬鏁扮偣鍚1浣
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_LLI_PARAM extends Structure {
+ public float fSec;//绉抂0.000000,60.000000]
+ public byte byDegree;//搴:绾害[0,90] 缁忓害[0,180]
+ public byte byMinute;//鍒哰0,59]
+ public byte[] byRes = new byte[6];
+ }
+
+ //GIS淇℃伅涓婁紶
+ public static class NET_DVR_GIS_UPLOADINFO extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public int dwRelativeTime; //鐩稿鏃舵爣
+ public int dwAbsTime; //缁濆鏃舵爣
+ public NET_VCA_DEV_INFO struDevInfo = new NET_VCA_DEV_INFO();//鍓嶇璁惧
+ public float fAzimuth;//鐢靛瓙缃楃洏鐨勬柟浣嶄俊鎭紱鏂逛綅瑙抂0.00掳,360.00掳)
+ public byte byLatitudeType;//绾害绫诲瀷锛0-鍖楃含锛1-鍗楃含
+ public byte byLongitudeType;// 缁忓害绫诲瀷锛0-涓滃害锛1-瑗垮害
+ public byte[] byRes1 = new byte[2];
+ public NET_DVR_LLI_PARAM struLatitude = new NET_DVR_LLI_PARAM(); /*绾害*/
+ public NET_DVR_LLI_PARAM struLongitude = new NET_DVR_LLI_PARAM(); /*缁忓害*/
+ public float fHorizontalValue;//姘村钩瑙嗗満瑙掞紝绮剧‘鍒板皬鏁扮偣鍚庨潰涓や綅
+ public float fVerticalValue;//鍨傜洿瑙嗗満瑙掞紝绮剧‘鍒板皬鏁扮偣鍚庨潰涓や綅
+ public float fVisibleRadius;//褰撳墠鍙鍗婂緞锛岀簿纭埌灏忔暟鐐瑰悗闈袱浣
+ public float fMaxViewRadius;//鏈澶у彲瑙嗗崐寰勶紝绮剧‘鍒板皬鏁扮偣鍚庨潰0浣嶏紙棰勭暀澶勭悊锛
+ public NET_DVR_SENSOR_PARAM struSensorParam;//Sensor淇℃伅
+ public NET_DVR_PTZPOS_PARAM struPtzPos; //ptz鍧愭爣
+ public byte[] byRes = new byte[256];
+ }
+
+ public static class NET_DVR_DAYTIME extends Structure {
+ public byte byHour;//0~24
+ public byte byMinute;//0~60
+ public byte bySecond;//0~60
+ public byte byRes;
+ public short wMilliSecond; //0~1000
+ public byte[] byRes1 = new byte[2];
+ }
+
+ public static class NET_DVR_SCHEDULE_DAYTIME extends Structure {
+ public NET_DVR_DAYTIME struStartTime; //寮濮嬫椂闂
+ public NET_DVR_DAYTIME struStopTime; //缁撴潫鏃堕棿
+ }
+
+ public static class NET_DVR_BUILTIN_SUPPLEMENTLIGHT extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public byte byMode;//琛ュ厜鐏ā寮 0-瀹氭椂锛1-寮鍚紝2-鍏抽棴锛3-鑷姩锛堥潪鍏夋晱锛岀畻娉曠敾闈㈣瘑鍒級
+ public byte byBrightnessLimit;//浜害闄愬埗[0,100]
+ public byte bySupplementLightMode;//琛ュ厜鐏被鍨,0~鐧藉厜妯″紡,1~娣峰悎妯″紡
+ public byte byMixedLightRegulatMode;//娣峰悎琛ュ厜鐏寒搴﹁皟鑺傛ā寮,0~鑷姩,1~鎵嬪姩,褰揵ySupplementLightMode = 1鏃剁敓鏁
+ public byte byLrLightBrightness;//绾㈠浜害鎺у埗[0,100],褰揵yMixedLightRegulatMode = 1鏃剁敓鏁堛
+ public byte byHighLrLightBrightness;// 杩滃厜绾㈠鍏変寒搴﹂厤缃甗0,100],褰揵yMixedLightRegulatMode = 1鏃剁敓鏁
+ public byte byHighBrightnessLimit;// 杩滃厜鐧藉厜浜害閰嶇疆[0,100],褰揵yMixedLightRegulatMode = 1鏃剁敓鏁
+ public byte byLowLrLightBrightness;// 杩戝厜绾㈠鍏変寒搴﹂厤缃甗0,100],褰揵yMixedLightRegulatMode = 1鏃剁敓鏁
+ public NET_DVR_SCHEDULE_DAYTIME struSchedTime;//瀹氭椂鏃堕棿娈
+ public byte byLowBrightnessLimit;//杩戝厜鐧藉厜浜害閰嶇疆[0,100],褰揵yMixedLightRegulatMode = 1鏃剁敓鏁
+ public byte byWhiteLightBrightness;// 鐧藉厜鐏寒搴
+ public byte[] byRes1 = new byte[254];
+ }
+
+ public static class NET_DVR_HANDLEEXCEPTION_V41 extends Structure {
+ public int dwHandleType; //寮傚父澶勭悊,寮傚父澶勭悊鏂瑰紡鐨"鎴"缁撴灉
+ /*0x00: 鏃犲搷搴*/
+ /*0x01: 甯冮槻鍣ㄤ笂璀﹀憡*/
+ /*0x02: 澹伴煶璀﹀憡*/
+ /*0x04: 涓婁紶涓績*/
+ /*0x08: 瑙﹀彂鎶ヨ杈撳嚭*/
+ /*0x10: 瑙﹀彂JPRG鎶撳浘骞朵笂浼燛mail*/
+ /*0x20: 鏃犵嚎澹板厜鎶ヨ鍣ㄨ仈鍔*/
+ /*0x40: 鑱斿姩鐢靛瓙鍦板浘(鐩墠鍙湁PCNVR鏀寔)*/
+ /*0x200: 鎶撳浘骞朵笂浼燜TP*/
+ /*0x400: 铏氫氦渚︽祴 鑱斿姩 鑱氱劍妯″紡锛堟彁渚涘彲閰嶇疆椤癸紝鍘熷厛璁惧鑷姩瀹屾垚锛塈PC5.1.0*/
+ /*0x800: PTZ(鐞冩満鐩爣)*/
+ /*0x4000:鐧藉厜鐏姤璀*/
+ /*0x10000:鐭俊鎶ヨ*/
+ public int dwMaxRelAlarmOutChanNum; //瑙﹀彂鐨勬姤璀﹁緭鍑洪氶亾鏁帮紙鍙锛夋渶澶ф敮鎸佹暟
+ public int[] dwRelAlarmOut = new int[MAX_ALARMOUT_V40]; //瑙﹀彂鎶ヨ閫氶亾
+ public byte[] byRes = new byte[64]; //淇濈暀
+ }
+
+ public static class NET_DVR_PRESETCHAN_INFO extends Structure {
+ public int dwEnablePresetChan; /*鍚敤棰勭疆鐐圭殑閫氶亾, 0xfffffff琛ㄧず涓嶈皟鐢ㄩ缃偣*/
+ public int dwPresetPointNo; /*璋冪敤棰勭疆鐐归氶亾瀵瑰簲鐨勯缃偣搴忓彿, 0xfffffff琛ㄧず涓嶈皟鐢ㄩ缃偣銆*/
+ }
+
+ public static class NET_DVR_CRUISECHAN_INFO extends Structure {
+ public int dwEnableCruiseChan; /*鍚敤宸¤埅鐨勯氶亾*/
+ public int dwCruiseNo; /*宸¤埅閫氶亾瀵瑰簲鐨勫贰鑸紪鍙, 0xfffffff琛ㄧず鏃犳晥*/
+ }
+
+ public static class NET_DVR_PTZTRACKCHAN_INFO extends Structure {
+ public int dwEnablePtzTrackChan; /*鍚敤浜戝彴鐨勯氶亾*/
+ public int dwPtzTrackNo; /*浜戝彴閫氶亾瀵瑰簲鐨勭紪鍙, 0xfffffff琛ㄧず鏃犳晥*/
+ }
+
+ public static class NET_DVR_EVENT_TRIGGER extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public NET_DVR_HANDLEEXCEPTION_V41 struHandleException; //寮傚父澶勭悊鏂瑰紡
+ public int[] dwRelRecordChan = new int[MAX_CHANNUM_V40]; //瀹為檯瑙﹀彂褰曞儚閫氶亾锛屾寜鍊艰〃绀猴紝閲囩敤绱у噾鍨嬫帓鍒楋紝浠庝笅鏍0寮濮嬮『搴忚鍙栵紝涓棿閬囧埌0xffffffff鍒欏悗缁棤鏁堛
+ public NET_DVR_PRESETCHAN_INFO[] struPresetChanInfo = new NET_DVR_PRESETCHAN_INFO[MAX_CHANNUM_V40]; //鍚敤鐨勯缃偣淇℃伅
+ public NET_DVR_CRUISECHAN_INFO[] struCruiseChanInfo = new NET_DVR_CRUISECHAN_INFO[MAX_CHANNUM_V40]; //鍚敤宸¤埅鍔熻兘閫氶亾鐨勪俊鎭
+ public NET_DVR_PTZTRACKCHAN_INFO[] struPtzTrackInfo = new NET_DVR_PTZTRACKCHAN_INFO[MAX_CHANNUM_V40]; //璋冪敤浜戝彴鐨勯氶亾淇℃伅
+ public byte byDirection;//瑙﹀彂鏂瑰悜锛0-淇濈暀锛1-鍏ㄩ儴锛2-姝e悜锛3-鍙嶅悜
+ public byte[] byRes2 = new byte[255];
+ }
+
+ public static class NET_DVR_FACELIB_GUARD_COND extends Structure {
+ public int dwSize;
+ public int dwChannel; //閫氶亾鍙
+ public byte[] szFDID = new byte[68];//浜鸿劯搴撶殑ID
+ public byte[] byRes = new byte[128];
+ }
+
+ //瀵煎叆浜鸿劯鏁版嵁鏉′欢
+ public static class NET_DVR_FACELIB_COND extends Structure {
+ public int dwSize;
+ public byte[] szFDID = new byte[NET_SDK_MAX_FDID_LEN/*256*/];//浜鸿劯搴揑D
+ public byte byConcurrent;//璁惧骞跺彂澶勭悊 0-涓嶅紑鍚紝1-寮濮
+ public byte byCover;//鏄惁瑕嗙洊寮忓鍏 0-鍚︼紝1-鏄
+ public byte byCustomFaceLibID;//FDID鏄惁鏄嚜瀹氫箟锛0-涓嶆槸锛1-鏄紱
+ public byte byPictureSaveMode;//涓婁紶鍘熷浘淇濆瓨妯″紡锛0-淇濆瓨锛1-涓嶄繚瀛;
+ public byte[] byIdentityKey = new byte[NET_SDK_MAX_INDENTITY_KEY_LEN/*64*/];//浜や簰鎿嶄綔鍙d护
+ public byte[] byRes = new byte[60];
+ }
+
+ public static class NET_DVR_SEND_PARAM_IN extends Structure {
+ public Pointer pSendData; //鍙戦佺殑缂撳啿鍖,PicURL == 1 鐨勬椂鍊欙紝鍐呭瓨涓瓨鍌ㄧ殑鏄 URL 瀛楃涓,byUploadModeling == 1 鐨勬椂鍊欙紝鍐呭瓨涓瓨鍌ㄧ殑鏄 寤烘ābase64鍔犲瘑鏁版嵁
+ public int dwSendDataLen; //鍙戦佹暟鎹暱搴,PicURL == 1 鐨勬椂鍊欙紝琛ㄧず鐨 URL 瀛楃涓茬殑闀垮害,byUploadModeling == 1 鐨勬椂鍊欙紝琛ㄧず涓哄缓妯℃暟鎹産ase64鍚庣殑鍔犲瘑闀垮害
+ public NET_DVR_TIME_V30 struTime = new NET_DVR_TIME_V30(); //鍥剧墖鏃堕棿
+ public byte byPicType; //鍥剧墖鏍煎紡,1-jpg,2-bmp,3-png,4-SWF,5-GIF
+ public byte byPicURL; //鍥剧墖鏁版嵁閲囩敤URL鏂瑰紡 0-浜岃繘鍒跺浘鐗囨暟鎹紝1-鍥剧墖鏁版嵁璧癠RL鏂瑰紡
+ /*鏄惁涓婁紶寤烘ā鏁版嵁锛
+ 0- 浜岃繘鍒跺浘鐗囨暟鎹柟寮(pSendData鎸囧悜浜岃繘鍒跺浘鐗囨暟鎹, dwPicDataLen涓哄浘鐗囦簩杩涘埗鏁版嵁闀垮害)锛
+ 1- 鐩存帴涓婁紶寤烘ā鏁版嵁(pSendData鎸囧悜寤烘ābase64鍔犲瘑鏁版嵁, dwPicDataLen涓哄缓妯℃暟鎹産ase64鍚庣殑鍔犲瘑闀垮害)銆
+ 娉細寤烘ā鏁版嵁閲囩敤base64鍔犲瘑鏂瑰紡,閫夋嫨涓哄缓妯℃暟鎹笂浼犲悗锛宐yPicURL 鏃犻渶銆
+ 褰撯/ISAPI/Intelligent/channels//faceContrast/capabilities鈥濊兘鍔涗腑杩斿洖isSupportUploadModeling鑳藉姏鑺傜偣鏃讹紝鏀寔涓婁紶寤烘ā鏁版嵁. */
+ public byte byUploadModeling;
+ public byte byRes1;
+ public int dwPicMangeNo; //鍥剧墖绠$悊鍙
+ public byte[] sPicName = new byte[NAME_LEN]; //鍥剧墖鍚嶇О
+ public int dwPicDisplayTime; //鍥剧墖鎾斁鏃堕暱锛屽崟浣嶇
+ public Pointer pSendAppendData; //鍙戦佸浘鐗囩殑闄勫姞淇℃伅缂撳啿鍖猴紝瀵瑰簲FaceAppendData 鐨刋ML鎻忚堪锛
+ public int dwSendAppendDataLen; //鍙戦佸浘鐗囩殑闄勫姞淇℃伅鏁版嵁闀垮害 FaceAppendData XML鐨勯暱搴︼紱
+ public byte[] byRes = new byte[192];
+ }
+
+ public static class NET_DVR_INQUEST_ROOM extends Structure {
+ public byte byRoomIndex; //瀹¤瀹ょ紪鍙
+ public byte byFileType; //0-瀹¤鏂囦欢锛1-寮搴笂浼犳枃浠
+ public byte[] byRes = new byte[22]; //淇濈暀
+ }
+
+ public static class NET_DVR_INQUEST_CDRW_CFG extends Structure {
+ public int dwSize;
+ public int dwNum; //鍒诲綍鏈虹殑鏁伴噺
+ public int[] dwRwSelectPara = new int[MAX_CHANNUM_V30];// 鏄惁閫変腑璇ュ厜椹
+ public int dwModeSelect; //0琛ㄧず寰幆鍒诲綍妯″紡 1琛ㄧず骞惰鍒诲綍妯″紡(榛樿妯″紡)
+ public byte[] byRes = new byte[24]; //淇濈暀
+ public int dwStartCDRW; //DVR 鏈湴宸茬粡寮濮嬪埢褰
+ public int dwHdExcp; //纭洏鏈夊紓 甯
+ public int dwInterval; //鏃堕棿闂撮殧锛10鍒嗛挓(0)銆20鍒嗛挓(1)銆30鍒嗛挓(2)
+ public byte[] sLable = new byte[64]; //鍏夌洏鍚嶇О
+ }
+
+ public static class NET_DVR_INQUEST_CDRW_STATUS extends Structure {
+ /*杩愯鐘舵侊細0-瀹¤寮濮嬶紝
+ 1-瀹¤杩囩▼涓埢褰曪紝2-瀹¤鍋滄锛
+ 3-鍒诲綍瀹¤鏂囦欢,
+ 4-澶囦唤(浜嬪悗澶囦唤鍜屾湰鍦板浠)
+ 5-绌洪棽
+ 6-鍒濆鍖栫‖鐩
+ 7-鎭㈠瀹¤*/
+ public int dwType;
+ public NET_DVR_INQUEST_CDRW[] strCDRWNum = new NET_DVR_INQUEST_CDRW[MAX_INQUEST_CDRW_NUM]; //鏁扮粍0琛ㄧず鍒诲綍鏈1
+ public NET_DVR_TIME_EX struInquestStartTime = new NET_DVR_TIME_EX(); //瀹¤寮濮嬬殑鏃堕棿鐐
+ public byte[] byRes = new byte[16]; //淇濈暀
+ }
+
+ public static class NET_DVR_INQUEST_CDRW extends Structure {
+ public int dwEnable; //鍒诲綍鏈虹姸鎬佹槸鍚︽湁鏁,0-鏃犳晥,1-鏈夋晥
+ public int dwStatus; /*褰揹wType=0鏃讹紝 0-鍏夌洏姝e父锛1-鏃犲厜鐩樻垨鍏夌洏寮傚父,
+ 褰揹wType=1鎴2鏃讹紝0-鍒诲綍姝e父锛1-鏃犲厜鐩樻垨鍏夌洏寮傚父锛2-鍏夌洏宸插皝鐩(81涓嶆敮鎸)锛3-鍏夌洏绌洪棿涓嶈冻锛 4-寮傚父瀵艰嚧瀹¤缁堟(81涓嶆敮鎸)
+ 褰揹wType=3鏃讹紝 0-鍒诲綍姝e父锛1-鏃犲厜鐩樻垨鍏夌洏寮傚父锛2-鍏夌洏宸插皝鐩(81涓嶆敮鎸)锛3-鍏夌洏绌洪棿涓嶈冻
+ 褰揹wType=4鏃讹紝0-鍒诲綍姝e父锛1-鏃犲厜鐩樻垨鍏夌洏寮傚父锛2-鍏夌洏宸插皝鐩(81涓嶆敮鎸)锛3-鍏夌洏绌洪棿涓嶈冻
+ 褰揹wType=5鏃,0-鍏夌洏姝e父锛 1-鏃犲厜鐩樻垨鍏夌洏寮傚父,2-鍏夌洏宸插皝鐩(81涓嶆敮鎸)
+ 褰揹wType=6鎴7鏃, 0-鍒诲綍姝e父, 1-鏃犲厜鐩樻垨鍏夌洏寮傚父, 2-鍏夌洏宸插皝鐩(81涓嶆敮鎸), 3-鍏夌洏绌洪棿涓嶈冻*/
+ public int dwVolumn; //鍏夌洏瀹归噺,鍗曚綅M
+ public int dwFreeSpace; //鍏夌洏鍓╀綑瀹归噺,鍗曚綅M
+ public int dwTimeLeft; // 鍏夌洏鍓╀綑鏃堕棿锛屽崟浣嶇
+ public byte byCDType; // 鍏夌洏绫诲瀷
+ public byte[] byRes = new byte[3]; //淇濈暀瀛楄妭
+ }
+
+ //瀹炴椂娓╁害妫娴嬫潯浠跺弬鏁
+ public static class NET_DVR_REALTIME_THERMOMETRY_COND extends Structure {
+ public int dwSize; /*缁撴瀯浣撳ぇ灏*/
+ public int dwChan; /*閫氶亾鍙凤紝浠1寮濮嬶紝0xffffffff浠h〃鑾峰彇鍏ㄩ儴閫氶亾*/
+ public byte byRuleID;/*瑙勫垯ID锛0浠h〃鑾峰彇鍏ㄩ儴瑙勫垯锛屽叿浣撹鍒橧D浠1寮濮*/
+ public byte byMode; //闀胯繛鎺ユā寮忥細0- 淇濈暀锛堝吋瀹逛笉鏀寔璇ュ姛鑳界殑鑰佽澶囷級锛1- 瀹氭椂妯″紡锛2- 娓╁樊妯″紡
+ public short wInterval; //涓婁紶闂撮殧锛堜粎娓╁樊妯″紡鏀寔锛夛紝鍙栧艰寖鍥达細1-3600 绉掞紝濉0鍒欓粯璁3600S涓婁紶涓娆
+ public byte[] byRes2 = new byte[60];
+ }
+
+ //鐐规祴娓╁疄鏃朵俊鎭
+ public static class NET_DVR_POINT_THERM_CFG extends Structure {
+ public float fTemperature;
+ public NET_VCA_POINT struPoint;
+ public byte[] byRes = new byte[120];
+ }
+
+ //妗/绾挎祴娓╁疄鏃朵俊鎭
+ public static class NET_DVR_LINEPOLYGON_THERM_CFG extends Structure {
+ public float fMaxTemperature;
+ public float fMinTemperature;
+ public float fAverageTemperature;
+ public float fTemperatureDiff;
+ public NET_VCA_POLYGON struRegion;
+ public byte[] byRes = new byte[32];
+ }
+
+ //瀹炴椂娓╁害淇℃伅
+ public static class NET_DVR_THERMOMETRY_UPLOAD extends Structure {
+ public int dwSize; /* 缁撴瀯浣撳ぇ灏 */
+ public int dwRelativeTime;
+ public int dwAbsTime;
+ public byte[] szRuleName = new byte[NAME_LEN];
+ public byte byRuleID;/* 瑙勫垯ID锛0浠h〃鑾峰彇鍏ㄩ儴瑙勫垯锛屽叿浣撹鍒橧D浠1寮濮 */
+ public byte byRuleCalibType;
+ public short wPresetNo;
+ public NET_DVR_POINT_THERM_CFG struPointThermCfg;
+ public NET_DVR_LINEPOLYGON_THERM_CFG struLinePolygonThermCfg;
+ public byte byThermometryUnit;
+ public byte byDataType;
+ public byte byRes1;
+ public byte bySpecialPointThermType;
+ public float fCenterPointTemperature;
+ public float fHighestPointTemperature;
+ public float fLowestPointTemperature;
+ public NET_VCA_POINT struHighestPoint;
+ public NET_VCA_POINT struLowestPoint;
+ public byte byIsFreezedata;
+ public byte[] byRes = new byte[95];
+ }
+
+ public static class NET_PTZ_INFO extends Structure {
+ public float fPan;
+ public float fTilt;
+ public float fZoom;
+ public int dwFocus;// 鑱氱劍鍙傛暟锛岃仛鐒﹁寖鍥达細褰掍竴鍖0-100000
+ public byte[] byRes = new byte[4];
+ }
+
+ //娴嬫俯妯″紡閰嶇疆
+ public static class NET_DVR_THERMOMETRY_MODE extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public byte byMode;//娴嬫俯妯″紡锛0~鏅氭ā寮忥紝1~涓撳妯″紡
+ public byte byThermometryROIEnabled; //娴嬫俯ROI浣胯兘 0-淇濈暀 1-涓嶅紑鍚 2-寮鍚紙鍩轰簬浜掓枼鍏煎鑰冭檻锛
+ public byte[] byRes = new byte[62];
+ }
+
+ public static class NET_DVR_THERMOMETRY_COND extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public int dwChannel;
+ public short wPresetNo;//0-淇濈暀
+ public byte[] byRes = new byte[62];
+ }
+
+ public static class NET_DVR_THERMOMETRY_PRESETINFO_PARAM extends Structure {
+ public byte byEnabled; //鏄惁浣胯兘锛0- 鍚︼紝1- 鏄
+ public byte byRuleID;//瑙勫垯ID 0-琛ㄧず鏃犳晥锛屼粠1寮濮 锛坙ist鍐呴儴鍒ゆ柇鏁版嵁鏈夋晥鎬э級
+ public short wDistance;//璺濈(m)[0, 10000]
+ public float fEmissivity;//鍙戝皠鐜(鍙戝皠鐜 绮剧‘鍒板皬鏁扮偣鍚庝袱浣)[0.01, 1.00](鍗筹細鐗╀綋鍚戝杈愬皠鑳介噺鐨勬湰棰)
+ public byte byDistanceUnit;//璺濈鍗曚綅: 0-绫筹紙m锛夛紝1-鑻卞昂锛坒eet锛,2-鍘樼背(centimeter)
+ public byte[] byRes = new byte[2];
+ public byte byReflectiveEnabled;//鍙嶅皠娓╁害浣胯兘锛0- 鍚︼紝1- 鏄
+ public float fReflectiveTemperature;//鍙嶅皠娓╁害 绮剧‘鍒板皬鏁板悗2浣
+ public byte[] szRuleName = new byte[NAME_LEN/*32*/];//瑙勫垯鍚嶇О
+ public byte byemissivityMode; //鍙戝皠鐜囬厤缃被鍨 1-绮楃硻锛2-杈冪矖绯欙紝3-杈冨厜婊, 4-鍏夋粦, 0xff-鑷畾涔
+ public byte[] byRes1 = new byte[62];
+ public byte byRuleCalibType;//瑙勫垯鏍囧畾绫诲瀷 0-鐐癸紝1-妗嗭紝2-绾
+ public NET_VCA_POINT struPoint = new NET_VCA_POINT();//鐐规祴娓╁潗鏍囷紙褰撹鍒欐爣瀹氱被鍨嬩负"鐐"鐨勬椂鍊欑敓鏁堬級
+ public NET_VCA_POLYGON struRegion = new NET_VCA_POLYGON();//鍖哄煙銆佺嚎锛堝綋瑙勫垯鏍囧畾绫诲瀷涓"妗"鎴栬"绾"鐨勬椂鍊欑敓鏁堬級
+ }
+
+ public static class NET_DVR_THERMOMETRY_PRESETINFO extends Structure {
+ public int dwSize;//缁撴瀯浣撳ぇ灏
+ public short wPresetNo;//0-淇濈暀
+ public byte[] byRes = new byte[2];
+ public NET_DVR_THERMOMETRY_PRESETINFO_PARAM[] struPresetInfo = new NET_DVR_THERMOMETRY_PRESETINFO_PARAM[40];
+ }
+
+ //娓╁害鎶ヨ锛堟娴嬫俯搴﹀拰閰嶇疆娓╁害姣旇緝鎶ヨ锛
+ public static class NET_DVR_THERMOMETRY_ALARM extends Structure {
+ public int dwSize;
+ public int dwChannel;//閫氶亾鍙
+ public byte byRuleID;//瑙勫垯ID
+ public byte byThermometryUnit;//娴嬫俯鍗曚綅: 0-鎽勬皬搴︼紙鈩冿級锛1-鍗庢皬搴︼紙鈩夛級锛2-寮灏旀枃(K)
+ public short wPresetNo; //棰勭疆鐐瑰彿
+ public NET_PTZ_INFO struPtzInfo = new NET_PTZ_INFO();//ptz鍧愭爣淇℃伅
+ public byte byAlarmLevel;//0-棰勮 1-鎶ヨ
+ public byte byAlarmType;/*鎶ヨ绫诲瀷 0-鏈楂樻俯搴 1-鏈浣庢俯搴 2-骞冲潎娓╁害 3-娓╁樊 4-娓╁害绐佸崌 5-娓╁害绐侀檷*/
+ public byte byAlarmRule;//0-澶т簬锛1-灏忎簬
+ public byte byRuleCalibType;//瑙勫垯鏍囧畾绫诲瀷 0-鐐癸紝1-妗嗭紝2绾
+ public NET_VCA_POINT struPoint = new NET_VCA_POINT();//鐐规祴娓╁潗鏍囷紙褰撹鍒欐爣瀹氱被鍨嬩负鐐圭殑鏃跺欑敓鏁堬級
+ public NET_VCA_POLYGON struRegion = new NET_VCA_POLYGON();//鍖哄煙锛堝綋瑙勫垯鏍囧畾绫诲瀷涓烘鐨勬椂鍊欑敓鏁堬級
+ public float fRuleTemperature;/*閰嶇疆瑙勫垯娓╁害,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(-40-1000),锛堟诞鐐规暟+100锛 */
+ public float fCurrTemperature;/*褰撳墠娓╁害,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(-40-1000),锛堟诞鐐规暟+100锛 */
+ public int dwPicLen;//鍙鍏夊浘鐗囬暱搴
+ public int dwThermalPicLen;//鐑垚鍍忓浘鐗囬暱搴
+ public int dwThermalInfoLen;//鐑垚鍍忛檮鍔犱俊鎭暱搴
+ public Pointer pPicBuff; ///鍙鍏夊浘鐗囨寚閽
+ public Pointer pThermalPicBuff;// 鐑垚鍍忓浘鐗囨寚閽
+ public Pointer pThermalInfoBuff; //鐑垚鍍忛檮鍔犱俊鎭寚閽
+ public NET_VCA_POINT struHighestPoint = new NET_VCA_POINT();//绾裤佹娴嬫俯鏈楂樻俯搴︿綅缃潗鏍囷紙褰撹鍒欐爣瀹氱被鍨嬩负绾裤佹鐨勬椂鍊欑敓鏁堬級
+ public float fToleranceTemperature;/* 瀹瑰樊娓╁害,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(-40-1000),锛堟诞鐐规暟+100锛 */
+ public int dwAlertFilteringTime;//娓╁害棰勮绛夊緟鏃堕棿 鍗曚綅绉 鑼冨洿涓0-200绉掞紝榛樿涓0绉
+ public int dwAlarmFilteringTime;//娓╁害鎶ヨ绛夊緟鏃堕棿 鍗曚綅绉 鑼冨洿涓0-200绉掞紝榛樿涓0绉
+ public int dwTemperatureSuddenChangeCycle;//娓╁害绐佸彉璁板綍鍛ㄦ湡锛屽崟浣嶇
+ public float fTemperatureSuddenChangeValue;//娓╁害绐佸彉鍊,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(澶т簬0)
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public byte[] byRes = new byte[39];
+ }
+
+ //娓╁樊鎶ヨ
+ public static class NET_DVR_THERMOMETRY_DIFF_ALARM extends Structure {
+ public int dwSize;
+ public int dwChannel;//閫氶亾鍙
+ public byte byAlarmID1;//瑙勫垯AlarmID1
+ public byte byAlarmID2;//瑙勫垯AlarmID2
+ public short wPresetNo; //棰勭疆鐐瑰彿
+ public byte byAlarmLevel;//0-棰勮 1-鎶ヨ
+ public byte byAlarmType;/*鎶ヨ绫诲瀷 0-鏈楂樻俯搴 1-鏈浣庢俯搴 2-骞冲潎娓╁害*/
+ public byte byAlarmRule;//0-澶т簬锛1-灏忎簬
+ public byte byRuleCalibType;//瑙勫垯鏍囧畾绫诲瀷 0-鐐癸紝1-妗嗭紝2绾
+ public NET_VCA_POINT[] struPoint = (NET_VCA_POINT[]) new NET_VCA_POINT().toArray(2);//鐐规祴娓╁潗鏍囷紙褰撹鍒欐爣瀹氱被鍨嬩负鐐圭殑鏃跺欑敓鏁堬級鏁扮粍涓嬫爣0浠h〃鐫AlarmID1锛屾暟缁勪笅鏍1浠h〃鐫AlarmID2.
+ public NET_VCA_POLYGON[] struRegion = (NET_VCA_POLYGON[]) new NET_VCA_POLYGON().toArray(2);//鍖哄煙锛堝綋瑙勫垯鏍囧畾绫诲瀷涓烘鐨勬椂鍊欑敓鏁堬級鏁扮粍涓嬫爣0浠h〃鐫AlarmID1锛屾暟缁勪笅鏍1浠h〃鐫AlarmID2.
+ public float fRuleTemperatureDiff;/*閰嶇疆瑙勫垯娓╁樊,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(-40-1000)锛*/
+ public float fCurTemperatureDiff;/*褰撳墠娓╁樊,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(-40-1000),锛堟诞鐐规暟+100锛 */
+ public NET_PTZ_INFO struPtzInfo;//ptz鍧愭爣淇℃伅
+ public int dwPicLen;//鍙鍏夊浘鐗囬暱搴
+ public int dwThermalPicLen;//鐑垚鍍忓浘鐗囬暱搴
+ public int dwThermalInfoLen;//鐑垚鍍忛檮鍔犱俊鎭暱搴
+ public Pointer pPicBuff; ///鍙鍏夊浘鐗囨寚閽
+ public Pointer pThermalPicBuff;// 鐑垚鍍忓浘鐗囨寚閽
+ public Pointer pThermalInfoBuff; //鐑垚鍍忛檮鍔犱俊鎭寚閽
+ public byte byThermometryUnit;//娴嬫俯鍗曚綅: 0-鎽勬皬搴︼紙鈩冿級锛1-鍗庢皬搴︼紙鈩夛級锛2-寮灏旀枃(K)
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public byte[] byRes1 = new byte[2];
+ public float fToleranceTemperature;/*瀹瑰樊娓╁害,绮剧‘鍒板皬鏁扮偣鍚庝竴浣(-40-1000),锛堟诞鐐规暟+100锛 */
+ public int dwAlarmFilteringTime;//娓╁害鎶ヨ绛夊緟鏃堕棿 鍗曚綅绉 鑼冨洿涓0-200绉掞紝榛樿涓0绉
+ public int dwVisibleChannel; //鍙鍏夐氶亾閫氶亾鍙
+ public byte[] byRes = new byte[48];
+ }
+
+ //鑸瑰彧妫娴嬫姤璀︿笂浼
+ public static class NET_DVR_SHIPSDETECTION_ALARM extends Structure {
+ public int dwSize;
+ public NET_VCA_DEV_INFO struDevInfo; //璁惧淇℃伅
+ public int dwRelativeTime; //鐩稿鏃舵爣
+ public int dwAbsTime; //缁濆鏃舵爣
+ public byte byShipsNum; //鑸瑰彧鏁帮紱(姝h法瓒婃娴嬬嚎鐨勮埞鍙暟)
+ public byte byShipsNumHead;//鑸瑰彧鏁帮紱(鑸瑰ご妫娴嬭埞鍙暟)
+ public byte byShipsNumEnd; //鑸瑰彧鏁帮紱(鑸瑰熬妫娴嬭埞鍙暟)
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public NET_DVR_SHIPSINFO[] struShipInfo = (NET_DVR_SHIPSINFO[]) new NET_DVR_SHIPSINFO().toArray(MAX_SHIPS_NUM); /*20*///鑸瑰彧淇℃伅锛涙渶澶ф敮鎸20鑹
+ public int dwPicLen;//鍙鍏夊浘鐗囬暱搴
+ public int dwThermalPicLen;//鐑垚鍍忓浘鐗囬暱搴
+ public Pointer pPicBuffer; //鍙鍏夊浘鐗囨暟鎹寚閽
+ public Pointer pThermalPicBuffer; //鐑垚鍍忓浘鐗囨暟鎹寚閽
+ public short wDevInfoIvmsChannelEx; //涓嶯ET_VCA_DEV_INFO閲岀殑byIvmsChannel鍚箟鐩稿悓锛岃兘琛ㄧず鏇村ぇ鐨勫笺傝佸鎴风鐢╞yIvmsChannel鑳界户缁吋瀹癸紝浣嗘槸鏈澶у埌255銆傛柊瀹㈡埛绔増鏈浣跨敤wDevInfoIvmsChannelEx銆
+ public byte byTimeDiffFlag; /*鏃跺樊瀛楁鏄惁鏈夋晥 0-鏃跺樊鏃犳晥锛 1-鏃跺樊鏈夋晥 */
+ public byte cTimeDifferenceH; /*涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 +琛ㄧず涓滃尯,锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte cTimeDifferenceM; /*涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 30, 45锛 +琛ㄧず涓滃尯锛宐yTimeDiffFlag涓1鏃舵湁鏁*/
+ public byte bySID;//鍦烘櫙ID
+ public byte[] byRes1 = new byte[2];
+ public byte[] szSceneName = new byte[NAME_LEN];//鍦烘櫙鍚嶇О锛屼笉瓒呰繃32瀛楃
+ public byte[] byRes = new byte[216];
+ }
+
+ public static final int MAX_SHIPS_NUM = 20; //鑸瑰彧妫娴嬫渶澶ц埞鍙暟
+
+ //鑸瑰彧淇℃伅
+ public static class NET_DVR_SHIPSINFO extends Structure {
+ public float fShipsLength; //鑸瑰彧闀垮害锛1~1000.0m锛岀簿纭埌灏忔暟鐐瑰悗涓浣
+ public float fShipsHeight; //鑸瑰彧楂樺害锛1~1000.0m锛岀簿纭埌灏忔暟鐐瑰悗涓浣
+ public float fShipsWidth; //鑸瑰彧瀹藉害锛1~1000.0m锛岀簿纭埌灏忔暟鐐瑰悗涓浣
+ public float fShipsSpeed; //鑸瑰彧閫熷害锛1~1000.0m/s锛岀簿纭埌灏忔暟鐐瑰悗涓浣
+ public byte byShipsDirection;//鑸瑰彧鏂瑰悜锛0~up,1~down,2~left,3~right
+ public byte byShipsDetState;//鑸瑰彧妫娴嬬姸鎬侊紱0~姝h法瓒婃娴嬬嚎锛1~鑸瑰ご妫娴嬶紝2~鑸瑰熬妫娴
+ public byte byTriggerLineID;//妫娴嬬嚎ID
+ public byte[] byRes = new byte[61];
+ public NET_VCA_POLYGON struShipsRect; //鑸瑰彧鍖哄煙锛屽綊涓鍖栧硷紝鐩稿浜庡ぇ鍥撅紙鍙鍏夊浘銆佺儹鎴愬儚鍥)鐨勫垎杈ㄧ巼
+ }
+
+ public static class NET_DVR_ARRAY_LIST extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public int dwCount; // 闃靛垪涓暟
+ public NET_DVR_ARRAY_INFO[] struArrayInfo = new NET_DVR_ARRAY_INFO[SUPPORT_ARRAY_NUM];
+ }
+
+ public static class NET_DVR_BGA_INFO extends Structure {
+ public byte byBga; // 鍚庡彴浠诲姟鍙婄被鍨
+ public byte byBgaState; /*鍑芥暟杩斿洖鍊--鍚庡彴浠诲姟鐘舵*/
+ public short wBgaPercentage; /*鍑芥暟杩斿洖鍊--鍚庡彴浠诲姟鎵ц鐧惧垎姣*/
+ public byte[] byRes = new byte[4]; // 淇濈暀瀛楄妭
+ }
+
+ // 闃靛垪淇℃伅
+ public static class NET_DVR_ARRAY_INFO extends Structure {
+ public short wArrayID; // 闃靛垪ID
+ public byte byRaidMode; // raid妯″紡 鍙傜収RAID_MODE
+ public byte byStatus; // 0-鍦ㄧ嚎 1-纾佺洏涓㈠け 2-涓嬬嚎 3-闄嶇骇 4-寮傚父 5-娆℃甯 6-澶栨潵鐩 7-宸插垹闄 8-SMART鐘舵佸紓甯 0xff-涓嶅瓨鍦
+ public int dwHCapacity; // 闃靛垪瀹归噺楂32浣
+ public int dwLCapacity; // 闃靛垪瀹归噺浣32浣
+ public int dwHFreeSpace; // 闃靛垪鍓╀綑绌洪棿楂32浣
+ public int dwLFreeSpace; // 闃靛垪鍓╀綑绌洪棿楂32浣
+ public byte[] byArrayName = new byte[MAX_NAMELEN]; // 闃靛垪鍚嶇О
+ public byte byPDCount; // 鐗╃悊纾佺洏鏁扮洰
+ public byte bySpareCount; // 鐑鏁扮洰
+ public byte[] byRes1 = new byte[2];
+ public short[] wPDSlots = new short[SUPPORT_PD_NUM]; // 鐗╃悊纾佺洏绱㈠紩
+ public short[] wSparePDSlots = new short[SUPPORT_PD_NUM]; // 鐑纾佺洏绱㈠紩
+ public NET_DVR_BGA_INFO struBgaInfo; // 鍚庡彴浠诲姟杩愯鐘舵
+ public short[] wPDSlotsPartTwo = new short[SUPPORT_PD_NUM_PARTTWO]; //鐗╃悊纾佺洏绱㈠紩鎵╁睍锛0琛ㄧず鏃犳晥
+ public short[] wSparePDSlotsPartTwo = new short[SUPPORT_PD_NUM_PARTTWO]; // 鐑纾佺洏绱㈠紩鎵╁睍锛0琛ㄧず鏃犳晥
+ public byte[] byRes2 = new byte[48]; // 淇濈暀瀛楄妭
+ }
+
+ //鐗╃悊纾佺洏
+ public static class NET_DVR_PHY_DISK_INFO extends Structure {
+ public short wPhySlot; // 纭洏妲戒綅
+ public byte byType; // 纭洏淇℃伅锛0 鏅氾紝1鍏ㄥ眬鐑锛2-闃靛垪鐑 3-闃靛垪鐩
+ public byte byStatus; // 纭洏鐘舵侊紱 0-姝e父 1-闄嶇骇 2-宸插垹闄 3-纾佺洏涓㈠け 4-涓嬬嚎 5-娆℃甯 6-澶栨潵 7-寮傚父 8-SMART鐘舵佸紓甯 9-浼戠湢 10-鏈夊潖鍧 0xff-涓嶅瓨鍦
+ public byte[] byMode = new byte[40]; // 纭洏绫诲瀷 瀛楃涓
+ public int dwHCapacity; // 纾佺洏鎬婚噺楂32浣 鍗曚綅kb
+ public int dwLCapacity; // 纾佺洏鎬婚噺浣32浣
+ public byte[] byArrrayName = new byte[MAX_NAMELEN];
+ public short wArrayID; // 鎵灞為樀鍒桰D
+ public byte byArrayInformation; // 鏄惁鍚湁闃靛垪淇℃伅锛0 鍚︼紝1鏄
+ public byte[] byRes = new byte[101]; // 淇濈暀瀛楄妭
+ }
+
+ public static class NET_DVR_WORKSTATE_V40 extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public int dwDeviceStatic; //璁惧鐨勭姸鎬,0-姝e父,1-CPU鍗犵敤鐜囧お楂,瓒呰繃85%,2-纭欢閿欒,渚嬪涓插彛姝绘帀
+ public NET_DVR_DISKSTATE[] struHardDiskStatic = new NET_DVR_DISKSTATE[MAX_DISKNUM_V30]; //纭洏鐘舵,涓娆℃渶澶氬彧鑳借幏鍙33涓‖鐩樹俊鎭
+ public NET_DVR_CHANNELSTATE_V30[] struChanStatic = new NET_DVR_CHANNELSTATE_V30[MAX_CHANNUM_V40/*512*/];//閫氶亾鐨勭姸鎬侊紝浠庡墠寰鍚庨『搴忔帓鍒
+ public int[] dwHasAlarmInStatic = new int[MAX_ALARMIN_V40]; //鏈夋姤璀︾殑鎶ヨ杈撳叆鍙o紝鎸夊艰〃绀猴紝鎸変笅鏍囧奸『搴忔帓鍒楋紝鍊间负0xffffffff鏃跺綋鍓嶅強鍚庣画鍊兼棤鏁
+ public int[] dwHasAlarmOutStatic = new int[MAX_ALARMOUT_V40]; //鏈夋姤璀﹁緭鍑虹殑鎶ヨ杈撳嚭鍙o紝鎸夊艰〃绀猴紝鎸変笅鏍囧奸『搴忔帓鍒楋紝鍊间负0xffffffff鏃跺綋鍓嶅強鍚庣画鍊兼棤鏁
+ public int dwLocalDisplay; //鏈湴鏄剧ず鐘舵,0-姝e父,1-涓嶆甯
+ public byte[] byAudioInChanStatus = new byte[MAX_AUDIO_V30/*2*/]; //鎸変綅琛ㄧず璇煶閫氶亾鐨勭姸鎬 0-鏈娇鐢紝1-浣跨敤涓紝绗0浣嶈〃绀虹1涓闊抽氶亾
+ public byte[] byRes1 = new byte[2];
+ public float fHumidity; //浼犳劅鍣ㄨ幏鐭ョ殑婀垮害,鑼冨洿:0.0 ~100.0
+ public float fTemperature; //浼犳劅鍣ㄨ幏鐭ョ殑娓╁害锛岃寖鍥达細-20.0 ~ 90.0
+ public byte[] byRes = new byte[116]; //淇濈暀
+ }
+
+ public static class NET_DVR_GETWORKSTATE_COND extends Structure {
+ public int dwSize; //缁撴瀯浣撻暱搴
+ public byte byFindHardByCond; /*0-鏌ユ壘鍏ㄩ儴纾佺洏(浣嗕竴娆℃渶澶氬彧鑳芥煡鎵33涓)锛屾鏃禿wFindHardStatusNum鏃犳晥*/
+ public byte byFindChanByCond; /*0-鏌ユ壘鍏ㄩ儴閫氶亾锛屾鏃禿wFindChanNum鏃犳晥*/
+ public byte[] byRes1 = new byte[2];//淇濈暀
+ public int[] dwFindHardStatus = new int[MAX_DISKNUM_V30/*33*/]; /*瑕佹煡鎵剧殑纭洏鍙凤紝鎸夊艰〃绀猴紝璇ュ奸噰鐢ㄩ『搴忔帓鍒楋紝 閬囧埌0xffffffff鍒欒涓哄悗缁棤鏁 */
+ public int[] dwFindChanNo = new int[MAX_CHANNUM_V40/*512*/]; /*瑕佹煡鎵剧殑閫氶亾鍙凤紝鎸夊艰〃绀猴紝璇ュ奸噰鐢ㄩ『搴忔帓鍒楋紝 閬囧埌0xffffffff鍒欒涓哄悗缁棤鏁 */
+ public byte[] byRes = new byte[64]; //淇濈暀
+ }
+
+ //澶氳竟鍨嬬粨鏋勪綋
+ public static class NET_ITC_POLYGON extends Structure {
+ public int dwPointNum; //鏈夋晥鐐 澶т簬绛変簬3锛岃嫢鏄3鐐瑰湪涓鏉$嚎涓婅涓烘槸鏃犳晥鍖哄煙锛岀嚎浜ゅ弶璁や负鏄棤鏁堝尯鍩
+ public NET_VCA_POINT[] struPos = new NET_VCA_POINT[ITC_MAX_POLYGON_POINT_NUM]; //澶氳竟褰㈣竟鐣岀偣,鏈澶20涓
+ }
+
+ public static class CUSTOM_uRegion extends Union {
+ public NET_VCA_RECT struRect = new NET_VCA_RECT();
+ public NET_ITC_POLYGON struPolygon = new NET_ITC_POLYGON();
+ }
+
+ public static class NET_ITC_PLATE_RECOG_REGION_PARAM extends Structure {
+ public byte byMode; //鍖哄煙绫诲瀷锛0-鐭╁舰锛1-澶氳竟褰
+ public byte[] byRes1 = new byte[3];
+ public CUSTOM_uRegion uRegion = new CUSTOM_uRegion();
+ public byte[] byRes = new byte[16]; //淇濈暀
+ }
+
+ //鍗曠粍IO娴嬮熷弬鏁
+ public static class NET_ITC_SINGLE_IOSPEED_PARAM extends Structure {
+ public byte byEnable; //鏄惁鍚敤锛0-涓嶅惎鐢紝1-鍚敤
+ public byte byTrigCoil1; //绗竴绾垮湀鍏宠仈IO锛0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6
+ public byte byCoil1IOStatus;//绗竴绾垮湀IO杈撳叆鍙g姸鎬侊紝0-涓嬮檷娌匡紙榛樿锛夛紝1-涓婂崌娌匡紝2-涓婂崌娌垮拰涓嬮檷娌匡紝3-楂樼數骞筹紝4-浣庣數骞
+ public byte byTrigCoil2; //绗簩绾垮湀鍏宠仈IO锛0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6
+ public byte byCoil2IOStatus;//绗簩绾垮湀IO杈撳叆鍙g姸鎬侊紝0-涓嬮檷娌匡紙榛樿锛夛紝1-涓婂崌娌匡紝2-涓婂崌娌垮拰涓嬮檷娌匡紝3-楂樼數骞筹紝4-浣庣數骞
+ public byte byRelatedDriveWay;//鍏宠仈鐨勮溅閬撳彿
+ public byte byTimeOut;//瓒呮椂鏃堕棿锛堥粯璁10锛夛紝鍗曚綅s
+ public byte byRelatedIOOutEx;//绗0浣嶈〃绀篒O杈撳嚭鍙1锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈 鏀寔鍏宠仈鍒8涓(鍏煎byRelatedIOOut瀛楁)
+ public int dwDistance;//绾垮湀璺濈锛堥粯璁1000锛,鍗曚綅锛氬帢绫
+ public byte byCapSpeed;//璧锋媿閫熷害锛堥粯璁30锛夛紝鍗曚綅km/h
+ public byte bySpeedLimit;//闄愰熷硷紙榛樿60锛夛紝鍗曚綅km/h
+ public byte bySpeedCapEn; //鏄惁鍚敤瓒呴熸姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte bySnapTimes1; //绾垮湀1鎶撴媿娆℃暟锛堥粯璁や笉鎶撴媿锛夛紝0-涓嶆姄鎷嶏紝闈0-杩炴媿娆℃暟锛屾渶澶5娆
+ public byte bySnapTimes2; //绾垮湀2鎶撴媿娆℃暟锛堥粯璁1锛夛紝0-涓嶆姄鎷嶏紝闈0-杩炴媿娆℃暟锛屾渶澶5娆
+ public byte byBigCarSpeedLimit; //澶ц溅杞﹂熼檺鍒跺
+ public byte byBigCarSignSpeed;//鏍囧織闄愰(澶ц溅)锛屽崟浣峩m/h(3.7Ver)
+ public byte byIntervalType; //闂撮殧绫诲瀷锛堥粯璁ゆ寜鏃堕棿锛夛紝0-鏃堕棿璧锋晥,1-璺濈璧锋晥
+ public short[] wInterval1 = new short[MAX_INTERVAL_NUM];//绾垮湀1杩炴媿闂撮殧鏃堕棿锛堝崟浣峬s锛夋垨杩炴媿闂撮殧璺濈锛堝崟浣嶅垎绫筹級锛屽綋byIntervalType涓0鏃讹紝琛ㄧず闂撮殧鏃堕棿锛屽綋byIntervalType涓1鏃讹紝琛ㄧず璺濈
+ public short[] wInterval2 = new short[MAX_INTERVAL_NUM];//绾垮湀2杩炴媿闂撮殧鏃堕棿锛堝崟浣峬s锛夋垨杩炴媿闂撮殧璺濈锛堝崟浣嶅垎绫筹級锛屽綋byIntervalType涓0鏃讹紝琛ㄧず闂撮殧鏃堕棿锛屽綋byIntervalType涓1鏃讹紝琛ㄧず璺濈
+ public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //鍏宠仈鐨処O杈撳嚭鍙(鍙互鍚屾椂鍏宠仈澶氫釜)锛屾暟缁0琛ㄧずIO杈撳嚭鍙1锛屾暟缁1琛ㄧずIO杈撳嚭鍙2锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈
+ public byte byFlashMode; //闂厜鐏棯鐑佹ā寮忥紝0-鍚屾椂闂紝1-杞祦闂
+ public byte byLaneType; //杞﹂亾绫诲瀷锛0-鏈厤缃1-楂橀熷叕璺2-鍩庡競蹇熻矾銆0xff-鍏朵粬閬撹矾
+ public byte byCarSignSpeed;//鏍囧織闄愰燂紝鍗曚綅km/h(3.7Ver)
+ public byte byUseageType; //杞﹂亾鐢ㄩ旂被鍨嬶紝璇﹁ITC_LANE_USEAGE_TYPE
+ public NET_ITC_PLATE_RECOG_REGION_PARAM[] struPlateRecog = new NET_ITC_PLATE_RECOG_REGION_PARAM[MAX_LANEAREA_NUM]; //鐗岃瘑鍙傛暟(鍙敤鐗岃瘑鍖哄煙1涓紝淇濈暀涓涓)
+ //鍏宠仈杞﹂亾鏂瑰悜绫诲瀷锛屽弬鑰僆TC_RELA_LANE_DIRECTION_TYPE
+ //璇ュ弬鏁颁负杞﹂亾鏂瑰悜鍙傛暟锛屼笌鍏宠仈杞﹂亾鍙峰搴旓紝纭繚杞﹂亾鍞竴鎬с
+ public byte byRelaLaneDirectionType;
+ public byte byLowSpeedLimit; //灏忚溅闄愬簳閫熷硷紝鍗曚綅km/h
+ public byte byBigCarLowSpeedLimit; //澶ц溅闄愬簳閫熷硷紝鍗曚綅km/h
+ public byte byLowSpeedCapEn; //鏄惁鍚敤浣庨熸姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte byEmergencyCapEn; //鏄惁鍚敤搴旀ヨ溅閬撴姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte[] byRes = new byte[27];
+ }
+
+ //鐗岃瘑鍙傛暟
+ public static class NET_ITC_PLATE_RECOG_PARAM extends Structure {
+ public byte[] byDefaultCHN = new byte[MAX_CHJC_NUM]; /*璁惧杩愯鐪佷唤鐨勬眽瀛楃畝鍐*/
+ public byte byEnable; //鏄惁鍚敤璇ュ尯鍩熺墝璇嗭紝0-鍚︼紝1-鏄
+ public int dwRecogMode;
+ /*璇嗗埆鐨勭被鍨嬶紝
+ bit0-鑳屽悜璇嗗埆锛0-姝e悜杞︾墝璇嗗埆锛1-鑳屽悜璇嗗埆(灏剧墝璇嗗埆) 锛
+ bit1-澶ц溅鐗岃瘑鍒垨灏忚溅鐗岃瘑鍒細0-灏忚溅鐗岃瘑鍒紝1-澶ц溅鐗岃瘑鍒 锛
+ bit2-杞﹁韩棰滆壊璇嗗埆锛0-涓嶉噰鐢ㄨ溅韬鑹茶瘑鍒紝鍦ㄨ儗鍚戣瘑鍒垨灏忚溅鐗岃瘑鍒椂绂佹鍚敤锛1-杞﹁韩棰滆壊璇嗗埆锛
+ bit3-鍐滅敤杞﹁瘑鍒細0-涓嶉噰鐢ㄥ啘鐢ㄨ溅璇嗗埆锛1-鍐滅敤杞﹁瘑鍒紱
+ bit4-妯$硦璇嗗埆锛0-涓嶉噰鐢ㄦā绯婅瘑鍒紝1-妯$硦璇嗗埆锛
+ bit5-甯у畾浣嶆垨鍦哄畾浣嶏細0-甯у畾浣嶏紝1-鍦哄畾浣嶏紱
+ bit6-甯ц瘑鍒垨鍦鸿瘑鍒細0-甯ц瘑鍒紝1-鍦鸿瘑鍒紱
+ bit7-鏅氫笂鎴栫櫧澶╋細0-鐧藉ぉ锛1-鏅氫笂
+ bit8-鎽╂墭杞﹁瘑鍒細0-涓嶉噰鐢ㄦ懇鎵樿溅璇嗗埆锛1-鎽╂墭杞﹁瘑鍒;
+ bit9-鍦烘櫙妯″紡锛0-鐢佃/澶氬抚锛1-鍗″彛锛
+ bit10-寰皬杞︾墝锛0-涓嶅惎鐢紝1-鍚敤寰皬杞︾墝璇嗗埆(鍍忕礌60锝80)
+ bit11-瀹夊叏甯︽娴嬶細0-涓嶅惎鐢紝1-鍚敤瀹夊叏甯︽娴
+ bit12-姘戣埅杞︾墝璇嗗埆: 0-涓嶅惎鐢紝1-寮鍚皯鑸溅鐗岃瘑鍒
+ bit13-杞︾墝杩囨浮鍊炬枩澶勭悊: 0-涓嶅惎鐢紝1-寮鍚繃娓″炬枩澶勭悊锛圥RS锛
+ bit14-瓒呭ぇ杞︾墝璇嗗埆: 0-涓嶅惎鐢紝1-寮鍚秴澶ц溅鐗岃瘑鍒紙PRS锛
+ bit15-閬槼鏉挎娴嬶細0-涓嶅惎鐢紝1-鍚敤閬槼鏉挎娴
+ bit16-榛勬爣杞︽娴嬶細0-涓嶅惎鐢紝1-鍚敤榛勬爣杞︽娴
+ bit17-鍗遍櫓鍝佽溅杈嗘娴嬶細0-涓嶅惎鐢紝1-鍚敤鍗遍櫓鍝佽溅杈嗘娴
+ bit18-浣块杞︾墝璇嗗埆锛0-涓嶅惎鐢紝1-鍚敤浣块杞︾墝璇嗗埆
+ bit19-杞﹁締瀛愬搧鐗岃瘑鍒細0-涓嶅惎鐢紝1-鍚敤杞﹁締瀛愬搧鐗岃瘑鍒
+ bit20-鎵撶數璇濊瘑鍒細0-涓嶅惎鐢紝1-鍚敤
+ bit21-杞︾獥鎮寕鐗╄瘑鍒細0-涓嶅惎鐢紝1-鍚敤
+ */
+ public byte byVehicleLogoRecog;//杞︽爣璇嗗埆 0-涓嶅惎鐢紝1-鍚敤
+ /*
+ 0-淇濈暀锛1-婢筹紝2-浜紝3-娓濓紝4-闂斤紝5-鐢橈紝6-绮わ紝7-妗傦紝8-璐碉紝9-鐞硷紝10-鍐锛11-璞紝
+ 12-榛戯紝13-閯傦紝14-婀橈紝15-鍚夛紝16-鑻忥紝17-璧o紝18-杈斤紝19-钂欙紝20-瀹侊紝21-闈掞紝22-椴侊紝
+ 23-鏅嬶紝24-闄曪紝25-娌紝26-宸濓紝27-鍙帮紝28-娲ワ紝29-钘忥紝30-娓紝31-鏂帮紝32-浜戯紝33-娴欙紝
+ 34-鐨栵紝0xff-鍏ㄩ儴
+ */
+ public byte byProvince;//鐪佷唤绱㈠紩鍊
+ public byte byRegion;// 鍖哄煙绱㈠紩鍊 0-淇濈暀锛1-娆ф床, 3-娆ф床&(EU&CIS),4-涓笢(Middle East)
+ public byte byCountry;//鍥藉绱㈠紩锛屽弬鐓ф灇涓綜OUNTRY_INDEX(涓嶆敮鎸佲淐OUNTRY_ALL = 0xff,//ALL 鍏ㄩ儴鈥)
+ public short wPlatePixelWidthMin;//杞︾墝鍍忕礌璇嗗埆瀹藉害鏈灏忓硷紙鍗曚綅鏄儚绱狅級褰撳墠鎺ㄨ崘鑼冨洿[130,500]
+ public short wPlatePixelWidthMax;//杞︾墝鍍忕礌璇嗗埆瀹藉害鏈澶у硷紙鍗曚綅鏄儚绱狅級褰撳墠鎺ㄨ崘鑼冨洿[130,500]
+ public byte[] byRes = new byte[24];
+ }
+
+ //鍗″彛IO娴嬮熷弬鏁
+ public static class NET_ITC_POST_IOSPEED_PARAM extends Structure {
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //鐗岃瘑鍙傛暟
+ public NET_ITC_SINGLE_IOSPEED_PARAM[] struSingleIOSpeed = new NET_ITC_SINGLE_IOSPEED_PARAM[MAX_IOSPEED_GROUP_NUM]; //鍗曚釜IO娴嬮熺粍鍙傛暟
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_GEOGLOCATION extends Structure {
+ public int[] iRes = new int[2]; /*淇濈暀*/
+ public int dwCity; /*鍩庡競锛岃瑙丳ROVINCE_CITY_IDX */
+ }
+
+ public static class NET_ITC_INTERVAL_PARAM extends Structure {
+ public byte byIntervalType; //闂撮殧绫诲瀷锛堥粯璁ゆ寜鏃堕棿锛夛紝0-鏃堕棿璧锋晥,1-璺濈璧锋晥
+ public byte[] byRes1 = new byte[3];
+ public short[] wInterval = new short[MAX_INTERVAL_NUM];//杩炴媿闂撮殧鏃堕棿锛堝崟浣峬s锛夋垨杩炴媿闂撮殧璺濈锛堝崟浣嶅垎绫筹級锛屽綋byIntervalType涓0鏃讹紝琛ㄧず闂撮殧鏃堕棿锛屽綋byIntervalType涓1鏃讹紝琛ㄧず璺濈
+ public byte[] byRes = new byte[8];
+ }
+
+ public static class NET_ITC_VTLANE_PARAM extends Structure {
+ public byte byRelatedDriveWay;//鍏宠仈鐨勮溅閬撳彿
+ public byte bySpeedCapEn; //鏄惁鍚敤瓒呴熸姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte bySignSpeed;//鏍囧織闄愰燂紝鍗曚綅km/h
+ public byte bySpeedLimit;//闄愰熷硷紝鍗曚綅km/h
+ public byte bySnapTimes; //鎶撴媿娆℃暟锛堥粯璁1锛夛紝0-涓嶆姄鎷嶏紝闈0-杩炴媿娆℃暟锛屾渶澶5
+ public byte byBigCarSignSpeed;///*澶ц溅鏍囧織闄愰燂紝鍗曚綅km/h*/
+ public byte byBigCarSpeedLimit;/*澶ц溅闄愰熷硷紝鍗曚綅km/h*/
+ public byte byRelatedIOOutEx;//绗0浣嶈〃绀篒O杈撳嚭鍙1锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈 鏀寔鍏宠仈鍒8涓(鍏煎byRelatedIOOut瀛楁)
+ public NET_ITC_INTERVAL_PARAM struInterval = new NET_ITC_INTERVAL_PARAM(); //鎶撴媿闂撮殧鍙傛暟
+ public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //鍏宠仈鐨処O杈撳嚭鍙o紝鍙互鍚屾椂鍏宠仈澶氫釜
+ public byte byFlashMode; //闂厜鐏棯鐑佹ā寮忥紝0-鍚屾椂闂紝1-杞祦闂
+ public byte byLowSpeedLimit;/*闄愪綆閫燂紝鍗曚綅km/h*/
+ public byte byBigCarLowSpeedLimit; /*澶ц溅闄愪綆閫燂紝鍗曚綅km/h*/
+ //鍏宠仈杞﹂亾鏂瑰悜绫诲瀷锛屽弬鑰僆TC_RELA_LANE_DIRECTION_TYPE
+ //璇ュ弬鏁颁负杞﹂亾鏂瑰悜鍙傛暟锛屼笌鍏宠仈杞﹂亾鍙峰搴旓紝纭繚杞﹂亾鍞竴鎬с
+ public byte byRelaLaneDirectionType;
+ public NET_ITC_PLATE_RECOG_REGION_PARAM[] struPlateRecog = new NET_ITC_PLATE_RECOG_REGION_PARAM[MAX_LANEAREA_NUM]; //杞﹂亾鐗岃瘑鍙傛暟
+ public NET_VCA_LINE struLine = new NET_VCA_LINE(); //杞﹂亾绾
+ }
+
+ public static class NET_ITC_VTCOIL_INFO extends Structure {
+ public NET_VCA_RECT struLaneRect = new NET_VCA_RECT(); /*铏氭嫙绾垮湀鍖哄煙*/
+ public byte byTrigFlag; //瑙﹀彂鏍囧織锛0-杞﹀ご瑙﹀彂锛1-杞﹀熬瑙﹀彂锛2-杞﹀ご/杞﹀熬閮借Е鍙
+ public byte byTrigSensitive; //瑙﹀彂鐏垫晱搴︼紝1-100
+ public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //鍏宠仈鐨処O杈撳嚭鍙(鍙互鍚屾椂鍏宠仈澶氫釜)锛屾暟缁0琛ㄧずIO杈撳嚭鍙1锛屾暟缁1琛ㄧずIO杈撳嚭鍙2锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈
+ public byte byFlashMode; //闂厜鐏棯鐑佹ā寮忥紝0-鍚屾椂闂紝1-杞祦闂
+ public byte byLaneType; //杞﹂亾绫诲瀷锛0-鏈厤缃1-楂橀熷叕璺2-鍩庡競蹇熻矾銆0xff-鍏朵粬閬撹矾
+ public byte byEnableRadar; //鏄惁鍚敤闆疯揪娴嬮燂紝0-鍚︼紝1-鏄
+ public NET_ITC_VTLANE_PARAM struLane = new NET_ITC_VTLANE_PARAM(); //鍏宠仈鐨勮溅閬撳弬鏁
+ //杞﹂亾鐢ㄩ旂被鍨嬶紝璇﹁ITC_LANE_USEAGE_TYPE锛屼娇鐢1鍜8涓ょ绫诲瀷(3.7Ver)
+ public byte byUseageType;
+ //杞﹁締琛岄┒鏂瑰悜锛岃瑙両TC_LANE_CAR_DRIVE_DIRECT(3.7Ver)
+ public byte byCarDriveDirect;
+ public byte[] byRes = new byte[30];
+ }
+
+ public static class NET_ITC_RADAR_PARAM extends Structure {
+ public byte byRadarType; //闆疯揪绫诲瀷锛0-鏃犻浄杈,1-瀹夐亾闆烽浄杈撅紝2-濂ュ埄缁翠簹锛3-宸濋熷井娉4,闆疯揪鎺O鎵╁睍鐩(姝ゅ弬鏁板湪鍗″彛铏氭嫙绾垮湀銆佹贩琛屽崱鍙g晫闈腑浣跨敤锛屽崱鍙S485闆疯揪涓嶄娇鐢),0xff-鍏跺畠绫诲瀷
+ public byte byLevelAngle; //涓庢按骞崇嚎鎵鎴愯搴,榛樿涓25掳(0鍒90搴)
+ public short wRadarSensitivity; //闆疯揪鐏垫晱搴
+ public short wRadarSpeedValidTime;//闆疯揪閫熷害鏈夋晥鏃堕棿(0~2000] ,0琛ㄧず涓嶆敮鎸
+ public byte[] byRes1 = new byte[2];
+ public float fLineCorrectParam;//绾挎х煫姝e弬鏁癧0.0~2.0]
+ public int iConstCorrectParam;//甯搁噺鐭鍙傛暟[-100~100]
+ public byte[] byRes2 = new byte[8];
+ }
+
+ //鍗″彛铏氭嫙绾垮湀瑙﹀彂鍙傛暟
+ public static class NET_ITC_POST_VTCOIL_PARAM extends Structure {
+ public byte byRelatedLaneNum;//鍏宠仈鐨勮溅閬撲釜鏁
+ public byte byIsDisplay; //瑙嗛涓槸鍚︽樉绀鸿櫄鎷熺嚎鍦堬紝0-涓嶆樉绀猴紝1-鏄剧ず
+ public byte byLoopPos; //鏅氶棿瑙﹀彂绾垮湀鐨勫亸鍚戯紙榛樿10锛
+ public byte byPolarLenType; /*鍋忔尟闀滅被鍨嬶紝0锛氫笉鍔犲亸鎸暅锛1锛氬姞鏂借愬痉鍋忔尟闀溿*/
+ public byte byDayAuxLightMode; /*鐧藉ぉ杈呭姪鐓ф槑妯″紡锛0锛氭棤杈呭姪鐓ф槑锛1锛歀ED鐏収鏄庯紱2锛氶棯鍏夌伅鐓ф槑*/
+ public byte byVideoLaneNO; //瑙嗛鍙傝冧寒搴︾殑鍙傝冭溅閬撳彿
+ public byte byVideoLowTh; /*瑙喡嗛鍙傝冧寒搴︿綆闃堝煎垵濮嬪寲鍊硷紙榛樿40锛*/
+ public byte byVideoHighTh; /*瑙嗛鍙傝冧寒搴﹂珮闃堝煎垵濮嬪寲鍊硷紙榛樿55锛*/
+ public byte byRecordMode; //褰曞儚鏍囧織锛0-涓嶅綍鍍忥紝1-褰曞儚
+ public byte bySnapMode;//鎶撴媿妯″紡锛0-棰戦棯妯″紡锛1-鐖嗛棯妯″紡
+ /*娴嬮熸柟寮忥細0-涓嶆祴閫燂紝0x1-闆疯揪娴嬮燂紝0x2-瑙嗛娴嬮*/
+ public byte bySpeedDetector;
+ public byte byRes2;
+ public short wResolutionX;/* 璁惧褰撳墠鍒嗚鲸鐜囧*/
+ public short wResolutionY;/* 璁惧褰撳墠鍒嗚鲸鐜囬珮*/
+ public int dwDayInitExp; /*瑙嗛鐧藉ぉ鏇濆厜鏃堕棿鐨勫垵濮嬪2000*/
+ public int dwDayMaxExp; /*瑙嗛鐧藉ぉ鏇濆厜鏃堕棿鐨勬渶澶у20000*/
+ public int dwNightExp; /*鏅氶棿瑙嗛鏇濆厜鏃堕棿鐨勮缃3000*/
+ public int dwSnapExp; /*鎶撴媿鏇濆厜鏃堕棿*/
+ public byte byDayInitGain; /*瑙嗛鐧藉ぉ澧炵泭鐨勫垵濮嬪200*/
+ public byte byDayMaxGain; /*瑙嗛鐧藉ぉ澧炵泭鐨勬渶澶у400*/
+ public byte byNightGain; /*鏅氶棿瑙嗛澧炵泭*/
+ public byte bySnapGain; /*鎶撴媿澧炵泭*/
+ public int dwSceneMode; //鍦烘櫙妯″紡锛 璇﹁SCENE_MODE
+ public NET_DVR_GEOGLOCATION struGeogLocation = new NET_DVR_GEOGLOCATION(); //鍦板潃浣嶇疆(榛樿娴欐睙)
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //鐗岃瘑鍙傛暟
+ public NET_ITC_VTCOIL_INFO[] struVtCoil = new NET_ITC_VTCOIL_INFO[MAX_VL_NUM]; //铏氭嫙绾垮湀鍙傛暟
+ public NET_ITC_RADAR_PARAM struRadar = new NET_ITC_RADAR_PARAM(); //闆疯揪鍙傛暟
+ public NET_VCA_LINE struLine = new NET_VCA_LINE(); //鍙宠溅閬撶嚎
+ //杩濊妫娴嬬被鍨嬶紝鎸変綅琛ㄧず锛岃瑙両TC_VIOLATION_DETECT_TYPE锛0-涓嶅惎鐢紝1-鍚敤(3.7Ver)
+ public int dwVioDetectType;
+ public byte byDebugMode; /*璋冭瘯妯″紡锛0-涓嶅惎鐢紝1-鍚敤*/
+ public byte[] byRes = new byte[11];
+ }
+
+ //杞﹂亾灞炴у弬鏁扮粨鏋
+ public static class NET_ITC_LANE_LOGIC_PARAM extends Structure {
+ public byte byUseageType; //杞﹂亾鐢ㄩ旂被鍨嬶紝璇﹁ITC_LANE_USEAGE_TYPE
+ public byte byDirectionType; //杞﹂亾鏂瑰悜绫诲瀷锛岃瑙両TC_LANE_DIRECTION_TYPE
+ public byte byCarDriveDirect; //杞﹁締琛岄┒鏂瑰悜锛岃瑙両TC_LANE_CAR_DRIVE_DIRECT
+ public byte[] byRes = new byte[33]; //淇濈暀
+ }
+
+ //瑙嗛鐢佃绾跨粨鏋
+ public static class NET_ITC_LINE extends Structure {
+ public NET_VCA_LINE struLine = new NET_VCA_LINE(); //绾垮弬鏁
+ public byte byLineType; //绾跨被鍨嬶紝璇﹁ITC_LINE_TYPE
+ public byte[] byRes = new byte[7];
+ }
+
+ public static class NET_ITC_SNAPMODE_PARAM extends Structure {
+ public byte byVehicleCapMode;//鏈哄姩杞︽姄鎷嶆ā寮忥紝0-棰戦棯妯″紡锛1-鐖嗛棯妯″紡
+ public byte byNoVehicleCapMode;//闈炴満鍔ㄨ溅鎶撴媿妯″紡锛0-棰戦棯妯″紡锛1-鐖嗛棯妯″紡
+ public byte byPasserCapMode;//琛屼汉鎶撴媿妯″紡锛0-棰戦棯妯″紡锛1-鐖嗛棯妯″紡
+ public byte[] byRes = new byte[29];
+ }
+
+ //size = 128
+ public static class NET_ITC_HVT_EC_PARAM extends Structure {
+ public int dwCapShutter; //鎶撴媿蹇棬0~65535
+ public short wCapGain; //鎶撴媿澧炵泭0锝100
+ public byte[] byRes = new byte[2];
+ public int dwDayTimeVideoShutter; //鐧藉ぉ鏇濆厜鏃堕棿鏈澶у
+ public short wDayTimeVideoGain; //鐧藉ぉ澧炵泭鏈澶у
+ public short wNightVideoGain; //鏅氫笂澧炵泭鏈澶у
+ public short wNightVideoShutter; //鏅氫笂鏇濆厜鏃堕棿鏈澶у
+ public byte[] byRes1 = new byte[108];
+ }
+
+ public static class NET_ITC_LANE_HVT_PARAM extends Structure {
+ public byte byLaneNO; //鍏宠仈鐨勮溅閬撳彿 1~255锛堢敤浜庡彔鍔犲拰涓婁紶锛
+ public byte bySignSpeed; //鏍囧織闄愰燂紝鍗曚綅km/h 0锝255 70
+ public byte bySpeedLimit; //闄愰熷硷紝鍗曚綅km/h 0锝255 80 瀹為檯璧锋晥
+ public byte byBigCarSignSpeed;///*澶ц溅鏍囧織闄愰燂紝鍗曚綅km/h*/
+ public byte byBigCarSpeedLimit;/*澶ц溅闄愰熷硷紝鍗曚綅km/h*/
+ public byte bySpeedCapEn; //鏄惁鍚敤瓒呴熸姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte byCaptureCount;//鎶撴媿寮犳暟1锝5(姝e父)
+ public byte byRelatedIOOut; /*鍏宠仈鐨処O杈撳嚭鍙(鍙互鍚屾椂鍏宠仈澶氫釜)锛屾寜浣嶈〃绀篒O杈撳嚭鍙o紝绗0浣嶈〃绀篒O杈撳嚭鍙1锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈*/
+ public byte byFlashMode; /*闂厜鐏棯鐑佹ā寮忥紝0-鍚屾椂闂紝1-杞祦闂*/
+ public byte byEnableRadar; //鏄惁鍚敤闆疯揪娴嬮燂紝0-鍚︼紝1-鏄
+ public byte byChangeLaneEnable; //杩濈珷鍙橀亾鎶撴媿浣胯兘锛0-鍏抽棴锛1-寮鍚
+ public byte byChangeLaneCapNo; //杩濈珷鍙橀亾鎶撴媿寮犳暟2-3
+ public int dwCapTarget; //鎶撴媿绫诲瀷 bit0 琛ㄧず鏈哄姩杞 bit1 琛ㄧず闈炴満鍔ㄨ溅 bit2 琛ㄧず琛屼汉 0锝炶〃绀轰笉閫夋嫨 1锝炶〃绀洪夋嫨
+ public NET_ITC_INTERVAL_PARAM struInterval; //鎶撴媿闂撮殧鍙傛暟
+ public byte[] byRes3 = new byte[24];
+ public NET_ITC_LANE_LOGIC_PARAM struLane; //杞﹂亾灞炴э紝鐢╞yUseageType鍜宐yCarDriveDirect
+ public NET_ITC_LINE struLeftLaneLine; //宸﹁溅閬撶嚎锛岀嚎绫诲瀷涓鸿櫄绾裤佸疄绾裤佸崟榛勭嚎鍜屽弻榛勭嚎
+ public NET_ITC_LINE struRightLaneLine; //鍙宠溅閬撶嚎锛岀嚎绫诲瀷涓鸿櫄绾裤佸疄绾裤佸崟榛勭嚎鍜屽弻榛勭嚎
+ public NET_ITC_POLYGON struPlateRecog; //鐗岃瘑鍖哄煙鍙傛暟
+ public NET_ITC_POLYGON struTraceArea; //瑙嗛瑙﹀彂鐒︾偣鍖哄煙
+ public NET_VCA_LINE struForwardTrigLine; //姝e悜瑙﹀彂绾匡細涓鏉$嚎娈碉紝鍏冲績绔偣浣嶇疆锛岀洰鍓嶅彧鏀寔姘村钩閰嶇疆锛屾帴鍙f寜绾挎鐨勪袱涓鐐逛繚瀛樸傦紙涓鑸厤缃负姝e悜杞﹁締鐨勬渶浣宠Е鍙戜綅缃級
+ public NET_VCA_LINE struBackwardTrigLine; //鑳屽悜瑙﹀彂绾匡細涓鏉$嚎娈碉紝鍏冲績绔偣浣嶇疆锛岀洰鍓嶅彧鏀寔姘村钩閰嶇疆锛屾帴鍙f寜绾挎鐨勪袱涓鐐逛繚瀛橈紙涓鑸厤缃负鑳屽悜杞﹁締鐨勬渶浣宠Е鍙戜綅缃級
+ public NET_VCA_LINE struLeftTrigLine; //宸﹁竟瑙﹀彂绾匡細涓鏉$嚎娈碉紝鍏冲績绔偣浣嶇疆锛岀洰鍓嶅彧鏀寔鍨傜洿閰嶇疆锛屾帴鍙f寜绾挎鐨勪袱涓鐐逛繚瀛橈紙涓鑸厤缃负浠庡乏杈硅繘鍏ヨ溅杈嗙殑鏈浣宠Е鍙戜綅缃級
+ public NET_VCA_LINE struRightTrigLine; //鍙宠竟瑙﹀彂绾匡細涓鏉$嚎娈碉紝鍏冲績绔偣浣嶇疆锛岀洰鍓嶅彧鏀寔鍨傜洿閰嶇疆锛屾帴鍙f寜绾挎鐨勪袱涓鐐逛繚瀛橈紙涓鑸厤缃负浠庡彸杈硅繘鍏ヨ溅杈嗙殑鏈浣宠Е鍙戜綅缃級
+ public byte[] byRes4 = new byte[60];
+ }
+
+ public static class NET_ITC_POST_HVT_PARAM extends Structure {
+ public byte byLaneNum;//璇嗗埆鐨勮溅閬撲釜鏁帮紝1-6
+ public byte bySceneMode;//0-鏈煡1-鍩庡尯閬撹矾锛2-灏忓尯鍑哄叆鍙
+ public byte byRoadExpBright;//璺潰鏈熸湜浜害锛堣棰戞洕鍏夊弬鏁拌皟鏁寸殑渚濇嵁涔嬩竴銆傚湪鏃犳満鍔ㄨ溅鏃讹紝渚濇嵁姝や寒搴︽湡鏈涘硷紝璋冩暣瑙嗛鏇濆厜鍙傛暟锛
+ public byte byPlateExpBright;//杞︾墝鏈熸湜浜害锛堣棰戞洕鍏夊弬鏁拌皟鏁寸殑渚濇嵁涔嬩竴銆傚湪鏈夋満鍔ㄨ溅閫氳繃骞惰瘑鍒埌杞︾墝鏃讹紝渚濇嵁姝や寒搴︽湡鏈涘硷紝瀵硅棰戞洕鍏夊弬鏁拌皟鏁达級
+ public NET_ITC_POLYGON struDetectArea; //瑙嗛妫娴嬪尯鍩
+ public NET_ITC_SNAPMODE_PARAM struCapMode = new NET_ITC_SNAPMODE_PARAM();//鎶撴媿妯″紡
+ public NET_ITC_HVT_EC_PARAM struEcParam = new NET_ITC_HVT_EC_PARAM(); //鏇濆厜鎺у埗鍙傛暟
+ public NET_ITC_LANE_HVT_PARAM[] struLaneParam = new NET_ITC_LANE_HVT_PARAM[MAX_ITC_LANE_NUM]; //鍗曡溅閬撳睘鎬
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //鐗岃瘑鍙傛暟
+ public NET_DVR_GEOGLOCATION struGeogLocation = new NET_DVR_GEOGLOCATION(); //鍦板潃浣嶇疆锛堥粯璁ゆ禉姹燂級
+ public byte[] byRes = new byte[324];
+ }
+
+ //鎶撴媿鏈4.0鏂板
+ public static class NET_ITC_LANE_HVT_PARAM_V50 extends Structure {
+ public byte byLaneNO; //鍏宠仈鐨勮溅閬撳彿1锝255(鐢ㄤ簬鍙犲姞鍜屼笂浼)
+ public byte byFlashMode; //闂厜鐏棯鐑佹ā寮忥紝0-鍚屾椂闂紝1-杞祦闂
+ public byte bySignSpeed; //灏忚溅鏍囧織闄愰珮閫燂紝鍗曚綅km/h
+ public byte bySpeedLimit; //灏忚溅闄愰珮閫熷硷紝鍗曚綅km/h
+ public byte bySignLowSpeed; //灏忚溅鏍囧織闄愬簳閫燂紝鍗曚綅km/h
+ public byte byLowSpeedLimit; //灏忚溅闄愬簳閫熷硷紝鍗曚綅km/h
+ public byte byBigCarSignSpeed; //澶ц溅鏍囧織闄愰珮閫燂紝鍗曚綅km/h锛堟柊浜よ锛
+ public byte byBigCarSpeedLimit; //澶ц溅闄愰珮閫熷硷紝鍗曚綅km/h锛堟柊浜よ锛
+ public byte byBigCarSignLowSpeed; //澶ц溅鏍囧織闄愬簳閫燂紝鍗曚綅km/h
+ public byte byBigCarLowSpeedLimit; //澶ц溅闄愬簳閫熷硷紝鍗曚綅km/h
+ public byte bySnapTimes; //鍗″彛鎶撴媿寮犳暟锛1~3
+ public byte byDriveLineSnapTime;// 鍘嬬嚎鎶撴媿寮犳暟 1~3
+ public byte byHighSpeedSnapTime;// 瓒呴珮閫熸姄鎷嶅紶鏁1~3
+ public byte byLowSpeedSnapTime;// 瓒呬綆閫熸姄鎷嶅紶鏁1~3
+ public byte byBanSnapTime;// 杩濆弽绂佷护鎶撴媿寮犳暟 1~3
+ public byte byReverseSnapTime;//閫嗚鎶撴媿寮犳暟 1~3
+ public byte byRelatedDriveWay; //鍏宠仈杞﹂亾鍙凤紝鐢ㄤ簬鍖归厤杞︽鍣
+ public byte byLaneType; //杞﹂亾绫诲瀷锛0-鏈厤缃1-楂橀熷叕璺2-鍩庡競蹇熻矾銆0xff-鍏朵粬閬撹矾
+ //鍏宠仈杞﹂亾鏂瑰悜绫诲瀷锛屽弬鑰僆TC_RELA_LANE_DIRECTION_TYPE
+ //璇ュ弬鏁颁负杞﹂亾鏂瑰悜鍙傛暟锛屼笌鍏宠仈杞﹂亾鍙穊yRelatedDriveWay瀵瑰簲锛岀‘淇濊溅閬撳敮涓鎬с
+ public byte byRelaLaneDirectionType;
+ public byte[] byRes1 = new byte[27];
+ public byte byChangeLaneEnable; //杩濈珷鍙橀亾鎶撴媿浣胯兘锛0-鍏抽棴锛1-寮鍚
+ public byte byChangeLaneCapNo; //杩濈珷鍙橀亾鎶撴媿寮犳暟2-3
+ //鐩墠浠呬娇鐢ㄧ涓涓溅閬撶殑锛屼互鍚庡彲鑳戒細鎵╁睍涓哄杞﹂亾鍒嗗埆閰嶇疆
+ //绫诲瀷, 鎸変綅琛ㄧず,0-涓嶅惎鐢,1-鍚敤鍙傝 ITC_VIOLATION_DETECT_TYPE
+ public int dwVioDetectType;
+ public int dwRelatedIOOut; //鍏宠仈鐨処O杈撳嚭鍙(鍙互鍚屾椂鍏宠仈澶氫釜)锛屾寜浣嶈〃绀篒O杈撳嚭鍙o紝绗0浣嶈〃绀篒O杈撳嚭鍙1锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈
+ public NET_ITC_LINE struTrigLine; //瑙﹀彂绾匡紝鐩墠浠呬娇鐢ㄧ涓涓溅閬撶殑锛屼互鍚庡彲鑳戒細鎵╁睍涓哄杞﹂亾鍒嗗埆閰嶇疆
+ public NET_ITC_LINE struLineLeft; //宸﹁溅閬撶嚎
+ public NET_ITC_POLYGON struPlateRecog; //鐗岃瘑鍖哄煙
+ public NET_ITC_LANE_LOGIC_PARAM struLane; //杞﹂亾灞炴э紝鐢╞yUseageType鍜宐yCarDriveDirect
+ public NET_ITC_INTERVAL_PARAM struInterval;//鎶撴媿闂撮殧鍙傛暟锛20byte锛
+ public byte[] byRes2 = new byte[280];
+ }
+
+ public static class NET_ITC_POST_HVT_PARAM_V50 extends Structure {
+ public byte byLaneNum; //璇嗗埆鐨勮溅閬撲釜鏁帮紝1-6
+ public byte byCapType; //鎶撴媿绫诲瀷锛0-鏈恒侀潪銆佷汉锛堥粯璁わ級锛1-鏈哄姩杞
+ public byte byCapMode; //鎶撴媿鏂瑰紡锛0-瑙嗛鎶藉抚锛1-鎵撴柇鎶撴媿锛2-娣峰悎妯″紡锛
+ public byte bySecneMode; //鍦烘櫙妯″紡锛0-鍩庡尯閬撹矾锛堥粯璁わ級锛1-灏忓尯鍑哄叆鍙o紝2-楂橀熷叕璺
+ public byte bySpeedMode; //娴嬮熸ā寮忥紝0-鏃犳祴閫燂紝1-闆疯揪娴嬮燂紝2-瑙嗛娴嬮
+ public byte byLineRuleEffect; //瑙﹀彂瑙勫垯绾挎湁鏁堟,姣忎竴浣嶄唬琛ㄤ竴鏉¤Е鍙戠嚎,0-鏃犳晥;1-鏈夋晥銆俠it0-宸﹁Е鍙戠嚎;bit1-鍙宠Е鍙戠嚎;bit2-瑙嗛妫娴嬪尯鍩
+ public byte[] byRes1 = new byte[78];
+ public NET_ITC_LINE struLeftTrigLine; //宸﹁Е鍙戠嚎(涓鏉″瀭鐩寸嚎)
+ public NET_ITC_LINE struRigtTrigLine; //鍙宠Е鍙戠嚎(涓鏉″瀭鐩寸嚎)
+ public NET_ITC_LINE struLaneBoundaryLine; //杞﹂亾杈圭晫绾匡紙鏈鍙宠竟杞﹂亾鐨勫彸杞﹂亾绾匡級
+ public NET_ITC_POLYGON struDetectArea; //瑙嗛妫娴嬪尯鍩
+ public NET_DVR_GEOGLOCATION struGeogLocation; //鍦扮悊浣嶇疆锛堥粯璁ゆ禉姹熺渷锛夎绠楁椂鍖
+ public NET_ITC_LANE_HVT_PARAM_V50[] struLaneParam = new NET_ITC_LANE_HVT_PARAM_V50[MAX_ITC_LANE_NUM/*6*/]; //鍗曡溅閬撳睘鎬
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //鐗岃瘑鍙傛暟
+ public byte[] byRes2 = new byte[260];
+ }
+
+
+ public static class NET_ITC_LANE_PARAM extends Structure {
+ public byte byEnable; //鏄惁鍚敤璇ヨ溅閬擄紝0-涓嶅惎鐢紝1-鍚敤
+ public byte byRelatedDriveWay;//鍏宠仈鐨勮溅閬撳彿
+ public short wDistance; //绾垮湀璺濈锛岃绠楅熷害
+ public short wTrigDelayTime; //瑙﹀彂寤惰繜鏃堕棿锛堥粯璁200锛夛紝鍗曚綅锛氭绉
+ public byte byTrigDelayDistance; //瑙﹀彂寤惰繜璺濈锛堥粯璁0锛夛紝鍗曚綅锛氬垎绫
+ public byte bySpeedCapEn; //鏄惁鍚敤瓒呴熸姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte bySignSpeed;//鏍囧織闄愰燂紝鍗曚綅km/h
+ public byte bySpeedLimit;//闄愰熷硷紝鍗曚綅km/h
+ public byte bySnapTimes; //鎶撴媿娆℃暟锛堥粯璁1锛夛紝0-涓嶆姄鎷嶏紝闈0-杩炴媿娆℃暟锛屾渶澶5
+ public byte byOverlayDriveWay; //OSD鍙犲姞鐨勮溅閬撳彿
+ public NET_ITC_INTERVAL_PARAM struInterval; //鎶撴媿闂撮殧鍙傛暟
+ public byte[] byRelatedIOOut = new byte[MAX_IOOUT_NUM]; //鍏宠仈鐨処O杈撳嚭鍙o紝鍙互鍚屾椂鍏宠仈澶氫釜
+ public byte byFlashMode; //闂厜鐏棯鐑佹ā寮忥紝0-鍚屾椂闂紝1-杞祦闂
+ public byte byCartSignSpeed;//鏍囧織闄愰(澶ц溅)锛屽崟浣峩m/h
+ public byte byCartSpeedLimit;//闄愰熷硷紙澶ц溅锛夛紝鍗曚綅km/h
+ public byte byRelatedIOOutEx;//绗0浣嶈〃绀篒O杈撳嚭鍙1锛屼互姝ょ被鎺紝0-涓嶅叧鑱旓紝1-鍏宠仈 鏀寔鍏宠仈鍒8涓(鍏煎byRelatedIOOut瀛楁)
+ public NET_ITC_PLATE_RECOG_REGION_PARAM[] struPlateRecog = new NET_ITC_PLATE_RECOG_REGION_PARAM[MAX_LANEAREA_NUM]; //杞﹂亾鐗岃瘑鍙傛暟
+ public byte byLaneType; //杞﹂亾绫诲瀷锛0-鏈厤缃1-楂橀熷叕璺2-鍩庡競蹇熻矾銆0xff-鍏朵粬閬撹矾
+ public byte byUseageType; //杞﹂亾鐢ㄩ旂被鍨嬶紝璇﹁ITC_LANE_USEAGE_TYPE
+ //鍏宠仈杞﹂亾鏂瑰悜绫诲瀷锛屽弬鑰僆TC_RELA_LANE_DIRECTION_TYPE
+ //璇ュ弬鏁颁负杞﹂亾鏂瑰悜鍙傛暟锛屼笌鍏宠仈杞﹂亾鍙峰搴旓紝纭繚杞﹂亾鍞竴鎬с
+ public byte byRelaLaneDirectionType;
+ public byte byLowSpeedLimit; //灏忚溅闄愬簳閫熷硷紝鍗曚綅km/h
+ public byte byBigCarLowSpeedLimit; //澶ц溅闄愬簳閫熷硷紝鍗曚綅km/h
+ public byte byLowSpeedCapEn; //鏄惁鍚敤浣庨熸姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte byEmergencyCapEn; //鏄惁鍚敤搴旀ヨ溅閬撴姄鎷嶏紝0-鍚︼紝1-鏄
+ public byte[] byRes = new byte[9];
+ }
+
+ //鍗″彛RS485杞︽鍣ㄨЕ鍙戝弬鏁
+ public static class NET_ITC_POST_RS485_PARAM extends Structure {
+ public byte byRelatedLaneNum;//鍏宠仈鐨勮溅閬撲釜鏁
+ public byte byTriggerSpareMode; //瑙﹀彂澶囩敤妯″紡锛0-榛樿锛1-鍗″彛铏氭嫙绾垮湀妯″紡,2-鍗″彛娣峰悎杞﹂亾妯″紡
+ public byte byFaultToleranceTime;//瀹归敊鏃堕棿(鍗曚綅:鍒嗛挓)锛岀敤浜庢娴嬭溅妫鍣ㄦ槸鍚︽甯哥殑鏈澶ф椂闂
+ public byte byRes1;
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //鐗岃瘑鍙傛暟
+ public NET_ITC_LANE_PARAM[] struLane = new NET_ITC_LANE_PARAM[MAX_ITC_LANE_NUM]; //鍏宠仈鐨勮溅閬撳弬鏁
+ public byte[] byRes = new byte[32];
+ }
+
+ //鍗″彛RS485闆疯揪瑙﹀彂鍙傛暟
+ public static class NET_ITC_POST_RS485_RADAR_PARAM extends Structure {
+ public byte byRelatedLaneNum;//鍏宠仈鐨勮溅閬撲釜鏁
+ public byte[] byRes1 = new byte[3];
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog = new NET_ITC_PLATE_RECOG_PARAM(); //鐗岃瘑鍙傛暟
+ public NET_ITC_LANE_PARAM[] struLane = new NET_ITC_LANE_PARAM[MAX_ITC_LANE_NUM]; //鍏宠仈鐨勮溅閬撳弬鏁
+ public NET_ITC_RADAR_PARAM struRadar = new NET_ITC_RADAR_PARAM(); //闆疯揪鍙傛暟
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_ITC_TRIGGER_PARAM_UNION extends Union {
+ public int[] uLen = new int[1070]; //鍙傛暟
+ public NET_ITC_POST_IOSPEED_PARAM struIOSpeed = new NET_ITC_POST_IOSPEED_PARAM(); //锛堝崱鍙o級IO娴嬮熷弬鏁
+ // public NET_ITC_POST_SINGLEIO_PARAM struSingleIO = new NET_ITC_POST_SINGLEIO_PARAM(); //锛堝崱鍙o級鍗旾O鍙傛暟
+ public NET_ITC_POST_RS485_PARAM struPostRs485 = new NET_ITC_POST_RS485_PARAM(); //锛堝崱鍙o級RS485杞︽鍣ㄥ弬鏁
+ public NET_ITC_POST_RS485_RADAR_PARAM struPostRadar = new NET_ITC_POST_RS485_RADAR_PARAM(); //锛堝崱鍙o級RS485闆疯揪鍙傛暟
+ public NET_ITC_POST_VTCOIL_PARAM struVtCoil = new NET_ITC_POST_VTCOIL_PARAM(); //锛堝崱鍙o級铏氭嫙绾垮湀鍙傛暟
+ public NET_ITC_POST_HVT_PARAM struHvt = new NET_ITC_POST_HVT_PARAM(); //锛堝崱鍙o級娣疯鍗″彛鍙傛暟
+ // public NET_ITC_EPOLICE_IOTL_PARAM struIOTL = new NET_ITC_EPOLICE_IOTL_PARAM(); //锛堢數璀︼級IO绾㈢豢鐏弬鏁
+// public NET_ITC_EPOLICE_RS485_PARAM struEpoliceRs485 = new NET_ITC_EPOLICE_RS485_PARAM(); //锛堢數璀︼級RS485杞︽鍣ㄨЕ鍙戝弬鏁
+// public NET_ITC_EPOLICE_RS485_PARAM struPERs485 = new NET_ITC_EPOLICE_RS485_PARAM(); //锛堝崱寮忕數璀︼級RS485杞︽鍣ㄨЕ鍙戝弬鏁
+// public NET_ITC_POST_MPR_PARAM struPostMpr = new NET_ITC_POST_MPR_PARAM(); //澶氬抚妫娴嬭Е鍙戯紙MPR锛
+// public NET_DVR_VIA_VTCOIL_PARAM struViaVtCoil = new NET_DVR_VIA_VTCOIL_PARAM(); //(VIA)瑙嗛妫娴嬪弬鏁
+// public NET_ITC_POST_IMT_PARAM struPostImt = new NET_ITC_POST_IMT_PARAM();//鏅烘収甯冮槻瑙﹀彂
+// public NET_ITC_POST_PRS_PARAM struPostPrs = new NET_ITC_POST_PRS_PARAM();//瑙嗛妫娴嬭Е鍙
+// public NET_IPC_POST_HVT_PARAM struIpcHvt = new NET_IPC_POST_HVT_PARAM();//(IPC) 娣疯鍗″彛鍙傛暟
+ public NET_ITC_POST_HVT_PARAM_V50 struHvtV50 = new NET_ITC_POST_HVT_PARAM_V50(); /*锛堝崱鍙o級娣疯鍗″彛鍙傛暟V50*/
+// public NET_ITC_POST_MOBILE_PARAM struPostMobile = new NET_ITC_POST_MOBILE_PARAM();// 绉诲姩浜ら氳Е鍙戞ā寮
+// public NET_ITC_NOCOMITY_PEDESTRIAN_PARAM struNoComityPed = new NET_ITC_NOCOMITY_PEDESTRIAN_PARAM();//涓嶇ぜ璁╄浜哄弬鏁
+// public NET_ITC_REDLIGHT_PEDESTRIAN_PARAM struRedLightPed = new NET_ITC_REDLIGHT_PEDESTRIAN_PARAM();//琛屼汉闂孩鐏弬鏁
+ }
+
+ //鍗曚釜瑙﹀彂鍙傛暟缁撴瀯
+ public static class NET_ITC_SINGLE_TRIGGERCFG extends Structure {
+ public byte byEnable; //鏄惁鍚敤璇ヨЕ鍙戞ā寮忥紝0-鍚︼紝1-鏄
+ public byte[] byRes1 = new byte[3];
+ public int dwTriggerType; //瑙﹀彂绫诲瀷锛岃瑙両TC_TRIGGERMODE_TYPE
+ public NET_ITC_TRIGGER_PARAM_UNION uTriggerParam = new NET_ITC_TRIGGER_PARAM_UNION(); //瑙﹀彂鍙傛暟
+ public byte[] byRes = new byte[64];
+ }
+
+ //瑙﹀彂鍙傛暟缁撴瀯
+ public static class NET_ITC_TRIGGERCFG extends Structure {
+ public int dwSize; //缁撴瀯闀垮害
+ public NET_ITC_SINGLE_TRIGGERCFG struTriggerParam; //鍗曚釜瑙﹀彂鍙傛暟
+ public byte[] byRes = new byte[32];
+ }
+
+ //鍗曚釜IO鎺ュ叆淇″彿鐏弬鏁
+ public static class NET_ITC_SINGLE_IO_LIGHT_PARAM extends Structure {
+ public byte byLightType; //浜ら氱伅瀵煎悜绫诲瀷,0-宸﹁浆鐏,1-鐩磋鐏,2-鍙宠浆鐏
+ public byte byRelatedIO; //鍏宠仈鐨処O鍙e彿
+ public byte byRedLightState; //绾㈢伅鐢靛钩鐘舵侊紝0-楂樼數骞崇孩鐏紝1-浣庣數骞崇孩鐏
+ public byte[] byRes = new byte[17];
+ }
+
+ //IO鎺ュ叆淇″彿鐏弬鏁
+ public static class NET_ITC_IO_LIGHT_PARAM extends Structure {
+ public NET_ITC_SINGLE_IO_LIGHT_PARAM[] struIOLight = new NET_ITC_SINGLE_IO_LIGHT_PARAM[MAX_LIGHT_NUM]; //鍗曚釜IO鎺ュ叆淇″彿鐏弬鏁
+ public byte[] byRes = new byte[8];
+ }
+
+ //鍗曚釜485鎺ュ叆淇″彿鐏弬鏁
+ public static class NET_ITC_SINGLE_RS485_LIGHT_PARAM extends Structure {
+ public byte byLightType; //浜ら氱伅瀵煎悜绫诲瀷锛0-宸﹁浆鐏紝1-鐩磋鐏紝2-鍙宠浆鐏
+ public byte byRelatedLightChan; //鍏宠仈鐨勭孩缁跨伅妫娴嬪櫒閫氶亾鍙
+ public byte byInputLight; //鎺ュ叆鐨勪俊鍙风伅绫诲瀷锛0-鎺ョ孩鐏紝1-鎺ョ豢鐏
+ public byte byRelatedYLightChan; //鍏宠仈鐨勯粍鐏娴嬪櫒閫氶亾鍙
+ public byte[] byRes = new byte[16];
+ }
+
+ //485鎺ュ叆淇″彿鐏弬鏁
+ public static class NET_ITC_RS485_LIGHT_PARAM extends Structure {
+ public NET_ITC_SINGLE_RS485_LIGHT_PARAM[] struRS485Light = new NET_ITC_SINGLE_RS485_LIGHT_PARAM[MAX_LIGHT_NUM]; //鍗曚釜485鎺ュ叆淇″彿鐏弬鏁
+ public byte[] byRes = new byte[8];
+ }
+
+ public static class NET_POS_PARAM extends Structure {
+ public short wLeft;
+ public short wTop;
+ public short wRight;
+ public short wBottom;
+ }
+
+ //鍗曠粍瑙嗛妫娴嬩氦閫氫俊鍙风伅鍙傛暟缁撴瀯
+ public static class NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM extends Structure {
+ public byte byLightNum; //浜ら氱伅涓暟
+ public byte byStraightLight; //鏄惁鏈夌洿琛屾爣蹇楃伅锛0-鍚 锛1-鏄
+ public byte byLeftLight; //鏄惁鏈夊乏杞爣蹇楃伅锛0-鍚︼紝1-鏄
+ public byte byRightLight; //鏄惁鏈夊彸杞爣蹇楃伅锛0-鍚︼紝1-鏄
+ public byte byRedLight;//鏄惁鏈夌孩鐏紝0-鍚︼紝1-鏄
+ public byte byGreenLight; //鏄惁鏈夌豢鐏紝0-鍚︼紝1-鏄
+ public byte byYellowLight; //鏄惁鏈夐粍鐏紝0-鍚︼紝1-鏄
+ public byte byYellowLightTime;//鍙栧艰寖鍥达紙0锝10s锛夛紙ITC3.7Ver锛
+ public NET_POS_PARAM struLightRect; //浜ら氱伅鍖哄煙
+ public byte[] byRes = new byte[24];
+ }
+
+ //瑙嗛妫娴嬩氦閫氫俊鍙风伅鍙傛暟缁撴瀯(鏈澶у彲鏈12涓尯鍩熸娴嬶紝488瀛楄妭)
+ public static class NET_ITC_VIDEO_DETECT_LIGHT_PARAM extends Structure {
+ public NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM[] struTrafficLight = new NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM[MAX_VIDEO_DETECT_LIGHT_NUM]; //鍗曚釜瑙嗛妫娴嬩俊鍙风伅鍙傛暟
+ public byte[] byRes = new byte[8];
+ }
+
+ //浜ら氫俊鍙风伅鎺ュ叆鍙傛暟
+ public static class NET_ITC_LIGHT_ACCESSPARAM_UNION extends Union {
+ public int[] uLen = new int[122];
+ public NET_ITC_IO_LIGHT_PARAM struIOLight; //IO鎺ュ叆淇″彿鐏弬鏁
+ public NET_ITC_RS485_LIGHT_PARAM struRS485Light; //485鎺ュ叆淇″彿鐏弬鏁
+ public NET_ITC_VIDEO_DETECT_LIGHT_PARAM struVideoDelectLight; //瑙嗛妫娴嬩俊鍙风伅鍙傛暟
+ }
+
+ //浜ら氫俊鍙风伅鍙傛暟缁撴瀯
+ public static class NET_ITC_TRAFFIC_LIGHT_PARAM extends Structure {
+ public byte bySource; //浜ら氫俊鍙风伅鎺ュ叆婧愶紝0-IO鎺ュ叆锛1-RS485鎺ュ叆
+ public byte[] byRes1 = new byte[3];
+ public NET_ITC_LIGHT_ACCESSPARAM_UNION struLightAccess = new NET_ITC_LIGHT_ACCESSPARAM_UNION();//淇″彿鐏帴鍏ュ弬鏁
+ public byte[] byRes = new byte[32];
+ }
+
+ //杩濊妫娴嬪弬鏁扮粨鏋
+ public static class NET_ITC_VIOLATION_DETECT_PARAM extends Structure {
+ public int dwVioDetectType; //杩濊妫娴嬬被鍨, 鎸変綅琛ㄧず, 璇﹁ITC_VIOLATION_DETECT_TYPE ,0-涓嶅惎鐢,1-鍚敤
+ public byte byDriveLineSnapTimes; //鍘嬭溅閬撶嚎鎶撴媿寮犳暟,2-3
+ public byte byReverseSnapTimes; //閫嗚鎶撴媿,2-3
+ public short wStayTime; //鏈哄崰闈炲仠鐣欐椂闂达紙璇ユ椂闂村悗鎶撴媿锛夛紝鍗曚綅s
+ public byte byNonDriveSnapTimes;//鏈哄崰闈炴姄鎷嶅紶鏁2-3
+ public byte byChangeLaneTimes;//杩濇硶鍙橀亾鎶撴媿寮犳暟 2-3
+ public byte bybanTimes;//杩濇硶绂佷护鎶撴媿寮犳暟2-3
+ public byte byDriveLineSnapSen;// 鍘嬬嚎鐏垫晱搴(0~100)(3.7Ver)
+ public short wSnapPosFixPixel; //绗2,3寮犳姄鎷嶄綅缃渶灏忓亸绉(杩濆弽淇″彿鐏椂璧锋晥)锛堝崟浣嶏細鍍忕礌锛 鍛藉悕闇鏀硅繘
+ public byte bySpeedTimes;//杩濇硶瓒呴熸姄鎷嶅紶鏁2-3(3.8Ver)
+ public byte byTurnAroundEnable;//杩濈珷鎺夊ご浣胯兘 0~鍏抽棴 1~寮鍚
+ public byte byThirdPlateRecogTime;//绗笁寮犵墝璇嗘椂闂 0~180s
+ public byte byPostSnapTimes;//鍗″彛鎶撴媿寮犳暟,1-2寮
+ public byte[] byRes1 = new byte[18];
+ public short wStopLineDis; //鐢佃绗2寮犺繚瑙勫浘鐗囦笌鍋滄绾跨殑鏈鐭窛绂伙紝[0,300]鍗曚綅(鍍忕礌)
+ public byte[] byRes = new byte[14];
+ }
+
+ //杩濊妫娴嬬嚎鍙傛暟缁撴瀯
+ public static class NET_ITC_VIOLATION_DETECT_LINE extends Structure {
+ public NET_ITC_LINE struLaneLine = new NET_ITC_LINE(); //杞﹂亾绾垮弬鏁
+ public NET_ITC_LINE struStopLine = new NET_ITC_LINE(); //鍋滄绾垮弬鏁
+ public NET_ITC_LINE struRedLightLine = new NET_ITC_LINE(); //闂孩鐏Е鍙戠嚎鍙傛暟
+ public NET_ITC_LINE struCancelLine = new NET_ITC_LINE(); //鐩磋瑙﹀彂浣嶇疆鍙栨秷绾
+ public NET_ITC_LINE struWaitLine = new NET_ITC_LINE(); //寰呰鍖哄仠姝㈢嚎鍙傛暟
+ public NET_ITC_LINE[] struRes = new NET_ITC_LINE[8];
+ }
+
+ //鍗曚釜杞﹂亾瑙嗛鐢佃瑙﹀彂鍙傛暟缁撴瀯
+ public static class NET_ITC_LANE_VIDEO_EPOLICE_PARAM extends Structure {
+ public byte byLaneNO; //鍏宠仈鐨勮溅閬撳彿
+ public byte bySensitivity; //绾垮湀鐏垫晱搴︼紝[1,100]
+ public byte byEnableRadar;//鍚敤闆疯揪娴嬭瘯0-涓嶅惎鐢紝1-鍚敤
+ //鍏宠仈杞﹂亾鏂瑰悜绫诲瀷锛屽弬鑰僆TC_RELA_LANE_DIRECTION_TYPE
+ //璇ュ弬鏁颁负杞﹂亾鏂瑰悜鍙傛暟锛屼笌鍏宠仈杞﹂亾鍙峰搴旓紝纭繚杞﹂亾鍞竴鎬с
+ public byte byRelaLaneDirectionType;
+ public NET_ITC_LANE_LOGIC_PARAM struLane; //杞﹂亾鍙傛暟
+ public NET_ITC_VIOLATION_DETECT_PARAM struVioDetect; //杩濊妫娴嬪弬鏁
+ public NET_ITC_VIOLATION_DETECT_LINE struLine; //杩濊妫娴嬬嚎
+ public NET_ITC_POLYGON struPlateRecog; //鐗岃瘑鍖哄煙鍙傛暟
+ public byte byRecordEnable;//闂孩鐏懆鏈熷綍鍍忔爣蹇楋紝0-涓嶅綍鍍忥紝1-褰曞儚
+ public byte byRecordType;//闂孩鐏綍鍍忕被鍨嬶紝0-棰勫綍锛1-寤舵椂褰曞儚
+ public byte byPreRecordTime;//闂孩鐏綍鍍忕墖娈甸褰曟椂闂达紙榛樿0锛夛紝鍗曚綅锛氱
+ public byte byRecordDelayTime;//闂孩鐏綍鍍忕墖娈靛欢鏃舵椂闂达紙榛樿0锛夛紝鍗曚綅锛氱
+ public byte byRecordTimeOut;//闂孩鐏懆鏈熷綍鍍忚秴鏃舵椂闂达紙绉掞級
+ public byte byCarSpeedLimit; //杞﹂熼檺鍒跺硷紝鍗曚綅km/h
+ public byte byCarSignSpeed;//鏍囧織闄愰燂紝鍗曚綅km/h
+ public byte bySnapPicPreRecord; //鎶撴媿鍥剧墖棰勫綍鏃堕棿鐐癸紱0-榛樿鍊硷紙绗簩寮犲浘鐗囷級锛1-绗竴寮犲浘鐗囷紝2-绗簩寮犲浘鐗囷紝3-绗笁寮犲浘鐗
+ public NET_ITC_INTERVAL_PARAM struInterval;//鎶撴媿闂撮殧鍙傛暟锛20byte锛
+ public byte[] byRes = new byte[36];
+ }
+
+ //瑙嗛鐢佃瑙﹀彂鍙傛暟缁撴瀯
+ public static class NET_ITC_VIDEO_EPOLICE_PARAM extends Structure {
+ public byte byEnable; //鏄惁鍚敤锛0-涓嶅惎鐢紝1-鍚敤
+ public byte byLaneNum; //璇嗗埆鐨勮溅閬撲釜鏁
+ public byte byLogicJudge;//闂孩鐏繚瑙勫垽鏂昏緫锛岃缃间负锛0-鎸夋柟鍚戯紝1-鎸夎溅閬
+ public byte byRes1;
+ public NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //鐗岃瘑鍙傛暟
+ public NET_ITC_TRAFFIC_LIGHT_PARAM struTrafficLight; //浜ら氫俊鍙风伅鍙傛暟
+ public NET_ITC_LANE_VIDEO_EPOLICE_PARAM[] struLaneParam = new NET_ITC_LANE_VIDEO_EPOLICE_PARAM[MAX_ITC_LANE_NUM]; //鍗曡溅閬撳弬鏁
+ public NET_ITC_LINE struLaneBoundaryLine; //杞﹂亾杈圭晫绾匡紙鏈鍙宠竟杞﹂亾鐨勮竟鐣岀嚎锛
+ public NET_ITC_LINE struLeftLine; //宸﹁浆寮垎鐣岀嚎
+ public NET_ITC_LINE struRightLine; //鍙宠浆寮垎鐣岀嚎
+ public NET_ITC_LINE struTopZebraLine; //涓婇儴鏂戦┈绾
+ public NET_ITC_LINE struBotZebraLine; //涓嬮儴鏂戦┈绾
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_CURTRIGGERMODE extends Structure {
+ public int dwSize;
+ public int dwTriggerType; //瑙﹀彂绫诲瀷锛岃瑙両TC_TRIGGERMODE_TYPE
+ public byte[] byRes = new byte[24];
+ }
+
+ public static class NET_ITC_VIDEO_TRIGGER_COND extends Structure {
+ public int dwSize;
+ public int dwChannel;
+ public int dwTriggerMode; //瑙嗛瑙﹀彂妯″紡绫诲瀷锛岃瑙両TC_TRIGGERMODE_TYPE
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_ITC_VIDEO_TRIGGER_PARAM_UNION extends Union {
+ public int[] uLen = new int[1150];
+ public NET_ITC_VIDEO_EPOLICE_PARAM struVideoEP = new NET_ITC_VIDEO_EPOLICE_PARAM(); //瑙嗛鐢佃鍙傛暟
+ }
+
+ public static class NET_ITC_VIDEO_TRIGGER_PARAM extends Structure {
+ public int dwSize;
+ public int dwMode; //瑙﹀彂妯″紡锛岃瑙両TC_TRIGGERMODE_TYPE
+ public NET_ITC_VIDEO_TRIGGER_PARAM_UNION uVideoTrigger = new NET_ITC_VIDEO_TRIGGER_PARAM_UNION(); //瑙﹀彂妯″紡鍙傛暟
+ public byte[] byRes = new byte[32];
+ }
+
+ public static class NET_DVR_CMS_PARAM extends Structure {
+ public int dwSize;
+ public NET_DVR_IPADDR struAddr = new NET_DVR_IPADDR(); // 骞冲彴鏈嶅姟鍣↖P
+ public short wServerPort; // 骞冲彴鏈嶅姟鍣ㄤ睛鍚鍙o紝
+ public byte bySeverProtocolType; //骞冲彴鍗忚绫诲瀷 1-绉佹湁锛2-Ehome
+ public byte byStatus; //璁惧娉ㄥ唽鍒拌骞冲彴鐨勭姸鎬侊紝1-鏈敞鍐岋紝2-宸叉敞鍐
+ public byte[] sDeviceId = new byte[NAME_LEN/*32*/]; //璁惧ID锛岀敱骞冲彴鎻愪緵
+ public byte[] sPassWord = new byte[PASSWD_LEN]; //瀵嗙爜
+ /*********
+ * IPC5.1.7 鏂板鍙傛暟 Begin 2014-03-21
+ ***********/
+ public byte[] sPlatformEhomeVersion = new byte[NAME_LEN];//骞冲彴EHOME鍗忚鐗堟湰
+ /*********
+ * IPC5.1.7 鏂板鍙傛暟 end 2014-03-21
+ ***********/
+ public byte byNetWork; //缃戠粶绫诲瀷锛0- 鏃犳剰涔夛紝1-鑷姩锛2-鏈夌嚎缃戠粶浼樺厛锛3-鏈夌嚎缃戠粶锛4-3G缃戠粶锛堟棤绾跨綉缁滐級锛5-鏈夌嚎缃戠粶1锛6-鏈夌嚎缃戠粶2
+ public byte byAddressType; //0 - 鏃犳剰涔, 1 - ipv4/ipv6鍦板潃锛2 - 鍩熷悕
+ public byte byProtocolVersion; //鍗忚鐗堟湰 0 - 鏃犳剰涔, 1 鈥 v2.0锛2 鈥 v4.0,3-v2.6
+ public byte byRes1;
+ public byte[] sDomainName = new byte[MAX_DOMAIN_NAME/*64*/]; //骞冲彴鏈嶅姟鍣ㄥ煙鍚嶏紝byAddressType涓2鏃舵湁鏁
+ public byte byEnable; //0-鍏抽棴锛1-寮鍚
+ public byte[] byRes = new byte[139]; // 淇濈暀瀛楄妭
+ }
+
+ //璁剧疆瀹屽叏鑾峰彇鍑哄巶鍊
+ public static class NET_DVR_COMPLETE_RESTORE_INFO extends Structure {
+ public int dwSize; //缁撴瀯浣撻暱搴
+ public int dwChannel; //閫氶亾鍙
+ public byte[] byRes = new byte[64];
+ }
+
+ public static class NET_DVR_STD_ABILITY extends Structure {
+ public Pointer lpCondBuffer; //[in]鏉′欢鍙傛暟(鐮佸瓧鏍煎紡),渚嬪閫氶亾鍙风瓑.鍙互涓篘ULL
+ public int dwCondSize; //[in] dwCondSize鎸囧悜鐨勫唴瀛樺ぇ灏
+ public Pointer lpOutBuffer; //[out]杈撳嚭鍙傛暟(XML鏍煎紡),涓嶄负NULL
+ public int dwOutSize; //[in] lpOutBuffer鎸囧悜鐨勫唴瀛樺ぇ灏
+ public Pointer lpStatusBuffer; //[out]杩斿洖鐨勭姸鎬佸弬鏁(XML鏍煎紡),鑾峰彇鎴愬姛鏃朵笉浼氳祴鍊,濡傛灉涓嶉渶瑕,鍙互缃甆ULL
+ public int dwStatusSize; //[in] lpStatusBuffer鎸囧悜鐨勫唴瀛樺ぇ灏
+ public int dwRetSize; //[out]鑾峰彇鍒扮殑鏁版嵁闀垮害(lpOutBuffer鎴栬卨pStatusBuffer鎸囧悜鐨勫疄闄呮暟鎹暱搴)
+ public byte[] byRes = new byte[32]; //淇濈暀瀛楄妭
+ }
+
+ public static class NET_DVR_STD_CONFIG extends Structure {
+ public Pointer lpCondBuffer; //[in]鏉′欢鍙傛暟(缁撴瀯浣撴牸寮),渚嬪閫氶亾鍙风瓑.鍙互涓篘ULL
+ public int dwCondSize; //[in] lpCondBuffer鎸囧悜鐨勫唴瀛樺ぇ灏
+ public Pointer lpInBuffer; //[in]杈撳叆鍙傛暟(缁撴瀯浣撴牸寮),璁剧疆鏃朵笉涓篘ULL锛岃幏鍙栨椂涓篘ULL
+ public int dwInSize; //[in] lpInBuffer鎸囧悜鐨勫唴瀛樺ぇ灏
+ public Pointer lpOutBuffer; //[out]杈撳嚭鍙傛暟(缁撴瀯浣撴牸寮),鑾峰彇鏃朵笉涓篘ULL,璁剧疆鏃朵负NULL
+ public int dwOutSize; //[in] lpOutBuffer鎸囧悜鐨勫唴瀛樺ぇ灏
+ public Pointer lpStatusBuffer; //[out]杩斿洖鐨勭姸鎬佸弬鏁(XML鏍煎紡),鑾峰彇鎴愬姛鏃朵笉浼氳祴鍊,濡傛灉涓嶉渶瑕,鍙互缃甆ULL
+ public int dwStatusSize; //[in] lpStatusBuffer鎸囧悜鐨勫唴瀛樺ぇ灏
+ public Pointer lpXmlBuffer; //[in/out]byDataType = 1鏃舵湁鏁,xml鏍煎紡鏁版嵁
+ public int dwXmlSize; //[in/out]lpXmlBuffer鎸囧悜鐨勫唴瀛樺ぇ灏,鑾峰彇鏃跺悓鏃朵綔涓鸿緭鍏ュ拰杈撳嚭鍙傛暟锛岃幏鍙栨垚鍔熷悗浼氫慨鏀逛細瀹為檯闀垮害锛岃缃椂琛ㄧず瀹為檯闀垮害锛岃屼笉鏄暣涓唴瀛樺ぇ灏
+ public byte byDataType; //[in]杈撳叆/杈撳嚭鍙傛暟绫诲瀷,0-浣跨敤缁撴瀯浣撶被鍨媗pInBuffer/lpOutBuffer鏈夋晥,1-浣跨敤XML绫诲瀷lpXmlBuffer鏈夋晥
+ public byte[] byRes = new byte[23];
+ }
+
+ public static final int NET_SDK_MAX_FILE_PATH = 256;//璺緞闀垮害
+
+ public static class NET_DVR_LOCAL_SDK_PATH extends Structure {
+ public byte[] sPath = new byte[NET_SDK_MAX_FILE_PATH];//缁勪欢搴撳湴鍧
+ public byte[] byRes = new byte[128];
+ }
+
+ public static class BYTE_ARRAY extends Structure {
+ public byte[] byValue;
+
+ public BYTE_ARRAY(int iLen) {
+ byValue = new byte[iLen];
+ }
+ }
+
+ public static class INT_ARRAY extends Structure {
+ public int[] intValue;
+
+ public INT_ARRAY(int iLen) {
+ intValue = new int[iLen];
+ }
+ }
+
+ public static class INTRef_ARRAY extends Structure {
+ public IntByReference[] intValue;
+
+ public INTRef_ARRAY(int iLen) {
+ intValue = new IntByReference[iLen];
+ }
+ }
+
+
+ public static class NET_DVR_JSON_DATA_CFG extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public Pointer lpJsonData; //JSON鎶ユ枃
+ public int dwJsonDataSize; //JSON鎶ユ枃澶у皬
+ public Pointer lpPicData; //鍥剧墖鍐呭
+ public int dwPicDataSize; //鍥剧墖鍐呭澶у皬
+ public int lpInfraredFacePicBuffer; //绾㈠浜鸿劯鍥剧墖鏁版嵁缂撳瓨
+ public Pointer dwInfraredFacePicSize; //绾㈠浜鸿劯鍥剧墖鏁版嵁澶у皬锛岀瓑浜0鏃讹紝浠h〃鏃犱汉鑴稿浘鐗囨暟鎹(褰揓SON鎶ユ枃涓哄綋ResponseStatus锛圝SON锛夋姤鏂囨椂锛岃瀛楁鏃犳剰涔夛紱褰揑nbound Data锛圝SON锛夋姤鏂囦腑娌℃湁infraredFaceURL鏃讹紝璇ュ瓧娈甸渶瑕佸甫涓婁簩杩涘埗鍥剧墖鍐呭锛
+ public byte[] byRes = new byte[248];
+ }
+
+ public static class CallBack_USER extends Structure {
+ public byte[] byDeviceID = new byte[16];
+ public byte[] byCardNo = new byte[32];
+ public byte[] byDevIP = new byte[16];
+ }
+
+
+ public static class NET_DVR_CAMERAPARAMCFG_EX extends Structure {
+ public int dwSize;
+ public NET_DVR_VIDEOEFFECT struVideoEffect = new NET_DVR_VIDEOEFFECT();/*浜害銆佸姣斿害銆侀ケ鍜屽害銆侀攼搴︺佽壊璋冮厤缃*/
+ public NET_DVR_GAIN struGain = new NET_DVR_GAIN();/*鑷姩澧炵泭*/
+ public NET_DVR_WHITEBALANCE struWhiteBalance = new NET_DVR_WHITEBALANCE();/*鐧藉钩琛*/
+ public NET_DVR_EXPOSURE struExposure = new NET_DVR_EXPOSURE(); /*鏇濆厜鎺у埗*/
+ public NET_DVR_GAMMACORRECT struGammaCorrect = new NET_DVR_GAMMACORRECT();/*Gamma鏍℃*/
+ public NET_DVR_WDR struWdr = new NET_DVR_WDR();/*瀹藉姩鎬*/
+ public NET_DVR_DAYNIGHT struDayNight = new NET_DVR_DAYNIGHT();/*鏃ュ杞崲*/
+ public NET_DVR_BACKLIGHT struBackLight = new NET_DVR_BACKLIGHT();/*鑳屽厜琛ュ伩*/
+ public NET_DVR_NOISEREMOVE struNoiseRemove = new NET_DVR_NOISEREMOVE();/*鏁板瓧闄嶅櫔*/
+ public byte byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/
+ /*
+ 0-鑷姩鍏夊湀,
+ 1-鎵嬪姩鍏夊湀,
+ 2-P-Iris1,
+ 3-Union 3-9mm F1.6-2.7 (T5280-PQ1) [IPC5.1.7]
+ 4-Union 2.8-12mm F1.6-2.7 (T5289-PQ1) [IPC5.1.7]
+ 5-HIK 3.8-16mm F1.5锛圚V3816P-8MPIR)
+ 6-HIK 11-40mm F1.7 (HV1140P-8MPIR)
+ 7-HIK 2.7-12mm F1.2锛圱V2712P-MPIR锛
+ */
+ public byte byIrisMode;
+ public byte byMirror; /* 闀滃儚锛0 off锛1- leftright锛2- updown锛3-center 4-Auto*/
+ public byte byDigitalZoom; /*鏁板瓧缂╂斁:0 dsibale 1 enable*/
+ public byte byDeadPixelDetect; /*鍧忕偣妫娴,0 dsibale 1 enable*/
+ public byte byBlackPwl;/*榛戠數骞宠ˉ鍋 , 0-255*/
+ public byte byEptzGate;// EPTZ寮鍏冲彉閲:0-涓嶅惎鐢ㄧ數瀛愪簯鍙帮紝1-鍚敤鐢靛瓙浜戝彴
+ public byte byLocalOutputGate;//鏈湴杈撳嚭寮鍏冲彉閲0-鏈湴杈撳嚭鍏抽棴1-鏈湴BNC杈撳嚭鎵撳紑 2-HDMI杈撳嚭鍏抽棴
+ //20-HDMI_720P50杈撳嚭寮
+ //21-HDMI_720P60杈撳嚭寮
+ //22-HDMI_1080I60杈撳嚭寮
+ //23-HDMI_1080I50杈撳嚭寮
+ //24-HDMI_1080P24杈撳嚭寮
+ //25-HDMI_1080P25杈撳嚭寮
+ //26-HDMI_1080P30杈撳嚭寮
+ //27-HDMI_1080P50杈撳嚭寮
+ //28-HDMI_1080P60杈撳嚭寮
+ public byte byCoderOutputMode;//缂栫爜鍣╢pga杈撳嚭妯″紡0鐩撮3鍍忕礌鎼
+ public byte byLineCoding; //鏄惁寮鍚缂栫爜锛0-鍚︼紝1-鏄
+ public byte byDimmerMode; //璋冨厜妯″紡锛0-鍗婅嚜鍔紝1-鑷姩
+ public byte byPaletteMode; //璋冭壊鏉匡細0-鐧界儹锛1-榛戠儹锛2-璋冭壊鏉2锛屸︼紝8-璋冭壊鏉8, 9-铻嶅悎1,10-褰╄櫣,11-铻嶅悎2,12-閾佺孩1,13-閾佺孩2,14-娣辫鑹,15-鑹插僵1,16-鑹插僵2,17-鍐扮伀,18-闆,19-绾㈢儹,20-缁跨儹,21-娣辫摑锛22-鑹插僵3
+ public byte byEnhancedMode; //澧炲己鏂瑰紡锛堟帰娴嬬墿浣撳懆杈癸級锛0-涓嶅寮猴紝1-1锛2-2锛3-3锛4-4
+ public byte byDynamicContrastEN; //鍔ㄦ佸姣斿害澧炲己 0-1
+ public byte byDynamicContrast; //鍔ㄦ佸姣斿害 0-100
+ public byte byJPEGQuality; //JPEG鍥惧儚璐ㄩ噺 0-100
+ public NET_DVR_CMOSMODECFG struCmosModeCfg = new NET_DVR_CMOSMODECFG();//CMOS妯″紡涓嬪墠绔弬鏁伴厤缃紝闀滃ご妯″紡浠庤兘鍔涢泦鑾峰彇
+ public byte byFilterSwitch; //婊ゆ尝寮鍏筹細0-涓嶅惎鐢紝1-鍚敤
+ public byte byFocusSpeed; //闀滃ご璋冪劍閫熷害锛0-10
+ public byte byAutoCompensationInterval; //瀹氭椂鑷姩蹇棬琛ュ伩锛1-120锛屽崟浣嶏細鍒嗛挓
+ public byte bySceneMode; //鍦烘櫙妯″紡锛0-瀹ゅ锛1-瀹ゅ唴锛2-榛樿锛3-寮卞厜
+ public NET_DVR_DEFOGCFG struDefogCfg = new NET_DVR_DEFOGCFG();//閫忛浘鍙傛暟
+ public NET_DVR_ELECTRONICSTABILIZATION struElectronicStabilization = new NET_DVR_ELECTRONICSTABILIZATION();//鐢靛瓙闃叉姈
+ public NET_DVR_CORRIDOR_MODE_CCD struCorridorMode = new NET_DVR_CORRIDOR_MODE_CCD();//璧板粖妯″紡
+ public byte byExposureSegmentEnable; //0~涓嶅惎鐢,1~鍚敤 鏇濆厜鏃堕棿鍜屽鐩婂憟闃舵鐘惰皟鏁达紝姣斿鏇濆厜寰涓婅皟鏁存椂锛屽厛鎻愰珮鏇濆厜鏃堕棿鍒颁腑闂村硷紝鐒跺悗鎻愰珮澧炵泭鍒颁腑闂村硷紝鍐嶆彁楂樻洕鍏夊埌鏈澶у硷紝鏈鍚庢彁楂樺鐩婂埌鏈澶у
+ public byte byBrightCompensate;//浜害澧炲己 [0~100]
+ /*
+ 0-鍏抽棴銆1-640*480@25fps銆2-640*480@30ps銆3-704*576@25fps銆4-704*480@30fps銆5-1280*720@25fps銆6-1280*720@30fps銆
+ 7-1280*720@50fps銆8-1280*720@60fps銆9-1280*960@15fps銆10-1280*960@25fps銆11-1280*960@30fps銆
+ 12-1280*1024@25fps銆13--1280*1024@30fps銆14-1600*900@15fps銆15-1600*1200@15fps銆16-1920*1080@15fps銆
+ 17-1920*1080@25fps銆18-1920*1080@30fps銆19-1920*1080@50fps銆20-1920*1080@60fps銆21-2048*1536@15fps銆22-2048*1536@20fps銆
+ 23-2048*1536@24fps銆24-2048*1536@25fps銆25-2048*1536@30fps銆26-2560*2048@25fps銆27-2560*2048@30fps銆
+ 28-2560*1920@7.5fps銆29-3072*2048@25fps銆30-3072*2048@30fps銆31-2048*1536@12.5銆32-2560*1920@6.25銆
+ 33-1600*1200@25銆34-1600*1200@30銆35-1600*1200@12.5銆36-1600*900@12.5銆37-1280*960@12.5fps銆38-800*600@25fps銆39-800*600@30fps40銆
+ 4000*3000@12.5fps銆41-4000*3000@15fps銆42-4096*2160@20fps銆43-3840*2160@20fps 銆44-960*576@25fps銆45-960*480@30fps銆46-752*582@25fps銆
+ 47-768*494@30fps銆48-2560*1440@25fps銆49-2560*1440@30fps 銆50-720P@100fps銆51-720P@120fps銆52-2048*1536@50fps銆53-2048*1536@60fps銆
+ 54-3840*2160@25fps銆55-3840*2160@30fps銆56-4096*2160@25fps銆57-4096*2160@30fps 銆58-1280*1024@50fps銆59-1280*1024@60fps銆
+ 60-3072*2048@50fps銆61-3072*2048@60fps銆62-3072*1728@25fps銆63-3072*1728@30fps銆64-3072*1728@50fps銆65-3072*1728@60fps銆66-336*256@50fps銆67-336*256@60fps銆
+ 68-384*288@50fps銆69-384*288@60fps 銆70- 640 * 512@50fps 銆71- 640 * 512@60fps銆72-2592*1944@25fps銆73-2592*1944@30fps銆74-2688*1536@25fps銆75-2688*1536@30fps
+ 76-2592*1944@20fps銆77-2592*1944@15fps銆78-2688*1520@20fps銆79-2688*1520@15fps銆80-2688*1520@25fps銆81-2688*1520@30fps銆82- 2720*2048@25fps銆 83- 2720*2048@30fps銆
+ 84-336*256@25fps銆85- 384*288@25fps銆86-640*512@25fps銆87-1280*960@50fps銆88-1280*960@60fps銆89-1280*960@100fps銆90-1280*960@120fps銆91-4000*3000@20fps銆
+ 92-1920*1200@25fps銆93-1920*1200@30fps銆94-2560*1920@25fps銆95-2560*1920@20fps銆96-2560*1920@30fps銆97-1280*1920@25fps銆98-1280*1920@30fps
+ 99-4000*3000@24fps銆100-4000*3000@25fps銆101-4000*3000@10fps銆102- 384*288@30fps銆103-2560*1920@15fps銆104-2400*3840@25fps銆105-1200*1920@25fps
+ 106-4096*1800@30fps銆107-3840*1680@30fps銆108-2560*1120@30fps銆109-704*320@30fps銆110-1280*560@30fps銆111-4096*1800@25fps銆112-3840*1680@25fps
+ 113-2560*1120@25fps銆114-704*320@25fps銆115-1280*560@25fps銆116-2400*3840@24fps銆117-3840*2400@24fps銆118-3840*2400@25fps銆119-2560*1920@12.5fps
+ 120-2560*2048@12fps銆121-2560*2048@15fps銆122-2560*1536@25fps銆123-2560*1536@30fps銆124-2256*2048@25fps銆125-2256*2048@30fps銆126-2592*2592@12.5fps銆127-2592*2592@15fps銆
+ 128 - 640*512@30fps銆129-2048*1520@30fps銆130-2048*1520@25fps銆131-3840*2160@24fps銆132-2592*1520@25fps銆133-2592*1520@30fps銆134-2592*1536@25fps銆135-2592*1536@30fps
+ 136-640*960@25fps銆137-640*960@24fps銆142-2992*2192@25fps銆143-2992*2192@30fps銆144-3008*2160@25fps銆145-3008*2160@30fps銆146-3072*1728@20fps銆147-2560*1440@20fps銆
+ 148-2160*3840@25fps銆149-2160*3840@30fps銆150-7008*1080@25fps銆151-7008*1080@30fps銆152-3072*2048@20fps銆153-1536*864@25fps銆154-2560*1920@24fps銆155-2400*3840@30fps銆
+ 156-3840*2400@30fps銆157-3840*2160@15fps
+ 158-384*288@8.3fps銆159-640*512@8.3fps銆160-160*120@8.3fps銆161-1024*768@8.3fps銆162-640*480@8.3fps銆163-3840*2160@12.5fps銆164-2304*1296@30fps銆165-2304*1296@25fps銆
+ 166-2560*1440@24fps銆167-2688*1512@25fps銆168-2688*1512@30fps銆169-2688*1512@50fps銆170-2688*1512@60fps銆171-1536*864@30fps銆172-2560*1440@50fps銆173-2560*1440@60fps銆
+ 174-2048*2048@25fps銆175-2048*2048@30fps銆176-4000*3060@20fps銆177-3060*3060@25fps銆178-3060*3060@30fps銆179-3000*3000@25fps銆180-3000*3000@30fps銆181-8160*3616@30fps銆
+ 182-8160*3616@25fps銆183-3000*3000@20fps銆184-3000*3000@15fps銆185-3000*3000@12.5fps銆186-5472*3648@25fps銆187-5472*3648@30fps銆188-7680*4320@25fps銆189-7680*4320@30fps銆
+ 190-8160*2400@25fps銆191-8160*2400@30fps銆192-5520*2400@25fps銆193-5520*2400@30fps銆194-2560*1440@15fps銆195-1944*1212@24fps銆196-1944*1212@25fps銆197-3456*1920@30fps銆
+ 198-4800*2688@25fps銆199-4800*2688@30fps銆200-6480*1080@25fps銆201-6480*1080@30fps銆202-8640*1440@25fps銆203-8640*1440@30fps銆204-3456*1920@25fps銆205-2688*1520@50fps銆
+ 206-2688*1520@60fps銆207-4976*1452@25fps銆208-4976*1452@30fps銆 209-3200*1800@25fps銆210-3200*1800@30fps銆211-5472*3648@24fps銆212-1920*1080@12.5fps銆213-2944*1656@20fps銆
+ 214-1920*1080@24fps銆215-4800*1600@25fps銆216-4800*1600@30fps銆217-2560*1440@12.5fps銆218-6560*3690@1fps銆219-5120*1400@20fps*/
+ public byte byCaptureModeN; //瑙嗛杈撳叆妯″紡锛圢鍒讹級
+ public byte byCaptureModeP; //瑙嗛杈撳叆妯″紡锛圥鍒讹級
+ public NET_DVR_SMARTIR_PARAM struSmartIRParam = new NET_DVR_SMARTIR_PARAM(); //绾㈠鏀捐繃鐖嗛厤缃俊鎭
+ public NET_DVR_PIRIS_PARAM struPIrisParam = new NET_DVR_PIRIS_PARAM();//PIris閰嶇疆淇℃伅瀵瑰簲byIrisMode瀛楁浠2-PIris1寮濮嬬敓鏁
+ //2014-02-25 鏂板鍙傛暟
+ public NET_DVR_LASER_PARAM_CFG struLaserParam = new NET_DVR_LASER_PARAM_CFG(); //婵鍏夊弬鏁
+ public NET_DVR_FFC_PARAM struFFCParam = new NET_DVR_FFC_PARAM();
+ public NET_DVR_DDE_PARAM struDDEParam = new NET_DVR_DDE_PARAM();
+ public NET_DVR_AGC_PARAM struAGCParam = new NET_DVR_AGC_PARAM();
+ public byte byLensDistortionCorrection;//闀滃ご鐣稿彉鏍℃ 0-鍏抽棴,1-寮鍚
+ public byte byDistortionCorrectionLevel;//鐣稿彉鏍℃绛夌骇锛0-淇濈暀锛1-绛夌骇涓锛2-绛夌骇浜岋紱3-绛夌骇涓;255-鑷畾涔
+ public byte byCalibrationAccurateLevel;// 鐣稿彉鏍℃寮哄害[0-100]
+ public byte byZoomedInDistantViewLevel;//杩滅鏀惧ぇ绛夌骇[0-100]
+ public NET_DVR_SNAP_CAMERAPARAMCFG struSnapCCD = new NET_DVR_SNAP_CAMERAPARAMCFG(); //鎶撴媿鏈篊CD鍙傛暟锛屽彧鐢ㄤ簬鎶撴媿鏈
+ public NET_DVR_OPTICAL_DEHAZE struOpticalDehaze = new NET_DVR_OPTICAL_DEHAZE();//鍏夊閫忛浘鍙傛暟
+ public NET_DVR_THERMOMETRY_AGC struThermAGC = new NET_DVR_THERMOMETRY_AGC();//娴嬫俯AGC閰嶇疆
+ public byte byFusionMode;//鍙屽厜璋辫棰戣瀺鍚堟ā寮忥紝0~鐑垚鍍忔ā寮忥紝1~铻嶅悎妯″紡锛2~鐢讳腑鐢绘ā寮,3~鍙鍏夋ā寮, 4~铻嶅悎榛戠櫧妯″紡, 5~铻嶅悎褰╄壊妯″紡-鑽夊湴锛6~铻嶅悎褰╄壊妯″紡-鑽掑湴锛7~铻嶅悎褰╄壊妯″紡-闆湴锛8~铻嶅悎褰╄壊妯″紡-娴锋磱锛9~铻嶅悎褰╄壊妯″紡-鍩庡競
+ public byte byHorizontalFOV;//姘村钩瑙嗗満瑙抂0-100]
+ public byte byVerticalFOV;//鍨傜洿瑙嗗満瑙抂0-100]
+ public byte byBrightnessSuddenChangeSuppression;//浜害绐佸彉鎶戝埗0-鍏抽棴,1-寮鍚
+ public byte byGPSEnabled;//GPS寮鍏充娇鑳斤紝0-鍏筹紝1-寮
+ public byte[] byRes2 = new byte[155];
+ }
+
+
+ public static class NET_DVR_VIDEOEFFECT extends Structure {
+ public byte byBrightnessLevel; /*0-100*/
+ public byte byContrastLevel; /*0-100*/
+ public byte bySharpnessLevel; /*0-100*/
+ public byte bySaturationLevel; /*0-100*/
+ public byte byHueLevel; /*0-100,锛堜繚鐣欙級*/
+ public byte byEnableFunc; //浣胯兘锛屾寜浣嶈〃绀猴紝bit0-SMART IR(闃茶繃鏇)锛宐it1-浣庣収搴,bit2-寮哄厜鎶戝埗浣胯兘锛0-鍚︼紝1-鏄
+ public byte byLightInhibitLevel; //寮哄厜鎶戝埗绛夌骇锛孾1-3]琛ㄧず绛夌骇
+ public byte byGrayLevel; //鐏板害鍊煎煙锛0-[0-255]锛1-[16-235]
+ }
+
+
+ public static class NET_DVR_GAIN extends Structure {
+ public byte byGainLevel; /*澧炵泭锛0-100*/
+ public byte byGainUserSet; /*鐢ㄦ埛鑷畾涔夊鐩婏紱0-100锛屽浜庢姄鎷嶆満锛屾槸CCD妯″紡涓嬬殑鎶撴媿澧炵泭*/
+ public byte[] byRes = new byte[2];
+ public int dwMaxGainValue;/*鏈澶у鐩婂硷紝鍗曚綅dB*/
+ }
+
+ public static class NET_DVR_WHITEBALANCE extends Structure {
+ public byte byWhiteBalanceMode; /*0-鎵嬪姩鐧藉钩琛★紙MWB锛,1-鑷姩鐧藉钩琛1锛圓WB1锛,2-鑷姩鐧藉钩琛2 (AWB2),3-鑷姩鎺у埗鏀瑰悕涓洪攣瀹氱櫧骞宠 (Locked WB)锛
+ 4-瀹ゅ(Indoor)锛5-瀹ゅ唴(Outdoor)6-鏃ュ厜鐏(Fluorescent Lamp)锛7-閽犵伅(Sodium Lamp)锛
+ 8-鑷姩(Auto-Track)9-涓娆$櫧骞宠 (One Push)锛10-瀹ゅ鑷姩(Auto-Outdoor)锛
+ 11-閽犵伅鑷姩 (Auto-Sodiumlight)锛12-姘撮摱鐏(Mercury Lamp)锛13-鑷姩鐧藉钩琛(Auto)锛
+14-鐧界偨鐏 (IncandescentLamp)锛15-鏆栧厜鐏(Warm Light Lamp)锛16-鑷劧鍏(Natural Light) */
+ public byte byWhiteBalanceModeRGain; /*鎵嬪姩鐧藉钩琛℃椂鏈夋晥锛屾墜鍔ㄧ櫧骞宠 R澧炵泭*/
+ public byte byWhiteBalanceModeBGain; /*鎵嬪姩鐧藉钩琛℃椂鏈夋晥锛屾墜鍔ㄧ櫧骞宠 B澧炵泭*/
+ public byte[] byRes = new byte[5];
+ }
+
+ public static class NET_DVR_EXPOSURE extends Structure {
+ public byte byExposureMode; /*0 鎵嬪姩鏇濆厜 1鑷姩鏇濆厜*/
+ public byte byAutoApertureLevel; /* 鑷姩鍏夊湀鐏垫晱搴, 0-10 */
+ public byte[] byRes = new byte[2];
+ public int dwVideoExposureSet; /* 鑷畾涔夎棰戞洕鍏夋椂闂达紙鍗曚綅us锛*//*娉:鑷姩鏇濆厜鏃惰鍊间负鏇濆厜鏈鎱㈠ 鏂板20-1s(1000000us)*/
+ public int dwExposureUserSet; /* 鑷畾涔夋洕鍏夋椂闂,鍦ㄦ姄鎷嶆満涓婂簲鐢ㄦ椂锛孋CD妯″紡鏃舵槸鎶撴媿蹇棬閫熷害*/
+ public int dwRes;
+ }
+
+ public static class NET_DVR_GAMMACORRECT extends Structure {
+ public byte byGammaCorrectionEnabled; /*0 dsibale 1 enable*/
+ public byte byGammaCorrectionLevel; /*0-100*/
+ public byte[] byRes = new byte[6];
+ }
+
+
+ public static class NET_DVR_WDR extends Structure {
+ public byte byWDREnabled; /*瀹藉姩鎬侊細0 dsibale 1 enable 2 auto*/
+ public byte byWDRLevel1; /*0-F*/
+ public byte byWDRLevel2; /*0-F*/
+ public byte byWDRContrastLevel; /*0-100*/
+ public byte[] byRes = new byte[16];
+ }
+
+ public static class NET_DVR_DAYNIGHT extends Structure {
+ public byte byDayNightFilterType; /*鏃ュ鍒囨崲锛0-鐧藉ぉ锛1-澶滄櫄锛2-鑷姩锛3-瀹氭椂锛4-鎶ヨ杈撳叆瑙﹀彂, 5-鑷姩妯″紡2锛堟棤鍏夋晱锛,6-榛戝厜锛7-榛戝厜鑷姩锛8-榛戝厜瀹氭椂*/
+ public byte bySwitchScheduleEnabled; /*0 dsibale 1 enable,(淇濈暀)*/
+ //瀹氭椂妯″紡鍙傛暟
+ public byte byBeginTime; /*寮濮嬫椂闂达紙灏忔椂锛夛紝0-23*/
+ public byte byEndTime; /*缁撴潫鏃堕棿锛堝皬鏃讹級锛0-23*/
+ //妯″紡2
+ public byte byDayToNightFilterLevel; //0-7
+ public byte byNightToDayFilterLevel; //0-7
+ public byte byDayNightFilterTime;//(60绉)
+ //瀹氭椂妯″紡鍙傛暟
+ public byte byBeginTimeMin; //寮濮嬫椂闂达紙鍒嗭級锛0-59
+ public byte byBeginTimeSec; //寮濮嬫椂闂达紙绉掞級锛0-59
+ public byte byEndTimeMin; //缁撴潫鏃堕棿锛堝垎锛夛紝0-59
+ public byte byEndTimeSec; //缁撴潫鏃堕棿锛堢锛夛紝0-59
+ //鎶ヨ杈撳叆瑙﹀彂妯″紡鍙傛暟
+ public byte byAlarmTrigState; //鎶ヨ杈撳叆瑙﹀彂鐘舵侊紝0-鐧藉ぉ锛1-澶滄櫄
+ }
+
+ public static class NET_DVR_BACKLIGHT extends Structure {
+ public byte byBacklightMode; /*鑳屽厜琛ュ伩:0 off 1 UP銆2 DOWN銆3 LEFT銆4 RIGHT銆5MIDDLE銆6鑷畾涔夛紝10-寮锛11-鑷姩锛12-澶氬尯鍩熻儗鍏夎ˉ鍋*/
+ public byte byBacklightLevel; /*0x0-0xF*/
+ public byte[] byRes1 = new byte[2];
+ public int dwPositionX1; //锛圶鍧愭爣1锛
+ public int dwPositionY1; //锛圷鍧愭爣1锛
+ public int dwPositionX2; //锛圶鍧愭爣2锛
+ public int dwPositionY2; //锛圷鍧愭爣2锛
+ public byte[] byRes2 = new byte[4];
+ }
+
+
+ public static class NET_DVR_NOISEREMOVE extends Structure {
+ public byte byDigitalNoiseRemoveEnable; /*0-涓嶅惎鐢紝1-鏅氭ā寮忔暟瀛楅檷鍣紝2-涓撳妯″紡鏁板瓧闄嶅櫔*/
+ public byte byDigitalNoiseRemoveLevel; /*鏅氭ā寮忔暟瀛楅檷鍣骇鍒細0x0-0xF*/
+ public byte bySpectralLevel; /*涓撳妯″紡涓嬬┖鍩熷己搴︼細0-100*/
+ public byte byTemporalLevel; /*涓撳妯″紡涓嬫椂鍩熷己搴︼細0-100*/
+ public byte byDigitalNoiseRemove2DEnable; /* 鎶撴媿甯2D闄嶅櫔锛0-涓嶅惎鐢紝1-鍚敤 */
+ public byte byDigitalNoiseRemove2DLevel; /* 鎶撴媿甯2D闄嶅櫔绾у埆锛0-100 */
+ public byte[] byRes = new byte[2];
+ }
+
+
+ public static class NET_DVR_CMOSMODECFG extends Structure {
+ public byte byCaptureMod; //鎶撴媿妯″紡锛0-鎶撴媿妯″紡1锛1-鎶撴媿妯″紡2
+ public byte byBrightnessGate;//浜害闃堝
+ public byte byCaptureGain1; //鎶撴媿澧炵泭1,0-100
+ public byte byCaptureGain2; //鎶撴媿澧炵泭2,0-100
+ public int dwCaptureShutterSpeed1;//鎶撴媿蹇棬閫熷害1
+ public int dwCaptureShutterSpeed2;//鎶撴媿蹇棬閫熷害2
+ public byte[] byRes = new byte[4];
+ }
+
+ public static class NET_DVR_DEFOGCFG extends Structure {
+ public byte byMode; //妯″紡锛0-涓嶅惎鐢紝1-鑷姩妯″紡锛2-甯稿紑妯″紡
+ public byte byLevel; //绛夌骇锛0-100
+ public byte[] byRes = new byte[6];
+ }
+
+ public static class NET_DVR_CMOSMODCFG extends Structure {
+ public byte byCaptureMod; //鎶撴媿妯″紡锛0-鎶撴媿妯″紡1锛1-鎶撴媿妯″紡2
+ public byte byBrightnessGate;//浜害闃堝
+ public byte byCaptureGain1; //鎶撴媿澧炵泭1,0-100
+ public byte byCaptureGain2; //鎶撴媿澧炵泭2,0-100
+ public int dwCaptureShutterSpeed1;//鎶撴媿蹇棬閫熷害1
+ public int dwCaptureShutterSpeed2;//鎶撴媿蹇棬閫熷害2
+ public byte[] byRes = new byte[4];
+ }
+
+ public static class NET_DVR_ELECTRONICSTABILIZATION extends Structure {
+ public byte byEnable;//浣胯兘 0- 涓嶅惎鐢紝1- 鍚敤
+ public byte byLevel; //绛夌骇锛0-100
+ public byte[] byRes = new byte[6];
+ }
+
+ public static class NET_DVR_CORRIDOR_MODE_CCD extends Structure {
+ public byte byEnableCorridorMode; //鏄惁鍚敤璧板粖妯″紡 0锝炰笉鍚敤锛 1锝炲惎鐢
+ public byte[] byRes = new byte[11];
+ }
+
+ public static class NET_DVR_SMARTIR_PARAM extends Structure {
+ public byte byMode;//0锝炴墜鍔紝1锝炶嚜鍔
+ public byte byIRDistance;//绾㈠璺濈绛夌骇(绛夌骇锛岃窛绂绘姣斾緥)level:1~100 榛樿:50锛堟墜鍔ㄦā寮忎笅澧炲姞锛
+ public byte byShortIRDistance;// 杩戝厜鐏窛绂荤瓑绾(1~100)
+ public byte byLongIRDistance;// 杩滃厜鐏窛绂荤瓑绾(1~100)
+ }
+
+ public static class NET_DVR_PIRIS_PARAM extends Structure {
+ public byte byMode;//0-鑷姩锛1-鎵嬪姩
+ public byte byPIrisAperture;//绾㈠鍏夊湀澶у皬绛夌骇(绛夌骇,鍏夊湀澶у皬姝f瘮渚)level:1~100 榛樿:50锛堟墜鍔ㄦā寮忎笅澧炲姞锛
+ public byte[] byRes = new byte[6];
+ }
+
+ public static class NET_DVR_LASER_PARAM_CFG extends Structure {
+ public byte byControlMode; //鎺у埗妯″紡 0-鏃犳晥锛1-鑷姩锛2-鎵嬪姩 榛樿鑷姩
+ public byte bySensitivity; //婵鍏夌伅鐏垫晱搴 0-100 榛樿50
+ public byte byTriggerMode; //婵鍏夌伅瑙﹀彂妯″紡 0-鏃犳晥锛1-鏈鸿姱瑙﹀彂锛2-鍏夋晱瑙﹀彂 榛樿鏈鸿姱瑙﹀彂
+ public byte byBrightness; //鎺у埗妯″紡涓烘墜鍔ㄦā寮忎笅鏈夋晥锛涙縺鍏夌伅浜害 0-255 榛樿100
+ public byte byAngle; //婵鍏夌伅瑙掑害 0-鏃犳晥锛岃寖鍥1-36 榛樿12锛屾縺鍏夌伅鐓у皠鑼冨洿涓轰竴涓渾鍦堬紝璋冭妭婵鍏夎搴︽槸璋冭妭杩欎釜鍦嗙殑鍗婂緞鐨勫ぇ灏
+ public byte byLimitBrightness; //鎺у埗妯″紡涓鸿嚜鍔ㄦā寮忎笅鏈夋晥锛涙縺鍏夌伅浜害闄愬埗 0~100 锛堟柊澧烇級2014-01-26
+ public byte byEnabled; //鎵嬪姩鎺у埗婵鍏夌伅浣胯兘 0-鍏抽棴锛1-鍚姩
+ public byte byIllumination; //婵鍏夌伅寮哄害閰嶇疆0~100
+ public byte byLightAngle; //琛ュ厜瑙掑害 0~100
+ public byte[] byRes = new byte[7]; //淇濈暀
+ }
+
+ public static class NET_DVR_FFC_PARAM extends Structure {
+ //1-Schedule Mode,2-Temperature Mode, 3-Off
+ public byte byMode;
+ //锛堟椂闂:鎸夎兘鍔涙樉绀猴紝鍗曚綅鍒嗛挓锛岄夐」鏈10,20,30,40,50,60,120,180,240锛
+ public byte byRes1;
+ public short wCompensateTime; //瀹氭椂妯″紡涓嬬敓鏁
+ public byte[] byRes2 = new byte[4];
+ }
+
+ public static class NET_DVR_DDE_PARAM extends Structure {
+ public byte byMode;//1-Off,2-Normal Mode,3-Expert Mode
+ public byte byNormalLevel;//鏅氭ā寮忕瓑绾ц寖鍥碵1,100]锛屾櫘閫氭ā寮忎笅鐢熸晥
+ public byte byExpertLevel;//涓撳妯″紡绛夌骇鑼冨洿[1,100]锛屼笓瀹舵ā寮忎笅鐢熸晥
+ public byte[] byRes = new byte[5];
+ }
+
+ public static class NET_DVR_AGC_PARAM extends Structure {
+ public byte bySceneType;//1-Normal Sence,2-Highlight Sence,3-Manual Sence
+ public byte byLightLevel;//浜害绛夌骇[1,100]锛涙墜鍔ㄦā寮忎笅鐢熸晥
+ public byte byGainLevel; //澧炵泭绛夌骇[1,100]锛涙墜鍔ㄦā寮忎笅鐢熸晥
+ public byte[] byRes = new byte[5];
+ }
+
+ public static class NET_DVR_SNAP_CAMERAPARAMCFG extends Structure {
+ public byte byWDRMode; // 瀹藉姩鎬佹ā寮;0~鍏抽棴锛1~鏁板瓧瀹藉姩鎬 2~瀹藉姩鎬
+ public byte byWDRType; // 瀹藉姩鎬佸垏鎹㈡ā寮; 0~寮哄埗鍚敤锛1~鎸夋椂闂村惎鐢紝2~鎸変寒搴﹀惎鐢
+ public byte byWDRLevel; // 瀹藉姩鎬佺瓑绾э紝0~6绱㈠紩瀵瑰簲1-7锛岄粯璁ょ储寮2锛堝嵆3绾э級锛
+ public byte byRes1;
+ public NET_DVR_TIME_EX struStartTime = new NET_DVR_TIME_EX(); //寮濮嬪鍔ㄦ佹椂闂
+ public NET_DVR_TIME_EX struEndTime = new NET_DVR_TIME_EX(); //缁撴潫瀹藉姩鎬佹椂闂
+ public byte byDayNightBrightness; //鏃ュ杞崲浜害闃堝硷紝0-100锛岄粯璁50锛
+ //璁板繂鑹插寮
+ public byte byMCEEnabled;//璁板繂鑹插寮轰娇鑳斤紝true锛氬紑鍚紝false锛氬叧闂
+ public byte byMCELevel;//璁板繂鑹插寮哄己搴︼紝0~100锛岄粯璁ゅ50
+ //鑷姩瀵规瘮搴
+ public byte byAutoContrastEnabled;//鑷姩瀵规瘮搴︿娇鑳斤紝true锛氬紑鍚紝false锛氬叧闂
+ public byte byAutoContrastLevel;//鑷姩瀵规瘮绛夌骇锛0-100锛,榛樿50
+ //缁嗚妭澧炲己
+ public byte byLSEDetailEnabled;//缁嗚妭澧炲己浣胯兘锛宼rue锛氬紑鍚紝false锛氬叧闂
+ public byte byLSEDetailLevel;//缁嗚妭澧炲己绛夌骇锛0-100锛,榛樿50
+ // License Plate Definition Enhancement杞︾墝澧炲己
+ public byte byLPDEEnabled;//杞︾墝澧炲己浣胯兘锛宼rue锛氬紑鍚紝false锛氬叧闂
+ public byte byLPDELevel;//杞︾墝澧炲己绛夌骇锛0-100锛,榛樿50
+ //瀵规瘮搴﹀寮
+ public byte byLseEnabled; //瀵规瘮搴﹀寮轰娇鑳斤紝true锛氬紑鍚紝false锛氬叧闂
+ public byte byLseLevel; //瀵规瘮搴﹀寮虹瓑绾э紙0-100锛,榛樿0
+ public byte byLSEHaloLevel;//鍏夋檿鎶戝埗绛夌骇銆傝寖鍥 0-100,榛樿0
+ public byte byLseType; //瀵规瘮搴﹀寮哄垏鎹㈡ā寮; 0~寮哄埗鍚敤锛1~鎸夋椂闂村惎鐢紝2~鎸変寒搴﹀惎鐢紙璇ュ瓧娈靛彲鍚屾椂鎺у埗byLseLevel銆乥yLSEHaloLevel涓や釜鍙傛暟锛
+ public byte[] byRes2 = new byte[3];
+ public NET_DVR_TIME_EX struLSEStartTime = new NET_DVR_TIME_EX(); //寮濮嬪姣斿害澧炲己鏃堕棿锛堝綋byLseType涓1鏃剁敓鏁堬級
+ public NET_DVR_TIME_EX struLSEEndTime = new NET_DVR_TIME_EX(); //缁撴潫瀵规瘮搴﹀寮烘椂闂达紙褰揵yLseType涓1鏃剁敓鏁堬級
+ public byte byLightLevel;//涓轰寒搴︾瓑绾у弬鏁帮紙0-100锛,榛樿0锛岋紙褰揵yLseType涓2鏃剁敓鏁堬級
+ //杞︾墝瀵规瘮搴
+ public byte byPlateContrastLevel;//杞︾墝瀵规瘮搴︾瓑绾э紝0~100锛岄粯璁0
+ //杞︾墝楗卞拰搴
+ public byte byPlateSaturationLevel;//杞︾墝楗卞拰搴︾瓑绾э紝0~100锛岄粯璁0
+ public byte[] byRes = new byte[9];
+ }
+
+ public static class NET_DVR_OPTICAL_DEHAZE extends Structure {
+ public byte byEnable; //0~涓嶅惎鐢ㄥ厜瀛﹂忛浘锛1~鍚敤鍏夊閫忛浘
+ public byte[] byRes = new byte[7];
+ }
+
+ public static class NET_DVR_THERMOMETRY_AGC extends Structure {
+ public byte byMode;//AGC妯″紡锛0~鏃犳晥锛1~鑷姩锛2~鎵嬪姩
+ public byte byRes1[] = new byte[3];
+ public int iHighTemperature;//鏈楂樻俯搴︼紝鑼冨洿涓猴細-273~9999鎽勬皬搴︼紙1~鎵嬪姩妯″紡涓嬬敓鏁堬級
+ public int iLowTemperature;//鏈浣庢俯搴︼紝鑼冨洿涓猴細-273~9999鎽勬皬搴︼紙1~鎵嬪姩妯″紡涓嬬敓鏁堬級
+ public byte[] byRes = new byte[8];
+ }
+
+ public static class NET_DVR_CHECK_DEV_STATE extends Structure {
+ public int dwTimeout; //瀹氭椂妫娴嬭澶囧伐浣滅姸鎬侊紝鍗曚綅ms锛屼负0鏃讹紝琛ㄧず浣跨敤榛樿鍊(30000)銆傛渶灏忓间负1000
+ public DEV_WORK_STATE_CB fnStateCB;
+ Pointer pUserData;
+ public byte[] byRes = new byte[60];
+ }
+
+ public static class NET_DVR_FLOW_INFO extends Structure {
+ public int dwSize; //缁撴瀯澶у皬
+ public int dwSendFlowSize; //鍙戦佹祦閲忓ぇ灏,鍗曚綅kbps
+ public int dwRecvFlowSize; //鎺ユ敹娴侀噺澶у皬,鍗曚綅kbps
+ public byte[] byRes = new byte[20]; //淇濈暀
+ }
+
+ public static class NET_DVR_AES_KEY_INFO extends Structure {
+ public byte[] sAESKey = new byte[16]; /*鐮佹祦鍔犲瘑瀵嗛挜*/
+ public byte[] byRes = new byte[64]; /*淇濈暀瀛楄妭*/
+ }
+
+ public static class NET_DVR_ALARM_RS485CFG extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public byte[] sDeviceName = new byte[NAME_LEN]; // 鍓嶇璁惧鍚嶇О
+ public short wDeviceType; // 鍓嶇璁惧绫诲瀷,閫氳繃NET_DVR_GetDeviceTypeList鑾峰彇
+ public short wDeviceProtocol; // 鍓嶇璁惧鍗忚 閫氳繃鑾峰彇鍗忚鍒楄〃鑾峰彇
+ public int dwBaudRate; //娉㈢壒鐜(bps)锛0-50锛1-75锛2-110锛3-150锛4-300锛5-600锛6-1200锛7-2400锛8-4800锛9-9600锛10-19200锛11-38400锛12-57600锛13-76800锛14-115.2k
+ public byte byDataBit; // 鏁版嵁鏈夊嚑浣嶏細0-5浣嶏紝1-6浣嶏紝2-7浣嶏紝3-8浣
+ public byte byStopBit; // 鍋滄浣嶏細0-1浣嶏紝1-2浣
+ public byte byParity; //鏄惁鏍¢獙锛0-鏃犳牎楠岋紝1-濂囨牎楠岋紝2-鍋舵牎楠
+ public byte byFlowcontrol; // 鏄惁娴佹帶锛0-鏃狅紝1-杞祦鎺,2-纭祦鎺
+ public byte byDuplex; // 0 - 鍗婂弻宸1- 鍏ㄥ弻宸 鍙湁閫氶亾1鍙互鏄叏鍙屽伐鍏朵粬閮藉彧鑳芥槸鍗婂弻宸
+ public byte byWorkMode; // 宸ヤ綔妯″紡 0-鎺у埗鍙 1-閫忔槑閫氶亾,2-姊帶锛3-璇诲崱鍣,4-闂ㄧ瀹夊叏妯″潡,0xfe-鑷畾涔夛紝0xff-绂佺敤
+ public byte byChannel; //485閫氶亾鍙
+ public byte bySerialType; //涓插彛绫诲瀷: 0--485, 1--232
+ public byte byMode; //妯″紡 0-杩炴帴璇诲崱鍣 1-杩炴帴瀹㈡埛绔 2-杩炴帴鎵╁睍妯″潡 3-杩炴帴闂ㄧ涓绘満 4-杩炴帴姊帶涓绘満 0xff-绂佺敤
+ public byte byOutputDataType; //0-鏃犳晥锛1-杈撳嚭鍗″彿锛2-杈撳嚭宸ュ彿
+ public byte byAddress; //涓插彛鍦板潃
+ public byte[] byRes = new byte[33]; // 淇濈暀瀛楄妭
+ }
+
+ public static class NET_DVR_ALARMHOST_RS485_SLOT_CFG extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public byte[] sDeviceName = new byte[NAME_LEN]; // 鍓嶇璁惧鍚嶇О
+ public short wDeviceType; // 鍓嶇璁惧绫诲瀷ALARM_FRONT_DEVICE _TYPE
+ public byte wDeviceProtocol; // 鍓嶇璁惧鍗忚 閫氳繃鑾峰彇鍗忚鍒楄〃鑾峰彇
+ public short wAddress; //璁惧鍦板潃
+ public byte byChannel; //485閫氶亾鍙
+ public byte bySlotChan; //妲戒綅鍙
+ public byte[] byRes = new byte[60]; // 淇濈暀瀛楄妭
+ }
+
+
+ public static class NET_DVR_VIDEOWALLDISPLAYPOSITION extends Structure {
+ public int dwSize;
+ public byte byEnable;
+ public byte byCoordinateType;//鍧愭爣绫诲瀷銆0-鍩哄噯鍧愭爣锛1-瀹為檯鍧愭爣
+ public byte[] byRes1 = new byte[2];
+ //澧欏彿,1瀛楄妭澧欏彿锛堥珮瀛楄妭锛屽浜庡悎鐮佸櫒璁惧锛屼负鍚堢爜閫氶亾鍙凤級+3瀛楄妭淇濈暀
+ public int dwVideoWallNo;
+ public int dwDisplayNo;//鏄剧ず杈撳嚭鍙
+ //鍧愭爣椤讳负鍩哄噯鍧愭爣鐨勬暣鏁板嶏紙1920*1920锛夛紝瀹藉害鍜岄珮搴﹀间笉鐢ㄨ缃紝鍗充负鍩哄噯鍊
+ public NET_DVR_RECTCFG_EX struRectCfg;
+ public byte[] byRes2 = new byte[64];
+ }
+
+ public static final int MAX_DISPLAY_NUM = 512; //鏈澶ф樉绀鸿緭鍑轰釜鏁
+
+ public static class NET_DVR_DISPLAYCFG extends Structure {
+ public int dwSize;
+ public NET_DVR_DISPLAYPARAM[] struDisplayParam = new NET_DVR_DISPLAYPARAM[MAX_DISPLAY_NUM];
+ public byte[] byRes2 = new byte[128];
+ }
+
+ public static class NET_DVR_DISPLAYPARAM extends Structure {
+ public int dwDisplayNo;
+ public byte byDispChanType;
+ public byte[] byRes = new byte[11];
+ }
+
+ public static class NET_DVR_WALLOUTPUTPARAM extends Structure {
+ public int dwSize;
+ public int dwResolution; //鍒嗚鲸鐜
+ public NET_DVR_VIDEOEFFECT struRes;
+ public byte byVideoFormat; //瑙嗛鍒跺紡锛岃VIDEO_STANDARD
+ public byte byDisplayMode;/*杈撳嚭杩炴帴妯″紡,1-BNC锛2-VGA锛3-HDMI锛4-DVI锛5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVI鑷傚簲锛0xff-鏃犳晥*/
+ public byte byBackgroundColor; //鑳屾櫙鑹诧紝0-鏃犳晥锛屼笉鏀寔鑳屾櫙鑹诧紝1-绾紝2-缁匡紝3-钃濓紝4-榛勶紝5-绱紝6-闈掞紝7-榛戯紝8-鐧斤紝0xff-鑷畾涔
+ public byte byUseEDIDResolution; //鏄惁浣跨敤EDID鍒嗚鲸鐜囷紝0-涓嶄娇鐢紝1-浣跨敤
+ public short wLEDWidth; //LED灞忚緭鍑哄垎杈ㄧ巼瀹
+ public short wLEDHeight; //LED灞忚緭鍑哄垎杈ㄧ巼楂
+ public NET_DVR_RGB_COLOR struBackColor;//鑳屾櫙鑹诧紝byBackgroundColor涓0xff鏃舵湁鏁
+ public byte byLinkStatus;//杈撳嚭鍙h繛鎺ョ姸鎬侊紝0-鏃犳晥,1-鎺ュ叆鏄剧ず鍣,2-鏈帴鍏ユ樉绀哄櫒
+ public byte[] byRes2 = new byte[51];
+ }
+
+ public static class WALLOUTPUTPARAM_ARRAY extends Structure {
+ public NET_DVR_WALLOUTPUTPARAM[] strWalloutputParm;
+
+ public WALLOUTPUTPARAM_ARRAY(int iLen) {
+ strWalloutputParm = new NET_DVR_WALLOUTPUTPARAM[iLen];
+ }
+
+ }
+
+
+ /***
+ * API鍑芥暟澹版槑,璇︾粏璇存槑瑙丄PI鎵嬪唽
+ ***/
+ public static interface FRealDataCallBack_V30 extends Callback {
+ public void invoke(int lRealHandle, int dwDataType,
+ ByteByReference pBuffer, int dwBufSize, Pointer pUser);
+ }
+
+ public static interface FMSGCallBack extends Callback {
+ public void invoke(int lCommand, NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser);
+ }
+
+ public static interface FMSGCallBack_V31 extends Callback {
+ public boolean invoke(int lCommand, NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser);
+ }
+
+ public static interface FMessCallBack extends Callback {
+ public boolean invoke(int lCommand, String sDVRIP, String pBuf, int dwBufLen);
+ }
+
+ public static interface FMessCallBack_EX extends Callback {
+ public boolean invoke(int lCommand, int lUserID, String pBuf, int dwBufLen);
+ }
+
+ public static interface FMessCallBack_NEW extends Callback {
+ public boolean invoke(int lCommand, String sDVRIP, String pBuf, int dwBufLen, short dwLinkDVRPort);
+ }
+
+ public static interface FMessageCallBack extends Callback {
+ public boolean invoke(int lCommand, String sDVRIP, String pBuf, int dwBufLen, int dwUser);
+ }
+
+ public static interface FExceptionCallBack extends Callback {
+ public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser);
+ }
+
+ public static interface FDrawFun extends Callback {
+ public void invoke(int lRealHandle, W32API.HDC hDc, int dwUser);
+ }
+
+ public static interface FStdDataCallBack extends Callback {
+ public void invoke(int lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, int dwUser);
+ }
+
+ public static interface FPlayDataCallBack extends Callback {
+ public void invoke(int lPlayHandle, int dwDataType, Pointer pBuffer, int dwBufSize, int dwUser);
+ }
+ public static interface FPlayESCallBack extends Callback {
+ public void invoke(int lPlayHandle, NET_DVR_PACKET_INFO_EX struPackInfo, Pointer pUser);
+ }
+
+ public static interface FVoiceDataCallBack extends Callback {
+ public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, int dwUser);
+ }
+
+ public static interface FVoiceDataCallBack_V30 extends Callback {
+ public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, int pUser);
+ }
+
+ public static interface FVoiceDataCallBack_MR extends Callback {
+ public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, int dwUser);
+ }
+
+ public static interface FVoiceDataCallback_MR_V30 extends Callback {
+ public void invoke(int lVoiceComHandle, Pointer pRecvDataBuffer, int dwBufSize, byte byAudioFlag, Pointer pUser);
+ }
+
+ public static interface FVoiceDataCallBack2 extends Callback {
+ public void invoke(String pRecvDataBuffer, int dwBufSize, Pointer pUser);
+ }
+
+ public static interface FSerialDataCallBack extends Callback {
+ public void invoke(int lSerialHandle, String pRecvDataBuffer, int dwBufSize, int dwUser);
+ }
+
+ public static interface FRowDataCallBack extends Callback {
+ public void invoke(int lUserID, String sIPAddr, int lRowAmout, String pRecvDataBuffer, int dwBufSize, int dwUser);
+ }
+
+ public static interface FColLocalDataCallBack extends Callback {
+ public void invoke(int lUserID, String sIPAddr, int lColumnAmout, String pRecvDataBuffer, int dwBufSize, int dwUser);
+ }
+
+ public static interface FColGlobalDataCallBack extends Callback {
+ public void invoke(int lUserID, String sIPAddr, int lColumnAmout, String pRecvDataBuffer, int dwBufSize, int dwUser);
+ }
+
+ public static interface FJpegdataCallBack extends Callback {
+ public int invoke(int lCommand, int lUserID, String sDVRIP, String sJpegName, String pJpegBuf, int dwBufLen, int dwUser);
+ }
+
+ public static interface FPostMessageCallBack extends Callback {
+ public int invoke(int dwType, int lIndex);
+ }
+
+ public static interface DEV_WORK_STATE_CB extends Callback {
+ public boolean invoke(Pointer pUserdata, int iUserID, NET_DVR_WORKSTATE_V40 lpWorkState);
+ }
+
+ public static interface FLOWTESTCALLBACK extends Callback {
+ public void invoke(int lFlowHandle, NET_DVR_FLOW_INFO pFlowInfo,
+ Pointer pUser);
+ }
+
+
+ boolean NET_DVR_Init();
+
+ boolean NET_DVR_Cleanup();
+
+ boolean NET_DVR_SetSDKInitCfg(int enumType, Pointer lpInBuff);
+
+ boolean NET_DVR_SetSDKLocalCfg(int enumType, Pointer lpInBuff);
+
+ boolean NET_DVR_GetSDKLocalCfg(int enumType, Pointer lpOutBuff);
+
+ boolean NET_DVR_SetDVRMessage(int nMessage, int hWnd);
+
+ //NET_DVR_SetDVRMessage鐨勬墿灞
+ boolean NET_DVR_SetExceptionCallBack_V30(int nMessage, int hWnd, FExceptionCallBack fExceptionCallBack, Pointer pUser);
+
+ boolean NET_DVR_SetDVRMessCallBack(FMessCallBack fMessCallBack);
+
+ boolean NET_DVR_SetDVRMessCallBack_EX(FMessCallBack_EX fMessCallBack_EX);
+
+
+ //2007-04-16澧炲姞鏌ヨ缁撴灉甯﹀崱鍙风殑鏂囦欢鏌ユ壘
+ int NET_DVR_FindNextFile_Card(int lFindHandle, NET_DVR_FINDDATA_CARD lpFindData);
+
+ int NET_DVR_FindFile_Card(int lUserID, int lChannel, int dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
+
+ boolean NET_DVR_LockFileByName(int lUserID, String sLockFileName);
+
+ boolean NET_DVR_UnlockFileByName(int lUserID, String sUnlockFileName);
+
+ int NET_DVR_PlayBackByName(int lUserID, String sPlayBackFileName, HWND hWnd);
+
+ int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, HWND hWnd);
+
+ int NET_DVR_PlayBackByTime_V40(int lUserID, NET_DVR_VOD_PARA pVodPara);
+
+ boolean NET_DVR_PlayBackControl(int lPlayHandle, int dwControlCode, int dwInValue, IntByReference LPOutValue);
+
+ boolean NET_DVR_PlayBackControl_V40(int lPlayHandle, int dwControlCode, Pointer lpInBuffer, int dwInLen, Pointer lpOutBuffer, IntByReference lpOutLen);
+
+ boolean NET_DVR_StopPlayBack(int lPlayHandle);
+
+ boolean NET_DVR_SetPlayDataCallBack(int lPlayHandle, FPlayDataCallBack fPlayDataCallBack, int dwUser);
+ boolean NET_DVR_SetPlayDataCallBack_V40(int lPlayHandle, FPlayDataCallBack fPlayDataCallBack, Pointer dwUser);
+ boolean NET_DVR_SetPlayBackESCallBack(int lPlayHandle, FPlayESCallBack fPlayESCallBack, Pointer pUser);
+
+ boolean NET_DVR_PlayBackSaveData(int lPlayHandle, String sFileName);
+
+ boolean NET_DVR_StopPlayBackSave(int lPlayHandle);
+
+ boolean NET_DVR_GetPlayBackOsdTime(int lPlayHandle, NET_DVR_TIME lpOsdTime);
+
+ boolean NET_DVR_PlayBackCaptureFile(int lPlayHandle, String sFileName);
+
+ int NET_DVR_GetFileByName(int lUserID, String sDVRFileName, byte[] sSavedFileName);
+
+ int NET_DVR_GetFileByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, String sSavedFileName);
+
+ int NET_DVR_GetFileByTime_V40(int lUserID, String sSavedFileName, NET_DVR_PLAYCOND pDownloadCond);
+
+ boolean NET_DVR_StopGetFile(int lFileHandle);
+
+ int NET_DVR_GetDownloadPos(int lFileHandle);
+
+ int NET_DVR_GetPlayBackPos(int lPlayHandle);
+
+ //鍥剧墖鏌ユ壘
+ int NET_DVR_FindPicture(int lUserID, NET_DVR_FIND_PICTURE_PARAM pFindParam);
+
+ int NET_DVR_FindNextPicture_V50(int lFindHandle, NET_DVR_FIND_PICTURE_V50 lpFindData);
+
+ int NET_DVR_FindNextPicture(int lFindHandle, NET_DVR_FIND_PICTURE lpFindData);
+
+ boolean NET_DVR_CloseFindPicture(int lFindHandle);
+
+ boolean NET_DVR_GetPicture_V50(int lUserID, NET_DVR_PIC_PARAM lpPicParam);
+
+ boolean NET_DVR_SetDVRMessCallBack_NEW(FMessCallBack_NEW fMessCallBack_NEW);
+
+
+ boolean NET_DVR_SetDVRMessageCallBack(FMessageCallBack fMessageCallBack, int dwUser);
+
+ boolean NET_DVR_SetDVRMessageCallBack_V30(FMSGCallBack fMessageCallBack, Pointer pUser);
+
+ boolean NET_DVR_SetDVRMessageCallBack_V31(FMSGCallBack_V31 fMessageCallBack, Pointer pUser);
+
+ boolean NET_DVR_SetDVRMessageCallBack_V50(int iIndex, FMSGCallBack_V31 fMessageCallBack, Pointer pUser);
+
+ boolean NET_DVR_SetConnectTime(int dwWaitTime, int dwTryTimes);
+
+ boolean NET_DVR_SetReconnect(int dwInterval, boolean bEnableRecon);
+
+ int NET_DVR_GetSDKVersion();
+
+ int NET_DVR_GetSDKBuildVersion();
+
+ int NET_DVR_IsSupport();
+
+ boolean NET_DVR_StartListen(String sLocalIP, short wLocalPort);
+
+ boolean NET_DVR_StopListen();
+
+ int NET_DVR_StartListen_V30(String sLocalIP, short wLocalPort, FMSGCallBack DataCallBack, Pointer pUserData);
+
+ boolean NET_DVR_StopListen_V30(int lListenHandle);
+
+ int NET_DVR_Login(String sDVRIP, short wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO lpDeviceInfo);
+
+ int NET_DVR_Login_V30(String sDVRIP, short wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO_V30 lpDeviceInfo);
+
+ int NET_DVR_Login_V40(NET_DVR_USER_LOGIN_INFO pLoginInfo, NET_DVR_DEVICEINFO_V40 lpDeviceInfo);
+
+ boolean NET_DVR_Logout(int lUserID);
+
+ boolean NET_DVR_Logout_V30(int lUserID);
+
+ int NET_DVR_GetLastError();
+
+ String NET_DVR_GetErrorMsg(IntByReference pErrorNo);
+
+ boolean NET_DVR_SetShowMode(int dwShowType, int colorKey);
+
+ boolean NET_DVR_GetDVRIPByResolveSvr(String sServerIP, short wServerPort, String sDVRName, short wDVRNameLen, String sDVRSerialNumber, short wDVRSerialLen, String sGetIP);
+
+ boolean NET_DVR_GetDVRIPByResolveSvr_EX(String sServerIP, short wServerPort, String sDVRName, short wDVRNameLen, String sDVRSerialNumber, short wDVRSerialLen, String sGetIP, IntByReference dwPort);
+
+ //棰勮鐩稿叧鎺ュ彛
+ int NET_DVR_RealPlay(int lUserID, NET_DVR_CLIENTINFO lpClientInfo);
+
+ int NET_DVR_RealPlay_V30(int lUserID, NET_DVR_CLIENTINFO lpClientInfo, FRealDataCallBack_V30 fRealDataCallBack_V30, Pointer pUser, boolean bBlocked);
+
+ int NET_DVR_RealPlay_V40(int lUserID, NET_DVR_PREVIEWINFO lpPreviewInfo, FRealDataCallBack_V30 fRealDataCallBack_V30, Pointer pUser);
+
+ boolean NET_DVR_StopRealPlay(int lRealHandle);
+
+ boolean NET_DVR_RigisterDrawFun(int lRealHandle, FDrawFun fDrawFun, int dwUser);
+
+ boolean NET_DVR_SetPlayerBufNumber(int lRealHandle, int dwBufNum);
+
+ boolean NET_DVR_ThrowBFrame(int lRealHandle, int dwNum);
+
+ boolean NET_DVR_SetAudioMode(int dwMode);
+
+ boolean NET_DVR_OpenSound(int lRealHandle);
+
+ boolean NET_DVR_CloseSound();
+
+ boolean NET_DVR_OpenSoundShare(int lRealHandle);
+
+ boolean NET_DVR_CloseSoundShare(int lRealHandle);
+
+ boolean NET_DVR_Volume(int lRealHandle, short wVolume);
+
+ boolean NET_DVR_SaveRealData(int lRealHandle, String sFileName);
+
+ boolean NET_DVR_StopSaveRealData(int lRealHandle);
+
+ boolean NET_DVR_SetRealDataCallBack(int lRealHandle, FRowDataCallBack fRealDataCallBack, int dwUser);
+
+ boolean NET_DVR_SetStandardDataCallBack(int lRealHandle, FStdDataCallBack fStdDataCallBack, int dwUser);
+
+ boolean NET_DVR_CapturePicture(int lRealHandle, String sPicFileName);//bmp
+
+ //鍔ㄦ佺敓鎴怚甯
+ boolean NET_DVR_MakeKeyFrame(int lUserID, int lChannel);//涓荤爜娴
+
+ boolean NET_DVR_MakeKeyFrameSub(int lUserID, int lChannel);//瀛愮爜娴
+
+ //浜戝彴鎺у埗鐩稿叧鎺ュ彛
+ boolean NET_DVR_PTZControl(int lRealHandle, int dwPTZCommand, int dwStop);
+
+ boolean NET_DVR_PTZControl_Other(int lUserID, int lChannel, int dwPTZCommand, int dwStop);
+
+ boolean NET_DVR_TransPTZ(int lRealHandle, String pPTZCodeBuf, int dwBufSize);
+
+ boolean NET_DVR_TransPTZ_Other(int lUserID, int lChannel, String pPTZCodeBuf, int dwBufSize);
+
+ boolean NET_DVR_PTZPreset(int lRealHandle, int dwPTZPresetCmd, int dwPresetIndex);
+
+ boolean NET_DVR_PTZPreset_Other(int lUserID, int lChannel, int dwPTZPresetCmd, int dwPresetIndex);
+
+ boolean NET_DVR_TransPTZ_EX(int lRealHandle, String pPTZCodeBuf, int dwBufSize);
+
+ boolean NET_DVR_PTZControl_EX(int lRealHandle, int dwPTZCommand, int dwStop);
+
+ boolean NET_DVR_PTZPreset_EX(int lRealHandle, int dwPTZPresetCmd, int dwPresetIndex);
+
+ boolean NET_DVR_PTZCruise(int lRealHandle, int dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, short wInput);
+
+ boolean NET_DVR_PTZCruise_Other(int lUserID, int lChannel, int dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, short wInput);
+
+ boolean NET_DVR_PTZCruise_EX(int lRealHandle, int dwPTZCruiseCmd, byte byCruiseRoute, byte byCruisePoint, short wInput);
+
+ boolean NET_DVR_PTZTrack(int lRealHandle, int dwPTZTrackCmd);
+
+ boolean NET_DVR_PTZTrack_Other(int lUserID, int lChannel, int dwPTZTrackCmd);
+
+ boolean NET_DVR_PTZTrack_EX(int lRealHandle, int dwPTZTrackCmd);
+
+ boolean NET_DVR_PTZControlWithSpeed(int lRealHandle, int dwPTZCommand, int dwStop, int dwSpeed);
+
+ boolean NET_DVR_PTZControlWithSpeed_Other(int lUserID, int lChannel, int dwPTZCommand, int dwStop, int dwSpeed);
+
+ boolean NET_DVR_PTZControlWithSpeed_EX(int lRealHandle, int dwPTZCommand, int dwStop, int dwSpeed);
+
+ boolean NET_DVR_GetPTZCruise(int lUserID, int lChannel, int lCruiseRoute, NET_DVR_CRUISE_RET lpCruiseRet);
+
+ boolean NET_DVR_PTZMltTrack(int lRealHandle, int dwPTZTrackCmd, int dwTrackIndex);
+
+ boolean NET_DVR_PTZMltTrack_Other(int lUserID, int lChannel, int dwPTZTrackCmd, int dwTrackIndex);
+
+ boolean NET_DVR_PTZMltTrack_EX(int lRealHandle, int dwPTZTrackCmd, int dwTrackIndex);
+
+ //鏂囦欢鏌ユ壘涓庡洖鏀
+ int NET_DVR_FindFile(int lUserID, int lChannel, int dwFileType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
+
+ int NET_DVR_FindNextFile(int lFindHandle, NET_DVR_FIND_DATA lpFindData);
+
+ boolean NET_DVR_FindClose(int lFindHandle);
+
+ int NET_DVR_FindNextFile_V30(int lFindHandle, NET_DVR_FINDDATA_V30 lpFindData);
+
+ int NET_DVR_FindFile_V30(int lUserID, NET_DVR_FILECOND pFindCond);
+
+ int NET_DVR_FindFile_V40(int lUserID, NET_DVR_FILECOND_V40 pFindCond);
+
+ int NET_DVR_FindNextFile_V40(int lFindHandle, NET_DVR_FINDDATA_V40 lpFindData);
+
+ int NET_DVR_FindFile_V50(int lUserID, NET_DVR_FILECOND_V50 pFindCond);
+
+ int NET_DVR_FindNextFile_V50(int lFindHandle, NET_DVR_FINDDATA_V50 lpFindData);
+
+ boolean NET_DVR_FindClose_V30(int lFindHandle);
+
+ //鎸変簨浠舵煡鎵
+ int NET_DVR_FindFileByEvent(int lUserID, NET_DVR_SEARCH_EVENT_PARAM lpSearchEventParam);
+
+ int NET_DVR_FindNextEvent(int lSearchHandle, NET_DVR_SEARCH_EVENT_RET lpSearchEventRet);
+
+ int NET_DVR_FindFileByEvent_V50(int lUserID, NET_DVR_SEARCH_EVENT_PARAM_V50 lpSearchEventParam);
+
+ int NET_DVR_FindNextEvent_V50(int lFindHandle, NET_DVR_SEARCH_EVENT_RET_V50 lpSearchEventRet);
+
+
+ //鍗囩骇
+ int NET_DVR_Upgrade(int lUserID, String sFileName);
+
+ int NET_DVR_GetUpgradeState(int lUpgradeHandle);
+
+ int NET_DVR_GetUpgradeProgress(int lUpgradeHandle);
+
+ boolean NET_DVR_CloseUpgradeHandle(int lUpgradeHandle);
+
+ boolean NET_DVR_SetNetworkEnvironment(int dwEnvironmentLevel);
+
+ //杩滅▼鏍煎紡鍖栫‖鐩
+ int NET_DVR_FormatDisk(int lUserID, int lDiskNumber);
+
+ boolean NET_DVR_GetFormatProgress(int lFormatHandle, IntByReference pCurrentFormatDisk, IntByReference pCurrentDiskPos, IntByReference pFormatStatic);
+
+ boolean NET_DVR_CloseFormatHandle(int lFormatHandle);
+
+ //鎶ヨ
+ int NET_DVR_SetupAlarmChan(int lUserID);
+
+ boolean NET_DVR_CloseAlarmChan(int lAlarmHandle);
+
+ int NET_DVR_SetupAlarmChan_V30(int lUserID);
+
+ int NET_DVR_SetupAlarmChan_V41(int lUserID, NET_DVR_SETUPALARM_PARAM lpSetupParam);
+
+ int NET_DVR_SetupAlarmChan_V50(int iUserID, NET_DVR_SETUPALARM_PARAM_V50 lpSetupParam, Pointer pSub, int dwSubSize);
+
+ boolean NET_DVR_CloseAlarmChan_V30(int lAlarmHandle);
+
+ //璇煶瀵硅
+ int NET_DVR_StartVoiceCom(int lUserID, FVoiceDataCallBack fVoiceDataCallBack, int dwUser);
+
+ int NET_DVR_StartVoiceCom_V30(int lUserID, int dwVoiceChan, boolean bNeedCBNoEncData, FVoiceDataCallBack_V30 fVoiceDataCallBack, Pointer pUser);
+
+ boolean NET_DVR_SetVoiceComClientVolume(int lVoiceComHandle, short wVolume);
+
+ boolean NET_DVR_StopVoiceCom(int lVoiceComHandle);
+
+ //璇煶杞彂
+
+ boolean NET_DVR_GetCurrentAudioCompress(int lUserID, NET_DVR_COMPRESSION_AUDIO lpCompressAudio);
+ int NET_DVR_StartVoiceCom_MR(int lUserID, FVoiceDataCallBack_MR fVoiceDataCallBack, int dwUser);
+
+ int NET_DVR_StartVoiceCom_MR_V30(int lUserID, int dwVoiceChan, FVoiceDataCallback_MR_V30 fVoiceDataCallBack, Pointer pUser);
+
+ boolean NET_DVR_VoiceComSendData(int lVoiceComHandle, byte[] pSendBuf, int dwBufSize);
+
+ //璇煶骞挎挱
+ boolean NET_DVR_ClientAudioStart();
+
+ boolean NET_DVR_ClientAudioStart_V30(FVoiceDataCallBack2 fVoiceDataCallBack2, Pointer pUser);
+
+ boolean NET_DVR_ClientAudioStop();
+
+ boolean NET_DVR_AddDVR(int lUserID);
+
+ int NET_DVR_AddDVR_V30(int lUserID, int dwVoiceChan);
+
+ boolean NET_DVR_DelDVR(int lUserID);
+
+ boolean NET_DVR_DelDVR_V30(int lVoiceHandle);
+
+ ////////////////////////////////////////////////////////////
+//閫忔槑閫氶亾璁剧疆
+ int NET_DVR_SerialStart(int lUserID, int lSerialPort, FSerialDataCallBack fSerialDataCallBack, int dwUser);
+
+ public static interface FSerialDataCallBack_V40 extends Callback {
+ public void invoke(int lSerialHandle, int lCHannel, byte[] pRecvDataBuffer, int dwBufSize, Pointer pUser);
+ }
+
+ int NET_DVR_SerialStart_V40(int lUserID, Pointer lpInBuffer, int dwInBufferSize, FSerialDataCallBack_V40 fSerialDataCallBack_V40, Pointer pUser);
+
+ //485浣滀负閫忔槑閫氶亾鏃讹紝闇瑕佹寚鏄庨氶亾鍙凤紝鍥犱负涓嶅悓閫氶亾鍙485鐨勮缃彲浠ヤ笉鍚(姣斿娉㈢壒鐜)
+ boolean NET_DVR_SerialSend(int lSerialHandle, int lChannel, byte[] pSendBuf, int dwBufSize);
+
+ boolean NET_DVR_SerialStop(int lSerialHandle);
+
+ boolean NET_DVR_SendTo232Port(int lUserID, String pSendBuf, int dwBufSize);
+
+ boolean NET_DVR_SendToSerialPort(int lUserID, int dwSerialPort, int dwSerialIndex, String pSendBuf, int dwBufSize);
+
+ //Win64銆丩inux32銆丩inux64
+ Pointer NET_DVR_InitG722Encoder(NET_DVR_AUDIOENC_INFO enc_info);
+
+ boolean NET_DVR_EncodeG722Frame(Pointer handle, NET_DVR_AUDIOENC_PROCESS_PARAM param);
+
+ void NET_DVR_ReleaseG722Encoder(Pointer pEncodeHandle);
+
+ Pointer NET_DVR_InitG722Decoder();
+
+ boolean NET_DVR_DecodeG722Frame(Pointer handle, NET_DVR_AUDIODEC_PROCESS_PARAM param);
+
+ void NET_DVR_ReleaseG722Decoder(Pointer pDecHandle);
+
+ //G711: Win64銆丩inux32銆丩inux64
+ Pointer NET_DVR_InitG711Encoder(NET_DVR_AUDIOENC_INFO enc_info);//NET_DVR_AUDIOENC_INFO//NET_DVR_AUDIOENC_INFO
+
+ boolean NET_DVR_EncodeG711Frame(Pointer handle, NET_DVR_AUDIOENC_PROCESS_PARAM p_enc_proc_param);
+
+ boolean NET_DVR_ReleaseG711Encoder(Pointer pEncodeHandle);
+
+ Pointer NET_DVR_InitG711Decoder();
+
+ boolean NET_DVR_DecodeG711Frame(Pointer handle, NET_DVR_AUDIODEC_PROCESS_PARAM p_dec_proc_param);
+
+ boolean NET_DVR_ReleaseG711Decoder(Pointer pDecHandle);
+
+ //杩滅▼鎺у埗鏈湴鏄剧ず
+ boolean NET_DVR_ClickKey(int lUserID, int lKeyIndex);
+
+ //杩滅▼鎺у埗璁惧绔墜鍔ㄥ綍鍍
+ boolean NET_DVR_StartDVRRecord(int lUserID, int lChannel, int lRecordType);
+
+ boolean NET_DVR_StopDVRRecord(int lUserID, int lChannel);
+
+ //瑙g爜鍗
+ boolean NET_DVR_InitDevice_Card(IntByReference pDeviceTotalChan);
+
+ boolean NET_DVR_ReleaseDevice_Card();
+
+ boolean NET_DVR_InitDDraw_Card(int hParent, int colorKey);
+
+ boolean NET_DVR_ReleaseDDraw_Card();
+
+ int NET_DVR_RealPlay_Card(int lUserID, NET_DVR_CARDINFO lpCardInfo, int lChannelNum);
+
+ boolean NET_DVR_ResetPara_Card(int lRealHandle, NET_DVR_DISPLAY_PARA lpDisplayPara);
+
+ boolean NET_DVR_RefreshSurface_Card();
+
+ boolean NET_DVR_ClearSurface_Card();
+
+ boolean NET_DVR_RestoreSurface_Card();
+
+ boolean NET_DVR_OpenSound_Card(int lRealHandle);
+
+ boolean NET_DVR_CloseSound_Card(int lRealHandle);
+
+ boolean NET_DVR_SetVolume_Card(int lRealHandle, short wVolume);
+
+ boolean NET_DVR_AudioPreview_Card(int lRealHandle, boolean bEnable);
+
+ int NET_DVR_GetCardLastError_Card();
+
+ Pointer NET_DVR_GetChanHandle_Card(int lRealHandle);
+
+ boolean NET_DVR_CapturePicture_Card(int lRealHandle, String sPicFileName);
+
+ //鑾峰彇瑙g爜鍗″簭鍒楀彿姝ゆ帴鍙f棤鏁堬紝鏀圭敤GetBoardDetail鎺ュ彛鑾峰緱(2005-12-08鏀寔)
+ boolean NET_DVR_GetSerialNum_Card(int lChannelNum, IntByReference pDeviceSerialNo);
+
+ //鏃ュ織
+ int NET_DVR_FindDVRLog(int lUserID, int lSelectMode, int dwMajorType, int dwMinorType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
+
+ int NET_DVR_FindNextLog(int lLogHandle, NET_DVR_LOG lpLogData);
+
+ boolean NET_DVR_FindLogClose(int lLogHandle);
+
+ int NET_DVR_FindDVRLog_V30(int lUserID, int lSelectMode, int dwMajorType, int dwMinorType, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, boolean bOnlySmart);
+
+ int NET_DVR_FindNextLog_V30(int lLogHandle, NET_DVR_LOG_V30 lpLogData);
+
+ boolean NET_DVR_FindLogClose_V30(int lLogHandle);
+
+ //鎴2004骞8鏈5鏃,鍏113涓帴鍙
+//ATM DVR
+ int NET_DVR_FindFileByCard(int lUserID, int lChannel, int dwFileType, int nFindType, String sCardNumber, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime);
+//鎴2004骞10鏈5鏃,鍏116涓帴鍙
+
+ //2005-09-15
+ boolean NET_DVR_CaptureJPEGPicture(int lUserID, int lChannel, NET_DVR_JPEGPARA lpJpegPara, byte[] sPicFileName);
+
+ //JPEG鎶撳浘鍒板唴瀛
+ boolean NET_DVR_CaptureJPEGPicture_NEW(int lUserID, int lChannel, NET_DVR_JPEGPARA lpJpegPara, Pointer sJpegPicBuffer, int dwPicSize, IntByReference lpSizeReturned);
+
+ //甯﹀叏灞忔祴娓╂暟鎹殑璁惧鎶撳浘
+ boolean NET_DVR_CaptureJPEGPicture_WithAppendData(int lUserID, int iChannelNum, NET_DVR_JPEGPICTURE_WITH_APPENDDATA m_strJpegWithAppendData);
+
+ //2006-02-16
+ int NET_DVR_GetRealPlayerIndex(int lRealHandle);
+
+ int NET_DVR_GetPlayBackPlayerIndex(int lPlayHandle);
+
+ //2006-08-28 704-640 缂╂斁閰嶇疆
+ boolean NET_DVR_SetScaleCFG(int lUserID, int dwScale);
+
+ boolean NET_DVR_GetScaleCFG(int lUserID, IntByReference lpOutScale);
+
+ boolean NET_DVR_SetScaleCFG_V30(int lUserID, NET_DVR_SCALECFG pScalecfg);
+
+ boolean NET_DVR_GetScaleCFG_V30(int lUserID, NET_DVR_SCALECFG pScalecfg);
+
+ //2006-08-28 ATM鏈虹鍙h缃
+ boolean NET_DVR_SetATMPortCFG(int lUserID, short wATMPort);
+
+ boolean NET_DVR_GetATMPortCFG(int lUserID, ShortByReference LPOutATMPort);
+
+ //2006-11-10 鏀寔鏄惧崱杈呭姪杈撳嚭
+ boolean NET_DVR_InitDDrawDevice();
+
+ boolean NET_DVR_ReleaseDDrawDevice();
+
+ int NET_DVR_GetDDrawDeviceTotalNums();
+
+ boolean NET_DVR_SetDDrawDevice(int lPlayPort, int nDeviceNum);
+
+ boolean NET_DVR_PTZSelZoomIn(int lRealHandle, NET_DVR_POINT_FRAME pStruPointFrame);
+
+ boolean NET_DVR_PTZSelZoomIn_EX(int lUserID, int lChannel, NET_DVR_POINT_FRAME pStruPointFrame);
+
+ boolean NET_DVR_FocusOnePush(int lUserID, int lChannel);
+
+ //瑙g爜璁惧DS-6001D/DS-6001F
+ boolean NET_DVR_StartDecode(int lUserID, int lChannel, NET_DVR_DECODERINFO lpDecoderinfo);
+
+ boolean NET_DVR_StopDecode(int lUserID, int lChannel);
+
+ boolean NET_DVR_GetDecoderState(int lUserID, int lChannel, NET_DVR_DECODERSTATE lpDecoderState);
+
+ //2005-08-01
+ boolean NET_DVR_SetDecInfo(int lUserID, int lChannel, NET_DVR_DECCFG lpDecoderinfo);
+
+ boolean NET_DVR_GetDecInfo(int lUserID, int lChannel, NET_DVR_DECCFG lpDecoderinfo);
+
+ boolean NET_DVR_SetDecTransPort(int lUserID, NET_DVR_PORTCFG lpTransPort);
+
+ boolean NET_DVR_GetDecTransPort(int lUserID, NET_DVR_PORTCFG lpTransPort);
+
+ boolean NET_DVR_DecPlayBackCtrl(int lUserID, int lChannel, int dwControlCode, int dwInValue, IntByReference LPOutValue, NET_DVR_PLAYREMOTEFILE lpRemoteFileInfo);
+
+ boolean NET_DVR_StartDecSpecialCon(int lUserID, int lChannel, NET_DVR_DECCHANINFO lpDecChanInfo);
+
+ boolean NET_DVR_StopDecSpecialCon(int lUserID, int lChannel, NET_DVR_DECCHANINFO lpDecChanInfo);
+
+ boolean NET_DVR_DecCtrlDec(int lUserID, int lChannel, int dwControlCode);
+
+ boolean NET_DVR_DecCtrlScreen(int lUserID, int lChannel, int dwControl);
+
+ boolean NET_DVR_GetDecCurLinkStatus(int lUserID, int lChannel, NET_DVR_DECSTATUS lpDecStatus);
+
+ //澶氳矾瑙g爜鍣
+//2007-11-30 V211鏀寔浠ヤ笅鎺ュ彛 //11
+ boolean NET_DVR_MatrixStartDynamic(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo);
+
+ boolean NET_DVR_MatrixStopDynamic(int lUserID, int dwDecChanNum);
+
+ boolean NET_DVR_MatrixGetDecChanInfo(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_CHAN_INFO lpInter);
+
+ boolean NET_DVR_MatrixSetLoopDecChanInfo(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO lpInter);
+
+ boolean NET_DVR_MatrixGetLoopDecChanInfo(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO lpInter);
+
+ boolean NET_DVR_MatrixSetLoopDecChanEnable(int lUserID, int dwDecChanNum, int dwEnable);
+
+ boolean NET_DVR_MatrixGetLoopDecChanEnable(int lUserID, int dwDecChanNum, IntByReference lpdwEnable);
+
+ boolean NET_DVR_MatrixGetLoopDecEnable(int lUserID, IntByReference lpdwEnable);
+
+ boolean NET_DVR_MatrixSetDecChanEnable(int lUserID, int dwDecChanNum, int dwEnable);
+
+ boolean NET_DVR_MatrixGetDecChanEnable(int lUserID, int dwDecChanNum, IntByReference lpdwEnable);
+
+ boolean NET_DVR_MatrixGetDecChanStatus(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_CHAN_STATUS lpInter);
+
+ boolean NET_DVR_MatrixStartDynamic_V41(int lUserID, int dwDecChanNum, Pointer lpDynamicInfo);
+
+ boolean NET_DVR_MatrixGetLoopDecChanInfo_V41(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO_V41 lpOuter);
+
+ boolean NET_DVR_MatrixSetLoopDecChanInfo_V41(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_LOOP_DECINFO_V41 lpInter);
+
+ int NET_DVR_MatrixStartPassiveDecode(int lUserID, int dwDecChanNum, Pointer lpPassiveMode);
+
+ boolean NET_DVR_MatrixSendData(int lPassiveHandle, Pointer pSendBuf, int dwBufSize);
+
+ boolean NET_DVR_MatrixStopPassiveDecode(int lPassiveHandle);
+
+ //2007-12-22 澧炲姞鏀寔鎺ュ彛 //18
+ boolean NET_DVR_MatrixSetTranInfo(int lUserID, NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
+
+ boolean NET_DVR_MatrixGetTranInfo(int lUserID, NET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo);
+
+ boolean NET_DVR_MatrixSetRemotePlay(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter);
+
+ boolean NET_DVR_MatrixSetRemotePlayControl(int lUserID, int dwDecChanNum, int dwControlCode, int dwInValue, IntByReference LPOutValue);
+
+ boolean NET_DVR_MatrixGetRemotePlayStatus(int lUserID, int dwDecChanNum, NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter);
+
+ //end
+ boolean NET_DVR_RefreshPlay(int lPlayHandle);
+
+ //鎭㈠榛樿鍊
+ boolean NET_DVR_RestoreConfig(int lUserID);
+
+ //淇濆瓨鍙傛暟
+ boolean NET_DVR_SaveConfig(int lUserID);
+
+ //閲嶅惎
+ boolean NET_DVR_RebootDVR(int lUserID);
+
+ //鍏抽棴DVR
+ boolean NET_DVR_ShutDownDVR(int lUserID);
+
+ //鍙傛暟閰嶇疆 begin
+ boolean NET_DVR_GetDeviceConfig(int lUserID, int dwCommand, int dwCount, Pointer lpInBuffer, int dwInBufferSize, Pointer lpStatusList, Pointer lpOutBuffer, int dwOutBufferSize);
+
+ boolean NET_DVR_SetDeviceConfig(int lUserID, int dwCommand, int dwCount, Pointer lpInBuffer, int dwInBufferSize, Pointer lpStatusList, Pointer lpInParamBuffer, int dwInParamBufferSize);
+
+ boolean NET_DVR_SetDeviceConfigEx(int lUserID, int dwCommand, int dwCount, Pointer lpInParam, Pointer lpOutParam);
+
+ boolean NET_DVR_GetDVRConfig(int lUserID, int dwCommand, int lChannel, Pointer lpOutBuffer, int dwOutBufferSize, IntByReference lpBytesReturned);
+
+ boolean NET_DVR_SetDVRConfig(int lUserID, int dwCommand, int lChannel, Pointer lpInBuffer, int dwInBufferSize);
+
+ boolean NET_DVR_GetSTDConfig(int lUserID, int dwCommand, NET_DVR_STD_CONFIG lpConfigParam);
+
+ boolean NET_DVR_SetSTDConfig(int lUserID, int dwCommand, NET_DVR_STD_CONFIG lpConfigParam);
+
+ boolean NET_DVR_GetDVRWorkState_V30(int lUserID, NET_DVR_WORKSTATE_V30 lpWorkState);
+
+ boolean NET_DVR_GetDVRWorkState(int lUserID, NET_DVR_WORKSTATE lpWorkState);
+
+ boolean NET_DVR_SetVideoEffect(int lUserID, int lChannel, int dwBrightValue, int dwContrastValue, int dwSaturationValue, int dwHueValue);
+
+ boolean NET_DVR_GetVideoEffect(int lUserID, int lChannel, IntByReference pBrightValue, IntByReference pContrastValue, IntByReference pSaturationValue, IntByReference pHueValue);
+
+ boolean NET_DVR_ClientGetframeformat(int lUserID, NET_DVR_FRAMEFORMAT lpFrameFormat);
+
+ boolean NET_DVR_ClientSetframeformat(int lUserID, NET_DVR_FRAMEFORMAT lpFrameFormat);
+
+ boolean NET_DVR_ClientGetframeformat_V30(int lUserID, NET_DVR_FRAMEFORMAT_V30 lpFrameFormat);
+
+ boolean NET_DVR_ClientSetframeformat_V30(int lUserID, NET_DVR_FRAMEFORMAT_V30 lpFrameFormat);
+
+ boolean NET_DVR_GetAlarmOut_V30(int lUserID, NET_DVR_ALARMOUTSTATUS_V30 lpAlarmOutState);
+
+ boolean NET_DVR_GetAlarmOut(int lUserID, NET_DVR_ALARMOUTSTATUS lpAlarmOutState);
+
+ boolean NET_DVR_SetAlarmOut(int lUserID, int lAlarmOutPort, int lAlarmOutStatic);
+
+ //瑙嗛鍙傛暟璋冭妭
+ boolean NET_DVR_ClientSetVideoEffect(int lRealHandle, int dwBrightValue, int dwContrastValue, int dwSaturationValue, int dwHueValue);
+
+ boolean NET_DVR_ClientGetVideoEffect(int lRealHandle, IntByReference pBrightValue, IntByReference pContrastValue, IntByReference pSaturationValue, IntByReference pHueValue);
+
+ //閰嶇疆鏂囦欢
+ boolean NET_DVR_GetConfigFile(int lUserID, String sFileName);
+
+ boolean NET_DVR_SetConfigFile(int lUserID, String sFileName);
+
+ boolean NET_DVR_GetConfigFile_V30(int lUserID, String sOutBuffer, int dwOutSize, IntByReference pReturnSize);
+
+ boolean NET_DVR_GetConfigFile_EX(int lUserID, String sOutBuffer, int dwOutSize);
+
+ boolean NET_DVR_SetConfigFile_EX(int lUserID, String sInBuffer, int dwInSize);
+
+ //鍚敤鏃ュ織鏂囦欢鍐欏叆鎺ュ彛
+ boolean NET_DVR_SetLogToFile(int bLogEnable, String strLogDir, boolean bAutoDel);
+
+ boolean NET_DVR_GetSDKState(NET_DVR_SDKSTATE pSDKState);
+
+ boolean NET_DVR_GetSDKAbility(NET_DVR_SDKABL pSDKAbl);
+
+ boolean NET_DVR_GetPTZProtocol(int lUserID, NET_DVR_PTZCFG pPtzcfg);
+
+ //鍓嶉潰鏉块攣瀹
+ boolean NET_DVR_LockPanel(int lUserID);
+
+ boolean NET_DVR_UnLockPanel(int lUserID);
+
+ boolean NET_DVR_SetRtspConfig(int lUserID, int dwCommand, NET_DVR_RTSPCFG lpInBuffer, int dwInBufferSize);
+
+ boolean NET_DVR_GetRtspConfig(int lUserID, int dwCommand, NET_DVR_RTSPCFG lpOutBuffer, int dwOutBufferSize);
+
+ boolean NET_DVR_ContinuousShoot(int lUserID, NET_DVR_SNAPCFG lpInter);
+
+ boolean NET_DVR_ManualSnap(int lUserID, NET_DVR_MANUALSNAP lpInter, NET_DVR_PLATE_RESULT lpOuter);
+
+ public static interface FRemoteConfigCallBack extends Callback {
+ public void invoke(int dwType, Pointer lpBuffer, int dwBufLen, Pointer pUserData);
+ }
+
+ int NET_DVR_StartRemoteConfig(int lUserID, int dwCommand, Pointer lpInBuffer, int dwInBufferLen, FRemoteConfigCallBack cbStateCallBack, Pointer pUserData);
+
+ boolean NET_DVR_SendRemoteConfig(int lHandle, int dwDataType, Pointer pSendBuf, int dwBufSize);
+
+ int NET_DVR_GetNextRemoteConfig(int lHandle, Pointer lpOutBuff, int dwOutBuffSize);
+
+ int NET_DVR_SendWithRecvRemoteConfig(int lHandle, Pointer lpInBuff, int dwInBuffSize, Pointer lpOutBuff, int dwOutBuffSize, IntByReference dwOutDataLen);
+
+ boolean NET_DVR_StopRemoteConfig(int lHandle);
+
+ boolean NET_DVR_RemoteControl(int lUserID, int dwCommand, Pointer lpInBuffer, int dwInBufferSize);
+
+ boolean NET_DVR_STDXMLConfig(int lUserID, NET_DVR_XML_CONFIG_INPUT lpInputParam, NET_DVR_XML_CONFIG_OUTPUT lpOutputParam);
+
+ boolean NET_DVR_GetSTDAbility(int lUserID, int dwAbilityType, NET_DVR_STD_ABILITY lpAbilityParam);
+
+ boolean NET_DVR_GetDeviceAbility(int lUserID, int dwAbilityType, Pointer pInBuf, int dwInLength, Pointer pOutBuf, int dwOutLength);
+
+ boolean NET_DVR_ControlGateway(int lUserID, int lGatewayIndex, int dwStaic);
+
+ boolean NET_DVR_InquestStartCDW_V30(int lUserID, NET_DVR_INQUEST_ROOM lpInquestRoom, boolean bNotBurn);
+
+ boolean NET_DVR_InquestStopCDW_V30(int lUserID, NET_DVR_INQUEST_ROOM lpInquestRoom, boolean bCancelWrite);
+
+ boolean NET_DVR_GetArrayList(int lUserID, NET_DVR_ARRAY_LIST lpArrayList);
+
+ int NET_DVR_InquestResumeEvent(int lUserID, NET_DVR_INQUEST_RESUME_EVENT lpResumeEvent);
+
+ boolean NET_DVR_InquestGetResumeProgress(int lHandle, IntByReference pState);
+
+ boolean NET_DVR_InquestStopResume(int lHandle);
+
+ boolean NET_DVR_GetLocalIP(byte[] strIP, IntByReference pValidNum, boolean pEnableBind);
+
+ boolean NET_DVR_SetValidIP(int dwIPIndex, boolean bEnableBind);
+
+ boolean NET_DVR_AlarmHostAssistantControl(int lUserID, int dwType, int dwNumber, int dwCmdParam);
+
+ boolean NET_DVR_GetPlanList(int lUserID, int dwDevNum, NET_DVR_PLAN_LIST lpPlanList);
+
+ int NET_DVR_UploadFile_V40(int lUserID, int dwUploadType, Pointer lpInBuffer, int dwInBufferSize, String sFileName, Pointer lpOutBuffer, int dwOutBufferSize);
+
+ int NET_DVR_UploadSend(int lUploadHandle, NET_DVR_SEND_PARAM_IN pstruSendParamIN, Pointer lpOutBuffer);
+
+ int NET_DVR_GetUploadState(int lUploadHandle, Pointer pProgress);
+
+ boolean NET_DVR_GetUploadResult(int lUploadHandle, Pointer lpOutBuffer, int dwOutBufferSize);
+
+ boolean NET_DVR_UploadClose(int lUploadHandle);
+
+ int NET_DVR_StartNetworkFlowTest(int lUserID, NET_DVR_FLOW_TEST_PARAM pFlowTest, FLOWTESTCALLBACK fFlowTestCallback, Pointer pUser);
+
+ boolean NET_DVR_StopNetworkFlowTest(int lHandle);
+
+ boolean NET_DVR_InquiryRecordTimeSpan(int lUserID, int dwChannel, NET_DVR_RECORD_TIME_SPAN_INQUIRY lpInquiry, NET_DVR_RECORD_TIME_SPAN lpResult);
+
+ boolean NET_DVR_StartGetDevState(NET_DVR_CHECK_DEV_STATE pParams);
+
+ //gps鐩稿叧缁撴瀯瀹氫箟
+ public static class TimeSegParam extends Structure {
+ //GPS鏁版嵁鏌ユ壘璧峰鏃堕棿
+ public NET_DVR_TIME struBeginTime;
+ //GPS鏁版嵁鏌ユ壘缁撴潫鏃堕棿
+ public NET_DVR_TIME struEndTime;
+ //GPS鐐规椂闂撮棿闅旓紝鍗曚綅锛氱
+ public int dwInterval;
+ //淇濈暀
+ public byte[] byRes = new byte[76];
+ }
+
+ //鎸夋椂闂寸偣鏌ヨ
+ public static class TimePointParam extends Structure {
+ //GPS鏁版嵁鏌ユ壘鏃堕棿鐐
+ public NET_DVR_TIME struTimePoint;
+ //淇濈暀
+ public byte[] byRes = new byte[104];
+ }
+
+ public static class GpsDataParamUion extends Union {
+ //鎸夋椂闂存鏌ヨ
+ public TimeSegParam timeSeg = new TimeSegParam();
+ //鎸夋椂闂寸偣鏌ヨ
+ public TimePointParam timePoint = new TimePointParam();
+ }
+
+ //gps鏌ヨ鍙傛暟瀹氫箟
+ public static class NET_DVR_GET_GPS_DATA_PARAM extends Structure {
+ //鏌ユ壘鏂瑰紡锛0- 鎸夋椂闂存鏌ユ壘GPS鏁版嵁锛1- 鎸夋椂闂寸偣鏌ユ壘GPS鏁版嵁
+ public int dwCmdType;
+ public GpsDataParamUion gpsDataParam;
+
+ public void read() {
+ super.read();
+ switch (dwCmdType) {
+ case 0:
+ gpsDataParam.setType(TimeSegParam.class);
+ break;
+ case 1:
+ gpsDataParam.setType(TimePointParam.class);
+ break;
+ default:
+ break;
+ }
+ gpsDataParam.read();
+ }
+
+ public void write() {
+ super.write();
+ gpsDataParam.write();
+ }
+ }
+
+ //gps鏁版嵁缁撴瀯瀹氫箟
+ public static class NET_DVR_GPS_INFO extends Structure {
+ public byte[] byDirection = new byte[2];
+ public byte bySvs;
+ public byte byLocateMode;
+ public short wHDOP;
+ public short wHeight;
+ public int dwLatitude;
+ public int dwLongitude;
+ public int dwVehicleSpeed;
+ public int dwVehicleDirection;
+ public byte[] byRes = new byte[8];
+ }
+
+ //gps杩斿洖鏁版嵁缁撴瀯瀹氫箟
+ public static class NET_DVR_GPS_DATA extends Structure {
+ public NET_DVR_GPS_INFO struGPSInfo;
+ public NET_DVR_TIME struTime;
+ public byte[] byRes = new byte[12];
+ }
+
+ public static interface fGPSDataCallback extends Callback {
+ public void invoke(int nHandle, int dwState, Pointer lpBuffer, int dwBufLen, Pointer pUser);
+ }
+
+ int NET_DVR_GetVehicleGpsInfo(int lUserID, NET_DVR_GET_GPS_DATA_PARAM lpGPSDataParam, fGPSDataCallback cbGPSDataCallBack, Pointer pUser);
+
+ /**
+ * 鐑垚鍍忕浉鍏
+ */
+ //璁惧鎶撳浘闄勫姞鍏ㄥ睆娴嬫俯鏁版嵁缁撴瀯浣
+ public static class NET_DVR_JPEGPICTURE_WITH_APPENDDATA extends Structure {
+ public int dwSize;
+ public int dwChannel;//閫氶亾鍙
+ public int dwJpegPicLen;//Jpeg鍥剧墖闀垮害
+ public Pointer pJpegPicBuff;//Jpeg鍥剧墖鎸囬拡
+ public int dwJpegPicWidth; // 鍥惧儚瀹藉害
+ public int dwJpegPicHeight; //鍥惧儚楂樺害
+ public int dwP2PDataLen;//鍏ㄥ睆娴嬫俯鏁版嵁闀垮害
+ public Pointer pP2PDataBuff; //鍏ㄥ睆娴嬫俯鏁版嵁鎸囬拡
+ public byte byIsFreezedata;//鏄惁鏁版嵁鍐荤粨 0-鍚 1-鏄
+ public byte[] byRes = new byte[255];
+ }
+
+
+ public static class DATE_TIME extends Structure {
+ public short year; /*APP->DSP 骞*/
+ public short month; /*APP->DSP 鏈*/
+ public short dayOfWeek; /*APP->DSP 0:鏄熸湡鏃-6:鏄熸湡鍏*/
+ public short day; /*APP->DSP 鏃*/
+ public short hour; /*APP->DSP 灏忔椂*/
+ public short minute; /*APP->DSP 鍒嗛挓*/
+ public short second; /*APP->DSP 绉*/
+ public short milliSecond; /*APP->DSP 姣*/
+ }
+
+ //鍏ㄥ睆娴嬫俯鏁版嵁瑙f瀽
+ public static class STREAM_RT_DATA_INFO_S extends Structure {
+ public int u32RTDataType; // 1-14bit瑁告暟鎹; 2-鍏ㄥ睆娴嬫俯缁撴灉鏁版嵁; 3-YUV鏁版嵁
+ public int u32FrmNum;
+ public int u32StdStamp; //DSP鐩稿鏃堕棿鎴
+ public DATE_TIME stTime; //缁濆鏃堕棿鎴
+ public int u32Width;
+ public int u32Height;
+ public int u32Len;
+ public int u32Fps;
+ public int u32Chan;
+ }
+
+ public static class STREAM_FS_SUPPLE_INFO_TEMP extends Structure {
+ public int u32TmDataMode; /* 0涓4瀛楄妭锛1涓2瀛楄妭 */
+ public int u32TmScale; /* 娴嬫俯缂╂斁姣斾緥 */
+ public int u32TmOffset; /* 娴嬫俯鍋忕Щ閲忥紝褰撳墠鍥哄畾涓0 */
+ public int byIsFreezedata; /*鏄惁鏄喕缁撴暟鎹紝1:鍐荤粨锛0:闈炲喕缁*/
+ }
+
+ public static class STREAM_FARME_INFO_TEMP extends Structure {
+ public int u32MagicNo; //0x70827773 "FRMI"鐨刟scii鐮
+ public int u32HeaderSize; //缁撴瀯浣撻暱搴
+ public int u32StreamType; //鏁版嵁绫诲瀷锛 h264/h265, JPEG, Audio, MetaData, RTData: 鍙傝 STREAM_TYPE_E
+ public int u32StreamLen; //鏁版嵁闀垮害
+ public STREAM_RT_DATA_INFO_S stRTDataInfo;
+ public STREAM_FS_SUPPLE_INFO_TEMP stFsSuppleInfo;
+ public int[] res = new int[12];
+ public int u32CrcVal; //缁撴瀯浣撴牎楠岀爜 瀵圭粨鏋勪綋鍓嶉潰鏁版嵁杩涜鏍¢獙
+ }
+
+ //娴嬫俯瑙勫垯娓╁害淇℃伅
+ public static class NET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO extends Structure {
+ public float fMaxTemperature;
+ public float fMinTemperature;
+ public float fAverageTemperature;
+ public NET_VCA_POINT struHighestPoint;
+ public NET_VCA_POINT struLowestPoint;
+ public byte byIsFreezedata;
+ public byte[] byRes = new byte[15];
+ }
+
+ public static class REMOTECONFIGSTATUS_THERMOMETRY extends Structure {
+ public byte[] byStatus = new byte[4];
+ public byte[] byErrorCode = new byte[4];
+ }
+
+ public static class NET_DVR_FIREDETECTION_ALARM extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public int dwRelativeTime; //鐩稿鏃舵爣
+ public int dwAbsTime; //缁濆鏃舵爣
+ public NET_VCA_DEV_INFO struDevInfo; //鍓嶇璁惧淇℃伅
+ public short wPanPos;
+ public short wTiltPos;
+ public short wZoomPos;
+ public byte byPicTransType; //鍥剧墖鏁版嵁浼犺緭鏂瑰紡: 0-浜岃繘鍒讹紱1-url
+ public byte byRes1;
+ public int dwPicDataLen; //鎶ヨ鎶撴媿鍥剧墖闀垮害
+ public Pointer pBuffer; //鏁版嵁鎸囬拡
+ public NET_VCA_RECT struRect; //鐏偣妗
+ public NET_VCA_POINT struPoint; //鐏偣妗嗗唴鏈楂樻俯搴︾偣鍧愭爣
+ public short wFireMaxTemperature; //鐏偣鏈楂樻俯搴300鈩儈4000鈩僝
+ public short wTargetDistance; //鐩爣璺濈[100m ~ 10000m]
+ public byte byStrategyType; //绛栫暐绫诲瀷锛0~浠绘剰鎶ヨ锛1~鍗忓悓鎶ヨ锛2~澶氱郴缁熸姤璀︼紝3~鎸囧畾鐏偣鎶ヨ锛4~鎸囧畾鐑熼浘鎶ヨ
+ public byte byAlarmSubType; //鎶ヨ瀛愮被鍨嬨0~鐏偣妫娴嬫姤璀︼紝1~鐑熼浘妫娴嬫姤璀︼紝2~鐑熺伀鎶ヨ
+ /*鏄惁鍚敤PTZ鍧愭爣鎵╁睍锛
+ 0~涓嶅惎鐢紝PTZ鍧愭爣鍊间互wPanPos銆亀TiltPos銆亀ZoomPos涓哄噯銆
+ 1~鍚敤锛孭TZ鍧愭爣鍊间互struPtzPosEx涓哄噯銆備絾鏄柊鑰丳TZ閮介渶杩斿洖銆俿truPtzPosEx鐨勫奸渶杞寲涓簑PanPos銆亀TiltPos銆亀ZoomPos鍊笺
+ */
+ public byte byPTZPosExEnable;
+ public byte byRes2;
+ public NET_PTZ_INFO struPtzPosEx; // ptz鍧愭爣鎵╁睍(鏀寔楂樼簿搴TZ鍊硷紝绮剧‘鍒板皬鏁扮偣鍚庝笁浣)
+ public int dwVisiblePicLen; // 鍙鍏夊浘鐗囬暱搴
+ public Pointer pVisiblePicBuf; // 鍙鍏夊浘鐗囨暟鎹寚閽
+ // pSmokeBuf鍙傛暟褰揵yAlarmSubType鎶ヨ瀛愮被鍨嬩负1锛堢儫闆炬娴嬫姤璀︼級銆2锛堢儫鐏姤璀︼級鏃剁敓鏁堛
+ public Pointer pSmokeBuf; //鐑熼浘妫娴嬫姤璀︽暟鎹寚閽堬紝鎸囧悜涓涓狽ET_DVR_SMOKEDETECTION_ALARM缁撴瀯浣
+ public short wDevInfoIvmsChannelEx; //涓嶯ET_VCA_DEV_INFO閲岀殑byIvmsChannel鍚箟鐩稿悓锛岃兘琛ㄧず鏇村ぇ鐨勫笺傝佸鎴风鐢╞yIvmsChannel鑳界户缁吋瀹癸紝浣嗘槸鏈澶у埌255銆傛柊瀹㈡埛绔増鏈浣跨敤wDevInfoIvmsChannelEx銆
+ public byte byRes3;
+ public byte byFireScanWaitMode; //鐏偣鎵弿绛夊緟妯″紡 0-鑷姩 1-鎵嬪姩
+ public int dwVisibleChannel; //鍙鍏夐氶亾閫氶亾鍙
+ public byte byTimeDiffFlag; //鏃跺樊瀛楁鏄惁鏈夋晥 0-鏃跺樊鏃犳晥锛 1-鏃跺樊鏈夋晥
+ public char cTimeDifferenceH; //涓嶶TC鐨勬椂宸紙灏忔椂锛夛紝-12 ... +14锛 +琛ㄧず涓滃尯,锛宐yTimeDiffFlag涓1鏃舵湁鏁
+ public char cTimeDifferenceM; //涓嶶TC鐨勬椂宸紙鍒嗛挓锛夛紝-30, 30, 45锛 +琛ㄧず涓滃尯锛宐yTimeDiffFlag涓1鏃舵湁鏁
+ public byte[] byRes = new byte[49];
+ }
+
+ //妯″潡鏈嶅姟閰嶇疆缁撴瀯浣
+ public static class NET_DVR_DEVSERVER_CFG extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public byte byIrLampServer; //绾㈠鐏缃細0- 绂佺敤锛1- 鍚敤
+ public byte bytelnetServer; //telnet璁剧疆锛0- 绂佺敤锛1- 鍚敤
+ public byte byABFServer; //ABF璁剧疆锛0- 鍚敤锛1- 绂佺敤锛岃娉ㄦ剰姝ゅ鍙傛暟鍙栧0銆1鍜屽叾浠栧弬鏁板彇鍊煎惈涔変笉鍚
+ public byte byEnableLEDStatus; //鐘舵佹寚绀虹伅鎺у埗锛0- 绂佺敤锛1- 鍚敤
+ public byte byEnableAutoDefog; //鑷姩闄ら浘鎺у埗锛0- 鍚敤锛1- 绂佺敤锛岃娉ㄦ剰姝ゅ鍙傛暟鍙栧0銆1鍜屽叾浠栧弬鏁板彇鍊煎惈涔変笉鍚
+ public byte byEnableSupplementLight; //琛ュ厜鐏帶鍒讹細0- 鍚敤锛1- 绂佺敤锛岃娉ㄦ剰姝ゅ鍙傛暟鍙栧0銆1鍜屽叾浠栧弬鏁板彇鍊煎惈涔変笉鍚
+ public byte byEnableDeicing; //闄ゅ啺鍔熻兘锛0- 鍏抽棴锛1- 寮鍚
+ public byte byEnableVisibleMovementPower; //鍙鍏夋満鑺數婧愬紑鍏(浣庡姛鑰楁ā寮忎笅鏈夋晥)锛0- 鍏抽棴锛1- 寮鍚
+ public byte byEnableThermalMovementPower; //鐑垚鍍忔満鑺數婧愬紑鍏(浣庡姛鑰楁ā寮忎笅鏈夋晥)锛0- 鍏抽棴锛1- 寮鍚
+ public byte byEnablePtzPower; //浜戝彴鐢垫簮寮鍏(浣庡姛鑰楁ā寮忎笅鏈夋晥)锛0- 鍏抽棴锛1- 寮鍚
+ public byte byPowerSavingControl; //浣庡姛鑰楃瓥鐣ワ細0- 淇濈暀锛1- 浼戠湢妯″紡锛2-浣庡姛鑰楁ā寮(浣庡姛鑰楁ā寮忎笅锛屽彲瑙佸厜鏈鸿姱鐢垫簮銆佺儹鎴愬儚鏈鸿姱鐢垫簮銆佷簯鍙扮數婧愭帶鍒剁敓鏁堬級
+ public byte byCaptureWithSupplimentLightEnabled; //鍚敤鎶撴媿琛ュ厜浣胯兘 0-鍏抽棴锛1-寮鍚
+ public byte[] byRes = new byte[244]; //淇濈暀锛岀疆涓0
+ }
+
+ public static final int MAX_UPLOADFILE_URL_LEN = 240;
+ public static final int IMPORT_DATA_TO_FACELIB = 39; //瀵煎叆浜鸿劯鏁版嵁锛堜汉鑴稿浘鐗+鍥剧墖闄勪欢淇℃伅 鍒拌澶囦汉鑴稿簱锛
+
+ public static class NET_DVR_UPLOAD_FILE_RET extends Structure {
+
+ public byte[] sUrl = new byte[MAX_UPLOADFILE_URL_LEN]; //url
+ public byte[] byRes = new byte[260];
+ }
+
+ public static class NET_DVR_FLOW_TEST_PARAM extends Structure {
+ public int dwSize; //缁撴瀯澶у皬
+ public int lCardIndex; //缃戝崱绱㈠紩
+ public int dwInterval; //璁惧涓婁紶娴侀噺鏃堕棿闂撮殧, 鍗曚綅:100ms
+ public byte[] byRes = new byte[8]; //淇濈暀瀛楄妭
+ }
+
+ public static class NET_DVR_RECORD_TIME_SPAN_INQUIRY extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public byte byType; //0 姝e父闊宠棰戝綍鍍, 1鍥剧墖閫氶亾褰曞儚, 2ANR閫氶亾褰曞儚, 3鎶藉抚閫氶亾褰曞儚
+ public byte[] byRes = new byte[63];
+ }
+
+ public static class NET_DVR_RECORD_TIME_SPAN extends Structure {
+ public int dwSize; //缁撴瀯浣撳ぇ灏
+ public NET_DVR_TIME strBeginTime; //寮濮嬫椂闂
+ public NET_DVR_TIME strEndTime; //缁撴潫鏃堕棿
+ public byte byType; //0 姝e父闊宠棰戝綍鍍, 1鍥剧墖閫氶亾褰曞儚, 2ANR閫氶亾褰曞儚, 3鎶藉抚閫氶亾褰曞儚
+ public byte[] byRes = new byte[35]; //淇濈暀
+ }
+
+ /*
+ * 鏈堝巻褰曞儚鍒嗗竷鏌ヨ鏉′欢缁撴瀯浣
+ */
+ public static class NET_DVR_MRD_SEARCH_PARAM extends Structure {
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public NET_DVR_STREAM_INFO struStreamInfo = new NET_DVR_STREAM_INFO(); // 甯冮槻鐐
+ public short wYear; // 骞
+ public byte byMonth; // 鏈
+ public byte byDrawFrame; // 0-涓嶆娊甯 1-鎶藉抚
+ public byte byStreamType; //0-涓荤爜娴 1-瀛愮爜娴
+ public byte byLocalOrUTC; //0-璁惧鏈湴鏃跺尯 1-UTC
+ public byte[] byRes = new byte[30];
+ }
+
+ /*
+ * 鏈堝巻褰曞儚鍒嗗竷鏌ヨ缁撴灉缁撴瀯浣
+ */
+ public static class NET_DVR_MRD_SEARCH_RESULT extends Structure {
+
+ public int dwSize; // 缁撴瀯浣撳ぇ灏
+ public byte[] byRecordDistribution = new byte[32]; // 褰曞儚鍒嗗竷锛宐yRecordDistribution[0]=1琛ㄧず1鏃ュ瓨鍦ㄥ綍鍍忥紝byRecordDistribution[0]=0琛ㄧず娌℃湁褰曞儚锛宐yRecordDistribution[1]琛ㄧず2鏃ワ紝浠ユ绫绘帹
+ public byte[] byHasEventRecode = new byte[31]; //浜嬩欢褰曞儚 0-鏃犱簨浠跺綍鍍忥紝1-鏈変簨浠跺綍鍍
+ public byte byRes; //淇濈暀
+ }
+
+ public static final int NET_DVR_GET_GISINFO = 3711;
+ //GIS淇℃伅
+
+ public static class NET_DVR_GIS_INFO extends Structure {
+ public int dwSize;
+ public float fAzimuth;
+ public float fHorizontalValue;
+ public float fVerticalValue;
+ public float fVisibleRadius;
+ public float fMaxViewRadius;
+ public byte byLatitudeType;
+ public byte byLongitudeType;
+ public byte byPTZPosExEnable;
+ public byte byRes1;
+ public NET_DVR_LLI_PARAM struLatitude = new NET_DVR_LLI_PARAM();
+ public NET_DVR_LLI_PARAM struLongitude = new NET_DVR_LLI_PARAM();
+ public NET_DVR_PTZPOS_PARAM struPtzPos = new NET_DVR_PTZPOS_PARAM();
+ public NET_DVR_SENSOR_PARAM struSensorParam = new NET_DVR_SENSOR_PARAM();
+ public NET_PTZ_INFO struPtzPosEx = new NET_PTZ_INFO();
+ public float fMinHorizontalValue;
+ public float fMaxHorizontalValue;
+ public float fMinVerticalValue;
+ public float fMaxVerticalValue;
+ public byte[] byRes = new byte[220];
+ }
+
+ //GBT28181鍗忚鐨勮澶囩紪鐮侀氶亾閰嶇疆
+ public static class NET_DVR_GBT28181_CHANINFO_CFG extends Structure {
+ public int dwSize;
+ public byte[] szVideoChannelNumID = new byte[64];//璁惧瑙嗛閫氶亾缂栫爜ID锛64瀛楄妭瀛楃涓诧紝浠呴檺鏁板瓧
+ public byte[] byRes = new byte[256];
+ }
+
+ // 宸¤埅璺緞閰嶇疆鏉′欢缁撴瀯浣
+ public static class NET_DVR_CRUISEPOINT_COND extends Structure {
+ public int dwSize;
+ public int dwChan;
+ public short wRouteNo;
+ public byte[] byRes = new byte[30];
+ }
+
+ // 宸¤埅璺緞閰嶇疆缁撴瀯浣
+ public static class NET_DVR_CRUISEPOINT_V40 extends Structure {
+ public int dwSize;
+ public NET_DVR_CRUISEPOINT_PARAM[] struCruisePoint = (NET_DVR_CRUISEPOINT_PARAM[]) new NET_DVR_CRUISEPOINT_PARAM().toArray(128);
+ public byte[] byRes = new byte[64];
+ }
+
+ // 宸¤埅璺緞閰嶇疆缁撴瀯浣
+ public static class NET_DVR_CRUISEPOINT_V50 extends Structure {
+ public int dwSize;
+ public NET_DVR_CRUISEPOINT_PARAM[] struCruisePoint = (NET_DVR_CRUISEPOINT_PARAM[]) new NET_DVR_CRUISEPOINT_PARAM().toArray(256);
+ public byte[] byRes = new byte[64];
+ }
+
+ // 宸¤埅鐐瑰弬鏁扮粨鏋勪綋
+ public static class NET_DVR_CRUISEPOINT_PARAM extends Structure {
+ public short wPresetNo;
+ public short wDwell;
+ public byte bySpeed;
+ public byte bySupport256PresetNo;
+ public byte[] byRes = new byte[6];
+ }
+}
+
+//鎾斁搴撳嚱鏁板0鏄,PlayCtrl.dll
+interface PlayCtrl extends Library {
+ public static final int STREAME_REALTIME = 0;
+ public static final int STREAME_FILE = 1;
+
+ boolean PlayM4_GetPort(IntByReference nPort);
+
+ boolean PlayM4_OpenStream(int nPort, ByteByReference pFileHeadBuf, int nSize, int nBufPoolSize);
+
+ boolean PlayM4_InputData(int nPort, ByteByReference pBuf, int nSize);
+
+ boolean PlayM4_CloseStream(int nPort);
+
+ boolean PlayM4_SetStreamOpenMode(int nPort, int nMode);
+
+ boolean PlayM4_Play(int nPort, HWND hWnd);
+
+ boolean PlayM4_Stop(int nPort);
+
+ boolean PlayM4_SetSecretKey(int nPort, int lKeyType, String pSecretKey, int lKeyLen);
+
+ boolean PlayM4_GetPictureSize(int nPort, IntByReference pWidth, IntByReference pHeight);
+
+ boolean PlayM4_GetJPEG(int nPort, Pointer pBitmap, int nBufSize, IntByReference pBmpSize);
+
+ int PlayM4_GetLastError(int nPort);
+
+ boolean PlayM4_SetDecCallBackExMend(int nPort, DecCallBack decCBFun, Pointer pDest, int nDestSize, int nUser);
+
+ public static interface DecCallBack extends Callback {
+ void invoke(int nPort, Pointer pBuf, int nSize, FRAME_INFO pFrameInfo, int nReserved1, int nReserved2);
+ }
+
+ public class FRAME_INFO extends Structure {
+ public int nWidth; /* 鐢婚潰瀹斤紝鍗曚綅鍍忕礌銆傚鏋滄槸闊抽鏁版嵁锛屽垯涓洪煶棰戝0閬撴暟 */
+ public int nHeight; /* 鐢婚潰楂橈紝鍗曚綅鍍忕礌銆傚鏋滄槸闊抽鏁版嵁锛屽垯涓烘牱浣嶇巼 */
+ public int nStamp; /* 鏃舵爣淇℃伅锛屽崟浣嶆绉 */
+ public int nType; /* 鏁版嵁绫诲瀷锛孴_AUDIO16, T_RGB32, T_YV12 */
+ public int nFrameRate; /* 缂栫爜鏃朵骇鐢熺殑鍥惧儚甯х巼锛屽鏋滄槸闊抽鏁版嵁鍒欎负閲囨牱鐜 */
+ public int dwFrameNum; /* 甯у彿 */
+ }
+
+}
+
+//windows gdi鎺ュ彛,gdi32.dll in system32 folder, 鍦ㄨ缃伄鎸″尯鍩,绉诲姩渚︽祴鍖哄煙绛夋儏鍐典笅浣跨敤
+interface GDI32 extends W32API {
+ GDI32 INSTANCE = (GDI32) Native.loadLibrary("gdi32", GDI32.class, DEFAULT_OPTIONS);
+
+ public static final int TRANSPARENT = 1;
+
+ int SetBkMode(HDC hdc, int i);
+
+ HANDLE CreateSolidBrush(int icolor);
+}
+
+//windows user32鎺ュ彛,user32.dll in system32 folder, 鍦ㄨ缃伄鎸″尯鍩,绉诲姩渚︽祴鍖哄煙绛夋儏鍐典笅浣跨敤
+interface USER32 extends W32API {
+
+ USER32 INSTANCE = (USER32) Native.loadLibrary("user32", USER32.class, DEFAULT_OPTIONS);
+
+ public static final int BF_LEFT = 0x0001;
+ public static final int BF_TOP = 0x0002;
+ public static final int BF_RIGHT = 0x0004;
+ public static final int BF_BOTTOM = 0x0008;
+ public static final int BDR_SUNKENOUTER = 0x0002;
+ public static final int BF_RECT = (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM);
+
+ boolean DrawEdge(HDC hdc, com.sun.jna.examples.win32.GDI32.RECT qrc, int edge, int grfFlags);
+
+ int FillRect(HDC hDC, com.sun.jna.examples.win32.GDI32.RECT lprc, HANDLE hbr);
+}
+
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HikApi.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HikApi.java
new file mode 100644
index 00000000..574da875
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HikApi.java
@@ -0,0 +1,20 @@
+package org.dromara.sis.sdk.hik;
+
+public interface HikApi {
+
+
+ Boolean login(String ip, short port, String user, String psw);
+
+
+ void getAcsStatus(String deviceIp);
+
+
+ Boolean controlGateway(String deviceIp, Integer floorNum, Integer cmd);
+
+ /**
+ * 璁惧鐧诲嚭
+ *
+ * @param deviceIp 璁惧ip
+ */
+ Boolean loginOut(String deviceIp);
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HikApiService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HikApiService.java
new file mode 100644
index 00000000..7985b4f2
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/HikApiService.java
@@ -0,0 +1,103 @@
+package org.dromara.sis.sdk.hik;
+
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.service.DoorService;
+import org.dromara.sis.sdk.hik.service.LoginService;
+import org.dromara.sis.sdk.hik.service.SdkBaseServer;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+@Slf4j
+public class HikApiService {
+
+ private HikApiService() {
+ }
+
+ private static volatile HikApiService instance;
+
+ public static HikApiService getInstance() {
+ if (instance == null) {
+ synchronized (HikApiService.class) {
+ if (instance == null) {
+ instance = new HikApiService();
+ }
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * 缂撳瓨璁惧鐧诲綍鍙ユ焺鐨刴ap
+ */
+ private static final ConcurrentHashMap CACHE = new ConcurrentHashMap<>(16);
+
+ /**
+ * 鎵цhiksdk鐧诲綍
+ *
+ * @param ip 璁惧ip
+ * @param port 璁惧绔彛
+ * @param user 璁惧璐﹀彿
+ * @param psw 璁惧瀵嗙爜
+ * @return 杩斿洖浼氬惁鐧诲綍鎴愬姛
+ */
+ public Boolean login(String ip, short port, String user, String psw) {
+ int i = LoginService.loginDevice(ip, port, user, psw);
+ boolean result = (i != SdkBaseServer.LOGIN_FAIL_CODE);
+ if (result) {
+ CACHE.put(ip, i);
+ }
+ return result;
+ }
+
+ /**
+ * 鑾峰彇姊帶涓绘満宸ヤ綔鐘舵
+ *
+ * @param deviceIp 璁惧ip
+ */
+ public void getAcsStatus(String deviceIp) {
+ // 鑾峰彇鐧诲綍鍙ユ焺
+ Integer lHandel = CACHE.get(deviceIp);
+ if (lHandel == null) {
+ log.error("璁惧[{}]涓嶅湪绾, 鏃犳硶鐧诲嚭銆", deviceIp);
+ return;
+ }
+ return;
+ }
+
+ /**
+ * 杩滅▼姊帶
+ *
+ * @param deviceIp 璁惧ip
+ * @param floorNum 鐢垫灞傛暟缂栧彿 浠1寮濮,-1浠h〃鎵鏈
+ * @param cmd 鎺у埗鎸囦护
+ * 0- 鍏抽棴锛堝浜庢鎺э紝琛ㄧず鍙楁帶锛夛紝
+ * 1- 鎵撳紑锛堝浜庢鎺э紝琛ㄧず寮闂級锛
+ * 2- 甯稿紑锛堝浜庢鎺э紝琛ㄧず鑷敱銆侀氶亾鐘舵侊級,
+ * 3- 甯稿叧锛堝浜庢鎺э紝琛ㄧず绂佺敤锛夛紝
+ * 4- 鎭㈠锛堟鎺э紝鏅氱姸鎬侊級锛
+ * 5- 璁垮鍛兼锛堟鎺э級锛
+ * 6- 浣忔埛鍛兼锛堟鎺э級
+ */
+ public Boolean controlGateway(String deviceIp, Integer floorNum, Integer cmd) {
+ // 鑾峰彇鐧诲綍鍙ユ焺
+ Integer lHandel = CACHE.get(deviceIp);
+ if (lHandel == null) {
+ log.error("璁惧[{}]涓嶅湪绾, 鏃犳硶杩涜姊帶鎿嶄綔銆", deviceIp);
+ return false;
+ }
+ return DoorService.controlGateway(lHandel, floorNum, cmd);
+ }
+
+ public Boolean loginOut(String deviceIp) {
+ Integer lHandel = CACHE.get(deviceIp);
+ if (lHandel == null) {
+ log.error("璁惧[{}]涓嶅湪绾, 鏃犳硶鐧诲嚭銆", deviceIp);
+ return true;
+ }
+ boolean logout = LoginService.logout(lHandel);
+ if (logout) {
+ CACHE.remove(deviceIp);
+ }
+ return logout;
+ }
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/calback/HikDevWorkStateCallBack.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/calback/HikDevWorkStateCallBack.java
new file mode 100644
index 00000000..80121069
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/calback/HikDevWorkStateCallBack.java
@@ -0,0 +1,29 @@
+package org.dromara.sis.sdk.hik.calback;
+
+import com.alibaba.fastjson2.JSON;
+import com.sun.jna.Pointer;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.HCNetSDK;
+import org.springframework.stereotype.Component;
+
+/**
+ * 璁惧鐘舵佷俊鎭殑鍥炶皟
+ * 璁惧宸℃煡鍥炶皟
+ *
+ * @author xukai
+ */
+@Slf4j
+@Component
+public class HikDevWorkStateCallBack implements HCNetSDK.DEV_WORK_STATE_CB {
+
+ @Override
+ public boolean invoke(Pointer pUserdata, int iUserID, HCNetSDK.NET_DVR_WORKSTATE_V40 lpWorkState) {
+ if (lpWorkState == null) {
+ log.info("lpWorkState涓簄ull");
+ return false;
+ }
+ lpWorkState.read();
+ log.info(JSON.toJSONString(lpWorkState));
+ return true;
+ }
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/common/ErrorCode.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/common/ErrorCode.java
new file mode 100644
index 00000000..40be0c04
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/common/ErrorCode.java
@@ -0,0 +1,57 @@
+package org.dromara.sis.sdk.hik.common;
+
+/**
+ * @Author: jiangxin14
+ * @Date: 2024-08-09 14:13
+ */
+
+public enum ErrorCode {
+ NET_ERR_TIME_OVERLAP(1900, "鏃堕棿娈甸噸鍙"),
+ NET_ERR_HOLIDAY_PLAN_OVERLAP(1901, "鍋囨棩璁″垝閲嶅彔"),
+ NET_ERR_CARDNO_NOT_SORT(1902, "鍗″彿鏈帓搴"),
+ NET_ERR_CARDNO_NOT_EXIST(1903, "鍗″彿涓嶅瓨鍦"),
+ NET_ERR_ILLEGAL_CARDNO(1904, "鍗″彿閿欒"),
+ NET_ERR_ZONE_ALARM(1905, "闃插尯澶勪簬甯冮槻鐘舵(鍙傛暟淇敼涓嶅厑璁)"),
+ NET_ERR_NOT_SUPPORT_ONE_MORE_CARD ( 1920,"涓嶆敮鎸佷竴浜哄鍗"),
+ NET_ERR_DELETE_NO_EXISTENCE_FACE(1921,"鍒犻櫎鐨勪汉鑴镐笉瀛樺湪"),
+ NET_ERR_OFFLINE_CAPTURING(1929, "绂荤嚎閲囬泦涓紝鏃犳硶鍝嶅簲"),
+ NET_DVR_ERR_OUTDOOR_COMMUNICATION(1950, "涓庨棬鍙f満閫氫俊寮傚父"),
+ NET_DVR_ERR_ROOMNO_UNDEFINED(1951, "鏈缃埧闂村彿"),
+ NET_DVR_ERR_NO_CALLING(1952, "鏃犲懠鍙"),
+ NET_DVR_ERR_RINGING(1953, "鍝嶉搩"),
+ NET_DVR_ERR_IS_CALLING_NOW(1954, "姝e湪閫氳瘽"),
+ NET_DVR_ERR_LOCK_PASSWORD_WRONG(1955, "鏅鸿兘閿佸瘑鐮侀敊璇"),
+ NET_DVR_ERR_CONTROL_LOCK_FAILURE(1956, "寮鍏抽攣澶辫触"),
+ NET_DVR_ERR_CONTROL_LOCK_OVERTIME(1957, "寮鍏抽攣瓒呮椂"),
+ NET_DVR_ERR_LOCK_DEVICE_BUSY(1958, "鏅鸿兘閿佽澶囩箒蹇"),
+ NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION(1959, "杩滅▼寮閿佸姛鑳芥湭鎵撳紑");
+
+
+ private final int code;
+ private final String description;
+
+ ErrorCode(int code, String description) {
+ this.code = code;
+ this.description = description;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ // 鏍规嵁閿欒鐮佽幏鍙栨弿杩扮殑鏂规硶
+ public static String getDescription(int code) {
+ for (ErrorCode errorCode : ErrorCode.values()) {
+ if (errorCode.getCode() == code) {
+ return errorCode.getDescription();
+ }
+ }
+ return "鏈煡閿欒鐮";
+ }
+ }
+
+
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/common/osSelect.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/common/osSelect.java
new file mode 100644
index 00000000..60a5ad16
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/common/osSelect.java
@@ -0,0 +1,12 @@
+package org.dromara.sis.sdk.hik.common;
+
+public class osSelect {
+
+ public static boolean isLinux() {
+ return System.getProperty("os.name").toLowerCase().contains("linux");
+ }
+
+ public static boolean isWindows() {
+ return System.getProperty("os.name").toLowerCase().contains("windows");
+ }
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/AcsService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/AcsService.java
new file mode 100644
index 00000000..5c5a6d32
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/AcsService.java
@@ -0,0 +1,83 @@
+package org.dromara.sis.sdk.hik.service;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.sun.jna.ptr.IntByReference;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.HCNetSDK;
+
+/**
+ * 闂ㄧ璁惧绠$悊锛
+ * 1銆佽幏鍙栵紙璁剧疆锛夐棬绂佷富鏈哄弬鏁
+ * 2銆佽幏鍙栭棬绂佷富鏈哄伐浣滅姸鎬
+ */
+@Slf4j
+public class AcsService extends SdkBaseServer {
+
+ /**
+ * 鑾峰彇锛堣缃級闂ㄧ涓绘満鍙傛暟
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ */
+ public static boolean acsCfg(int lUserID) {
+ /**鑾峰彇闂ㄧ涓绘満鍙傛暟*/
+ HCNetSDK.NET_DVR_ACS_CFG struAcsCfg = new HCNetSDK.NET_DVR_ACS_CFG();
+ struAcsCfg.dwSize = struAcsCfg.size();
+ struAcsCfg.write();
+ IntByReference intByReference = new IntByReference(0);
+ boolean b_GetAcsCfg = getHcNetSDK().NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_ACS_CFG, 0xFFFFFFFF, struAcsCfg.getPointer(),
+ struAcsCfg.size(), intByReference);
+ if (!b_GetAcsCfg) {
+ log.info("鑾峰彇闂ㄧ涓绘満鍙傛暟澶辫触锛岄敊璇爜={}", getHcNetSDK().NET_DVR_GetLastError());
+ return false;
+ } else {
+ struAcsCfg.read();
+ log.info("鑾峰彇闂ㄧ涓绘満鍙傛暟鎴愬姛,result={}", JSONObject.toJSONString(struAcsCfg));
+ }
+ /**璁剧疆闂ㄧ涓绘満鍙傛暟*/
+ struAcsCfg.byShowCardNo = 1; //寮鍚樉绀哄崱鍙
+ struAcsCfg.byVoicePrompt = 0; //鍏抽棴璇煶鎻愮ず
+ struAcsCfg.byUploadCapPic = 1; //寮鍚仈鍔ㄦ姄鍥惧悗锛岃澶囦笂鎶撴媿鐨勫浘鐗囨墠浼氶氳繃鎶ヨ甯冮槻涓婁紶锛屽惁鍒欐病鏈変笉涓婁紶
+ struAcsCfg.byShowCapPic = 1;
+ struAcsCfg.write();
+ boolean b_SetAcsCfg = getHcNetSDK().NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_ACS_CFG, 0xFFFFFFFF, struAcsCfg.getPointer(), struAcsCfg.size());
+ if (!b_SetAcsCfg) {
+ log.info("璁剧疆闂ㄧ涓绘満鍙傛暟锛岄敊璇爜涓猴細{}", getHcNetSDK().NET_DVR_GetLastError());
+ }
+ return b_SetAcsCfg;
+ }
+
+ /**
+ * 鑾峰彇姊帶涓绘満宸ヤ綔鐘舵
+ * 姊帶妤煎眰鐘舵
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ */
+ public static HCNetSDK.NET_DVR_ACS_WORK_STATUS_V50 getAcsStatus(int lUserID) {
+ HCNetSDK.NET_DVR_ACS_WORK_STATUS_V50 netDvrAcsWorkStatusV50 = new HCNetSDK.NET_DVR_ACS_WORK_STATUS_V50();
+ netDvrAcsWorkStatusV50.dwSize = netDvrAcsWorkStatusV50.size();
+ netDvrAcsWorkStatusV50.write();
+ IntByReference intByReference = new IntByReference(0);
+ boolean b_GetAcsStatus = getHcNetSDK().NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_ACS_WORK_STATUS_V50, 0xFFFFFFFF,
+ netDvrAcsWorkStatusV50.getPointer(), netDvrAcsWorkStatusV50.size(), intByReference);
+ if (!b_GetAcsStatus) {
+ log.info("鑾峰彇姊帶涓绘満宸ヤ綔鐘舵侊紝閿欒鐮佷负锛歿}", getHcNetSDK().NET_DVR_GetLastError());
+ return null;
+ } else {
+ log.info("鑾峰彇姊帶涓绘満宸ヤ綔鐘舵佹垚鍔燂紒锛侊紒");
+ netDvrAcsWorkStatusV50.read();
+// for (int i = 0; i < 128; i++) {
+// int floor = i + 1;
+// log.info("妤煎眰" + floor + " 缁х數鍣ㄥ紑鍚堢姸鎬侊細" + netDvrAcsWorkStatusV50.byDoorLockStatus[i] + "\n"); //闂ㄩ攣鐘舵侊細0- 姝e父鍏筹紝1- 姝e父寮锛2- 鐭矾鎶ヨ锛3- 鏂矾鎶ヨ锛4- 寮傚父鎶ヨ
+// log.info("妤煎眰" + floor + " 姊帶鐘舵侊細" + netDvrAcsWorkStatusV50.byDoorStatus[i] + "\n"); //闂ㄧ姸鎬侊紙鎴栬呮鎺х殑妤煎眰鐘舵侊級锛1- 浼戠湢锛2- 甯稿紑鐘舵侊紙瀵逛簬姊帶锛岃〃绀鸿嚜鐢辩姸鎬侊級锛3- 甯搁棴鐘舵侊紙瀵逛簬姊帶锛岃〃绀虹鐢ㄧ姸鎬侊級锛4- 鏅氱姸鎬侊紙瀵逛簬姊帶锛岃〃绀哄彈鎺х姸鎬侊級
+// }
+// log.info("3.闂ㄧ鐘舵侊細" + netDvrAcsWorkStatusV50.byMagneticStatus[0] + "\n"); //闂ㄧ鐘舵侊紝0-姝e父鍏筹紝1-姝e父寮锛2-鐭矾鎶ヨ锛3-鏂矾鎶ヨ锛4-寮傚父鎶ヨ
+// log.info("4.浜嬩欢鎶ヨ杈撳叆鐘舵侊細" + netDvrAcsWorkStatusV50.byCaseStatus[0] + "\n"); //浜嬩欢鎶ヨ杈撳叆鐘舵侊細0- 鏃犺緭鍏ワ紝1- 鏈夎緭鍏
+ log.info(JSONObject.toJSONString(netDvrAcsWorkStatusV50));
+ return netDvrAcsWorkStatusV50;
+ }
+ }
+}
+
+
+
+
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/CardService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/CardService.java
new file mode 100644
index 00000000..b076a816
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/CardService.java
@@ -0,0 +1,642 @@
+package org.dromara.sis.sdk.hik.service;
+
+import com.sun.jna.Pointer;
+import com.sun.jna.ptr.IntByReference;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.HCNetSDK;
+import org.dromara.sis.sdk.hik.common.ErrorCode;
+
+import java.io.UnsupportedEncodingException;
+
+
+/**
+ * @create 2021-03-12-13:53
+ * 浠ュ崱涓轰腑蹇冿紝鍏堜笅鍙戝崱鍙傛暟锛堝彲浠ヤ竴璧蜂笅鍙戝伐鍙凤級锛屽啀鏍规嵁鍗″彿涓嬪彂浜鸿劯銆佹寚绾圭瓑鍙傛暟
+ * 鍗$鐞嗘ā鍧楋紝瀹炵幇鍔熻兘锛氬崱涓嬪彂銆佸崱鑾峰彇(鍗曞紶銆佹墍鏈)銆佸崱鍒犻櫎锛堝崟寮犮佹墍鏈夛級銆佸崱璁″垝妯″潡璁剧疆
+ */
+@Slf4j
+public class CardService extends SdkBaseServer {
+
+ public static short iPlanTemplateNumber;
+ //璁惧瀛楃闆
+
+ /**
+ * 鍗′笅鍙
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param CardNo 鍗″彿
+ * @param iPlanTemplateNumber 鍏宠仈闂ㄨ鍒掓ā鏉匡紝璁″垝妯℃澘鐨勯厤缃彲浠ュ弬鑰冨崱璁″垝妯℃澘閰嶇疆妯″潡锛(涓嬪彂鍗″墠瑕佽缃ソ璁″垝妯℃澘)
+ * @throws UnsupportedEncodingException
+ * @throws InterruptedException
+ */
+ public static void setOneCard(int lUserID, String CardNo, short iPlanTemplateNumber) throws UnsupportedEncodingException, InterruptedException {
+ HCNetSDK.NET_DVR_CARD_COND struCardCond = new HCNetSDK.NET_DVR_CARD_COND();
+ struCardCond.read();
+ struCardCond.dwSize = struCardCond.size();
+ struCardCond.dwCardNum = 1; //涓嬪彂涓寮
+ struCardCond.write();
+ Pointer ptrStruCond = struCardCond.getPointer();
+ int m_lSetCardCfgHandle = getHcNetSDK().NET_DVR_StartRemoteConfig(lUserID, HCNetSDK.NET_DVR_SET_CARD, ptrStruCond, struCardCond.size(), null, null);
+ if (m_lSetCardCfgHandle == -1) {
+ System.out.println("寤虹珛涓嬪彂鍗¢暱杩炴帴澶辫触锛岄敊璇爜涓" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ System.out.println("寤虹珛涓嬪彂鍗¢暱杩炴帴鎴愬姛锛");
+ }
+ HCNetSDK.NET_DVR_CARD_RECORD struCardRecord = new HCNetSDK.NET_DVR_CARD_RECORD();
+ struCardRecord.read();
+ struCardRecord.dwSize = struCardRecord.size();
+ for (int i = 0; i < HCNetSDK.ACS_CARD_NO_LEN; i++) {
+ struCardRecord.byCardNo[i] = 0;
+ }
+ for (int i = 0; i < CardNo.length(); i++) {
+ struCardRecord.byCardNo[i] = CardNo.getBytes()[i];
+ }
+ struCardRecord.byCardType = 1; //鏅氬崱
+ struCardRecord.byLeaderCard = 0; //鏄惁涓洪鍗★紝0-鍚︼紝1-鏄
+ struCardRecord.byUserType = 0; //鐢ㄦ埛绫诲瀷锛0鈥 鏅氱敤鎴凤紝1- 绠$悊鍛樼敤鎴
+ //闂ㄦ潈闄愶紙姊帶鐨勬ゼ灞傛潈闄愩侀攣鏉冮檺锛夛紝鏁扮粍涓嬫爣瀵瑰簲闂ㄧ紪鍙-1锛屽间负1琛ㄧず鏈夋潈闄愶紝0琛ㄧず鏃犳潈闄
+ struCardRecord.byDoorRight[0] = 1; //1灞傛湁鏉冮檺
+ struCardRecord.byDoorRight[1] = 1; //2灞傛湁鏉冮檺
+ struCardRecord.wCardRightPlan[0] = iPlanTemplateNumber; //鍏宠仈闂ㄨ鍒掓ā鏉匡紝璁″垝妯℃澘鐨勯厤缃彲浠ュ弬鑰冨崱璁″垝妯℃澘閰嶇疆妯″潡锛(涓嬪彂鍗″墠瑕佽缃ソ璁″垝妯℃澘)
+ struCardRecord.struValid.byEnable = 1; //鍗℃湁鏁堟湡浣胯兘锛屼笅闈㈡槸鍗℃湁鏁堟湡浠2000-1-1 11:11:11鍒2030-1-1 11:11:11
+ struCardRecord.struValid.byBeginTimeFlag = 1;
+ struCardRecord.struValid.byEnableTimeFlag = 1;
+ struCardRecord.struValid.struBeginTime.wYear = 2023;
+ struCardRecord.struValid.struBeginTime.byMonth = 1;
+ struCardRecord.struValid.struBeginTime.byDay = 1;
+ struCardRecord.struValid.struBeginTime.byHour = 0;
+ struCardRecord.struValid.struBeginTime.byMinute = 0;
+ struCardRecord.struValid.struBeginTime.bySecond = 0;
+ struCardRecord.struValid.struEndTime.wYear = 2030;
+ struCardRecord.struValid.struEndTime.byMonth = 12;
+ struCardRecord.struValid.struEndTime.byDay = 30;
+ struCardRecord.struValid.struEndTime.byHour = 23;
+ struCardRecord.struValid.struEndTime.byMinute = 59;
+ struCardRecord.struValid.struEndTime.bySecond = 59;
+
+ struCardRecord.write();
+ HCNetSDK.NET_DVR_CARD_STATUS struCardStatus = new HCNetSDK.NET_DVR_CARD_STATUS();
+ struCardStatus.read();
+ struCardStatus.dwSize = struCardStatus.size();
+ struCardStatus.write();
+ IntByReference pInt = new IntByReference(0);
+ while (true) {
+ int dwState = getHcNetSDK().NET_DVR_SendWithRecvRemoteConfig(m_lSetCardCfgHandle, struCardRecord.getPointer(), struCardRecord.size(), struCardStatus.getPointer(), struCardStatus.size(), pInt);
+ struCardStatus.read();
+ if (dwState == -1) {
+ System.out.println("NET_DVR_SendWithRecvRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_NEED_WAIT) {
+ System.out.println("閰嶇疆绛夊緟");
+ Thread.sleep(10);
+ continue;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FAILED) {
+ System.out.println("涓嬪彂鍗″け璐, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 閿欒淇℃伅:" + ErrorCode.getDescription(struCardStatus.dwErrorCode));
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_EXCEPTION) {
+ System.out.println("涓嬪彂鍗″紓甯, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 閿欒淇℃伅:" + ErrorCode.getDescription(struCardStatus.dwErrorCode));
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) {
+ if (struCardStatus.dwErrorCode != 0) {
+ System.out.println("涓嬪彂鍗℃垚鍔,浣嗘槸閿欒鐮佷俊鎭細 " + ErrorCode.getDescription(struCardStatus.dwErrorCode) + ", 鍗″彿锛" + new String(struCardStatus.byCardNo).trim());
+ } else {
+ System.out.println("涓嬪彂鍗℃垚鍔, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 鐘舵侊細" + struCardStatus.byStatus);
+ }
+ continue;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) {
+ System.out.println("涓嬪彂鍗″畬鎴");
+ break;
+ }
+ }
+ if (!getHcNetSDK().NET_DVR_StopRemoteConfig(m_lSetCardCfgHandle)) {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛鎴愬姛\n");
+ }
+ }
+
+ /**
+ * 鎵归噺鍗″彿涓嬪彂
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param CardNo 鍗″彿
+ * @param iEmployeeNo 宸ュ彿
+ * @param iNum 涓嬪彂寮犳暟
+ * @throws UnsupportedEncodingException
+ * @throws InterruptedException
+ */
+ public static void setMultiCard(int lUserID, String[] CardNo, int[] iEmployeeNo, int iNum) throws UnsupportedEncodingException, InterruptedException {
+ HCNetSDK.NET_DVR_CARD_COND struCardCond = new HCNetSDK.NET_DVR_CARD_COND();
+ struCardCond.read();
+ struCardCond.dwSize = struCardCond.size();
+ struCardCond.dwCardNum = iNum; //涓嬪彂寮犳暟
+ struCardCond.write();
+ Pointer ptrStruCond = struCardCond.getPointer();
+ int m_lSetMultiCardCfgHandle = getHcNetSDK().NET_DVR_StartRemoteConfig(lUserID, HCNetSDK.NET_DVR_SET_CARD, ptrStruCond, struCardCond.size(), null, null);
+ if (m_lSetMultiCardCfgHandle == -1) {
+ System.out.println("寤虹珛涓嬪彂鍗¢暱杩炴帴澶辫触锛岄敊璇爜涓" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ System.out.println("寤虹珛涓嬪彂鍗¢暱杩炴帴鎴愬姛锛");
+ }
+ HCNetSDK.NET_DVR_CARD_RECORD[] struCardRecord = (HCNetSDK.NET_DVR_CARD_RECORD[]) new HCNetSDK.NET_DVR_CARD_RECORD().toArray(iNum);
+ HCNetSDK.NET_DVR_CARD_STATUS struCardStatus = new HCNetSDK.NET_DVR_CARD_STATUS();
+ struCardStatus.read();
+ struCardStatus.dwSize = struCardStatus.size();
+ struCardStatus.write();
+ IntByReference pInt = new IntByReference(0);
+ for (int i = 0; i < iNum; i++) {
+ struCardRecord[i].read();
+ struCardRecord[i].dwSize = struCardRecord[i].size();
+ for (int j = 0; j < HCNetSDK.ACS_CARD_NO_LEN; j++) {
+ struCardRecord[i].byCardNo[j] = 0;
+ }
+ System.arraycopy(CardNo[i].getBytes(), 0, struCardRecord[i].byCardNo, 0, CardNo[i].getBytes().length);
+ struCardRecord[i].byCardType = 1; //鏅氬崱
+ struCardRecord[i].byLeaderCard = 0; //鏄惁涓洪鍗★紝0-鍚︼紝1-鏄
+ struCardRecord[i].byUserType = 0;
+ struCardRecord[i].byDoorRight[0] = 1; //闂1鏈夋潈闄
+ struCardRecord[i].wCardRightPlan[0] = iPlanTemplateNumber;//鍏宠仈闂ㄨ鍒掓ā鏉匡紝浣跨敤浜嗗墠闈㈤厤缃殑璁″垝妯℃澘
+ struCardRecord[i].struValid.byEnable = 1; //鍗℃湁鏁堟湡浣胯兘锛屼笅闈㈡槸鍗℃湁鏁堟湡浠2000-1-1 11:11:11鍒2030-1-1 11:11:11
+ struCardRecord[i].struValid.struBeginTime.wYear = 2000;
+ struCardRecord[i].struValid.struBeginTime.byMonth = 1;
+ struCardRecord[i].struValid.struBeginTime.byDay = 1;
+ struCardRecord[i].struValid.struBeginTime.byHour = 11;
+ struCardRecord[i].struValid.struBeginTime.byMinute = 11;
+ struCardRecord[i].struValid.struBeginTime.bySecond = 11;
+ struCardRecord[i].struValid.struEndTime.wYear = 2030;
+ struCardRecord[i].struValid.struEndTime.byMonth = 1;
+ struCardRecord[i].struValid.struEndTime.byDay = 1;
+ struCardRecord[i].struValid.struEndTime.byHour = 11;
+ struCardRecord[i].struValid.struEndTime.byMinute = 11;
+ struCardRecord[i].struValid.struEndTime.bySecond = 11;
+ struCardRecord[i].dwEmployeeNo = iEmployeeNo[i]; //宸ュ彿
+ if ((iCharEncodeType == 0) || (iCharEncodeType == 1) || (iCharEncodeType == 2)) {
+ byte[] strCardName = "寮犱笁".getBytes("GBK"); //濮撳悕
+ for (int j = 0; j < HCNetSDK.NAME_LEN; j++) {
+ struCardRecord[i].byName[j] = 0;
+ }
+ System.arraycopy(strCardName, 0, struCardRecord[i].byName, 0, strCardName.length);
+ }
+ if (iCharEncodeType == 6) {
+ byte[] strCardName = "寮犱笁".getBytes("UTF-8"); //濮撳悕
+ for (int j = 0; j < HCNetSDK.NAME_LEN; j++) {
+ struCardRecord[i].byName[j] = 0;
+ }
+ System.arraycopy(strCardName, 0, struCardRecord[i].byName, 0, strCardName.length);
+ }
+ struCardRecord[i].write();
+ int dwState = getHcNetSDK().NET_DVR_SendWithRecvRemoteConfig(m_lSetMultiCardCfgHandle, struCardRecord[i].getPointer(), struCardRecord[i].size(), struCardStatus.getPointer(), struCardStatus.size(), pInt);
+ struCardStatus.read();
+ if (dwState == -1) {
+ System.out.println("NET_DVR_SendWithRecvRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FAILED) {
+ System.out.println("涓嬪彂鍗″け璐, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 閿欒鐮佷俊鎭細" + ErrorCode.getDescription(struCardStatus.dwErrorCode));
+ //鍙互缁х画涓嬪彂涓嬩竴涓
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_EXCEPTION) {
+ System.out.println("涓嬪彂鍗″紓甯, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ",閿欒鐮佷俊鎭細" + ErrorCode.getDescription(struCardStatus.dwErrorCode));
+ //寮傚父鏄暱杩炴帴寮傚父锛屼笉鑳界户缁笅鍙戝悗闈㈢殑鏁版嵁锛岄渶瑕侀噸鏂板缓绔嬮暱杩炴帴
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) {
+ if (struCardStatus.dwErrorCode != 0) {
+ System.out.println("涓嬪彂鍗″け璐,閿欒鐮佷俊鎭細" + ErrorCode.getDescription(struCardStatus.dwErrorCode) + ", 鍗″彿锛" + new String(struCardStatus.byCardNo).trim());
+ } else {
+ System.out.println("涓嬪彂鍗℃垚鍔, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 鐘舵侊細" + struCardStatus.byStatus);
+ }
+ //鍙互缁х画涓嬪彂涓嬩竴涓
+ } else {
+ System.out.println("鍏朵粬鐘舵侊細" + dwState);
+ }
+ }
+ if (!getHcNetSDK().NET_DVR_StopRemoteConfig(m_lSetMultiCardCfgHandle)) {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛鎴愬姛\n");
+ }
+ }
+
+ /**
+ * 鑾峰彇锛堟煡璇級涓寮犲崱
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param CardNo 鍗″彿
+ */
+ public static void getOneCard(int lUserID, String CardNo) {
+ HCNetSDK.NET_DVR_CARD_COND struCardCond = new HCNetSDK.NET_DVR_CARD_COND();
+ struCardCond.read();
+ struCardCond.dwSize = struCardCond.size();
+ struCardCond.dwCardNum = 1; //鏌ヨ涓涓崱鍙傛暟
+ struCardCond.write();
+ Pointer ptrStruCond = struCardCond.getPointer();
+ int m_lGetCardCfgHandle = getHcNetSDK().NET_DVR_StartRemoteConfig(lUserID, HCNetSDK.NET_DVR_GET_CARD, ptrStruCond, struCardCond.size(), null, null);
+ if (m_lGetCardCfgHandle == -1) {
+ System.out.println("寤虹珛鏌ヨ鍗″弬鏁伴暱杩炴帴澶辫触锛岄敊璇爜涓猴細" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ System.out.println("寤虹珛鏌ヨ鍗″弬鏁伴暱杩炴帴鎴愬姛锛");
+ }
+ //鏌ユ壘鎸囧畾鍗″彿鐨勫弬鏁帮紝闇瑕佷笅鍙戞煡鎵剧殑鍗″彿鏉′欢
+ HCNetSDK.NET_DVR_CARD_SEND_DATA struCardNo = new HCNetSDK.NET_DVR_CARD_SEND_DATA();
+ struCardNo.read();
+ struCardNo.dwSize = struCardNo.size();
+ for (int i = 0; i < HCNetSDK.ACS_CARD_NO_LEN; i++) {
+ struCardNo.byCardNo[i] = 0;
+ }
+ for (int i = 0; i < CardNo.length(); i++) {
+ struCardNo.byCardNo[i] = CardNo.getBytes()[i];
+ }
+ struCardNo.write();
+ HCNetSDK.NET_DVR_CARD_RECORD struCardRecord = new HCNetSDK.NET_DVR_CARD_RECORD();
+ struCardRecord.read();
+ IntByReference pInt = new IntByReference(0);
+ while (true) {
+ int dwState = getHcNetSDK().NET_DVR_SendWithRecvRemoteConfig(m_lGetCardCfgHandle, struCardNo.getPointer(), struCardNo.size(),
+ struCardRecord.getPointer(), struCardRecord.size(), pInt);
+ struCardRecord.read();
+ if (dwState == -1) {
+ System.out.println("NET_DVR_SendWithRecvRemoteConfig鏌ヨ鍗″弬鏁拌皟鐢ㄥけ璐ワ紝閿欒鐮侊細" + getHcNetSDK().NET_DVR_GetLastError());
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_NEED_WAIT) {
+ System.out.println("閰嶇疆绛夊緟");
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ continue;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FAILED) {
+ System.out.println("鑾峰彇鍗″弬鏁板け璐, 鍗″彿: " + CardNo);
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_EXCEPTION) {
+ System.out.println("鑾峰彇鍗″弬鏁板紓甯, 鍗″彿: " + CardNo);
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) {
+ try {
+ String strName = "";
+ if ((iCharEncodeType == 0) || (iCharEncodeType == 1) || (iCharEncodeType == 2)) {
+ strName = new String(struCardRecord.byName, "GBK").trim();
+ }
+ if (iCharEncodeType == 6) {
+ strName = new String(struCardRecord.byName, "UTF-8").trim();
+ }
+ //鑾峰彇鐨勫崱淇℃伅鎵撳嵃
+ System.out.println("鑾峰彇鍗″弬鏁版垚鍔, 鍗″彿: " + new String(struCardRecord.byCardNo).trim()
+ + ", 鍗$被鍨嬶細" + struCardRecord.byCardType
+ + ", 濮撳悕锛" + strName + ",鍗¤鍒掓ā鏉匡細" + Short.parseShort(String.valueOf(struCardRecord.wCardRightPlan[0])));
+ System.out.println("鏄惁闄愬埗璧峰鏃堕棿鐨勬爣蹇梑yBeginTimeFlag :" + struCardRecord.struValid.byEnableTimeFlag);
+ System.out.println("鏄惁闄愬埗缁堟鏃堕棿鐨勬爣蹇梑yEnableTimeFlag :" + struCardRecord.struValid.byBeginTimeFlag);
+
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) {
+ System.out.println("鑾峰彇鍗″弬鏁板畬鎴");
+ break;
+ }
+ }
+ if (!getHcNetSDK().NET_DVR_StopRemoteConfig(m_lGetCardCfgHandle)) {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛鎴愬姛\n");
+ }
+ }
+
+ /**
+ * 鑾峰彇鎵鏈夊崱
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ */
+ public static void getAllCard(int lUserID) {
+ HCNetSDK.NET_DVR_CARD_COND struCardCond = new HCNetSDK.NET_DVR_CARD_COND();
+ struCardCond.read();
+ struCardCond.dwSize = struCardCond.size();
+ struCardCond.dwCardNum = 0xffffffff; //鏌ヨ鎵鏈夊崱
+ struCardCond.write();
+ Pointer ptrStruCond = struCardCond.getPointer();
+ int m_lGetAllCardCfgHandle = getHcNetSDK().NET_DVR_StartRemoteConfig(lUserID, HCNetSDK.NET_DVR_GET_CARD, ptrStruCond, struCardCond.size(), null, null);
+ if (m_lGetAllCardCfgHandle == -1) {
+ System.out.println("寤虹珛鏌ヨ鍗¢暱杩炴帴澶辫触锛岄敊璇爜涓" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ System.out.println("寤虹珛鏌ヨ鍗¢暱杩炴帴鎴愬姛锛");
+ }
+ HCNetSDK.NET_DVR_CARD_RECORD struCardRecord = new HCNetSDK.NET_DVR_CARD_RECORD();
+ struCardRecord.read();
+ struCardRecord.dwSize = struCardRecord.size();
+ struCardRecord.write();
+ IntByReference pInt = new IntByReference(0);
+ while (true) {
+ int dwState = getHcNetSDK().NET_DVR_GetNextRemoteConfig(m_lGetAllCardCfgHandle, struCardRecord.getPointer(), struCardRecord.size());
+ struCardRecord.read();
+ if (dwState == -1) {
+ System.out.println("NET_DVR_SendWithRecvRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_NEED_WAIT) {
+ System.out.println("閰嶇疆绛夊緟");
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ continue;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FAILED) {
+ System.out.println("鑾峰彇鍗″弬鏁板け璐");
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_EXCEPTION) {
+ System.out.println("鑾峰彇鍗″弬鏁板紓甯");
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) {
+ try {
+ String strName = "";
+ if ((iCharEncodeType == 0) || (iCharEncodeType == 1) || (iCharEncodeType == 2)) {
+ strName = new String(struCardRecord.byName, "GBK").trim();
+ }
+ if (iCharEncodeType == 6) {
+ strName = new String(struCardRecord.byName, "UTF-8").trim();
+ }
+ //鑾峰彇鐨勫崱淇℃伅鎵撳嵃
+ System.out.println("鑾峰彇鍗″弬鏁版垚鍔, 鍗″彿: " + new String(struCardRecord.byCardNo).trim()
+ + ", 鍗$被鍨嬶細" + struCardRecord.byCardType
+ + ", 濮撳悕锛" + strName);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) {
+ System.out.println("鑾峰彇鍗″弬鏁板畬鎴");
+ break;
+ }
+ }
+ if (!getHcNetSDK().NET_DVR_StopRemoteConfig(m_lGetAllCardCfgHandle)) {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛鎴愬姛\n");
+ }
+ }
+
+ /**
+ * 鍒犻櫎鍗曞紶鍗★紙鍒犻櫎鍗曞紶鍗″彿涔嬪墠瑕佸厛鍒犻櫎杩欏紶鍗″叧鑱旂殑浜鸿劯鍜屾寚绾逛俊鎭級
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param CardNo 鍗″彿
+ * @throws UnsupportedEncodingException
+ * @throws InterruptedException
+ */
+ public static void delOneCard(int lUserID, String CardNo) throws UnsupportedEncodingException, InterruptedException {
+ HCNetSDK.NET_DVR_CARD_COND struCardCond = new HCNetSDK.NET_DVR_CARD_COND();
+ struCardCond.read();
+ struCardCond.dwSize = struCardCond.size();
+ struCardCond.dwCardNum = 1; //鍒犻櫎涓寮犲崱鍙
+ struCardCond.write();
+ Pointer ptrStruCond = struCardCond.getPointer();
+ int m_lDelCardCfgHandle = getHcNetSDK().NET_DVR_StartRemoteConfig(lUserID, HCNetSDK.NET_DVR_DEL_CARD, ptrStruCond, struCardCond.size(), null, null);
+ if (m_lDelCardCfgHandle == -1) {
+ System.out.println("寤虹珛鍒犻櫎鍗¢暱杩炴帴澶辫触锛岄敊璇爜涓" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ System.out.println("寤虹珛鍒犻櫎鍗¢暱杩炴帴鎴愬姛锛");
+ }
+ HCNetSDK.NET_DVR_CARD_SEND_DATA struCardData = new HCNetSDK.NET_DVR_CARD_SEND_DATA();
+ struCardData.read();
+ struCardData.dwSize = struCardData.size();
+ for (int i = 0; i < HCNetSDK.ACS_CARD_NO_LEN; i++) {
+ struCardData.byCardNo[i] = 0;
+ }
+ for (int i = 0; i < CardNo.length(); i++) {
+ struCardData.byCardNo[i] = CardNo.getBytes()[i];
+ }
+ struCardData.write();
+ HCNetSDK.NET_DVR_CARD_STATUS struCardStatus = new HCNetSDK.NET_DVR_CARD_STATUS();
+ struCardStatus.read();
+ struCardStatus.dwSize = struCardStatus.size();
+ struCardStatus.write();
+ IntByReference pInt = new IntByReference(0);
+ while (true) {
+ int dwState = getHcNetSDK().NET_DVR_SendWithRecvRemoteConfig(m_lDelCardCfgHandle, struCardData.getPointer(), struCardData.size(), struCardStatus.getPointer(), struCardStatus.size(), pInt);
+ struCardStatus.read();
+ if (dwState == -1) {
+ System.out.println("NET_DVR_SendWithRecvRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_NEED_WAIT) {
+ System.out.println("閰嶇疆绛夊緟");
+ Thread.sleep(10);
+ continue;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FAILED) {
+ System.out.println("鍒犻櫎鍗″け璐, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ",閿欒鐮佷俊鎭細" + ErrorCode.getDescription(struCardStatus.dwErrorCode));
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_EXCEPTION) {
+ System.out.println("鍒犻櫎鍗″紓甯, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 閿欒鐮佷俊鎭細" + ErrorCode.getDescription(struCardStatus.dwErrorCode));
+ break;
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_SUCCESS) {
+ if (struCardStatus.dwErrorCode != 0) {
+ System.out.println("鍒犻櫎鍗℃垚鍔,浣嗘槸閿欒鐮佷俊鎭細" + ErrorCode.getDescription(struCardStatus.dwErrorCode) + ", 鍗″彿锛" + new String(struCardStatus.byCardNo).trim());
+ } else {
+ System.out.println("鍒犻櫎鍗℃垚鍔, 鍗″彿: " + new String(struCardStatus.byCardNo).trim() + ", 鐘舵侊細" + struCardStatus.byStatus);
+ }
+ } else if (dwState == HCNetSDK.NET_SDK_CONFIG_STATUS_FINISH) {
+ System.out.println("鍒犻櫎鍗″畬鎴");
+ break;
+ }
+ }
+ if (!getHcNetSDK().NET_DVR_StopRemoteConfig(m_lDelCardCfgHandle)) {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛璋冪敤澶辫触锛岄敊璇爜锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ System.out.println("NET_DVR_StopRemoteConfig鎺ュ彛鎴愬姛\n");
+ }
+ }
+
+ /**
+ * 璁惧涓娓呴櫎鎵鏈夊凡缁忎笅鍙戠殑鍗″彿
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ */
+ public static void cleanCardInfo(int lUserID) {
+ //娓呯┖鎵鏈夊崱鍙
+ HCNetSDK.NET_DVR_ACS_PARAM_TYPE struAcsPapamType = new HCNetSDK.NET_DVR_ACS_PARAM_TYPE();
+ struAcsPapamType.read();
+ struAcsPapamType.dwSize = struAcsPapamType.size();
+ struAcsPapamType.dwParamType = HCNetSDK.ACS_PARAM_CARD; //娓呯┖鍗″弬鏁
+ struAcsPapamType.wLocalControllerID = 0; // 灏卞湴鎺у埗鍣ㄥ簭鍙穂1,255],0浠h〃闂ㄧ涓绘満
+ struAcsPapamType.write();
+ boolean b_AcsCard = getHcNetSDK().NET_DVR_RemoteControl(lUserID, HCNetSDK.NET_DVR_CLEAR_ACS_PARAM, struAcsPapamType.getPointer(), struAcsPapamType.size());
+ if (!b_AcsCard) {
+ System.out.println("娓呯┖鍗″彿閿欒锛岄敊璇爜涓" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ System.out.println("娓呯┖鍗″彿鎴愬姛");
+ }
+ }
+
+ /**
+ * 鍗¤鍒掓ā鏉块厤缃
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param iPlanTemplateNumber 璁″垝妯℃澘缂栧彿锛屼粠1寮濮嬶紝鏈澶у间粠闂ㄧ鑳藉姏闆嗚幏鍙
+ */
+ public static void setCardTemplate(int lUserID, int iPlanTemplateNumber) {
+ //璁剧疆鍗℃潈闄愯鍒掓ā鏉垮弬鏁
+ HCNetSDK.NET_DVR_PLAN_TEMPLATE_COND struPlanCond = new HCNetSDK.NET_DVR_PLAN_TEMPLATE_COND();
+ struPlanCond.dwSize = struPlanCond.size();
+ struPlanCond.dwPlanTemplateNumber = iPlanTemplateNumber;//璁″垝妯℃澘缂栧彿锛屼粠1寮濮嬶紝鏈澶у间粠闂ㄧ鑳藉姏闆嗚幏鍙
+ struPlanCond.wLocalControllerID = 0;//灏卞湴鎺у埗鍣ㄥ簭鍙穂1,64]锛0琛ㄧず闂ㄧ涓绘満
+ struPlanCond.write();
+ HCNetSDK.NET_DVR_PLAN_TEMPLATE struPlanTemCfg = new HCNetSDK.NET_DVR_PLAN_TEMPLATE();
+ struPlanTemCfg.dwSize = struPlanTemCfg.size();
+ struPlanTemCfg.byEnable = 1; //鏄惁浣胯兘锛0- 鍚︼紝1- 鏄
+ struPlanTemCfg.dwWeekPlanNo = 2;//鍛ㄨ鍒掔紪鍙凤紝0琛ㄧず鏃犳晥
+ struPlanTemCfg.dwHolidayGroupNo[0] = 0;//鍋囨棩缁勭紪鍙凤紝鎸夊艰〃绀猴紝閲囩敤绱у噾鍨嬫帓鍒楋紝涓棿閬囧埌0鍒欏悗缁棤鏁
+ byte[] byTemplateName;
+ try {
+ byTemplateName = "CardTemplatePlan_2".getBytes("GBK");
+ //璁″垝妯℃澘鍚嶇О
+ for (int i = 0; i < HCNetSDK.NAME_LEN; i++) {
+ struPlanTemCfg.byTemplateName[i] = 0;
+ }
+ System.arraycopy(byTemplateName, 0, struPlanTemCfg.byTemplateName, 0, byTemplateName.length);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ struPlanTemCfg.write();
+ IntByReference pInt = new IntByReference(0);
+ Pointer lpStatusList = pInt.getPointer();
+ boolean b = getHcNetSDK().NET_DVR_SetDeviceConfig(
+ lUserID,
+ HCNetSDK.NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50,
+ 1,
+ struPlanCond.getPointer(),
+ struPlanCond.size(),
+ lpStatusList,
+ struPlanTemCfg.getPointer(),
+ struPlanTemCfg.size()
+ );
+ if (!b) {
+ System.out.println("NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50澶辫触锛岄敊璇彿锛" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ }
+ System.out.println("NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50鎴愬姛锛");
+ //鑾峰彇鍗℃潈闄愬懆璁″垝鍙傛暟
+ HCNetSDK.NET_DVR_WEEK_PLAN_COND struWeekPlanCond = new HCNetSDK.NET_DVR_WEEK_PLAN_COND();
+ struWeekPlanCond.dwSize = struWeekPlanCond.size();
+ struWeekPlanCond.dwWeekPlanNumber = 2;
+ struWeekPlanCond.wLocalControllerID = 0;
+ HCNetSDK.NET_DVR_WEEK_PLAN_CFG struWeekPlanCfg = new HCNetSDK.NET_DVR_WEEK_PLAN_CFG();
+ struWeekPlanCond.write();
+ struWeekPlanCfg.write();
+ Pointer lpCond = struWeekPlanCond.getPointer();
+ Pointer lpInbuferCfg = struWeekPlanCfg.getPointer();
+ boolean b2 = getHcNetSDK().NET_DVR_GetDeviceConfig(lUserID, HCNetSDK.NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50, 1, lpCond, struWeekPlanCond.size(), lpStatusList, lpInbuferCfg, struWeekPlanCfg.size());
+ if (!b2) {
+ System.out.println("NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50澶辫触锛岄敊璇彿锛" + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ }
+ struWeekPlanCfg.read();
+ struWeekPlanCfg.byEnable = 1; //鏄惁浣胯兘锛0- 鍚︼紝1- 鏄
+ /**閬垮厤鏃堕棿娈典氦鍙夛紝鍏堝垵濮嬪寲锛 涓冨ぉ鍏皬鏃*/
+ for (int i = 0; i < 7; i++) {
+ for (int j = 0; j < 8; j++) {
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].byEnable = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byHour = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byMinute = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.bySecond = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byHour = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byMinute = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond = 0;
+ }
+ }
+ /**涓鍛7澶╋紝鍏ㄥぉ24灏忔椂*/
+ for (int i = 0; i < 7; i++) {
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 14;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 16;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 0;
+ }
+ /**涓鍛7澶╋紝姣忓ぉ璁剧疆2涓椂闂存*/
+ /*for(int i=0;i<7;i++)
+ {
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 11;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 59;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 59;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].byEnable = 1;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 13;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 30;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.bySecond = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 19;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 59;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 59;
+ }*/
+ struWeekPlanCfg.write();
+ //璁剧疆鍗℃潈闄愬懆璁″垝鍙傛暟
+ boolean b1 = getHcNetSDK().NET_DVR_SetDeviceConfig(lUserID, HCNetSDK.NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50, 1, lpCond, struWeekPlanCond.size(), lpStatusList, lpInbuferCfg, struWeekPlanCfg.size());
+ if (!b1) {
+ System.out.println("NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50澶辫触锛岄敊璇彿锛" + getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ System.out.println("NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50鎴愬姛锛");
+ }
+ }
+
+ /**
+ * 鑾峰彇/璁剧疆浜嬩欢鍗″彿鑱斿姩閰嶇疆鍙傛暟
+ *
+ * @param userID 鐧诲綍璁惧鍙ユ焺ID
+ */
+ public static void SetEventCardLingageCfg(int userID) {
+ HCNetSDK.NET_DVR_EVENT_CARD_LINKAGE_COND struEventCardLinkCond = new HCNetSDK.NET_DVR_EVENT_CARD_LINKAGE_COND();
+ struEventCardLinkCond.dwSize = struEventCardLinkCond.size();
+ struEventCardLinkCond.dwEventID = 1;
+ struEventCardLinkCond.wLocalControllerID = 0;
+ struEventCardLinkCond.write();
+ HCNetSDK.NET_DVR_EVENT_LINKAGE_CARD_CFG_V51 netDvrEventCardLinkageCfgV51 = new HCNetSDK.NET_DVR_EVENT_LINKAGE_CARD_CFG_V51();
+ netDvrEventCardLinkageCfgV51.read();
+ netDvrEventCardLinkageCfgV51.dwSize = netDvrEventCardLinkageCfgV51.size();
+ netDvrEventCardLinkageCfgV51.write();
+ Pointer lpCond1 = struEventCardLinkCond.getPointer();
+ Pointer lpInbuferCfg1 = netDvrEventCardLinkageCfgV51.getPointer();
+ IntByReference intByReference = new IntByReference(0);
+ Pointer lpStatusList1 = intByReference.getPointer();
+ boolean b_GetCfg = getHcNetSDK().NET_DVR_GetDeviceConfig(userID, HCNetSDK.NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V51, 1,
+ lpCond1, struEventCardLinkCond.size(), lpStatusList1, lpInbuferCfg1, netDvrEventCardLinkageCfgV51.size());
+ if (b_GetCfg) {
+ System.out.println("鑾峰彇浜嬩欢/鍗″彿鑱斿姩閰嶇疆鍙傛暟鎴愬姛");
+ netDvrEventCardLinkageCfgV51.uLinkageInfo.setType(HCNetSDK.NET_DVR_EVENT_LINKAGE_INFO.class);
+ netDvrEventCardLinkageCfgV51.read();
+ System.out.printf("鏄惁鑱斿姩鎶撴媿: %d\n", netDvrEventCardLinkageCfgV51.byCapturePic);
+ System.out.printf("浜嬩欢婧 ID: %d\n", netDvrEventCardLinkageCfgV51.dwEventSourceID);
+ System.out.printf("浜嬩欢鑱斿姩鍙傛暟-浜嬩欢涓荤被鍨: %s\n", netDvrEventCardLinkageCfgV51.uLinkageInfo.struEventLinkage.wMainEventType);
+ System.out.printf("浜嬩欢鑱斿姩鍙傛暟-浜嬩欢娆$被鍨: %s\n", netDvrEventCardLinkageCfgV51.uLinkageInfo.struEventLinkage.wSubEventType);
+ } else {
+ System.out.println("鑾峰彇浜嬩欢/鍗″彿鑱斿姩閰嶇疆鍙傛暟澶辫触锛岄敊璇爜涓 " + getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ }
+
+ netDvrEventCardLinkageCfgV51.dwEventSourceID = 1;
+ netDvrEventCardLinkageCfgV51.byProMode = 0;
+ netDvrEventCardLinkageCfgV51.byCapturePic = 1;//鑱斿姩鎶撳浘
+ netDvrEventCardLinkageCfgV51.byRecordVideo = 0;
+ netDvrEventCardLinkageCfgV51.byMainDevStopBuzzer = 0;
+ netDvrEventCardLinkageCfgV51.wAudioDisplayID = 0;
+ netDvrEventCardLinkageCfgV51.byAudioDisplayMode = 0;
+ netDvrEventCardLinkageCfgV51.uLinkageInfo.struEventLinkage.wMainEventType = 3;//浜嬩欢涓荤被鍨嬶紝0-璁惧浜嬩欢锛1-鎶ヨ杈撳叆浜嬩欢锛2-闂ㄤ簨浠讹紝3-璇诲崱鍣ㄤ簨浠
+ netDvrEventCardLinkageCfgV51.uLinkageInfo.struEventLinkage.wSubEventType = 25;//EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_PASS;
+ struEventCardLinkCond.dwEventID = 1;
+ struEventCardLinkCond.wLocalControllerID = 0;
+ struEventCardLinkCond.write();
+ netDvrEventCardLinkageCfgV51.write();
+ boolean b = getHcNetSDK().NET_DVR_SetDeviceConfig(userID, HCNetSDK.NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51, 1, lpCond1, struEventCardLinkCond.size(),
+ lpStatusList1, lpInbuferCfg1, netDvrEventCardLinkageCfgV51.size());
+ if (!b) {
+ int iErr = getHcNetSDK().NET_DVR_GetLastError();
+ System.out.println("璁剧疆浜嬩欢/鍗″彿鑱斿姩閰嶇疆鍙傛暟澶辫触锛岄敊璇爜涓" + iErr);
+ } else {
+ System.out.println("璁剧疆浜嬩欢/鍗″彿鑱斿姩閰嶇疆鍙傛暟鎴愬姛");
+ }
+
+ }
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/DoorService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/DoorService.java
new file mode 100644
index 00000000..59c55242
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/DoorService.java
@@ -0,0 +1,191 @@
+package org.dromara.sis.sdk.hik.service;
+
+import com.sun.jna.Pointer;
+import com.sun.jna.ptr.IntByReference;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.HCNetSDK;
+
+import java.io.UnsupportedEncodingException;
+
+/**
+ * 姊帶鍙傛暟閰嶇疆銆佹鎺ц鍒掓ā鏉块厤缃紝杩滅▼姊帶
+ *
+ * @create 2021-03-11-14:12
+ */
+@Slf4j
+public class DoorService extends SdkBaseServer {
+
+ /**
+ * 鑾峰彇姊帶妤煎眰鍙傛暟
+ *
+ * @param lUserID
+ * @param floor 妤煎眰缂栧彿
+ */
+ public static void GetAndSetFloorCfg(int lUserID, int floor) {
+ /**鑾峰彇姊帶妤煎眰鍙傛暟*/
+ HCNetSDK.NET_DVR_DOOR_CFG struFloorCfg = new HCNetSDK.NET_DVR_DOOR_CFG();
+ struFloorCfg.dwSize = struFloorCfg.size();
+ struFloorCfg.write();
+ IntByReference intByReference = new IntByReference(0);
+ boolean b_Get = getHcNetSDK().NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_DOOR_CFG, 1, struFloorCfg.getPointer(),
+ struFloorCfg.size(), intByReference);
+ if (!b_Get) {
+ log.info("鑾峰彇姊帶妤煎眰鍙傛暟锛岄敊璇爜涓猴細{}", getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ log.info("鑾峰彇姊帶妤煎眰鍙傛暟鎴愬姛");
+ struFloorCfg.read();
+ /**
+ * 妤煎眰缁х數鍣ㄥ姩浣滄椂闂:鏅氬崱鍒峰崱鍚,缁х數鍣ㄩ棴鍚堟椂闂淬傚嵆鍒峰崱鎺堟潈鍚庡彲浣跨敤鐢垫鎸夐挳鐨勬椂闂淬傞粯璁5绉掋
+ * 姊帶璁垮寤惰繜鏃堕棿:璁垮鍛兼鍚,璁垮鍙娇鐢ㄧ數姊寜閽殑鏃堕棿銆傞粯璁5鍒嗛挓銆
+ */
+ log.info("妤煎眰鍚嶇О锛歿}", new String(struFloorCfg.byDoorName).trim());
+ log.info("妤煎眰缁х數鍣ㄥ姩浣滄椂闂: {}", struFloorCfg.byOpenDuration);
+ log.info("鍏抽棬寤惰繜鏃堕棿: {}", struFloorCfg.byDisabledOpenDuration);
+ log.info("姊帶璁垮寤惰繜鏃堕棿: {}", struFloorCfg.byLadderControlDelayTime);
+ }
+
+ /**璁剧疆姊帶妤煎眰鍙傛暟*/
+ struFloorCfg.byDoorName = "floor111".getBytes();
+ struFloorCfg.write();
+ boolean b_Set = getHcNetSDK().NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_DOOR_CFG, 1, struFloorCfg.getPointer(), struFloorCfg.size());
+ if (!b_Set) {
+ log.info("璁剧疆姊帶妤煎眰鍙傛暟鎴愬姛锛岄敊璇爜涓猴細{}", getHcNetSDK().NET_DVR_GetLastError());
+ } else {
+ log.info("璁剧疆姊帶妤煎眰鍙傛暟鎴愬姛锛侊紒锛");
+ }
+ }
+
+ /**
+ * 姊帶璁″垝妯℃澘閰嶇疆
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param iDoorTemplateNo 璁″垝妯℃澘缂栧彿锛屼负0琛ㄧず鍙栨秷鍏宠仈锛屾仮澶嶉粯璁ょ姸鎬侊紙鏅氱姸鎬侊級
+ */
+ public static void doorTemplate(int lUserID, int iDoorTemplateNo, int floorID) {
+ //璁剧疆姊帶璁″垝鍙傛暟:瀵逛笉鍚屾ゼ灞備笅鍙戜笉鍚岀殑鏉冮檺璁″垝妯℃澘
+ HCNetSDK.NET_DVR_DOOR_STATUS_PLAN struDoorStatus = new HCNetSDK.NET_DVR_DOOR_STATUS_PLAN();
+ struDoorStatus.read();
+ struDoorStatus.dwSize = struDoorStatus.size();
+ struDoorStatus.dwTemplateNo = iDoorTemplateNo; //璁″垝妯℃澘缂栧彿锛屼负0琛ㄧず鍙栨秷鍏宠仈銆佹仮澶嶉粯璁ょ姸鎬侊紙鏅氱姸鎬侊級銆傞潪0鍥炲鍏宠仈锛堥棬搴忓彿锛屼笌鐩稿悓搴忓彿鐨勯棬鐘舵佽鍒掓ā鏉垮叧鑱旓級
+ struDoorStatus.write();
+ boolean b_SetDoorStatus = getHcNetSDK().NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_DOOR_STATUS_PLAN, floorID, struDoorStatus.getPointer(), struDoorStatus.size());
+ if (!b_SetDoorStatus) {
+ log.info("璁剧疆姊帶璁″垝鍙傛暟锛岄敊璇爜涓: {}", getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ log.info("璁剧疆姊帶璁″垝鍙傛暟鎴愬姛");
+ }
+ //璁剧疆姊帶璁″垝妯℃澘鍙傛暟
+ HCNetSDK.NET_DVR_PLAN_TEMPLATE struDoorTemp = new HCNetSDK.NET_DVR_PLAN_TEMPLATE();
+ struDoorTemp.read();
+ struDoorTemp.dwSize = struDoorTemp.size();
+ struDoorTemp.byEnable = 1; //浣胯兘
+ struDoorTemp.dwWeekPlanNo = 1; //鍛ㄨ鍒掓ā鏉跨紪鍙凤紱
+ byte[] byTemplateName;
+ try {
+ byTemplateName = "DoorTemplatePlan_1".getBytes("GBK");
+ //璁″垝妯℃澘鍚嶇О
+ for (int i = 0; i < HCNetSDK.NAME_LEN; i++) {
+ struDoorTemp.byTemplateName[i] = 0;
+ }
+ System.arraycopy(byTemplateName, 0, struDoorTemp.byTemplateName, 0, byTemplateName.length);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ struDoorTemp.write();
+ boolean b_SetDoorTemp = getHcNetSDK().NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE, iDoorTemplateNo, struDoorTemp.getPointer(), struDoorTemp.size());
+ if (!b_SetDoorTemp) {
+ log.info("璁剧疆姊帶璁″垝妯℃澘澶辫触锛岄敊璇爜涓: {}", getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ log.info("璁剧疆姊帶璁″垝妯℃澘鎴愬姛");
+ }
+ //鑾峰彇(璁剧疆)闂ㄧ姸鎬佸懆璁″垝鍙傛暟
+ HCNetSDK.NET_DVR_WEEK_PLAN_CFG struDoorWeekPlan = new HCNetSDK.NET_DVR_WEEK_PLAN_CFG();
+ struDoorWeekPlan.read();
+ Pointer pstruDoorWeekPlan = struDoorWeekPlan.getPointer();
+ IntByReference Ipint = new IntByReference(0);
+ boolean b_GetPlan = getHcNetSDK().NET_DVR_GetDVRConfig(lUserID, HCNetSDK.NET_DVR_GET_WEEK_PLAN_CFG, 1, pstruDoorWeekPlan, struDoorWeekPlan.size(), Ipint);
+ if (!b_GetPlan) {
+ log.info("鑾峰彇姊帶鍛ㄨ鍒掑弬鏁板け璐ワ紝閿欒鐮佷负: {}", getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ log.info("鑾峰彇姊帶鍛ㄨ鍒掑弬鏁版垚鍔");
+ }
+ struDoorWeekPlan.read();
+ struDoorWeekPlan.byEnable = 1; //鏄惁浣胯兘锛0- 鍚︼紝1- 鏄
+ /**閬垮厤鏃堕棿娈典氦鍙夛紝鍏堝垵濮嬪寲*/
+ for (int i = 0; i < 7; i++) {
+ for (int j = 0; j < 8; j++) {
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].byEnable = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byHour = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.byMinute = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struBeginTime.bySecond = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byHour = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.byMinute = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[j].struTimeSegment.struEndTime.bySecond = 0;
+ }
+ }
+ /**涓鍛7澶╋紝鍏ㄥぉ24灏忔椂*/
+ for (int i = 0; i < 7; i++) {
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1;
+ //瀵规帴姊帶涓绘満闇瑕佷笅鍙戞鍙傛暟
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].byDoorStatus = 2; //2- 甯稿紑鐘舵侊紙姊帶鐨勮嚜鐢辩姸鎬侊級锛3- 甯搁棴鐘舵侊紙姊帶鐨勭鐢ㄧ姸鎬侊級
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 23;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 0;
+ struDoorWeekPlan.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 0;
+ }
+ /**涓鍛7澶╋紝姣忓ぉ璁剧疆2涓椂闂存*/
+ /*for(int i=0;i<7;i++) {
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].byEnable = 1;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byHour = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.byMinute = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struBeginTime.bySecond = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byHour = 11;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.byMinute = 59;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[0].struTimeSegment.struEndTime.bySecond = 59;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].byEnable = 1;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byHour = 13;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.byMinute = 30;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struBeginTime.bySecond = 0;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byHour = 19;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.byMinute = 59;
+ struWeekPlanCfg.struPlanCfg[i].struPlanCfgDay[1].struTimeSegment.struEndTime.bySecond = 59;
+ }*/
+ struDoorWeekPlan.write();
+ boolean b_SetPlan = getHcNetSDK().NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_WEEK_PLAN_CFG, 2, pstruDoorWeekPlan, struDoorWeekPlan.size());
+ if (!b_SetPlan) {
+ log.info("璁剧疆闂ㄧ姸鎬佸懆璁″垝鍙傛暟澶辫触锛岄敊璇爜涓: {}", getHcNetSDK().NET_DVR_GetLastError());
+ return;
+ } else {
+ log.info("璁剧疆闂ㄧ姸鎬佸懆璁″垝鍙傛暟鎴愬姛");
+ }
+ }
+
+ /**
+ * 杩滅▼姊帶
+ *
+ * @param lUserID 鐢ㄦ埛鐧诲綍鍙ユ焺
+ * @param lGatewayIndex 妤煎眰缂栧彿锛屼粠1寮濮嬶紝-1琛ㄧず瀵规墍鏈夐棬锛堟垨鑰呮鎺х殑鎵鏈夋ゼ灞傦級杩涜鎿嶄綔
+ * @param dwStaic 鍛戒护鍊硷細0- 鍏抽棴锛堝浜庢鎺э紝琛ㄧず鍙楁帶锛夛紝1- 鎵撳紑锛堝浜庢鎺э紝琛ㄧず寮闂級锛2- 甯稿紑锛堝浜庢鎺э紝琛ㄧず鑷敱銆侀氶亾鐘舵侊級锛3- 甯稿叧锛堝浜庢鎺э紝琛ㄧず绂佺敤锛夛紝4- 鎭㈠锛堟鎺э紝鏅氱姸鎬侊級锛5- 璁垮鍛兼锛堟鎺э級锛6- 浣忔埛鍛兼锛堟鎺э級
+ * 绂佺敤**:鐢垫涓嶅彲鍒拌揪鎵閫夋ゼ灞傘
+ * **鍙楁帶**:闇鍒峰崱鍚庢墠鍙互鎸変笅鎵閫夋ゼ灞傜殑鎸夐挳,鐢垫鎵嶅埌杈炬寚瀹氭ゼ灞傘
+ * **鑷敱**:鎵閫夋ゼ灞傛寜閽竴鐩存湁鏁堛
+ * **寮闂**:鍙兘鍦ㄦ寚瀹氭椂闂村唴鎸変笅鎵閫夋ゼ灞傜殑鎸夐挳銆
+ * **璁垮鍛兼**:鐢垫鍒拌揪涓妤,璁垮杩涘叆鐢垫鍚庝粎鍙寜涓嬫墍閫夋ゼ灞傜殑鎸夐挳銆
+ * **浣忔埛鍛兼**:鐢垫鑷姩鍒拌揪鎵閫夋ゼ灞傘
+ */
+
+ public static boolean controlGateway(int lUserID, int lGatewayIndex, int dwStaic) {
+ boolean b = getHcNetSDK().NET_DVR_ControlGateway(lUserID, lGatewayIndex, dwStaic);
+ if (!b) {
+ int i = getHcNetSDK().NET_DVR_GetLastError();
+ log.error("姊帶鎺у埗澶辫触, errCode={}", i);
+ }
+ return b;
+ }
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/LoginService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/LoginService.java
new file mode 100644
index 00000000..49aa02f4
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/LoginService.java
@@ -0,0 +1,58 @@
+package org.dromara.sis.sdk.hik.service;
+
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.HCNetSDK;
+
+/**
+ * 娴峰悍sdk鎺ュ彛鏈嶅姟
+ *
+ * @author LXJ
+ * @since 25-07-08
+ */
+@Slf4j
+public class LoginService extends SdkBaseServer {
+
+
+ /**
+ * 鐧诲綍璁惧锛屾敮鎸 V40 鍜 V30 鐗堟湰锛屽姛鑳戒竴鑷淬
+ *
+ * @param ip 璁惧IP鍦板潃
+ * @param port SDK绔彛锛岄粯璁や负璁惧鐨8000绔彛
+ * @param user 璁惧鐢ㄦ埛鍚
+ * @param psw 璁惧瀵嗙爜
+ * @return 鐧诲綍鎴愬姛杩斿洖鐢ㄦ埛ID锛屽け璐ヨ繑鍥-1
+ */
+ public static int loginDevice(String ip, short port, String user, String psw) {
+ // 鍒涘缓璁惧鐧诲綍淇℃伅鍜岃澶囦俊鎭璞
+ HCNetSDK.NET_DVR_USER_LOGIN_INFO loginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();
+ HCNetSDK.NET_DVR_DEVICEINFO_V40 deviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();
+ // 璁剧疆璁惧IP鍦板潃
+ byte[] deviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];
+ byte[] ipBytes = ip.getBytes();
+ System.arraycopy(ipBytes, 0, deviceAddress, 0, Math.min(ipBytes.length, deviceAddress.length));
+ loginInfo.sDeviceAddress = deviceAddress;
+ // 璁剧疆鐢ㄦ埛鍚嶅拰瀵嗙爜
+ byte[] userName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];
+ byte[] password = psw.getBytes();
+ System.arraycopy(user.getBytes(), 0, userName, 0, Math.min(user.length(), userName.length));
+ System.arraycopy(password, 0, loginInfo.sPassword, 0, Math.min(password.length, loginInfo.sPassword.length));
+ loginInfo.sUserName = userName;
+ // 璁剧疆绔彛鍜岀櫥褰曟ā寮
+ loginInfo.wPort = port;
+ loginInfo.bUseAsynLogin = false; // 鍚屾鐧诲綍
+ loginInfo.byLoginMode = 0; // 浣跨敤SDK绉佹湁鍗忚
+ // 鎵ц鐧诲綍鎿嶄綔
+ int userID = hcNetSDK.NET_DVR_Login_V40(loginInfo, deviceInfo);
+ if (userID == -1) {
+ log.error("鐧诲綍澶辫触锛岄敊璇爜涓: {}", hcNetSDK.NET_DVR_GetLastError());
+ } else {
+ log.info("璁惧[{}]鐧诲綍鎴愬姛.", ip);
+ deviceInfo.read();
+ //鑾峰彇璁惧瀛楃缂栫爜鏍煎紡
+ iCharEncodeType = deviceInfo.byCharEncodeType;
+ }
+ return userID; // 杩斿洖鐧诲綍缁撴灉
+ }
+
+
+}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/SdkBaseServer.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/SdkBaseServer.java
new file mode 100644
index 00000000..9353671e
--- /dev/null
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/hik/service/SdkBaseServer.java
@@ -0,0 +1,104 @@
+package org.dromara.sis.sdk.hik.service;
+
+import com.sun.jna.Native;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.sis.sdk.hik.HCNetSDK;
+import org.springframework.util.Assert;
+
+import static org.dromara.sis.sdk.hik.common.osSelect.isWindows;
+
+@Slf4j
+public class SdkBaseServer {
+
+
+ public static HCNetSDK hcNetSDK;
+ public static int iCharEncodeType = 0;
+ /**
+ * 娴峰悍鐧诲綍澶辫触code
+ */
+ public static final int LOGIN_FAIL_CODE = -1;
+
+
+ public static HCNetSDK getHcNetSDK() {
+ if (hcNetSDK == null) {
+ throw new RuntimeException("HIK sdk 鍒濆鍖栧け璐!");
+ }
+ return hcNetSDK;
+ }
+
+ public static void initSdk() {
+ if (isWindows()) {
+ String dllFilePath = System.getProperty("user.dir") + "\\lib\\hik\\win64\\HCNetSDK.dll";
+ log.info("win绯荤粺鍔犺浇搴撹矾寰: {}", dllFilePath);
+ hcNetSDK = (HCNetSDK) Native.loadLibrary(dllFilePath, HCNetSDK.class);
+ log.info("window-sdk鍔犺浇瀹屾垚銆");
+ } else {
+ String dllFilePath = System.getProperty("user.dir") + "/lib/libhcnetsdk.so";
+ log.info("linux绯荤粺鍔犺浇搴撹矾寰: {}", dllFilePath);
+ hcNetSDK = (HCNetSDK) Native.loadLibrary(dllFilePath, HCNetSDK.class);
+ HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256);
+ HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256);
+ //杩欓噷鏄簱鐨勭粷瀵硅矾寰勶紝璇锋牴鎹疄闄呮儏鍐典慨鏀癸紝娉ㄦ剰鏀硅矾寰勫繀椤绘湁璁块棶鏉冮檺
+ String strPath1 = System.getProperty("user.dir") + "/lib/libcrypto.so.1.1";
+ String strPath2 = System.getProperty("user.dir") + "/lib/libssl.so.1.1";
+ System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length());
+ ptrByteArray1.write();
+ hcNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArray1.getPointer());
+ System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length());
+ ptrByteArray2.write();
+ hcNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArray2.getPointer());
+ String strPathCom = System.getProperty("user.dir") + "/lib/";
+ HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH();
+ System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length());
+ struComPath.write();
+ hcNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer());
+ log.info("window-sdk鍔犺浇瀹屾垚銆");
+ }
+ //SDK鍒濆鍖栵紝鍜岃繘绋嬩繚鎸佸悓姝ワ紝浠呴渶瑕佽皟鐢ㄤ竴娆
+ hcNetSDK.NET_DVR_Init();
+ //寮鍚疭DK鏃ュ織鎵撳嵃
+ hcNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false);
+ }
+
+ /**
+ * 寮鍚畾鏃跺贰妫璁惧
+ *
+ * @param time 宸℃鏃堕棿
+ * @param workStateCallBack 宸℃鍥炶皟
+ */
+ public static boolean regularInspection(int time, HCNetSDK.DEV_WORK_STATE_CB workStateCallBack) {
+ Assert.notNull(workStateCallBack, "寮鍚畾鏃跺贰妫璁惧澶辫触, msg: HCNetSDK.FMSGCallBack 涓嶈兘涓簄ull");
+ HCNetSDK.NET_DVR_CHECK_DEV_STATE struCheckStatus = new HCNetSDK.NET_DVR_CHECK_DEV_STATE();
+ struCheckStatus.read();
+ //瀹氭椂妫娴嬭澶囧伐浣滅姸鎬侊紝鍗曚綅锛歮s锛0琛ㄧず浣跨敤榛樿鍊(30000)锛屾渶灏忓间负1000 30鍒嗛挓鏇存柊涓娆
+ struCheckStatus.dwTimeout = time;
+ struCheckStatus.fnStateCB = workStateCallBack;
+ struCheckStatus.write();
+ boolean state = hcNetSDK.NET_DVR_StartGetDevState(struCheckStatus);
+ if (!state) {
+ log.info("瀹氭椂宸℃璁惧寮鍚け璐ワ細{}", hcNetSDK.NET_DVR_GetLastError());
+ } else {
+ log.info("瀹氭椂宸℃璁惧寮鍚垚鍔");
+ }
+ return state;
+ }
+
+
+ /**
+ * 鐧诲嚭鎿嶄綔
+ */
+ public static boolean logout(int lUserID) {
+ if (lUserID >= 0) {
+ return hcNetSDK.NET_DVR_Logout(lUserID);
+ }
+ return false;
+ }
+
+ public static void clearSdk() {
+ if (hcNetSDK != null) {
+ hcNetSDK.NET_DVR_Cleanup();
+ }
+ }
+
+
+}