易语言IOCP与TCP套接字源码
系统结构:创建,销毁,投递任务,子程序_服务端_处理上线信息,子程序_服务端_创建服务端套接字,子程序_服务器_投递接收客户事件,子程序_指针正确否,子程序_设置套接字,取核心数,Call_完成端口回调函数,子程序_添加节点_异步消息,子程序_删除节点_异步消息,子程序_释放空间,创_异步消息包,子程序_客户端_处理事件,子程序_服务端_处理事件,初始化链表,是否为空,取节点数,清空链表,插入节点,删除节点,到首节点,到尾节点,到前一节点,到下一节点,取记录值,置记录值,CopyMemDword_1,CopyMemDword_2,List_Create,List_Destroy,List_Add,List_Clear,List_Remove,List_GetHead,List_SetHead,List_GetTail,List_SetTail,List_GetCurrent,List_SetCurrent,List_GetCount,List_SetCount,模块_初始化,子程序_心跳包线程,子程序_获取事件_线程,子程序_客户退出,子程序_处理数据,子程序_投递接收数据事件,服务端_监听,客户端_连接,发送数据,取数据,断开,取全客户句柄,读指针合法性_,指针到套接字地址_,解析异步监听信息_,数组到指针_,指针到数组_,销毁套接字_,连接_,发送_字节集_,发送_,接收_,创建许可证_,删除许可证_,进入许可区_,退出许可区_,指针到异步消息_,释放堆栈内存_,异步消息到指针_,CreateEvent,WSAEventSelect,等待用户进入_,WSAStartup,整数转换点数,转换为端口号,获取远端信息,异步监听_,销毁堆栈_,从堆栈分配内存_,创建堆栈_,申请内存_,取错误信息_,取低层平台信息_,setsockopt2,WSAIoctl2,setsockopt3,置监听_,绑定地址和端口_,端口到网络端口_,inet_addr,创建套接字_,获取队列完成状态_,GetExitCodeThread_,监测一个对象_,挂起线索_,开始暂停的线索_,中止线索_,取启动时间_,投递完成端口任务_,启动线程_,关闭句柄_,指针到字节集_,字节集到指针_,整数型到指针_,指针到整数型_,指针到指针_,创建完成端口_,RtlMoveMemory,RtlMoveMemory_1,RtlMoveMemory_2,HeapAlloc,HeapFree,HeapCreate,HeapDestroy,DLL命令1,
======集_启动
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======类_线程池
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ 销毁
| |
| |------ 投递任务
| |
| |
======集_线程池类
| |
| |------ _Call
| |
| |------ _取未使用数组成员
| |
| |------ _创建线程池
| |
| |------ _销毁线程池
| |
| |------ _投递任务
| |
| |------ _线程
| |
| |
======集_服务端_IOCP
| |
| |------ 子程序_服务端_处理上线信息
| |
| |------ 子程序_服务端_创建服务端套接字
| |
| |------ 子程序_服务器_投递接收客户事件
| |
| |
======集_支持
| |
| |------ 子程序_指针正确否
| |
| |------ 子程序_设置套接字
| |
| |------ 取核心数
| |
| |------ Call_完成端口回调函数
| |
| |------ 子程序_添加节点_异步消息
| |
| |------ 子程序_删除节点_异步消息
| |
| |------ 子程序_释放空间
| |
| |------ 创_异步消息包
| |
| |
======程序集_窗口_客户端
| |
| |------ _窗口_客户端_创建完毕
| |
| |------ _按钮_连接_被单击
| |
| |------ _按钮_断开_被单击
| |
| |------ 子程序_客户端_处理事件
| |
| |------ _按钮_发送_被单击
| |
| |------ _按钮2_被单击
| |
| |
======程序集_窗口_服务端
| |
| |------ _窗口_服务端_创建完毕
| |
| |------ _按钮_启动_被单击
| |
| |------ 子程序_服务端_处理事件
| |
| |------ _按钮_发送_被单击
| |
| |------ _按钮_断开_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮_取异步数_被单击
| |
| |------ _按钮_事件记时_被单击
| |
| |
======类_双向链表
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始化链表
| |
| |------ 是否为空
| |
| |------ 取节点数
| |
| |------ 清空链表
| |
| |------ 插入节点
| |
| |------ 删除节点
| |
| |------ 到首节点
| |
| |------ 到尾节点
| |
| |------ 到前一节点
| |
| |------ 到下一节点
| |
| |------ 取记录值
| |
| |------ 置记录值
| |
| |
======程序集_双向链表
| |
| |------ CopyMemDword_1
| |
| |------ CopyMemDword_2
| |
| |------ List_Create
| |
| |------ List_Destroy
| |
| |------ List_Add
| |
| |------ List_Clear
| |
| |------ List_Remove
| |
| |------ List_GetHead
| |
| |------ List_SetHead
| |
| |------ List_GetTail
| |
| |------ List_SetTail
| |
| |------ List_GetCurrent
| |
| |------ List_SetCurrent
| |
| |------ List_GetCount
| |
| |------ List_SetCount
| |
| |
======集_公共
| |
| |------ 模块_初始化
| |
| |------ 子程序_心跳包线程
| |
| |------ 子程序_获取事件_线程
| |
| |------ 子程序_客户退出
| |
| |------ 子程序_处理数据
| |
| |------ 子程序_投递接收数据事件
| |
| |
======集_公开
| |
| |------ 服务端_监听
| |
| |------ 客户端_连接
| |
| |------ 发送数据
| |
| |------ 取数据
| |
| |------ 断开
| |
| |------ 取全客户句柄
| |
| |
======调用的Dll
| |
| |---[dll]------ 读指针合法性_
| |
| |---[dll]------ 指针到套接字地址_
| |
| |---[dll]------ 解析异步监听信息_
| |
| |---[dll]------ 数组到指针_
| |
| |---[dll]------ 指针到数组_
| |
| |---[dll]------ 销毁套接字_
| |
| |---[dll]------ 连接_
| |
| |---[dll]------ 发送_字节集_
| |
| |---[dll]------ 发送_
| |
| |---[dll]------ 接收_
| |
| |---[dll]------ 创建许可证_
| |
| |---[dll]------ 删除许可证_
| |
| |---[dll]------ 进入许可区_
| |
| |---[dll]------ 退出许可区_
| |
| |---[dll]------ 指针到异步消息_
| |
| |---[dll]------ 释放堆栈内存_
| |
| |---[dll]------ 异步消息到指针_
| |
| |---[dll]------ CreateEvent
| |
| |---[dll]------ WSAEventSelect
| |
| |---[dll]------ 等待用户进入_
| |
| |---[dll]------ WSAStartup
| |
| |---[dll]------ 整数转换点数
| |
| |---[dll]------ 转换为端口号
| |
| |---[dll]------ 获取远端信息
| |
| |---[dll]------ 异步监听_
| |
| |---[dll]------ 销毁堆栈_
| |
| |---[dll]------ 从堆栈分配内存_
| |
| |---[dll]------ 创建堆栈_
| |
| |---[dll]------ 申请内存_
| |
| |---[dll]------ 取错误信息_
| |
| |---[dll]------ 取低层平台信息_
| |
| |---[dll]------ setsockopt2
| |
| |---[dll]------ WSAIoctl2
| |
| |---[dll]------ setsockopt3
| |
| |---[dll]------ 置监听_
| |
| |---[dll]------ 绑定地址和端口_
| |
| |---[dll]------ 端口到网络端口_
| |
| |---[dll]------ inet_addr
| |
| |---[dll]------ 创建套接字_
| |
| |---[dll]------ 获取队列完成状态_
| |
| |---[dll]------ GetExitCodeThread_
| |
| |---[dll]------ 监测一个对象_
| |
| |---[dll]------ 挂起线索_
| |
| |---[dll]------ 开始暂停的线索_
| |
| |---[dll]------ 中止线索_
| |
| |---[dll]------ 取启动时间_
| |
| |---[dll]------ 投递完成端口任务_
| |
| |---[dll]------ 启动线程_
| |
| |---[dll]------ 关闭句柄_
| |
| |---[dll]------ 指针到字节集_
| |
| |---[dll]------ 字节集到指针_
| |
| |---[dll]------ 整数型到指针_
| |
| |---[dll]------ 指针到整数型_
| |
| |---[dll]------ 指针到指针_
| |
| |---[dll]------ 创建完成端口_
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ RtlMoveMemory_1
| |
| |---[dll]------ RtlMoveMemory_2
| |
| |---[dll]------ HeapAlloc
| |
| |---[dll]------ HeapFree
| |
| |---[dll]------ HeapCreate
| |
| |---[dll]------ HeapDestroy
| |
| |---[dll]------ DLL命令1
调用的DLL命令:
.DLL命令 读指针合法性_, 整数型, "kernel32", "IsBadCodePtr", , 确定读指针的合法性
.参数 lpfn, 整数型
.DLL命令 指针到套接字地址_, , , "RtlMoveMemory"
.参数 自定义数据, 套接字地址, 传址
.参数 内存地址, 整数型
.参数 字节数, 整数型, , 16
.DLL命令 解析异步监听信息_, , "Mswsock.dll", "GetAcceptExSockaddrs"
.参数 缓冲区, 整数型
.参数 第一次接收数据保留字节数, 整数型, , 0
.参数 本地地址信息保留的字节数, 整数型, , 0
.参数 为远程地址的信息保留的字节数, 整数型, , 32
.参数 接收数据缓冲区, 整数型, 传址
.参数 本地地址信息, 整数型, 传址
.参数 远程地址的信息, 整数型, 传址
.参数 保留参数, 整数型, 传址
.DLL命令 数组到指针_, , , "RtlMoveMemory"
.参数 自定义数据, 整数型
.参数 内存地址, 整数型, 传址 数组
.参数 字节数, 整数型, , 16
.DLL命令 指针到数组_, , , "RtlMoveMemory"
.参数 自定义数据, 整数型, 传址 数组
.参数 内存地址, 整数型
.参数 字节数, 整数型, , 16
.DLL命令 销毁套接字_, 整数型, "ws2_32.dll", "closesocket", , closesocket
.参数 套接字描述符, 整数型
.DLL命令 连接_, 整数型, "ws2_32.dll", "connect", , 成功返回0;失败返回-1
.参数 套接字, 整数型, , s
.参数 地址信息, 套接字地址, , addr
.参数 结构长度, 整数型, , namelen(16)
.DLL命令 发送_字节集_, 整数型, "ws2_32.dll", "send", , 发送数据(TCP,当这次发送数据未发送完时返回剩余字节数)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, , 欲发送的数据
.参数 buflen, 整数型, , 欲发送数据长度
.参数 flags, 整数型, , 0
.DLL命令 发送_, 整数型, "ws2_32.dll", "WSASend"
.参数 套接字描述符, 整数型
.参数 缓冲区, 整数型, , 一个指向WSABUF结构数组的指针。每个WSABUF结构包含缓冲区的指针和缓冲区的大小。
.参数 dwBufferCount, 整数型, , lpBuffers数组中WSABUF结构的数目。
.参数 lpNumberOfBytesSent, 整数型, 传址, 如果发送操作立即完成,则为一个指向所发送数据字节数的指针。
.参数 dwFlags, 整数型, , 标志位。
.参数 异步消息地址, 整数型, , 指向WSAOVERLAPPED结构的指针(对于非重叠套接口则忽略)。
.参数 pCompletionRoutine, 整数型, , 个指向发送操作完成后调用的完成例程的指针。(对于非重叠套接口则忽略)。
.DLL命令 接收_, 整数型, "ws2_32.dll", "WSARecv"
.参数 套接字描述符, 整数型, , 套接字
.参数 数组的指针, 整数型, , lpBuffers 一个指向WSABUF结构数组的指针。每一个WSABUF结构包含一个缓冲区的指针和缓冲区的长度。
.参数 数组数量, 整数型, , WSABUF结构的数量
.参数 保留参数2, 整数型, 传址, 如果接收操作立即完成,这里会返回函数调用所接收到的字节数
.参数 标志位的指针, 整数型, 传址, 一个指向标志位的指针
.参数 异步消息地址, 整数型, , “绑定”的重叠结构
.参数 保留参数4, 整数型, , 完成例程中将会用到的参数
.DLL命令 创建许可证_, , "kernel32.dll", "InitializeCriticalSection", , 创建许可证
.参数 lpCriticalSection, 字节集, 传址
.DLL命令 删除许可证_, , "kernel32.dll", "DeleteCriticalSection", , 删除许可证
.参数 lpCriticalSection, 字节集, 传址
.DLL命令 进入许可区_, , "kernel32.dll", "EnterCriticalSection", , 进入许可区
.参数 lpCriticalSection, 字节集, 传址
.DLL命令 退出许可区_, , "kernel32.dll", "LeaveCriticalSection", , 退出许可区
.参数 lpCriticalSection, 字节集, 传址
.DLL命令 指针到异步消息_, , , "RtlMoveMemory"
.参数 重叠结构, 异步消息, 传址
.参数 异步消息内存地址, 整数型
.参数 长度, 整数型
.DLL命令 释放堆栈内存_, 整数型, "kernel32", "HeapFree", , , HeapFree,释放从堆中分配的内存
.参数 堆栈句柄, 整数型, , hHeap
.参数 标志, 整数型, , dwFlags 0
.参数 内存块句柄, 整数型, , any,lpMem
.DLL命令 异步消息到指针_, , , "RtlMoveMemory"
.参数 内存地址, 整数型
.参数 异步消息, 异步消息, 传址
.参数 长度, 整数型
.DLL命令 CreateEvent, 整数型, "kernel32", "CreateEventA", , 创建一个事件对象 如执行成功,返回事件对象句柄;零表示出错。会设置GetLastError。即使返回一个有效的句柄,但同时指出指定的名字已经存在,GetLastError也会设为ERROR_ALREADY_EXISTS
.参数 lpEventAttributes, 整数型, , SECURITY_ATTRIBUTES,指定一个结构,用于设置对象的security特性。如变成ByVal As 并传递零值,则表明使用对象默认的security设置
.参数 bManualReset, 逻辑型, , 如果为TRUE,表示创建一个人工重设事件;如果为FALSE,表示创建一个自动重设事件
.参数 bInitialState, 逻辑型, , 如事件应内部进入触发状态,则为TRUE
.参数 lpName, 整数型, , 指定事件对象的名字。用vbNull创建一个未命名事件对象。如已经存在拥有这个名字的一个事件,则现有的命名事件就会打开。这个名字可能不与一个现有互斥体、信号机、可等待计时器或文件映射的名字相符;
.DLL命令 WSAEventSelect, 整数型, "ws2_32.dll", "WSAEventSelect", , 允许在一个或者多个套接字上接收以事件为基础的网络事件通知
.参数 s, 整数型
.参数 hEventObject, 整数型
.参数 lNetworkEvents, 整数型
.DLL命令 等待用户进入_, 整数型, "ws2_32.dll", "accept", , 失败返回0,等待用户进入并接受连接
.参数 s, 整数型, , 套接字描述符
.参数 addr, 套接字地址, 传址, 地址信息
.参数 addrlen, 整数型, 传址, 地址信息长度(长度为16)
.DLL命令 WSAStartup, 整数型, "ws2_32.dll", "WSAStartup", , 公开
.参数 wVersionRequiredas, 整数型
.参数 lpWSAData, WSADATA, 传址
.DLL命令 整数转换点数, 整数型, "ws2_32.dll", "inet_ntoa", , 将整数格式IP地址转换为点数格式(返回值是内存地址指针)
.参数 inn, 整数型, , 欲转换整数格式IP地址
.DLL命令 转换为端口号, 短整数型, "ws2_32.dll", "ntohs", , ntohs 转换为端口号-网络转换到本机
.参数 十六位网络端口, 短整数型, , netshort欲转换值
.DLL命令 获取远端信息, 整数型, "ws2_32.dll", "getpeername", , getpeername 获取远端信息(已连接对方IP和端口)。成功返回0
.参数 句柄, 整数型, , s 句柄
.参数 地址信息, 套接字地址, 传址, name 地址信息
.参数 地址信息长度, 整数型, 传址, namelen name 长度,Sockaddr_in长度为16
.DLL命令 异步监听_, 逻辑型, "mswsock.dll", "AcceptEx"
.参数 服务器套接字句柄, 整数型, , 侦听套接字。服务器应用程序在这个套接字上等待连接。
.参数 欲创建套接字句柄, 整数型, , 将用于连接的套接字。此套接字必须不能已经绑定或者已经连接。
.参数 接收缓冲区, 整数型, , 指向一个缓冲区,该缓冲区用于接收新建连接的所发送数据的第一个块、该服务器的本地地址和客户端的远程地址。接收到的数据将被写入到缓冲区0偏移处,而地址随后写入。 该参数必须指定,如果此参数设置为NULL,将不会得到执行,也无法通过GetAcceptExSockaddrs函数获得本地或远程的地址。
.参数 第一次接收数据保留字节数, 整数型, , 0
.参数 本地地址信息保留的字节数, 整数型, , 0
.参数 为远程地址的信息保留的字节数, 整数型, , 32
.参数 保留参数, 整数型, , 0
.参数 消息地址, 整数型, , 本次重叠I/O所要用到的重叠结构
.DLL命令 销毁堆栈_, 逻辑型, "kernel32", "HeapDestroy"
.参数 堆栈句柄, 整数型, , 堆栈句柄
.DLL命令 从堆栈分配内存_, 整数型, "kernel32", "HeapAlloc", , 返回一块内存句柄
.参数 堆句柄, 整数型
.参数 方式, 整数型, , 8
.参数 大小, 整数型
.DLL命令 创建堆栈_, 整数型, "kernel32", "HeapCreate", , 成功 返回 堆句柄 失败返回 0
.参数 flOptions, 整数型, , 4
.参数 dwInitialSize, 整数型, , 0
.参数 dwMaximumSize, 整数型, , 0
.DLL命令 申请内存_, 整数型, , "VirtualAlloc"
.参数 lpAddress, 整数型, , NULL,系统将会决定分配内存区域的位置
.参数 dwSize, 整数型, , 分配的长度
.参数 flAllocationType, 整数型, , MEM_COMMIT=4096 分配类型 ,你可以指定或者合并以下标志:MEM_COMMIT,MEM_AUTO_COMMIT,MEM_RESERVE和MEM_TOP_DOWN。
.参数 flProtect, 整数型, , 4=允许读写 指定了被分配区域的访问保护方式
.DLL命令 取错误信息_, 整数型, , "GetLastError"
.DLL命令 取低层平台信息_, , "kernel32", "GetSystemInfo"
.参数 lpSystemInfo, SYSTEM_INFO
.DLL命令 setsockopt2, 整数型, "ws2_32.dll", "setsockopt", ,
.参数 s, 整数型
.参数 level, 整数型
.参数 optname, 整数型
.参数 optval, lingerStruct, 传址
.参数 optlen, 整数型
.DLL命令 WSAIoctl2, 整数型, "Ws2_32.dll", "WSAIoctl"
.参数 s, 整数型
.参数 dwIoControlCode, 整数型
.参数 lpvInBuffer, tcp_keepalive, 传址
.参数 cbInBuffer, 整数型
.参数 lpvOutBuffer, tcp_keepalive, 传址
.参数 cbOutBuffer, 整数型
.参数 lpcbBytesReturned, 整数型, 传址
.参数 lpOverlapped, 整数型
.参数 lpCompletionRoutine, 整数型
.DLL命令 setsockopt3, 整数型, "Ws2_32.dll", "setsockopt", , 公开
.参数 s, 整数型
.参数 level, 整数型
.参数 optname, 整数型
.参数 optval, 整数型, 传址
.参数 optlen, 整数型
.DLL命令 置监听_, 整数型, "ws2_32.dll", "listen", , 公开
.参数 s, 整数型
.参数 backlog, 整数型
.DLL命令 绑定地址和端口_, 整数型, "ws2_32.dll", "bind", , 公开
.参数 s, 整数型
.参数 name, 套接字地址
.参数 namelen, 整数型
.DLL命令 端口到网络端口_, 短整数型, "ws2_32.dll", "htons", , 公开
.参数 hostshortas, 短整数型
.DLL命令 inet_addr, 整数型, "ws2_32.dll", "inet_addr", , 公开
.参数 cp, 文本型
.DLL命令 创建套接字_, 整数型, "Ws2_32.dll", "WSASocketA", , 成功返回句柄 失败返回 0
.参数 地址族, 整数型, , 2 地址族描述。目前仅支持AF_INET格式,亦即ARPA Internet地址格式
.参数 类型, 整数型, , 1 新套接口的类型描述。
.参数 协议, 整数型, , 0 套接口使用的特定协议,如果调用者不愿指定协议则定为0。
.参数 保留结构, 整数型, , 0
.参数 保留参数, 整数型, , 0
.参数 属性, 整数型, , 1 套接口属性描述。
.DLL命令 获取队列完成状态_, 逻辑型, "kernel32.dll", "GetQueuedCompletionStatus"
.参数 完成端口句柄, 整数型, , 指定的IOCP,该值由 创建完成端口() 函数创建。
.参数 长度, 整数型, 传址, 本次事件传输数据的长度
.参数 保留参数, 整数型, 传址, 传递数据地址回来
.参数 异步消息, 整数型, 传址, 传递数据地址回来
.参数 超时时间, 整数型, , -1 不超时
.DLL命令 GetExitCodeThread_, 整数型, "kernel32.dll", "GetExitCodeThread"
.参数 hThread, 整数型
.参数 lpExitCode, 整数型, 传址
.DLL命令 监测一个对象_, 整数型, "kernel32.dll", "WaitForSingleObject", , WaitForSingleObject监测一个对象
.参数 hHandle, 整数型
.参数 dwMilliseconds, 整数型
.DLL命令 挂起线索_, 整数型, "kernel32.dll", "SuspendThread", , SuspendThread挂起线索
.参数 hThread, 整数型
.DLL命令 开始暂停的线索_, 整数型, "kernel32.dll", "ResumeThread", , ResumeThread开始暂停的线索
.参数 hThread, 整数型
.DLL命令 中止线索_, 整数型, "kernel32.dll", "TerminateThread", , TerminateThread中止线索
.参数 hThread, 整数型
.参数 dwExitCode, 整数型
.DLL命令 取启动时间_, 整数型, "kernel32.dll", "GetTickCount", , GetTickCount 返回值 以毫秒为单位的windows运行时间 用于获取自windows启动以来经历的时间长度(毫秒)
.DLL命令 投递完成端口任务_, 逻辑型, "kernel32.dll", "PostQueuedCompletionStatus"
.参数 完成端口句柄, 整数型, , 套接字描述符
.参数 数据长度, 整数型, , 指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数
.参数 保留参数, 整数型, , 指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数
.参数 异步消息, 整数型, , 指定—个值,直接传递给GetQueuedCompletionStatus函数中对应的参数
.DLL命令 启动线程_, 整数型, "kernel32.dll", "CreateThread", , CreateThread启动线程
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
.DLL命令 关闭句柄_, 整数型, "kernel32.dll", "CloseHandle", , CloseHandle
.参数 hObject, 整数型
.DLL命令 指针到字节集_, , , "RtlMoveMemory"
.参数 字节集, 字节集, 传址
.参数 内存地址, 整数型
.参数 字节数, 整数型
.DLL命令 字节集到指针_, , "kernel32.dll", "RtlMoveMemory"
.参数 目标数据, 整数型
.参数 原数据, 字节集, 传址
.参数 尺寸, 整数型
.DLL命令 整数型到指针_, , "kernel32.dll", "RtlMoveMemory"
.参数 目标数据, 整数型, , any
.参数 原数据, 整数型, 传址, any
.参数 尺寸, 整数型
.DLL命令 指针到整数型_, , "kernel32.dll", "RtlMoveMemory"
.参数 目标数据, 整数型, 传址
.参数 原数据, 整数型
.参数 尺寸, 整数型, , 4
.DLL命令 指针到指针_, , "kernel32.dll", "RtlMoveMemory"
.参数 目标数据, 整数型
.参数 原数据, 整数型
.参数 尺寸, 整数型, , 4
.DLL命令 创建完成端口_, 整数型, , "CreateIoCompletionPort", , 成功返回 完成端口句柄 失败返回 0
.参数 套接字句柄, 整数型, , -1:创建
.参数 完成端口句柄, 整数型, , 0:创建完成端口 其他:将套接字句柄关联到完成端口
.参数 保留参数, 整数型, , 是传送给处理函数的参数。 0:创建
.参数 并发访问数, 整数型, , 0:并发访问线程数=处理器个数 当该参数为0时,表示允许同时相等数目于处理器个数的线程访问该消息队列
.DLL命令 RtlMoveMemory
.参数 Destination, 整数型
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_1, , , "RtlMoveMemory"
.参数 Destination, 整数型, 传址
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 RtlMoveMemory_2, , , "RtlMoveMemory"
.参数 Destination, 整数型
.参数 Source, 整数型, 传址
.参数 Length, 整数型
.DLL命令 HeapAlloc, 整数型
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 HeapFree, 逻辑型
.参数 hHeap, 整数型
.参数 dwFlags, 整数型
.参数 lpMem, 整数型
.DLL命令 HeapCreate, 整数型
.参数 flOptions, 整数型
.参数 dwInitialSize, 整数型
.参数 dwMaximumSize, 整数型
.DLL命令 HeapDestroy, 逻辑型
.参数 hHeap, 整数型
.DLL命令 DLL命令1
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...