MSocketSupport

Modulo necessario per utilizzare le Socket in Visual Basic.

Copyright 2002 by Oleg Gdalevich
E-Mail: Giorgio.Bernardi@studio.unibo.it
Version: 1.0.12 Modified: 17-OCT-2002

Modulo sviluppato esternamente e adattato da Giorgio Bernardi.

Codice
Const Summary
Public FD_ACCEPT
Public FD_CLOSE
Public FD_CONNECT
Public FD_OOB
Public FD_READ
Public FD_SETSIZE
Public FD_WRITE
Public GMEM_FIXED
Public GMEM_MOVEABLE
Private GWL_WNDPROC
Public INADDR_ANY
Public INADDR_NONE
Public INVALID_SOCKET
Public MAXGETHOSTSTRUCT
Private MAXINT_2
Private MAXINT_4
Public MSG_DONTROUTE
Public MSG_OOB
Public MSG_PARTIAL
Public MSG_PEEK
Private OFFSET_2
Private OFFSET_4
Public SD_BOTH
Public SD_RECEIVE
Public SD_SEND
Public SO_ACCEPTCONN
Public SO_BROADCAST
Public SO_DEBUG
Public SO_DONTLINGER
Public SO_DONTROUTE
Public SO_ERROR
Public SO_EXCLUSIVEADDRUSE
Public SO_KEEPALIVE
Public SO_LINGER
Public SO_OOBINLINE
Public SO_RCVBUF
Public SO_REUSEADDR
Public SO_SNDBUF
Public SO_TYPE
Public SO_USELOOPBACK
Public SOCKET_ERROR
Public SOL_SOCKET
Public WSA_E_CANCELLED
Public WSA_E_NO_MORE
Public WSABASEERR
Public WSADESCRIPTION_LEN
Public WSAEACCES
Public WSAEADDRINUSE
Public WSAEADDRNOTAVAIL
Public WSAEAFNOSUPPORT
Public WSAEALREADY
Public WSAEBADF
Public WSAECANCELLED
Public WSAECONNABORTED
Public WSAECONNREFUSED
Public WSAECONNRESET
Public WSAEDESTADDRREQ
Public WSAEDISCON
Public WSAEDQUOT
Public WSAEFAULT
Public WSAEHOSTDOWN
Public WSAEHOSTUNREACH
Public WSAEINPROGRESS
Public WSAEINTR
Public WSAEINVAL
Public WSAEINVALIDPROCTABLE
Public WSAEINVALIDPROVIDER
Public WSAEISCONN
Public WSAELOOP
Public WSAEMFILE
Public WSAEMSGSIZE
Public WSAENAMETOOLONG
Public WSAENETDOWN
Public WSAENETRESET
Public WSAENETUNREACH
Public WSAENOBUFS
Public WSAENOMORE
Public WSAENOPROTOOPT
Public WSAENOTCONN
Public WSAENOTEMPTY
Public WSAENOTSOCK
Public WSAEOPNOTSUPP
Public WSAEPFNOSUPPORT
Public WSAEPROCLIM
Public WSAEPROTONOSUPPORT
Public WSAEPROTOTYPE
Public WSAEPROVIDERFAILEDINIT
Public WSAEREFUSED
Public WSAEREMOTE
Public WSAESHUTDOWN
Public WSAESOCKTNOSUPPORT
Public WSAESTALE
Public WSAETIMEDOUT
Public WSAETOOMANYREFS
Public WSAEUSERS
Public WSAEWOULDBLOCK
Public WSAHOST_NOT_FOUND
Public WSANO_DATA
Public WSANO_RECOVERY
Public WSANOERROR
Public WSANOTINITIALISED
Public WSASERVICE_NOT_FOUND
Public WSASYS_STATUS_LEN
Public WSASYSCALLFAILURE
Public WSASYSNOTREADY
Public WSATRY_AGAIN
Public WSATYPE_NOT_FOUND
Public WSAVERNOTSUPPORTED
 
Types Summary
Public fd_set
Type fd_set
fd_count As Long '// how many are SET?
fd_array() As Long '// an array of SOCKETs
End Type

Public HOSTENT
Type HOSTENT
hName As Long
hAliases As Long
hAddrType As Integer
hLength As Integer
hAddrList As Long
End Type

Public IN_ADDR
Type IN_ADDR
S_addr As Long
End Type

