📄 jwawinsock.pas
字号:
function gethostbyname;
begin
GetProcedureAddress(_gethostbyname, wsock32, 'gethostbyname');
asm
mov esp, ebp
pop ebp
jmp [_gethostbyname]
end;
end;
{$ELSE}
function gethostbyname; external wsock32 name 'gethostbyname';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_gethostname: Pointer;
function gethostname;
begin
GetProcedureAddress(_gethostname, wsock32, 'gethostname');
asm
mov esp, ebp
pop ebp
jmp [_gethostname]
end;
end;
{$ELSE}
function gethostname; external wsock32 name 'gethostname';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_getservbyport: Pointer;
function getservbyport;
begin
GetProcedureAddress(_getservbyport, wsock32, 'getservbyport');
asm
mov esp, ebp
pop ebp
jmp [_getservbyport]
end;
end;
{$ELSE}
function getservbyport; external wsock32 name 'getservbyport';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_getservbyname: Pointer;
function getservbyname;
begin
GetProcedureAddress(_getservbyname, wsock32, 'getservbyname');
asm
mov esp, ebp
pop ebp
jmp [_getservbyname]
end;
end;
{$ELSE}
function getservbyname; external wsock32 name 'getservbyname';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_getprotobynumber: Pointer;
function getprotobynumber;
begin
GetProcedureAddress(_getprotobynumber, wsock32, 'getprotobynumber');
asm
mov esp, ebp
pop ebp
jmp [_getprotobynumber]
end;
end;
{$ELSE}
function getprotobynumber; external wsock32 name 'getprotobynumber';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_getprotobyname: Pointer;
function getprotobyname;
begin
GetProcedureAddress(_getprotobyname, wsock32, 'getprotobyname');
asm
mov esp, ebp
pop ebp
jmp [_getprotobyname]
end;
end;
{$ELSE}
function getprotobyname; external wsock32 name 'getprotobyname';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAStartup: Pointer;
function WSAStartup;
begin
GetProcedureAddress(_WSAStartup, wsock32, 'WSAStartup');
asm
mov esp, ebp
pop ebp
jmp [_WSAStartup]
end;
end;
{$ELSE}
function WSAStartup; external wsock32 name 'WSAStartup';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSACleanup: Pointer;
function WSACleanup;
begin
GetProcedureAddress(_WSACleanup, wsock32, 'WSACleanup');
asm
mov esp, ebp
pop ebp
jmp [_WSACleanup]
end;
end;
{$ELSE}
function WSACleanup; external wsock32 name 'WSACleanup';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSASetLastError: Pointer;
procedure WSASetLastError;
begin
GetProcedureAddress(_WSASetLastError, wsock32, 'WSASetLastError');
asm
mov esp, ebp
pop ebp
jmp [_WSASetLastError]
end;
end;
{$ELSE}
procedure WSASetLastError; external wsock32 name 'WSASetLastError';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAGetLastError: Pointer;
function WSAGetLastError;
begin
GetProcedureAddress(_WSAGetLastError, wsock32, 'WSAGetLastError');
asm
mov esp, ebp
pop ebp
jmp [_WSAGetLastError]
end;
end;
{$ELSE}
function WSAGetLastError; external wsock32 name 'WSAGetLastError';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAIsBlocking: Pointer;
function WSAIsBlocking;
begin
GetProcedureAddress(_WSAIsBlocking, wsock32, 'WSAIsBlocking');
asm
mov esp, ebp
pop ebp
jmp [_WSAIsBlocking]
end;
end;
{$ELSE}
function WSAIsBlocking; external wsock32 name 'WSAIsBlocking';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAUnhookBlockingHook: Pointer;
function WSAUnhookBlockingHook;
begin
GetProcedureAddress(_WSAUnhookBlockingHook, wsock32, 'WSAUnhookBlockingHook');
asm
mov esp, ebp
pop ebp
jmp [_WSAUnhookBlockingHook]
end;
end;
{$ELSE}
function WSAUnhookBlockingHook; external wsock32 name 'WSAUnhookBlockingHook';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSASetBlockingHook: Pointer;
function WSASetBlockingHook;
begin
GetProcedureAddress(_WSASetBlockingHook, wsock32, 'WSASetBlockingHook');
asm
mov esp, ebp
pop ebp
jmp [_WSASetBlockingHook]
end;
end;
{$ELSE}
function WSASetBlockingHook; external wsock32 name 'WSASetBlockingHook';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSACancelBlockingCall: Pointer;
function WSACancelBlockingCall;
begin
GetProcedureAddress(_WSACancelBlockingCall, wsock32, 'WSACancelBlockingCall');
asm
mov esp, ebp
pop ebp
jmp [_WSACancelBlockingCall]
end;
end;
{$ELSE}
function WSACancelBlockingCall; external wsock32 name 'WSACancelBlockingCall';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncGetServByName: Pointer;
function WSAAsyncGetServByName;
begin
GetProcedureAddress(_WSAAsyncGetServByName, wsock32, 'WSAAsyncGetServByName');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncGetServByName]
end;
end;
{$ELSE}
function WSAAsyncGetServByName; external wsock32 name 'WSAAsyncGetServByName';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncGetServByPort: Pointer;
function WSAAsyncGetServByPort;
begin
GetProcedureAddress(_WSAAsyncGetServByPort, wsock32, 'WSAAsyncGetServByPort');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncGetServByPort]
end;
end;
{$ELSE}
function WSAAsyncGetServByPort; external wsock32 name 'WSAAsyncGetServByPort';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncGetProtoByName: Pointer;
function WSAAsyncGetProtoByName;
begin
GetProcedureAddress(_WSAAsyncGetProtoByName, wsock32, 'WSAAsyncGetProtoByName');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncGetProtoByName]
end;
end;
{$ELSE}
function WSAAsyncGetProtoByName; external wsock32 name 'WSAAsyncGetProtoByName';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncGetProtoByNumber: Pointer;
function WSAAsyncGetProtoByNumber;
begin
GetProcedureAddress(_WSAAsyncGetProtoByNumber, wsock32, 'WSAAsyncGetProtoByNumber');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncGetProtoByNumber]
end;
end;
{$ELSE}
function WSAAsyncGetProtoByNumber; external wsock32 name 'WSAAsyncGetProtoByNumber';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncGetHostByName: Pointer;
function WSAAsyncGetHostByName;
begin
GetProcedureAddress(_WSAAsyncGetHostByName, wsock32, 'WSAAsyncGetHostByName');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncGetHostByName]
end;
end;
{$ELSE}
function WSAAsyncGetHostByName; external wsock32 name 'WSAAsyncGetHostByName';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncGetHostByAddr: Pointer;
function WSAAsyncGetHostByAddr;
begin
GetProcedureAddress(_WSAAsyncGetHostByAddr, wsock32, 'WSAAsyncGetHostByAddr');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncGetHostByAddr]
end;
end;
{$ELSE}
function WSAAsyncGetHostByAddr; external wsock32 name 'WSAAsyncGetHostByAddr';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSACancelAsyncRequest: Pointer;
function WSACancelAsyncRequest;
begin
GetProcedureAddress(_WSACancelAsyncRequest, wsock32, 'WSACancelAsyncRequest');
asm
mov esp, ebp
pop ebp
jmp [_WSACancelAsyncRequest]
end;
end;
{$ELSE}
function WSACancelAsyncRequest; external wsock32 name 'WSACancelAsyncRequest';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSAAsyncSelect: Pointer;
function WSAAsyncSelect;
begin
GetProcedureAddress(_WSAAsyncSelect, wsock32, 'WSAAsyncSelect');
asm
mov esp, ebp
pop ebp
jmp [_WSAAsyncSelect]
end;
end;
{$ELSE}
function WSAAsyncSelect; external wsock32 name 'WSAAsyncSelect';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_WSARecvEx: Pointer;
function WSARecvEx;
begin
GetProcedureAddress(_WSARecvEx, wsock32, 'WSARecvEx');
asm
mov esp, ebp
pop ebp
jmp [_WSARecvEx]
end;
end;
{$ELSE}
function WSARecvEx; external wsock32 name 'WSARecvEx';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_TransmitFile: Pointer;
function TransmitFile;
begin
GetProcedureAddress(_TransmitFile, wsock32, 'TransmitFile');
asm
mov esp, ebp
pop ebp
jmp [_TransmitFile]
end;
end;
{$ELSE}
function TransmitFile; external wsock32 name 'TransmitFile';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_AcceptEx: Pointer;
function AcceptEx;
begin
GetProcedureAddress(_AcceptEx, wsock32, 'AcceptEx');
asm
mov esp, ebp
pop ebp
jmp [_AcceptEx]
end;
end;
{$ELSE}
function AcceptEx; external wsock32 name 'AcceptEx';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_GetAcceptExSockaddrs: Pointer;
procedure GetAcceptExSockaddrs;
begin
GetProcedureAddress(_GetAcceptExSockaddrs, wsock32, 'GetAcceptExSockaddrs');
asm
mov esp, ebp
pop ebp
jmp [_GetAcceptExSockaddrs]
end;
end;
{$ELSE}
procedure GetAcceptExSockaddrs; external wsock32 name 'GetAcceptExSockaddrs';
{$ENDIF DYNAMIC_LINK}
function WSAMAKEASYNCREPLY(buflen, error: WORD): DWORD;
begin
Result := MAKELONG(buflen, error);
end;
function WSAMAKESELECTREPLY(event, error: WORD): DWORD;
begin
Result := MAKELONG(event, error);
end;
function WSAGETASYNCBUFLEN(lParam: DWORD): WORD;
begin
Result := LOWORD(lParam);
end;
function WSAGETASYNCERROR(lParam: DWORD): WORD;
begin
Result := HIWORD(lParam);
end;
function WSAGETSELECTEVENT(lParam: DWORD): WORD;
begin
Result := LOWORD(lParam);
end;
function WSAGETSELECTERROR(lParam: DWORD): WORD;
begin
Result := HIWORD(lParam);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -