CreateFileMapping()几个内存读写API函数

1.CreateFileMapping:创建文件映射对象 
参数: 
hFile:Long——欲在其中创建映射的一个已经打开的磁盘文件句柄; 
LpFileMappingAttributes:Long——通常用0表示使用默认安全对象; 
FlProtect:Long——打开映射的方式(用API常数表示的读/写或其它); 
DwMaximumSizeHigh,dwMaximumSizeLow:Long——共同表示文件映射的最大长度(前者为高32位,后者为低32位),通常均设为0表示磁盘文件的实际长度; 
LpName: String——指定文件映射对象的名称。 
返回值:Long——新建文件映射对象的句柄。 
2.OpenFileMapping:打开一个现成的文件映射对象 
参数: 
dwDesiredAccess:Long——用API常数表示的对文件映射的访问方式; 
bInheritHandle:Long——返回值对与子进程的继承属性,常设为False; 
lpName:String——准备打开的文件映射对象的名称。 
返回值:Long——指定的文件映射对象的句柄。 
3.MapViewOfFile:将一个文件映射对象映射到当前应用程序空间 
参数: 
hFileMappingObject:Long——文件映射对象的句柄; 
dwDesiredAccess:Long——用API常数表示的对文件映射的访问方式; 
dwFileOffsetHigh,dwFileOffsetLow:Long——共同表示文件中的映射起点(前者为高32位,后者为低32位),通常均设为0表示从文件的起始处开始映射; 
dwNumberOfBytesToMap:Long——要映射的字节数,通常设为0表示映射整个文件映射对象。 
返回值:Long——文件映射在内存中的起始地址。 
4.UnmapViewOfFile:解除当前应用程序中的一个文件映射对象的映射地址空间 
参数: 
lpBaseAddress:要解除映射的文件映射起始地址。 
返回值:Long——非零表示成功,零表示失败。 

Sampling.vbp的启动窗体Form1.frm在装载时创建一个文件映射(CreateMap),这个创建过程分三步:首先,通过CreateFile,WriteFile,FlushFileBuffers建立一个具有指定长度(LenBuffer + 1)的磁盘文件DiskFileName;然后,由CreateFileMapping创建一个对应于磁盘文件DiskFileName的文件映射对象MapFileName;最后,用MapViewOfFile将文件映射对象映射到应用程序地址MapAddress。在本例中,磁盘文件建立后便不再与之打交道,以后的操作均针对其映射地址空间。



微信公众号:天泓评测


本博客所有文章如无特别注明均为原创。作者:天泓评测
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)