@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: The EnableRouter function turns on IPv4 forwarding on the local computer. EnableRouter also increments a reference count that tracks the number of requests to enable IPv4 forwarding. !!!!C# Signature: [DllImport("iphlpapi.dll", SetLastError=true)] static extern int EnableRouter(IntPtr pHandle, ref System.Threading.NativeOverlapped pOverlapped); !!!!VB.NET Signature: <DllImport("iphlpapi.dll", CharSet:=CharSet.Ansi)> Public Shared Function EnableRouter(pHandle As IntPtr, ByRef pOverlapped As OVERLAPPED) As Integer End Function !!!!User-Defined Types: None. !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: None. !!!!Tips & Tricks: Please add some! !!!!Sample Code: VB.NET Example Private Const ERROR_IO_PENDING As Integer = 997 <StructLayout(LayoutKind.Explicit, Size:=20)> Public Structure OVERLAPPED <FieldOffset(0)> Public Internal As UInt32 <FieldOffset(4)> Public InternalHigh As UInt32 <FieldOffset(8)> Public Offset As UInt32 <FieldOffset(12)> Public OffsetHigh As UInt32 <FieldOffset(8)> Public Pointer As IntPtr <FieldOffset(16)> Public hEvent As IntPtr End Structure <DllImport("iphlpapi.dll", CharSet:=CharSet.Ansi)> Public Shared Function EnableRouter(pHandle As IntPtr, ByRef pOverlapped As OVERLAPPED) As Integer End Function <DllImport("kernel32.dll", EntryPoint:="CreateEventA", CharSet:=CharSet.Unicode)> Public Shared Function CreateEvent(lpEventAttributes As IntPtr, ByVal bManualReset As Boolean, ByVal bInitialState As Boolean, ByVal lpName As String) As IntPtr End Function Private pOverlapped As OVERLAPPED ' <- Important! This should also be used when calling UnenableRouter() API Function. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click ' OVERLAPPED strucutre fields can be NULLED except hEvent field. pOverlapped.hEvent = CreateEvent(IntPtr.Zero, False, False, "enablerouter") Dim RetVal As Integer = EnableRouter(IntPtr.Zero, pOverlapped) If RetVal = ERROR_IO_PENDING Then Console.WriteLine("Success!") Else Dim errorMessage As String = New Win32Exception(RetVal).Message Console.WriteLine("Error {0}", errorMessage) End If End Sub Documentation: EnableRouter@msdn on MSDN
Edit iphlpapi.EnableRo...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.