News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

DisconnectEx API

Started by AgentSmithers, July 02, 2009, 05:00:58 AM

Previous topic - Next topic

AgentSmithers

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 =(

AgentSmithers

#1
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?

ToutEnMasm


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









AgentSmithers

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: