const
WSAID_ACCEPTEX: TGUID = (D1:$b5367df1;D2:$cbac;D3:$11cf;D4:($95,$ca,$00,$80,$5f,$48,$a1,$92));WSAIoctl(ListenSock,SIO_GET_EXTENSION_FUNCTION_POINTER,@WSAID_ACCEPTEX,sizeof(TGUID),@@AcceptEx,
sizeof(Pointer),nil,nil,nil);
if rtn<>0 then
begin
rtn:=WSAGetLastError();
showmessage(IntToStr(rtn));
end;我用上面的代码为什么提取不除AcceptEx的地址,返回错误代码10014 十分不解 求高手帮忙
WSAID_ACCEPTEX: TGUID = (D1:$b5367df1;D2:$cbac;D3:$11cf;D4:($95,$ca,$00,$80,$5f,$48,$a1,$92));WSAIoctl(ListenSock,SIO_GET_EXTENSION_FUNCTION_POINTER,@WSAID_ACCEPTEX,sizeof(TGUID),@@AcceptEx,
sizeof(Pointer),nil,nil,nil);
if rtn<>0 then
begin
rtn:=WSAGetLastError();
showmessage(IntToStr(rtn));
end;我用上面的代码为什么提取不除AcceptEx的地址,返回错误代码10014 十分不解 求高手帮忙
WSAID_ACCEPTEX : TGUID = (D1:$b5367df1; D2:$cbac; D3:$11cf; D4: ($95, $ca, $00, $80, $5f, $48, $a1, $92));type
LPFN_ACCEPTEX = function( sListenSocket : TSocket
; sAcceptSocket : TSocket
; lpOutputBuffer : Pointer
; dwReceiveDataLength : DWORD
; dwLocalAddressLength : DWORD
; dwRemoteAddressLength : DWORD
; lpdwBytesReceived : PDWORD
; lpOverlapped : POverlapped
): BOOL; stdcall;
TAcceptEx = LPFN_ACCEPTEX;
fnAcceptEx : TAcceptEx;
dwTmpValue:Pointer;
dwTmpValue := WSAGetExtensionFunctionPointer(FSocketHandle,WSAID_ACCEPTEX);
if (Not Assigned(dwTmpValue) ) then fnAcceptEx := dwTmpValue;