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

📄 winsock2.pas

📁 不错的远程控制程序
💻 PAS
📖 第 1 页 / 共 4 页
字号:
    sp_family   : u_short;
    sp_protocol : u_short;
  end;
  PLinger = ^TLinger;
  TLinger = packed record
    l_onoff: u_short;
    l_linger: u_short;
  end;

const
  INADDR_ANY       = $00000000;
  INADDR_LOOPBACK  = $7F000001;
  INADDR_BROADCAST = $FFFFFFFF;
  INADDR_NONE      = $FFFFFFFF;
  ADDR_ANY         = INADDR_ANY;
  SOL_SOCKET       = $ffff;
  MSG_OOB          = $1;
  MSG_PEEK         = $2;
  MSG_DONTROUTE    = $4;
  MSG_PARTIAL      = $8000;
  MSG_INTERRUPT    = $10;
  MSG_MAXIOVLEN    = 16;
  MAXGETHOSTSTRUCT = 1024;
  SOMAXCONN        = $7fffffff;
  FD_READ_BIT                     = 0;
  FD_WRITE_BIT                    = 1;
  FD_OOB_BIT                      = 2;
  FD_ACCEPT_BIT                   = 3;
  FD_CONNECT_BIT                  = 4;
  FD_CLOSE_BIT                    = 5;
  FD_QOS_BIT                      = 6;
  FD_GROUP_QOS_BIT                = 7;
  FD_ROUTING_INTERFACE_CHANGE_BIT = 8;
  FD_ADDRESS_LIST_CHANGE_BIT      = 9;
  FD_MAX_EVENTS    = 10;
  FD_READ       = (1 shl FD_READ_BIT);
  FD_WRITE      = (1 shl FD_WRITE_BIT);
  FD_OOB        = (1 shl FD_OOB_BIT);
  FD_ACCEPT     = (1 shl FD_ACCEPT_BIT);
  FD_CONNECT    = (1 shl FD_CONNECT_BIT);
  FD_CLOSE      = (1 shl FD_CLOSE_BIT);
  FD_QOS        = (1 shl FD_QOS_BIT);
  FD_GROUP_QOS  = (1 shl FD_GROUP_QOS_BIT);
  FD_ROUTING_INTERFACE_CHANGE = (1 shl FD_ROUTING_INTERFACE_CHANGE_BIT);
  FD_ADDRESS_LIST_CHANGE      = (1 shl FD_ADDRESS_LIST_CHANGE_BIT);
  FD_ALL_EVENTS = (1 shl FD_MAX_EVENTS) - 1;
  WSABASEERR                 = 10000;
  WSAEINTR                   = WSABASEERR+  4;
  WSAEBADF                   = WSABASEERR+  9;
  WSAEACCES                  = WSABASEERR+ 13;
  WSAEFAULT                  = WSABASEERR+ 14;
  WSAEINVAL                  = WSABASEERR+ 22;
  WSAEMFILE                  = WSABASEERR+ 24;
  WSAEWOULDBLOCK             = WSABASEERR+ 35;
  WSAEINPROGRESS             = WSABASEERR+ 36;
  WSAEALREADY                = WSABASEERR+ 37;
  WSAENOTSOCK                = WSABASEERR+ 38;
  WSAEDESTADDRREQ            = WSABASEERR+ 39;
  WSAEMSGSIZE                = WSABASEERR+ 40;
  WSAEPROTOTYPE              = WSABASEERR+ 41;
  WSAENOPROTOOPT             = WSABASEERR+ 42;
  WSAEPROTONOSUPPORT         = WSABASEERR+ 43;
  WSAESOCKTNOSUPPORT         = WSABASEERR+ 44;
  WSAEOPNOTSUPP              = WSABASEERR+ 45;
  WSAEPFNOSUPPORT            = WSABASEERR+ 46;
  WSAEAFNOSUPPORT            = WSABASEERR+ 47;
  WSAEADDRINUSE              = WSABASEERR+ 48;
  WSAEADDRNOTAVAIL           = WSABASEERR+ 49;
  WSAENETDOWN                = WSABASEERR+ 50;
  WSAENETUNREACH             = WSABASEERR+ 51;
  WSAENETRESET               = WSABASEERR+ 52;
  WSAECONNABORTED            = WSABASEERR+ 53;
  WSAECONNRESET              = WSABASEERR+ 54;
  WSAENOBUFS                 = WSABASEERR+ 55;
  WSAEISCONN                 = WSABASEERR+ 56;
  WSAENOTCONN                = WSABASEERR+ 57;
  WSAESHUTDOWN               = WSABASEERR+ 58;
  WSAETOOMANYREFS            = WSABASEERR+ 59;
  WSAETIMEDOUT               = WSABASEERR+ 60;
  WSAECONNREFUSED            = WSABASEERR+ 61;
  WSAELOOP                   = WSABASEERR+ 62;
  WSAENAMETOOLONG            = WSABASEERR+ 63;
  WSAEHOSTDOWN               = WSABASEERR+ 64;
  WSAEHOSTUNREACH            = WSABASEERR+ 65;
  WSAENOTEMPTY               = WSABASEERR+ 66;
  WSAEPROCLIM                = WSABASEERR+ 67;
  WSAEUSERS                  = WSABASEERR+ 68;
  WSAEDQUOT                  = WSABASEERR+ 69;
  WSAESTALE                  = WSABASEERR+ 70;
  WSAEREMOTE                 = WSABASEERR+ 71;
  WSASYSNOTREADY             = WSABASEERR+ 91;
  WSAVERNOTSUPPORTED         = WSABASEERR+ 92;
  WSANOTINITIALISED          = WSABASEERR+ 93;
  WSAEDISCON                 = WSABASEERR+101;
  WSAENOMORE                 = WSABASEERR+102;
  WSAECANCELLED              = WSABASEERR+103;
  WSAEINVALIDPROCTABLE       = WSABASEERR+104;
  WSAEINVALIDPROVIDER        = WSABASEERR+105;
  WSAEPROVIDERFAILEDINIT     = WSABASEERR+106;
  WSASYSCALLFAILURE          = WSABASEERR+107;
  WSASERVICE_NOT_FOUND       = WSABASEERR+108;
  WSATYPE_NOT_FOUND          = WSABASEERR+109;
  WSA_E_NO_MORE              = WSABASEERR+110;
  WSA_E_CANCELLED            = WSABASEERR+111;
  WSAEREFUSED                = WSABASEERR+112;
  WSAHOST_NOT_FOUND          = WSABASEERR+1001;
  HOST_NOT_FOUND             = WSAHOST_NOT_FOUND;
  WSATRY_AGAIN               = WSABASEERR+1002;
  TRY_AGAIN                  = WSATRY_AGAIN;
  WSANO_RECOVERY             = WSABASEERR+1003;
  NO_RECOVERY                = WSANO_RECOVERY;
  WSANO_DATA                 = WSABASEERR+1004;
  NO_DATA                    = WSANO_DATA;
  WSANO_ADDRESS              = WSANO_DATA;
  NO_ADDRESS                 = WSANO_ADDRESS;
  WSA_QOS_RECEIVERS          = WSABASEERR+1005;
  WSA_QOS_SENDERS            = WSABASEERR+1006;
  WSA_QOS_NO_SENDERS         = WSABASEERR+1007;
  WSA_QOS_NO_RECEIVERS       = WSABASEERR+1008;
  WSA_QOS_REQUEST_CONFIRMED  = WSABASEERR+1009;
  WSA_QOS_ADMISSION_FAILURE  = WSABASEERR+1010;
  WSA_QOS_POLICY_FAILURE     = WSABASEERR+1011;
  WSA_QOS_BAD_STYLE          = WSABASEERR+1012;
  WSA_QOS_BAD_OBJECT         = WSABASEERR+1013;
  WSA_QOS_TRAFFIC_CTRL_ERROR = WSABASEERR+1014;
  WSA_QOS_GENERIC_ERROR      = WSABASEERR+1015;
  WSA_QOS_ESERVICETYPE       = WSABASEERR+1016;
  WSA_QOS_EFLOWSPEC          = WSABASEERR+1017;
  WSA_QOS_EPROVSPECBUF       = WSABASEERR+1018;
  WSA_QOS_EFILTERSTYLE       = WSABASEERR+1019;
  WSA_QOS_EFILTERTYPE        = WSABASEERR+1020;
  WSA_QOS_EFILTERCOUNT       = WSABASEERR+1021;
  WSA_QOS_EOBJLENGTH         = WSABASEERR+1022;
  WSA_QOS_EFLOWCOUNT         = WSABASEERR+1023;
  WSA_QOS_EUNKOWNPSOBJ       = WSABASEERR+1024;
  WSA_QOS_EPOLICYOBJ         = WSABASEERR+1025;
  WSA_QOS_EFLOWDESC          = WSABASEERR+1026;
  WSA_QOS_EPSFLOWSPEC        = WSABASEERR+1027;
  WSA_QOS_EPSFILTERSPEC      = WSABASEERR+1028;
  WSA_QOS_ESDMODEOBJ         = WSABASEERR+1029;
  WSA_QOS_ESHAPERATEOBJ      = WSABASEERR+1030;
  WSA_QOS_RESERVED_PETYPE    = WSABASEERR+1031;
  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;
  WSA_INVALID_EVENT          = WSAEVENT(nil);
  WSA_MAXIMUM_WAIT_EVENTS    = MAXIMUM_WAIT_OBJECTS;
  WSA_WAIT_FAILED            = $ffffffff;
  WSA_WAIT_EVENT_0           = WAIT_OBJECT_0;
  WSA_WAIT_IO_COMPLETION     = WAIT_IO_COMPLETION;
  WSA_WAIT_TIMEOUT           = WAIT_TIMEOUT;
  WSA_INFINITE               = INFINITE;
  WSADESCRIPTION_LEN         = 256;
  WSASYS_STATUS_LEN          = 128;