Public SOCK_ADDR
Type SOCK_ADDR
sin_family As Integer
sin_port As Integer
sin_addr As IN_ADDR
sin_zero() As Byte
End Type

Public SocketProtocol
Enum SocketProtocol
IPPROTO_IP = 0 '/* dummy for IP */
IPPROTO_ICMP = 1 '/* control message protocol */
IPPROTO_IGMP = 2 '/* internet group management protocol */
IPPROTO_GGP = 3 '/* gateway^2 (deprecated) */
IPPROTO_TCP = 6 '/* tcp */
IPPROTO_PUP = 12 '/* pup */
IPPROTO_UDP = 17 '/* user datagram protocol */
IPPROTO_IDP = 22 '/* xns idp */
IPPROTO_ND = 77 '/* UNOFFICIAL net disk proto */
IPPROTO_RAW = 255 '/* raw IP packet */
IPPROTO_MAX = 256
End Enum

Public WSAData
Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription As String
szSystemStatus As String
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type

 
Field Summary
Private(Boolean) m_blnWinsockInit
Private(Collection) m_colMemoryBlocks
Private(Collection) m_colResolvers
Private(Collection) m_colSockets
Private(Long) m_lngMaxMsgSize
Private(Long) m_lngPreviousValue
Private(Long 'Added: 04-MAR-2002) m_lngResolveMessage
Public(Long) p_lngWindowHandle
Public(Long) p_lngWinsockMessage
 
Method Summary
Public(Long) api_accept( ByVal s As Long, ByRef f As SOCK_ADDR, ByRef f As Long)
Codice
Public(Long) api_listen( ByVal s As Long, ByVal l As Long)
Codice
Private(Long) CallWindowProc( ByVal lpPrevWndFunc& As Variant, ByVal l As Variant, ByVal l As Variant, ByVal l As Variant, ByVal l As Variant)
Codice
Public CleanupWinsock()
Codice
Public CopyMemory( lpvDest As Any, lpvSource As Any, ByVal l As Long)
Codice
Private(Long) CreateWindowEx( ByVal dwExStyle As Long, ByVal l As String, ByVal l As String, ByVal l As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long, lpParam As Any)
Codice
Private(Long) CreateWinsockMessageWindow()
Codice
Private(Long) DestroyWindow( ByVal hwnd As Long)
Codice
Private(Boolean) DestroyWinsockMessageWindow()
Codice
Public(String) GetErrorDescription( ByVal lngErrorCode As Long)
Codice
Public(Long) gethostbyaddr( addr As Long, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) gethostbyname( ByVal host_name As String)
Codice
Public(Long) getHostName( ByVal host_name As String, ByVal l As Long)
Codice
Public(Long) getpeername( ByVal s As Long, ByRef f As SOCK_ADDR, ByRef f As Long)
Codice
Public(Long) getprotobyname( ByVal proto_name As String)
Codice
Public(Long) getprotobynumber( ByVal proto As Long)
Codice
Public(Long) getservbyname( ByVal serv_name As String, ByVal l As String)
Codice
Public(Long) getservbyport( ByVal Port As Integer, ByVal l As Long)
Codice
Public(Long) getsockname( ByVal s As Long, ByRef f As SOCK_ADDR, ByRef f As Long)
Codice
Public(Long) getsockopt( ByVal s As Long, ByVal l As Long, ByVal l As Long, optval As Any, optlen As Long)
Codice
Public(Long) GlobalAlloc( ByVal wFlags As Long, ByVal l As Long)
Codice
Public(Long) GlobalFree( ByVal hMem As Long)
Codice
Public(Long) GlobalLock( ByVal hMem As Long)
Codice
Public(Long) GlobalUnlock( ByVal hMem As Long)
Codice
Private(Long) HiWord( lngValue As Long)
Codice
Public(Long) htonl( ByVal hostlong As Long)
Codice
Public(Integer) htons( ByVal hostshort As Integer)
Codice
Public(Long) inet_addr( ByVal cp As String)
Codice
Public(Long) inet_ntoa( ByVal inn As Long)
Codice
Public(Long) InitWinsockService()
Codice
Public(Long) IntegerToUnsigned( Value As Integer)
Codice
Public(Double) LongToUnsigned( Value As Long)
Codice
Private(Long) LoWord( lngValue As Long)
Codice
Private(Long) lstrcpy( ByVal lpString1 As String, ByVal l As Long)
Codice
Private(Long) lstrlen( ByVal lpString As Any)
Codice
Public(Long) ntohl( ByVal netlong As Long)
Codice
Public(Integer) ntohs( ByVal netshort As Integer)
Codice
Public(Long) PostMessage( ByVal hwnd As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) recv( ByVal s As Long, ByRef f As Any, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) recvfrom( ByVal s As Long, ByRef f As Any, ByVal l As Long, ByVal l As Long, ByRef f As SOCK_ADDR, ByRef f As Long)
Codice
Public(Boolean) RegisterSocket( ByVal lngSocketHandle As Long, ByVal l As Long)
Codice
Private(Long) RegisterWindowMessage( ByVal lpString As String)
Codice
Private RemoveIfExists( ByVal strKey As String)
Codice
Public(Long) ResolveHost( strHostAddress As String, ByVal l As Long)
Codice
Public(Long) sBind( ByVal s As Long, ByRef f As SOCK_ADDR, ByRef f As Long)
Codice
Public(Long) sCloseSocket( ByVal s As Long)
Codice
Public(Long) sConnect( ByVal s As Long, ByRef f As SOCK_ADDR, ByVal l As Long)
Codice
Public(Long) Send( ByVal s As Long, ByRef f As Any, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) sendto( ByVal s As Long, ByRef f As Any, ByVal l As Long, ByVal l As Long, ByRef f As SOCK_ADDR, ByVal l As Long)
Codice
Public(Long) setsockopt( ByVal s As Long, ByVal l As Long, ByVal l As Long, optval As Any, ByVal l As Long)
Codice
Private(Long) SetWindowLong( ByVal hwnd As Long, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) shutdown( ByVal s As Long, ByVal l As Long)
Codice
Private(CSocket) SocketObjectFromPointer( ByVal lngPointer As Long)
Codice
Public(Long) sSelect( ByVal nfds As Long, ByRef f As Any, ByRef f As Any, ByRef f As Any, ByRef f As Long)
Codice
Public(Long) sSocket( ByVal af As Long, ByVal l As Long, ByVal l As Long)
Codice
Public(String) StringFromPointer( ByVal lPointer As Long)
Codice
Public(Boolean) UnregisterSocket( ByVal lngSocketHandle As Long)
Codice
Public(Integer) UnsignedToInteger( Value As Long)
Codice
Public(Long) UnsignedToLong( Value As Double)
Codice
Private(Long) WindowProc( ByVal hwnd As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) WSAAsyncGetHostByAddr( ByVal hwnd As Long, ByVal l As Long, ByRef f As Long, ByVal l As Long, ByVal l As Long, buf As Any, ByVal l As Long)
Codice
Public(Long) WSAAsyncGetHostByName( ByVal hwnd As Long, ByVal l As Long, ByVal l As String, buf As Any, ByVal l As Long)
Codice
Public(Long) WSAAsyncSelect( ByVal s As Long, ByVal l As Long, ByVal l As Long, ByVal l As Long)
Codice
Public(Long) WSACancelBlockingCall()
Codice
Public(Long) WSACleanup()
Codice
Public(Long) WSAGetLastError()
Codice
Public(Long) WSAStartup( ByVal wVR As Long, lpWSAD As WSAData)
Codice
 
Details

FD_ACCEPT

Public Const FD_ACCEPT = &H8&

Codice

FD_CLOSE

Public Const FD_CLOSE = &H20&

Codice

FD_CONNECT

Public Const FD_CONNECT = &H10&

Codice

FD_OOB

Public Const FD_OOB = &H4&

Codice

FD_READ

Public Const FD_READ = &H1&

Codice

FD_SETSIZE

Public Const FD_SETSIZE = 64

Codice

FD_WRITE

Public Const FD_WRITE = &H2&

Codice

GMEM_FIXED

Public Const GMEM_FIXED = &H0

Codice

GMEM_MOVEABLE

Public Const GMEM_MOVEABLE = &H2

Codice

GWL_WNDPROC

Private Const GWL_WNDPROC = -4

Codice

INADDR_ANY

Public Const INADDR_ANY = &H0

Codice

INADDR_NONE

Public Const INADDR_NONE = &HFFFF

Codice

INVALID_SOCKET

Public Const INVALID_SOCKET = -1

Codice

MAXGETHOSTSTRUCT

Public Const MAXGETHOSTSTRUCT = 1024

Codice

MAXINT_2

Private Const MAXINT_2 = 32767

Codice

MAXINT_4

Private Const MAXINT_4 = 2147483647

Codice

MSG_DONTROUTE

Public Const MSG_DONTROUTE = &H4   '/* send without using routing tables */

Codice

MSG_OOB

Public Const MSG_OOB = &H1         '/* process out-of-band data */

Codice

MSG_PARTIAL

Public Const MSG_PARTIAL = &H8000  '/* partial send or recv for message xport */

Codice

MSG_PEEK

Public Const MSG_PEEK = &H2        '/* peek at incoming message */

Codice

OFFSET_2

Private Const OFFSET_2 = 65536

Codice

OFFSET_4

Private Const OFFSET_4 = 4294967296#

Codice

SD_BOTH

Public Const SD_BOTH = &H2

Codice

SD_RECEIVE

Public Const SD_RECEIVE = &H0

Codice

SD_SEND

Public Const SD_SEND = &H1

Codice

SO_ACCEPTCONN

Public Const SO_ACCEPTCONN = &H2&    ' Socket has had listen() - READ-ONLY.

Codice

SO_BROADCAST

Public Const SO_BROADCAST = &H20&    ' Permit sending of broadcast msgs.

Codice

SO_DEBUG

Public Const SO_DEBUG = &H1&         ' Turn on debugging info recording

Codice

SO_DONTLINGER

Public Const SO_DONTLINGER = Not SO_LINGER

Codice

SO_DONTROUTE

Public Const SO_DONTROUTE = &H10&    ' Just use interface addresses.

Codice

SO_ERROR

Public Const SO_ERROR = &H1007&      ' Get error status and clear.

Codice

SO_EXCLUSIVEADDRUSE

Public Const SO_EXCLUSIVEADDRUSE = Not SO_REUSEADDR ' Disallow local address reuse.

Codice

SO_KEEPALIVE

Public Const SO_KEEPALIVE = &H8&     ' Keep connections alive.

Codice

SO_LINGER

Public Const SO_LINGER = &H80&       ' Linger on close if data present.

Codice

SO_OOBINLINE

Public Const SO_OOBINLINE = &H100&   ' Leave received OOB data in line.

Codice

SO_RCVBUF

Public Const SO_RCVBUF = &H1002&     ' Receive buffer size.

Codice

SO_REUSEADDR

Public Const SO_REUSEADDR = &H4&     ' Allow local address reuse.

Codice

SO_SNDBUF

Public Const SO_SNDBUF = &H1001&     ' Send buffer size.

Codice

SO_TYPE

Public Const SO_TYPE = &H1008&       ' Get socket type - READ-ONLY.

Codice

SO_USELOOPBACK

Public Const SO_USELOOPBACK = &H40&  ' Bypass hardware when possible.

Codice

SOCKET_ERROR

Public Const SOCKET_ERROR = -1

Codice

SOL_SOCKET

Public Const SOL_SOCKET = 65535

Codice

WSA_E_CANCELLED

Public Const WSA_E_CANCELLED = (WSABASEERR + 111)

Codice

WSA_E_NO_MORE

Public Const WSA_E_NO_MORE = (WSABASEERR + 110)

Codice

WSABASEERR

Public Const WSABASEERR = 10000

Codice

WSADESCRIPTION_LEN

Public Const WSADESCRIPTION_LEN = 257

Codice

WSAEACCES

Public Const WSAEACCES = (WSABASEERR + 13)

Codice

WSAEADDRINUSE

Public Const WSAEADDRINUSE = (WSABASEERR + 48)

Codice

WSAEADDRNOTAVAIL

Public Const WSAEADDRNOTAVAIL = (WSABASEERR + 49)

Codice

WSAEAFNOSUPPORT

Public Const WSAEAFNOSUPPORT = (WSABASEERR + 47)

Codice

WSAEALREADY

Public Const WSAEALREADY = (WSABASEERR + 37)

Codice

WSAEBADF

Public Const WSAEBADF = (WSABASEERR + 9)

Codice

WSAECANCELLED

Public Const WSAECANCELLED = (WSABASEERR + 103)

Codice

WSAECONNABORTED

Public Const WSAECONNABORTED = (WSABASEERR + 53)

Codice

WSAECONNREFUSED

Public Const WSAECONNREFUSED = (WSABASEERR + 61)

Codice

WSAECONNRESET

Public Const WSAECONNRESET = (WSABASEERR + 54)

Codice

WSAEDESTADDRREQ

Public Const WSAEDESTADDRREQ = (WSABASEERR + 39)

Codice

WSAEDISCON

Public Const WSAEDISCON = (WSABASEERR + 101)

Codice

WSAEDQUOT

Public Const WSAEDQUOT = (WSABASEERR + 69)

Codice

WSAEFAULT

Public Const WSAEFAULT = (WSABASEERR + 14)

Codice

WSAEHOSTDOWN

Public Const WSAEHOSTDOWN = (WSABASEERR + 64)

Codice

WSAEHOSTUNREACH

Public Const WSAEHOSTUNREACH = (WSABASEERR + 65)

Codice

WSAEINPROGRESS

Public Const WSAEINPROGRESS = (WSABASEERR + 36)

Codice

WSAEINTR

Public Const WSAEINTR = (WSABASEERR + 4)

Codice

WSAEINVAL

Public Const WSAEINVAL = (WSABASEERR + 22)

Codice

WSAEINVALIDPROCTABLE

Public Const WSAEINVALIDPROCTABLE = (WSABASEERR + 104)

Codice

WSAEINVALIDPROVIDER

Public Const WSAEINVALIDPROVIDER = (WSABASEERR + 105)

Codice

WSAEISCONN

Public Const WSAEISCONN = (WSABASEERR + 56)

Codice

WSAELOOP

Public Const WSAELOOP = (WSABASEERR + 62)

Codice

WSAEMFILE

Public Const WSAEMFILE = (WSABASEERR + 24)

Codice

WSAEMSGSIZE

Public Const WSAEMSGSIZE = (WSABASEERR + 40)

Codice

WSAENAMETOOLONG

Public Const WSAENAMETOOLONG = (WSABASEERR + 63)

Codice

WSAENETDOWN

Public Const WSAENETDOWN = (WSABASEERR + 50)

Codice

WSAENETRESET

Public Const WSAENETRESET = (WSABASEERR + 52)

Codice

WSAENETUNREACH

Public Const WSAENETUNREACH = (WSABASEERR + 51)

Codice

WSAENOBUFS

Public Const WSAENOBUFS = (WSABASEERR + 55)

Codice

WSAENOMORE

Public Const WSAENOMORE = (WSABASEERR + 102)

Codice

WSAENOPROTOOPT

Public Const WSAENOPROTOOPT = (WSABASEERR + 42)

Codice

WSAENOTCONN

Public Const WSAENOTCONN = (WSABASEERR + 57)

Codice

WSAENOTEMPTY

Public Const WSAENOTEMPTY = (WSABASEERR + 66)

Codice

WSAENOTSOCK

Public Const WSAENOTSOCK = (WSABASEERR + 38)

Codice

WSAEOPNOTSUPP

Public Const WSAEOPNOTSUPP = (WSABASEERR + 45)

Codice

WSAEPFNOSUPPORT

Public Const WSAEPFNOSUPPORT = (WSABASEERR + 46)

Codice

WSAEPROCLIM

Public Const WSAEPROCLIM = (WSABASEERR + 67)

Codice

WSAEPROTONOSUPPORT

Public Const WSAEPROTONOSUPPORT = (WSABASEERR + 43)

Codice

WSAEPROTOTYPE

Public Const WSAEPROTOTYPE = (WSABASEERR + 41)

Codice

WSAEPROVIDERFAILEDINIT

Public Const WSAEPROVIDERFAILEDINIT = (WSABASEERR + 106)

Codice

WSAEREFUSED

Public Const WSAEREFUSED = (WSABASEERR + 112)

Codice

WSAEREMOTE

Public Const WSAEREMOTE = (WSABASEERR + 71)

Codice

WSAESHUTDOWN

Public Const WSAESHUTDOWN = (WSABASEERR + 58)

Codice

WSAESOCKTNOSUPPORT

Public Const WSAESOCKTNOSUPPORT = (WSABASEERR + 44)

Codice

WSAESTALE

Public Const WSAESTALE = (WSABASEERR + 70)

Codice

WSAETIMEDOUT

Public Const WSAETIMEDOUT = (WSABASEERR + 60)

Codice

WSAETOOMANYREFS

Public Const WSAETOOMANYREFS = (WSABASEERR + 59)

Codice

WSAEUSERS

Public Const WSAEUSERS = (WSABASEERR + 68)

Codice

WSAEWOULDBLOCK

Public Const WSAEWOULDBLOCK = (WSABASEERR + 35)

Codice

WSAHOST_NOT_FOUND

Public Const WSAHOST_NOT_FOUND = (WSABASEERR + 1001)

Codice

WSANO_DATA

Public Const WSANO_DATA = (WSABASEERR + 1004)

Codice

WSANO_RECOVERY

Public Const WSANO_RECOVERY = (WSABASEERR + 1003)

Codice

WSANOERROR

Public Const WSANOERROR = 0

Codice

WSANOTINITIALISED

Public Const WSANOTINITIALISED = (WSABASEERR + 93)

Codice

WSASERVICE_NOT_FOUND

Public Const WSASERVICE_NOT_FOUND = (WSABASEERR + 108)

Codice

WSASYS_STATUS_LEN

Public Const WSASYS_STATUS_LEN = 129

Codice

WSASYSCALLFAILURE

Public Const WSASYSCALLFAILURE = (WSABASEERR + 107)

Codice

WSASYSNOTREADY

Public Const WSASYSNOTREADY = (WSABASEERR + 91)

Codice

WSATRY_AGAIN

Public Const WSATRY_AGAIN = (WSABASEERR + 1002)

Codice

WSATYPE_NOT_FOUND

Public Const WSATYPE_NOT_FOUND = (WSABASEERR + 109)

Codice

WSAVERNOTSUPPORTED

Public Const WSAVERNOTSUPPORTED = (WSABASEERR + 92)

Codice

fd_set

Public Type fd_set
  fd_count                  As Long '// how many are SET?
  fd_array(1 To FD_SETSIZE) As Long '// an array of SOCKETs
End Type

Codice

HOSTENT

Public Type HOSTENT
    hName     As Long
    hAliases  As Long
    hAddrType As Integer
    hLength   As Integer
    hAddrList As Long
End Type

Codice

IN_ADDR

Public Type IN_ADDR
    S_addr As Long
End Type

Codice

SOCK_ADDR

Public Type SOCK_ADDR
    sin_family As Integer
    sin_port As Integer
    sin_addr As IN_ADDR
    sin_zero(0 To 7) As Byte
End Type

Codice

SocketProtocol

Public Enum SocketProtocol
    IPPROTO_IP = 0             '/* dummy for IP */
    IPPROTO_ICMP = 1           '/* control message protocol */
    IPPROTO_IGMP = 2           '/* internet group management protocol */
    IPPROTO_GGP = 3            '/* gateway^2 (deprecated) */
    IPPROTO_TCP = 6            '/* tcp */
    IPPROTO_PUP = 12           '/* pup */
    IPPROTO_UDP = 17           '/* user datagram protocol */
    IPPROTO_IDP = 22           '/* xns idp */
    IPPROTO_ND = 77            '/* UNOFFICIAL net disk proto */
    IPPROTO_RAW = 255          '/* raw IP packet */
    IPPROTO_MAX = 256
End Enum

Codice

WSAData

Public Type WSAData
    wVersion As Integer
    wHighVersion As Integer
    szDescription As String * WSADESCRIPTION_LEN
    szSystemStatus As String * WSASYS_STATUS_LEN
    iMaxSockets As Integer
    iMaxUdpDg As Integer
    lpVendorInfo As Long
End Type

Codice

m_blnWinsockInit

Private m_blnWinsockInit    As Boolean

Codice

m_colMemoryBlocks

Private m_colMemoryBlocks   As Collection

Codice

m_colResolvers

Private m_colResolvers      As Collection

Codice

m_colSockets

Private m_colSockets        As Collection

Codice

m_lngMaxMsgSize

Private m_lngMaxMsgSize     As Long

Codice

m_lngPreviousValue

Private m_lngPreviousValue  As Long

Codice

m_lngResolveMessage

Private m_lngResolveMessage As Long 'Added: 04-MAR-2002

Codice

p_lngWindowHandle

Public p_lngWindowHandle   As Long

Codice

p_lngWinsockMessage

Public p_lngWinsockMessage As Long

Codice

api_accept

Public Declare Function api_accept Lib "ws2_32.dll" Alias "accept" (ByVal s As Long, ByRef addr As SOCK_ADDR, ByRef addrlen As Long) As Long

Codice

api_listen

Public Declare Function api_listen Lib "ws2_32.dll" Alias "listen" (ByVal s As Long, ByVal backlog As Long) As Long

Codice

CallWindowProc

Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc&, ByVal hwnd&, ByVal msg&, ByVal wParam&, ByVal lParam&) As Long

