What is the value of the equate called SIO_GET_EXTENSION_FUNCTION_POINTER (used when fetching the address of ConnectEx at runtime via WSAIoctl hack)

Alternatively, do you know another way to obtain access to this api?

Posted on 2006-10-15 12:38:17 by Homer
/*
* WinSock 2 extension -- manifest constants for WSAIoctl()
*/
#define IOC_UNIX                      0x00000000
#define IOC_WS2                      0x08000000
#define IOC_PROTOCOL                  0x10000000
#define IOC_VENDOR                    0x18000000

#define _WSAIO(x,y)                  (IOC_VOID|(x)|(y))
#define _WSAIOR(x,y)                  (IOC_OUT|(x)|(y))
#define _WSAIOW(x,y)                  (IOC_IN|(x)|(y))
#define _WSAIORW(x,y)                (IOC_INOUT|(x)|(y))

#define SIO_ASSOCIATE_HANDLE          _WSAIOW(IOC_WS2,1)
#define SIO_ENABLE_CIRCULAR_QUEUEING  _WSAIO(IOC_WS2,2)
#define SIO_FIND_ROUTE                _WSAIOR(IOC_WS2,3)
#define SIO_FLUSH                    _WSAIO(IOC_WS2,4)
#define SIO_GET_BROADCAST_ADDRESS    _WSAIOR(IOC_WS2,5)
#define SIO_GET_EXTENSION_FUNCTION_POINTER  _WSAIORW(IOC_WS2,6)
#define SIO_GET_QOS                  _WSAIORW(IOC_WS2,7)
#define SIO_GET_GROUP_QOS            _WSAIORW(IOC_WS2,8)
#define SIO_MULTIPOINT_LOOPBACK      _WSAIOW(IOC_WS2,9)
#define SIO_MULTICAST_SCOPE          _WSAIOW(IOC_WS2,10)
#define SIO_SET_QOS                  _WSAIOW(IOC_WS2,11)
#define SIO_SET_GROUP_QOS            _WSAIOW(IOC_WS2,12)
#define SIO_TRANSLATE_HANDLE          _WSAIORW(IOC_WS2,13)
#define SIO_ROUTING_INTERFACE_QUERY  _WSAIORW(IOC_WS2,20)
#define SIO_ROUTING_INTERFACE_CHANGE  _WSAIOW(IOC_WS2,21)
#define SIO_ADDRESS_LIST_QUERY        _WSAIOR(IOC_WS2,22)
#define SIO_ADDRESS_LIST_CHANGE      _WSAIO(IOC_WS2,23)
#define SIO_QUERY_TARGET_PNP_HANDLE  _WSAIOR(IOC_WS2,24)
#define SIO_ADDRESS_LIST_SORT        _WSAIORW(IOC_WS2,25)
Posted on 2006-10-15 13:45:30 by ti_mo_n