1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 | [StructLayout(LayoutKind.Sequential, Pack = 4)]
public struct NET_SDK_DEVICEINFO
{
public byte localVideoInputNum;
public byte audioInputNum;
public byte sensorInputNum;
public byte sensorOutputNum;
public UInt32 displayResolutionMask;
public byte videoOuputNum;
public byte netVideoOutputNum;
public byte netVideoInputNum;
public byte IVSNum;
public byte presetNumOneCH;
public byte cruiseNumOneCH;
public byte presetNumOneCruise;
public byte trackNumOneCH;
public byte userNum;
public byte netClientNum;
public byte netFirstStreamNum;
public byte deviceType;
public byte doblueStream;
public byte audioStream;
public byte talkAudio;
public byte bPasswordCheck;
public byte defBrightness;
public byte defContrast;
public byte defSaturation;
public byte defHue;
public UInt16 videoInputNum;
public UInt16 deviceID;
public UInt32 videoFormat;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U4, SizeConst = 8)]
public UInt32[] function;
public UInt32 deviceIP;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 6)]
public byte[] deviceMAC;
public UInt16 devicePort;
public UInt32 buildDate;
public UInt32 buildTime;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] deviceName;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] firmwareVersion;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] kernelVersion;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] hardwareVersion;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] MCUVersion;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] firmwareVersionEx;
public UInt32 softwareVer;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 32)]
public byte[] szSN;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 28)]
public byte[] deviceProduct;
public UInt32 dwProductType;
public IPAddress GetDeviceIP()
{
return new IPAddress(deviceIP);
}
public string GetDeviceIPStr()
{
return DevSdkHelper.IntToIp(deviceIP);
}
public string GetDeviceMAC()
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < deviceMAC.Length; i++)
{
string str = deviceMAC[i].ToString("X");
str = str.Length == 1 ? "0" + str : str;
if (i < 5)
sb.Append(str + ":");
else
sb.Append(str);
}
return sb.ToString();
}
public string GetDeviceName()
{
return DevSdkHelper.ByteToStr(deviceName);
}
public string GetFirmwareVersion()
{
return DevSdkHelper.ByteToStr(firmwareVersion);
}
public string GetKernelVersion()
{
return DevSdkHelper.ByteToStr(kernelVersion);
}
public string GetHardwareVersion()
{
return DevSdkHelper.ByteToStr(hardwareVersion);
}
public string GetMCUVersion()
{
return DevSdkHelper.ByteToStr(MCUVersion);
}
public string GetFirmwareVersionEx()
{
return DevSdkHelper.ByteToStr(firmwareVersionEx);
}
public string GetDeviceProduct()
{
return DevSdkHelper.ByteToStr(deviceProduct);
}
}
|