Codice

CleanupWinsock

Public Sub CleanupWinsock()

Codice

CopyMemory

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)

Codice

CreateWindowEx

Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long

Codice

CreateWinsockMessageWindow

Private Function CreateWinsockMessageWindow() As Long

Codice

DestroyWindow

Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long

Codice

DestroyWinsockMessageWindow

Private Function DestroyWinsockMessageWindow() As Boolean

Codice

GetErrorDescription

Public Function GetErrorDescription(ByVal lngErrorCode As Long) As String

Codice

gethostbyaddr

Public Declare Function gethostbyaddr Lib "ws2_32.dll" (addr As Long, ByVal addr_len As Long, ByVal addr_type As Long) As Long

Codice

gethostbyname

Public Declare Function gethostbyname Lib "ws2_32.dll" (ByVal host_name As String) As Long

Codice

getHostName

Public Declare Function getHostName Lib "ws2_32.dll" Alias "gethostname" (ByVal host_name As String, ByVal namelen As Long) As Long

Codice

getpeername

Public Declare Function getpeername Lib "ws2_32.dll" (ByVal s As Long, ByRef Name As SOCK_ADDR, ByRef namelen As Long) As Long

Codice

getprotobyname

Public Declare Function getprotobyname Lib "ws2_32.dll" (ByVal proto_name As String) As Long