type
  PWSAData = ^TWSAData;
  TWSAData = packed record
    wVersion       : Word;
    wHighVersion   : Word;
    szDescription  : Array[0..WSADESCRIPTION_LEN] of Char;
    szSystemStatus : Array[0..WSASYS_STATUS_LEN] of Char;
    iMaxSockets    : Word;
    iMaxUdpDg      : Word;
    lpVendorInfo   : PChar;
  end;
  WSAOVERLAPPED   = TOverlapped;
  TWSAOverlapped  = WSAOverlapped;
  PWSAOverlapped  = ^WSAOverlapped;
  LPWSAOVERLAPPED = PWSAOverlapped;
  WSABUF = packed record
    len: U_LONG;
    buf: PChar;
  end;
  PWSABUF = ^WSABUF;
  LPWSABUF = PWSABUF;
  TServiceType = LongInt;
  TFlowSpec = packed record
    TokenRate,
    TokenBucketSize,
    PeakBandwidth,
    Latency,
    DelayVariation : LongInt;
    ServiceType : TServiceType;
    MaxSduSize, MinimumPolicedSize : LongInt;
  end;
  PFlowSpec = ^TFLOWSPEC;
  QOS = packed record
    SendingFlowspec: TFlowSpec;
    ReceivingFlowspec: TFlowSpec;
    ProviderSpecific: WSABUF;
  end;
  TQualityOfService = QOS;
  PQOS = ^QOS;
  LPQOS = PQOS;
