public void Close(bool resetOwner)
 {
     RuntimeHelpers.PrepareConstrainedRegions();
     try
     {
     }
     finally
     {
         if (resetOwner)
         {
             this._socketHandle = null;
         }
         base.Close();
     }
 }
 internal static extern SocketError WSAEnumNetworkEvents(
     [In] SafeCloseSocket socketHandle,
     [In] SafeWaitHandle Event,
     [In, Out] ref NetworkEvents networkEvents
     );
 public static SafeOverlappedFree Alloc(SafeCloseSocket socketHandle)
 {
     SafeOverlappedFree free = Alloc();
     free._socketHandle = socketHandle;
     return free;
 }
 internal static extern SocketError getsockname(
     [In] SafeCloseSocket socketHandle,
     [Out] byte[] socketAddress,
     [In, Out] ref int socketAddressSize
     );
 internal static extern SocketError WSAEventSelect(
     [In] SafeCloseSocket socketHandle,
     [In] IntPtr Event,
     [In] AsyncEventBits NetworkEvents
     );
 internal static extern SocketError shutdown(
     [In] SafeCloseSocket socketHandle,
     [In] int how
     );
 internal static extern SocketError bind(
     [In] SafeCloseSocket socketHandle,
     [In] byte[] socketAddress,
     [In] int socketAddressSize
     );
 internal static extern SocketError listen(
     [In] SafeCloseSocket socketHandle,
     [In] int backlog
     );
 internal static extern SocketError ioctlsocket(
     [In] SafeCloseSocket socketHandle,
     [In] int cmd,
     [In, Out] ref int argp
     );
 internal static SafeCloseSocket Accept(SafeCloseSocket socketHandle, byte[] socketAddress, ref int socketAddressSize)
 {
     return(CreateSocket(InnerSafeCloseSocket.Accept(socketHandle, socketAddress, ref socketAddressSize)));
 }