Codice

getprotobynumber

Public Declare Function getprotobynumber Lib "ws2_32.dll" (ByVal proto As Long) As Long

Codice

getservbyname

Public Declare Function getservbyname Lib "ws2_32.dll" (ByVal serv_name As String, ByVal proto As String) As Long

Codice

getservbyport

Public Declare Function getservbyport Lib "ws2_32.dll" (ByVal Port As Integer, ByVal proto As Long) As Long

Codice

getsockname

Public Declare Function getsockname Lib "ws2_32.dll" (ByVal s As Long, ByRef Name As SOCK_ADDR, ByRef namelen As Long) As Long

Codice

getsockopt

Public Declare Function getsockopt Lib "ws2_32.dll" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Any, optlen As Long) As Long

Codice

GlobalAlloc

Public Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long

Codice

GlobalFree

Public Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long

Codice

GlobalLock

Public Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long

Codice

GlobalUnlock

Public Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long

Codice

HiWord

Private Function HiWord(lngValue As Long) As Long

Codice

htonl

Public Declare Function htonl Lib "ws2_32.dll" (ByVal hostlong As Long) As Long

Codice

htons

Public Declare Function htons Lib "ws2_32.dll" (ByVal hostshort As Integer) As Integer

Codice

inet_addr

Public Declare Function inet_addr Lib "ws2_32.dll" (ByVal cp As String) As Long

