[StructLayout(LayoutKind.Sequential, Pack = 4)]
public struct NET_SDK_IPC_DEVICE_INFO
{
public UInt32 deviceID;
public UInt16 channel;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 48)]
public byte[] guid;
public UInt16 status;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 16)]
public byte[] szEtherName;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] szServer;
public UInt16 nPort;
public UInt16 nHttpPort;
public UInt16 nCtrlPort;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] szID;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] username;
public UInt32 manufacturerId;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] manufacturerName;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] productModel;
public byte bUseDefaultCfg;
public byte bPOEDevice;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 2)]
public byte[] resv;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 36)]
public byte[] szChlname;
public static int GetSize()
{
return Marshal.SizeOf(typeof(NET_SDK_IPC_DEVICE_INFO));
}
}