Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Diagnostics;
- using System.Runtime.InteropServices;
- namespace DellRoutes
- {
- class Program
- {
- [ComVisible(false), StructLayout(LayoutKind.Sequential)]
- internal struct IPForwardTable
- {
- public uint Size;
- [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.Struct, SizeParamIndex = 0)]
- public IPFORWARDROW[] Table;
- };
- [ComVisible(false), StructLayout(LayoutKind.Sequential)]
- internal struct IPFORWARDROW
- {
- internal int /*DWORD*/ dwForwardDest;
- internal int /*DWORD*/ dwForwardMask;
- internal int /*DWORD*/ dwForwardPolicy;
- internal int /*DWORD*/ dwForwardNextHop;
- internal int /*DWORD*/ dwForwardIfIndex;
- internal int /*DWORD*/ dwForwardType;
- internal int /*DWORD*/ dwForwardProto;
- internal int /*DWORD*/ dwForwardAge;
- internal int /*DWORD*/ dwForwardNextHopAS;
- internal int /*DWORD*/ dwForwardMetric1;
- internal int /*DWORD*/ dwForwardMetric2;
- internal int /*DWORD*/ dwForwardMetric3;
- internal int /*DWORD*/ dwForwardMetric4;
- internal int /*DWORD*/ dwForwardMetric5;
- };
- [DllImport("iphlpapi", CharSet = CharSet.Auto)]
- private extern static int GetIpForwardTable(IntPtr /*PMIB_IPFORWARDTABLE*/ pIpForwardTable, ref int /*PULONG*/ pdwSize, bool bOrder);
- [DllImport("iphlpapi", CharSet = CharSet.Auto)]
- private extern static int CreateIpForwardEntry(IntPtr /*PMIB_IPFORWARDROW*/ pRoute);
- static void Main(string[] args)
- {
- var fwdTable = IntPtr.Zero;
- int size = 0;
- var result = GetIpForwardTable(fwdTable, ref size, true);
- fwdTable = Marshal.AllocHGlobal(size);
- result = GetIpForwardTable(fwdTable, ref size, true);
- var str = (IPForwardTable) Marshal.PtrToStructure(fwdTable, typeof(IPForwardTable));
- Marshal.FreeHGlobal(fwdTable);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement