[StructLayout(LayoutKind.Sequential, Pack = 4)]
public struct SEARCHED_DEVICE_INFO
{
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] series;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] devName;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 16)]
public byte[] deviceType;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 16)]
public byte[] szproductModel;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 32)]
public byte[] szVersion;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 16)]
public byte[] szFactoryName;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 16)]
public byte[] szEthName;
public UInt16 netport;
public UInt16 nHttpPort;
public UInt32 ipaddr;
public UInt32 gateway;
public UInt32 netmask;
public UInt32 dns1;
public UInt32 dns2;
public UInt16 nChannelCount;
public UInt32 dwSecondIP;
public UInt32 dwSecondMask;
}