Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than iphlpapi, prefix the name with the module name and a period.
UnenableRouter (iphlpapi)
.
C# Signature:
[DllImport("iphlpapi.dll", SetLastError=true)]
static extern int UnenableRouter(ref System.Threading.NativeOverlapped pOverlapped, IntPtr lpdwEnableCount);
VB.NET Signature:
<DllImport("iphlpapi.dll", CharSet:=CharSet.Ansi)>
Public Shared Function UnenableRouter(pOverlapped As IntPtr, ByRef lpdwEnableCount As Long) 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 NO_ERROR As Integer = 0
<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 UnenableRouter(pOverlapped As IntPtr, ByRef lpdwEnableCount As Long) As Integer
End Function
<DllImport("kernel32.dll")>
Public Shared Function CloseHandle(ByVal hwn As IntPtr) As Long
End Function
Private pOverlapped As OVERLAPPED <- Important! Created from EnableRouter() call.
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim count As Long
Dim pOverlappedPtr As IntPtr
Dim RetVal As Integer
Dim size As Integer
Try
size = Marshal.SizeOf(pOverlapped)
If pOverlapped.hEvent = IntPtr.Zero Then Exit Sub ' We don't have the handle.
pOverlappedPtr = Marshal.AllocHGlobal(size)
Marshal.StructureToPtr(pOverlapped, pOverlappedPtr, True)
RetVal = UnenableRouter(pOverlappedPtr, count)
If RetVal = NO_ERROR Then
Console.WriteLine("Success!")
Else
Dim errorMessage As String = New Win32Exception(RetVal).Message
Console.WriteLine(errorMessage)
End If
If pOverlappedPtr <> IntPtr.Zero Then CloseHandle(pOverlapped.hEvent)
Catch ex As Exception
Console.WriteLine(ex.ToString)
Finally
Marshal.FreeHGlobal(pOverlappedPtr)
End Try
End Sub
The UnenableRouter function decrements the reference count that tracks the number of requests to enable IPv4 forwarding. When this reference count reaches zero, UnenableRouter turns off IPv4 forwarding on the local computer.
9/13/2016 1:35:17 AM - -188.192.82.156
The UnenableRouter function decrements the reference count that tracks the number of requests to enable IPv4 forwarding. When this reference count reaches zero, UnenableRouter turns off IPv4 forwarding on the local computer.
9/13/2016 1:35:17 AM - -188.192.82.156
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).