static public void RefreshRouteInfo() { fwdTable = IntPtr.Zero; int size = 0; var result = NativeMethods.GetIpForwardTable(fwdTable, ref size, true); fwdTable = Marshal.AllocHGlobal(size); result = NativeMethods.GetIpForwardTable(fwdTable, ref size, true); forwardTable = ReadIPForwardTable(fwdTable); Marshal.FreeHGlobal(fwdTable); }
//Инициализация всех структур и считывание таблицы маршрутизации static public void Init() { fwdTable = IntPtr.Zero; int size = 0; var result = NativeMethods.GetIpForwardTable(fwdTable, ref size, true); fwdTable = Marshal.AllocHGlobal(size); result = NativeMethods.GetIpForwardTable(fwdTable, ref size, true); forwardTable = ReadIPForwardTable(fwdTable); Marshal.FreeHGlobal(fwdTable); tmpTable.Columns.Add("DestIP", System.Type.GetType("System.String")); tmpTable.Columns.Add("SubnetMask", System.Type.GetType("System.String")); tmpTable.Columns.Add("NextHop", System.Type.GetType("System.String")); tmpTable.Columns.Add("IfIndex", System.Type.GetType("System.Int32")); tmpTable.Columns.Add("Type", System.Type.GetType("System.Int32")); tmpTable.Columns.Add("Proto", System.Type.GetType("System.String")); tmpTable.Columns.Add("Age", System.Type.GetType("System.Int32")); tmpTable.Columns.Add("Metric1", System.Type.GetType("System.Int32")); tmpTable.Columns.Add("Type_Text", System.Type.GetType("System.Int32")); tmpTable.Columns.Add("TypeText", System.Type.GetType("System.String")); tmpTable.Columns.Add("IFText", System.Type.GetType("System.String")); }