文件管理(三)创建文件视图
2014-12-02 23:27
204 查看
要将文件中的数据映射到进程的虚拟内存中,你必须创建一个文件的视图。MapViewOfFile和MapViewOfFileEx函数使用CreateFileMapping返回的文件映射对象句柄来在进程的虚拟地址空间里建立文件的视图,或者文件的某个部分。如果这些函数指定的权限标志和CreateFileMapping中的权限标志不一致,则会执行失败。
MapViewOfFile函数返回一个指向文件视图的指针。利用MapViewOfFile中声明的地址指针,程序就可以从文件中读以及向文件中写入数据。向文件视图中写入数据会导致文件映射对象改变。真正将数据写入到磁盘上的文件,由系统负责处理。数据并不是马上就别写到磁盘上,很多文件的输入输出都被缓存起来,以改善系统的性能。程序可以调用FlushViewOfFile函数来越过这个方式,强迫系统马上将数据写入到磁盘中去。MapViewOfFileEx函数和MapViewOfFile函数作的工作是一模一样的,只不过可以利用MapViewOfFileEx函数的lpvBase参数,来指定文件视图在进程虚拟地址空间中的基础地址。如果在指定的地址处没有足够的空间,则调用失败。
1、lpvBase参数必须是系统内存最小单位的整数倍,否则调用会失败。要的到系统内存的最小单位,使用etSystemInfo函数,他将信息写到SYSTEM_INFO结构的成员中。
程序可以从同一个文件映射对象中创建多个文件视图。文件视图可以是不同的大小,但他们必须小于文件映射对象。MapViewOfFile函数的dwOffsetHigh和dwOffsetLow参数必须是系统内存最小单位的整数倍。
(译自MSDN)
相关文章推荐
- SQL SERVER2000教程-第二章-创建和管理数据库 第五节 清空数据库的LOG日志文件
- 【转及整理】C#管理快捷方式文件创建
- 使用rails高效开发之快速创建控制器 视图 模型和数据库文件
- vSphere 5.0系列之八 创建和管理虚拟主机、模板和配置文件
- Oracle的学习四:数据库管理员、逻辑备份与恢复、数据字典、动态性能视图、管理表空间与数据文件
- 创建和管理视图
- iOS创建不带nib文件的工程之二--添加视图和视图控制器
- 使用rails高效开发之快速创建控制器 视图 模型和数据库文件
- WebSphere 概要文件管理,删除和创建
- Policy Tool — 策略文件创建和管理工具
- Policy Tool — 策略文件创建和管理工具
- Policy Tool — 策略文件创建和管理工具
- ORACLE开发:创建与管理表空间和数据文件1
- 目录管理,创建、删除、移动目录,创建、删除、移动文件
- 测试为Android模拟器创建和管理sdcard image文件
- Oracle使用配置文件创建口令管理策略
- linux设备管理-dev目录下创建和寻找某一设备文件
- Policy Tool —策略文件创建和管理工具
- XCode 4 中建立一个Empty Application步骤(创建并关联xib视图文件)
- 创建和管理Oracle初始化参数文件pfile、spfile