// 测试获取当前警报信息 public void GetAlarmInfo() { Int32 index = 0; string errTxt = string.Empty; Int32 ret = 0; ret = HncApi.HNC_AlarmGetNum((Int32)AlarmType.ALARM_TYPE_ALL, (Int32)AlarmLevel.ALARM_LEVEL_ALL, ref alarmNum, ActiveClientNo); if (ret != 0) { Console.WriteLine("获取警报失败"); } else { Console.WriteLine($"当前警报数量为{alarmNum}"); } for (int i = 0; i < alarmNum; i++) { ret = HncApi.HNC_AlarmGetData((int)AlarmType.ALARM_TYPE_ALL, (int)AlarmLevel.ALARM_ERR, index, ref alarmNo, ref errTxt, ActiveClientNo); if (ret == 0) { alarmInfo = index.ToString() + alarmNo.ToString() + errTxt + "\n"; Console.WriteLine(alarmInfo); } else { Console.WriteLine(" 无法读取警报信息!"); } } }
public Int32 HNC_AlarmGetData(Int32 type, Int32 level, Int32 index, ref Int32 alarmNo, ref String alarmText) { Int32 ret = -1; IntPtr ptr = Marshal.AllocHGlobal(HNCALARM.ALARM_TXT_LEN); ret = HncApi.HNC_AlarmGetData(type, level, index, ref alarmNo, ptr, _ClientNo); alarmText = Marshal.PtrToStringAnsi(ptr); Marshal.FreeHGlobal(ptr); return(ret); }
// 报警信息 private void GetAlarmInfo() { Int32 alarmID = 0; Int32 index = 0; string errTxt = string.Empty; Int32 ret = HncApi.HNC_AlarmGetData((int)AlarmType.ALARM_TYPE_ALL, (int)AlarmLevel.ALARM_ERR, index, ref alarmID, ref errTxt, HNCCollector.ActiveClientNo); if (ret == 0) { for (int i = 0; i < alarmCount; i++) { ListViewItem item = new ListViewItem(index.ToString()); item.SubItems.Add(alarmID.ToString()); item.SubItems.Add(errTxt.ToString()); item.SubItems.Add(DateTime.Now.ToString()); this.AlarmlistView.Items.Add(item); } // MessageBox.Show("AlarmID:" + alarmID.ToString() + "content:" + errTxt.ToString()); } else { MessageBox.Show("failing to get the alarm info!"); } }