const
  SERVICETYPE_NOTRAFFIC             =  $00000000;
  SERVICETYPE_BESTEFFORT            =  $00000001;
  SERVICETYPE_CONTROLLEDLOAD        =  $00000002;
  SERVICETYPE_GUARANTEED            =  $00000003;
  SERVICETYPE_NETWORK_UNAVAILABLE   =  $00000004;
  SERVICETYPE_GENERAL_INFORMATION   =  $00000005;
  SERVICETYPE_NOCHANGE              =  $00000006;
  SERVICE_IMMEDIATE_TRAFFIC_CONTROL =  $80000000;
  CF_ACCEPT = $0000;
  CF_REJECT = $0001;
  CF_DEFER  = $0002;
  SD_RECEIVE = $00;
  SD_SEND    = $01;
  SD_BOTH    = $02;
  SG_UNCONSTRAINED_GROUP = $01;
  SG_CONSTRAINED_GROUP   = $02;

type
  GROUP = DWORD;
  TWSANetworkEvents = record
    lNetworkEvents: LongInt;
    iErrorCode: Array[0..FD_MAX_EVENTS-1] of Integer;
  end;
  PWSANetworkEvents = ^TWSANetworkEvents;
  LPWSANetworkEvents = PWSANetworkEvents;
  TGUID = packed record
    D1: LongInt;
    D2: Word;
    D3: Word;
    D4: Array[0..7] of Byte;
  end;
  PGUID = ^TGUID;
  LPGUID = PGUID;
const
  MAX_PROTOCOL_CHAIN = 7;
  BASE_PROTOCOL      = 1;
  LAYERED_PROTOCOL   = 0;
  WSAPROTOCOL_LEN    = 255;

type
  TWSAProtocolChain = record
    ChainLen: Integer;
    ChainEntries: Array[0..MAX_PROTOCOL_CHAIN-1] of LongInt;
  end;

type
  TWSAProtocol_InfoA = record
    dwServiceFlags1: LongInt;
    dwServiceFlags2: LongInt;
    dwServiceFlags3: LongInt;
    dwServiceFlags4: LongInt;
    dwProviderFlags: LongInt;
    ProviderId: TGUID;
    dwCatalogEntryId: LongInt;
    ProtocolChain: TWSAProtocolChain;
    iVersion: Integer;
    iAddressFamily: Integer;
    iMaxSockAddr: Integer;
    iMinSockAddr: Integer;
    iSocketType: Integer;
    iProtocol: Integer;
    iProtocolMaxOffset: Integer;
    iNetworkByteOrder: Integer;
    iSecurityScheme: Integer;
    dwMessageSize: LongInt;
    dwProviderReserved: LongInt;
    szProtocol: Array[0..WSAPROTOCOL_LEN+1-1] of Char;
  end;
  PWSAProtocol_InfoA = ^TWSAProtocol_InfoA;
  LPWSAProtocol_InfoA = PWSAProtocol_InfoA;
  TWSAProtocol_InfoW = record
    dwServiceFlags1: LongInt;
    dwServiceFlags2: LongInt;
    dwServiceFlags3: LongInt;
    dwServiceFlags4: LongInt;
    dwProviderFlags: LongInt;
    ProviderId: TGUID;
    dwCatalogEntryId: LongInt;
    ProtocolChain: TWSAProtocolChain;
    iVersion: Integer;
    iAddressFamily: Integer;
    iMaxSockAddr: Integer;
    iMinSockAddr: Integer;
    iSocketType: Integer;
    iProtocol: Integer;
    iProtocolMaxOffset: Integer;
    iNetworkByteOrder: Integer;
    iSecurityScheme: Integer;
    dwMessageSize: LongInt;
    dwProviderReserved: LongInt;
    szProtocol: Array[0..WSAPROTOCOL_LEN+1-1] of WideChar;
  end {TWSAProtocol_InfoW};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -