Anyone know where or how I can access this API?
http://msdn.microsoft.com/en-us/library/ms737757(VS.85).aspx
include \masm32\include\mswsock.inc dosent seem to cut it in this case =(
Something I over looked...
NoteĀ The function pointer for the DisconnectEx function must be obtained at run time by making a call to the WSAIoctl function with the SIO_GET_EXTENSION_FUNCTION_POINTER opcode specified. The input buffer passed to the WSAIoctl function must contain WSAID_DISCONNECTEX, a globally unique identifier (GUID) whose value identifies the DisconnectEx extension function. On success, the output returned by the WSAIoctl function contains a pointer to the DisconnectEx function. The WSAID_DISCONNECTEX GUID is defined in the Mswsock.h header file.
Anyone has an Example on this?
WSAID_DISCONNECTEX isent even defined in the include fileĀ :(
DisconnectExGUID GUID <7fda2e11H,8630H,436fH,<0A0H,31H,0F5H,36H,0A6H,0EEH,0C1H,57H>>
SIO_GET_EXTENSION_FUNCTION_POINTER GUID <0f689d7c8H,6f1fH,436bH,<8aH,53H,0E5H,4fH,0E3H,51H,0C3H,22H>>
invoke WSAIoctl, s1, ADDR SIO_GET_EXTENSION_FUNCTION_POINTER, ADDR DisconnectExGUID, SIZEOF DisconnectExGUID, ADDR PtrDisconnectEx, SIZEOF PtrDisconnectEx, ADDR BytesReturned, NULL, NULL
I get 273d WSAOPNOTSUPP
I wrote these, Do these seem correct?
EDIT: in this page the Const SIO_GET_EXTENSION_FUNCTION_POINTER is = 6
src:http://www.delphigroups.info/2/12/205859.html
invoke WSAIoctl, s1, 6, ADDR DisconnectExGUID, SIZEOF DisconnectExGUID, ADDR PtrDisconnectEx, SIZEOF PtrDisconnectEx, ADDR BytesReturned, NULL, NULL
this also returned the same error =(
Const SIO_GET_EXTENSION_FUNCTION_POINTER = (IOC_INOUT Or IOC_WS2 Or 6) <--- This seems to be the right one
0x40000000
OR
0x80000000
OR
6
=
0xC0000006
Is that correct?
Hello,
This is very near the define of an interface.
Quote
#define WSAID_DISCONNECTEX \
{0x7fda2e11,0x8630,0x436f,{0xa0, 0x31, 0xf5, 0x36, 0xa6, 0xee, 0xc1, 0x57}}
Other defines are in the MSWsock.sdk.
The sdk give only LPFN_DISCONNECTEX PROTO :DWORD ,:DWORD ,:DWORD ,:DWORD
Define a structure with only this prototype (see STinterface in .sdk for syntax)
DISCONNECTEX PROTO :DWORD ,:DWORD ,:DWORD ,:DWORD
Get the pointer , put it in a register
assume edx MyStructure
invoke [edx].DISCONNECTEX param1,param2,param3,param4
assume edx NOTHING
I guess I got some reading up to do, I dont seem to follow that 100% even though im sure you've provided enough information =) :cheekygreen: