Exemplo n.º 1
0
        private void InitDynamicMethods()
        {
            m_connectEx =
                (ConnectExDelegate)LoadDynamicMethod <ConnectExDelegate>(UnsafeMethods.WSAID_CONNECTEX);

            m_acceptEx =
                (AcceptExDelegate)LoadDynamicMethod <AcceptExDelegate>(UnsafeMethods.WSAID_ACCEPT_EX);
        }
Exemplo n.º 2
0
    private void InitDynamicMethods()
    {
      m_connectEx =
        (ConnectExDelegate)LoadDynamicMethod(UnsafeMethods.WSAID_CONNECTEX, typeof(ConnectExDelegate));

      m_acceptEx =
        (AcceptExDelegate)LoadDynamicMethod(UnsafeMethods.WSAID_ACCEPT_EX, typeof(AcceptExDelegate));
    }
Exemplo n.º 3
0
 private void EnsureAcceptEx(SafeCloseSocket socketHandle)
 {
     if (this.acceptEx == null)
     {
         lock (this.lockObject)
         {
             if (this.acceptEx == null)
             {
                 Guid   guid = new Guid("{0xb5367df1,0xcbac,0x11cf,{0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}}");
                 IntPtr ptr  = this.LoadDynamicFunctionPointer(socketHandle, ref guid);
                 this.acceptEx = (AcceptExDelegate)Marshal.GetDelegateForFunctionPointer(ptr, typeof(AcceptExDelegate));
             }
         }
     }
 }
 private void EnsureAcceptEx(SafeCloseSocket socketHandle)
 {
     if (_acceptEx == null)
     {
         lock (_lockObject)
         {
             if (_acceptEx == null)
             {
                 Guid   guid        = new Guid("{0xb5367df1,0xcbac,0x11cf,{0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}}");
                 IntPtr ptrAcceptEx = LoadDynamicFunctionPointer(socketHandle, ref guid);
                 _acceptEx = Marshal.GetDelegateForFunctionPointer <AcceptExDelegate>(ptrAcceptEx);
             }
         }
     }
 }
Exemplo n.º 5
0
        internal bool AcceptEx(SafeCloseSocket listenSocketHandle,
                               SafeCloseSocket acceptSocketHandle,
                               IntPtr buffer,
                               int len,
                               int localAddressLength,
                               int remoteAddressLength,
                               out int bytesReceived,
                               SafeHandle overlapped)
        {
            EnsureDynamicWinsockMethods();
            AcceptExDelegate acceptEx = _dynamicWinsockMethods.GetDelegate <AcceptExDelegate>(listenSocketHandle);

            return(acceptEx(listenSocketHandle,
                            acceptSocketHandle,
                            buffer,
                            len,
                            localAddressLength,
                            remoteAddressLength,
                            out bytesReceived,
                            overlapped));
        }
Exemplo n.º 6
0
 public Listener(Socket socket)
 {
     m_socket   = socket;
     m_acceptEx =
         (AcceptExDelegate)m_socket.LoadDynamicMethod <AcceptExDelegate>(UnsafeMethods.WSAID_ACCEPT_EX);
 }