Пример #1
0
        //Получаем Таблицу маршрутизации.
        static IPForwardTable ReadIPForwardTable(IntPtr tablePtr)
        {
            var result = (IPForwardTable)Marshal.PtrToStructure(tablePtr, typeof(IPForwardTable));

            IPFORWARDROW[] table = new IPFORWARDROW[result.Size];
            IntPtr         p     = new IntPtr(tablePtr.ToInt64() + Marshal.SizeOf(result.Size));

            for (int i = 0; i < result.Size; ++i)
            {
                table[i] = (IPFORWARDROW)Marshal.PtrToStructure(p, typeof(IPFORWARDROW));
                p        = new IntPtr(p.ToInt64() + Marshal.SizeOf(typeof(IPFORWARDROW)));
            }
            result.Table = table;

            return(result);
        }
Пример #2
0
 public static extern uint GetBestRoute(
     uint dwDestAddr,
     uint dwSourceAddr,
     out IPFORWARDROW pBestRoute);
Пример #3
0
 private static extern int SetIpForwardEntry(IPFORWARDROW pRoute);