unit Winsock2;interface
uses Windows, Winsock; // LPWSAOVERLAPPED_COMPLETION_ROUTINE
const
WSA_IO_PENDING = ERROR_IO_PENDING;
WSA_IO_INCOMPLETE = ERROR_IO_INCOMPLETE;
WSA_INVALID_HANDLE = ERROR_INVALID_HANDLE;
WSA_INVALID_PARAMETER = ERROR_INVALID_PARAMETER;
WSA_NOT_ENOUGH_MEMORY = ERROR_NOT_ENOUGH_MEMORY;
WSA_OPERATION_ABORTED = ERROR_OPERATION_ABORTED;type
TWSAOVERLAPPED = record
Internal : DWORD;
InternalHigh : DWORD;
Offset : DWORD;
OffsetHigh : DWORD;
hEvent : THandle;
end;TWSABUF = record
len : DWORD; // buffer length
buf : PChar;
end;PWSABUF = ^TWSABUF;PWSAOVERLAPPED = ^TWSAOVERLAPPED;{
procedure CompletionROUTINE(
dwError : DWORD;
cbTransferred : DWORD;
Overlapped : PWSAOVERLAPPED;
dwFlags : DWORD
);}function WSASend(s : TSocket; lpBuffers : PWSABUF; dwBufferCount : DWORD;
var NumberOfBytesSent : DWORD; dwFlags : DWORD;
var overlapped : TWSAOVERLAPPED;
Routine : DWORD
): Integer; stdcall;function WSAGetOverlappedResult (
s : TSocket;
var Overlapped : TWSAOVERLAPPED;
var cbTransfer : DWORD;
fWait : BOOL;
var dwFlags : DWORD
) : BOOL; stdcall;implementationfunction WSASend; external 'ws2_32.dll';
function WSAGetOverlappedResult; external 'ws2_32.dll';end.
uses Windows, Winsock; // LPWSAOVERLAPPED_COMPLETION_ROUTINE
const
WSA_IO_PENDING = ERROR_IO_PENDING;
WSA_IO_INCOMPLETE = ERROR_IO_INCOMPLETE;
WSA_INVALID_HANDLE = ERROR_INVALID_HANDLE;
WSA_INVALID_PARAMETER = ERROR_INVALID_PARAMETER;
WSA_NOT_ENOUGH_MEMORY = ERROR_NOT_ENOUGH_MEMORY;
WSA_OPERATION_ABORTED = ERROR_OPERATION_ABORTED;type
TWSAOVERLAPPED = record
Internal : DWORD;
InternalHigh : DWORD;
Offset : DWORD;
OffsetHigh : DWORD;
hEvent : THandle;
end;TWSABUF = record
len : DWORD; // buffer length
buf : PChar;
end;PWSABUF = ^TWSABUF;PWSAOVERLAPPED = ^TWSAOVERLAPPED;{
procedure CompletionROUTINE(
dwError : DWORD;
cbTransferred : DWORD;
Overlapped : PWSAOVERLAPPED;
dwFlags : DWORD
);}function WSASend(s : TSocket; lpBuffers : PWSABUF; dwBufferCount : DWORD;
var NumberOfBytesSent : DWORD; dwFlags : DWORD;
var overlapped : TWSAOVERLAPPED;
Routine : DWORD
): Integer; stdcall;function WSAGetOverlappedResult (
s : TSocket;
var Overlapped : TWSAOVERLAPPED;
var cbTransfer : DWORD;
fWait : BOOL;
var dwFlags : DWORD
) : BOOL; stdcall;implementationfunction WSASend; external 'ws2_32.dll';
function WSAGetOverlappedResult; external 'ws2_32.dll';end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货