[StructLayout(LayoutKind.Sequential, Pack = 4)]
public struct TEMPERATURE_ALARM_INFO_NEW
{
public UInt32 dwRuleID;
public POINT_16 MaxTemperPos;
public Int32 nMaxTemper;
public POINT_16 MinTemperPos;
public Int32 nMinTemper;
public Int32 nAverageTemper;
public UInt32 dwDegreeUnit;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 64)]
public byte[] szRuleName;
public UInt32 dwRuleType;
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U4, SizeConst = 16)]
public UInt32[] dwReserve;
public UInt16 usPolylinePointPos;
public UInt16 usPolylinePointNum;
public Int32 chanel;
}