⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwawinsock.pas

📁 雷神之锤2(Quake2)Delphi源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:

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 + -