内存映射超大文件工具

易语言 2020-07-29 15:56:14

内存映射超大文件工具

.子程序 映射内存, 整数型, 公开, 将创建文件的文件数据映射到内存 返回映射到内存的内存基址
.参数 映射方式, 整数型, , 需要跟创建映射的打开方式相匹配
.参数 高32位, 整数型, , 0-7fffffff
.参数 低32位, 整数型, , 80000000-ffffffff 文件中的起始地址 必须是颗粒数的整倍数
.参数 映射长度, 整数型, , 以字节为单位的长度0为全部

集_映射基址 = 映射_置内存 (集_创建句柄, 映射方式, 高32位, 低32位, 映射长度)
集_写入位置 = 集_映射基址
返回 (集_映射基址)

.子程序 创建映射, 整数型, 公开, 返回创建的句柄 0为失败 CreateFileMappingA
.参数 打开方式, 整数型
.参数 高32位, 整数型, 参考, 80000000-ffffffff
.参数 低32位, 整数型, 参考, 0-7fffffff 需要申请创建的内存大小 为0 以文件的大小作为创建的长度
.参数 创建名称, 文本型

集_创建句柄 = 映射_创建 (集_文件句柄, 0, 打开方式, 高32位, 低32位, 创建名称)
返回 (集_创建句柄)