Codice

inet_ntoa

Public Declare Function inet_ntoa Lib "ws2_32.dll" (ByVal inn As Long) As Long

Codice

InitWinsockService

Public Function InitWinsockService() As Long

Codice

IntegerToUnsigned

Public Function IntegerToUnsigned(Value As Integer) As Long

Codice

LongToUnsigned

Public Function LongToUnsigned(Value As Long) As Double

Codice

LoWord

Private Function LoWord(lngValue As Long) As Long

Codice

lstrcpy

Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long

Codice

lstrlen

Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Any) As Long

Codice

ntohl

Public Declare Function ntohl Lib "ws2_32.dll" (ByVal netlong As Long) As Long

Codice

ntohs

Public Declare Function ntohs Lib "ws2_32.dll" (ByVal netshort As Integer) As Integer

Codice

PostMessage

Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Codice

recv

Public Declare Function recv Lib "ws2_32.dll" (ByVal s As Long, ByRef buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long

Codice

recvfrom

Public Declare Function recvfrom Lib "ws2_32.dll" (ByVal s As Long, ByRef buf As Any, ByVal buflen As Long, ByVal flags As Long, ByRef from As SOCK_ADDR, ByRef fromlen As Long) As Long

Codice

RegisterSocket

Public Function RegisterSocket(ByVal lngSocketHandle As Long, ByVal lngObjectPointer As Long) As Boolean

Codice

RegisterWindowMessage

Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long

Codice

RemoveIfExists

Private Sub RemoveIfExists(ByVal strKey As String)

Codice

ResolveHost

Public Function ResolveHost(strHostAddress As String, ByVal lngObjectPointer As Long) As Long

Codice

sBind

Public Declare Function sBind Lib "ws2_32.dll" Alias "bind" (ByVal s As Long, ByRef Name As SOCK_ADDR, ByRef namelen As Long) As Long

Codice

sCloseSocket

Public Declare Function sCloseSocket Lib "ws2_32.dll" Alias "closesocket" (ByVal s As Long) As Long

Codice

sConnect

Public Declare Function sConnect Lib "ws2_32.dll" Alias "connect" (ByVal s As Long, ByRef Name As SOCK_ADDR, ByVal namelen As Long) As Long

Codice

Send

Public Declare Function Send Lib "ws2_32.dll" Alias "send" (ByVal s As Long, ByRef buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long

Codice

sendto

Public Declare Function sendto Lib "ws2_32.dll" (ByVal s As Long, ByRef buf As Any, ByVal buflen As Long, ByVal flags As Long, ByRef toaddr As SOCK_ADDR, ByVal tolen As Long) As Long

Codice

setsockopt

Public Declare Function setsockopt Lib "ws2_32.dll" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Any, ByVal optlen As Long) As Long

Codice

SetWindowLong

Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Codice

shutdown

Public Declare Function shutdown Lib "ws2_32.dll" (ByVal s As Long, ByVal how As Long) As Long

Codice

SocketObjectFromPointer

Private Function SocketObjectFromPointer(ByVal lngPointer As Long) As CSocket

Codice

sSelect

Public Declare Function sSelect Lib "ws2_32.dll" Alias "select" (ByVal nfds As Long, ByRef readfds As Any, ByRef writefds As Any, ByRef exceptfds As Any, ByRef TimeOut As Long) As Long

Codice

sSocket

Public Declare Function sSocket Lib "ws2_32.dll" Alias "socket" (ByVal af As Long, ByVal s_type As Long, ByVal Protocol As Long) As Long

Codice

StringFromPointer

Public Function StringFromPointer(ByVal lPointer As Long) As String

Codice

UnregisterSocket

Public Function UnregisterSocket(ByVal lngSocketHandle As Long) As Boolean

Codice

UnsignedToInteger

Public Function UnsignedToInteger(Value As Long) As Integer

Codice

UnsignedToLong

Public Function UnsignedToLong(Value As Double) As Long

Codice

WindowProc

Private Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Codice

WSAAsyncGetHostByAddr

Public Declare Function WSAAsyncGetHostByAddr Lib "ws2_32.dll" (ByVal hwnd As Long, ByVal wMsg As Long, ByRef lngAddr As Long, ByVal lngLenght As Long, ByVal lngType As Long, buf As Any, ByVal lngBufLen As Long) As Long

Codice

WSAAsyncGetHostByName

Public Declare Function WSAAsyncGetHostByName Lib "ws2_32.dll" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal strHostName As String, buf As Any, ByVal buflen As Long) As Long

Codice

WSAAsyncSelect

Public Declare Function WSAAsyncSelect Lib "ws2_32.dll" (ByVal s As Long, ByVal hwnd As Long, ByVal wMsg As Long, ByVal lEvent As Long) As Long

Codice

WSACancelBlockingCall

Public Declare Function WSACancelBlockingCall Lib "ws2_32" () As Long

Codice

WSACleanup

Public Declare Function WSACleanup Lib "ws2_32.dll" () As Long

Codice

WSAGetLastError

Public Declare Function WSAGetLastError Lib "ws2_32" () As Long

Codice

WSAStartup

Public Declare Function WSAStartup Lib "ws2_32.dll" (ByVal wVR As Long, lpWSAD As WSAData) As Long

Codice