'From:  "Maurice Roberge"   Thu Jul 31, 2003  3:17 am
' an example which shows how to pass from nonblocking to blocking mode.  
' This is very useful for transferring a file.
 
CONST WM_SOCK = 5000
 
DECLARE FUNCTION WSAAsyncSelect Lib "wsock32.dll" Alias _
"WSAAsyncSelect" (s As Long, hwnd As Long, wMsg As Long, _
lEvent As Long) As Long

 
DECLARE FUNCTION ioctlsocket Lib "wsock32.dll" Alias _
"ioctlsocket" (s As Long, cmd As Long, BYREF arg As Long) As Long
 
DIM s As Long, arg As Long
 
TYPE EQSocket EXTENDS QSocket
  FUNCTION Block(s As LONG) As LONG 
    arg = 0 : Result = ioctlsocket (s, &H8004667E, arg)
  END FUNCTION
END TYPE
 
DIM cn As EQSocket
 
r = WSAAsyncSelect (s, Form.Handle, WM_SOCK, 0)  ' We must first call this function with
                                                 ' the lEvent parameter equal to zero
r = cn.Block (s)