内存映射文件相关函数使用及说明
- 博客分类:
- 技术杂绘
内存映射文件相关函数使用及说明
2012年01月10日
示例代码:
//打开文件
HANDLE hFile = ::CreateFileW(m_wstrFilePath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(INVALID_HANDLE_VALUE == hFile)
{
return false;
}
//生成文件映射句柄
m_hFileMapping = ::CreateFileMappingW(hFile, NULL, PAGE_READONLY, m_lnFileSize.HighPart, m_lnFileSize.LowPart, NULL);
::CloseHandle(hFile);
if(NULL == m_hFileMapping)
{
return false;
}
//计算读取的数据大小
m_lnFileMappingDataSize.QuadPart = m_lnFileSize.QuadPart - m_lnFileMappingDataPos.QuadPart;
m_lnFileMappingDataSize.QuadPart = (MAX_FILE_MAPPING_SIZE 不能超过实际文件大小,否则返回错误;当高32位和低32位都输入0时,表示缺省文件大小)
m_pbtFileMappingData = (PBYTE)::MapViewOfFile(m_hFileMapping, FILE_MAP_READ, m_lnFileMappingDataPos.HighPart, m_lnFileMappingDataPos.LowPart, m_lnFileMappingDataSize.LowPart);
m_lnFileMappingDataPos.HighPart:读取文件位置的高32位
m_lnFileMappingDataPos.LowPart:读取文件位置的低32位(此值必须是操作系统最小内存分配粒度的整数倍,windows为64k)
m_lnFileMappingDataSize.LowPart:读取文件数据的大小,与存储系统的大小有关(建议不要超过2G)
发表评论
-
SharePoint 2010 工作流解决方案:创建自定义网站工作流活动
2012-01-20 02:41 859SharePoint 2010 工作流解决方案:创建自定义网站 ... -
oracle之方案对象简介
2012-01-20 02:41 708oracle之方案对象简介 20 ... -
Dragon-Studio 之 Flash Alternativa 3D引擎 进阶教程-1.内置模型
2012-01-20 02:41 680Dragon-Studio 之 Flash Alternati ... -
C++ Summary for Interview
2012-01-20 02:41 639C++ Summary for Interview 2011 ... -
2011-7-11
2012-01-19 10:25 4662011-7-11 2011年07月11日 ... -
制度之管理
2012-01-19 10:24 545制度之管理 2011年03月01 ... -
2011-9-8
2012-01-19 10:24 5052011-9-8 2011年09月08日 ... -
品质管理制度大全
2012-01-19 10:24 607品质管理制度大全 2010年08月15日 品 -
品管知识
2012-01-19 10:24 634品管知识 2011年05月27日 品管知识[b][/b] ... -
windows性能监视器常用计数器
2012-01-17 03:05 742windows性能监视器常用计 ... -
0x00000001内存问题
2012-01-17 03:05 6950x00000001内存问题 2010年10月11日 0 ... -
一种可以穿透还原卡和还原软件的代码
2012-01-17 03:05 616一种可以穿透还原卡和还原软件的代码 2010年06月09日 ... -
孩子们,老师现在说的,你们能懂吗
2012-01-16 01:38 660孩子们,老师现在说的, ... -
2011-12-5
2012-01-16 01:38 4872011-12-5 2011年12月05日 女儿写作文 ... -
作文教学
2012-01-16 01:38 591作文教学 2011年12月02日 ... -
批改作文的过程 ,才是提高的关键
2012-01-16 01:38 563批改作文的过程 ,才是 ... -
结合实践说说怎样批改作文才更有效
2012-01-16 01:38 669结合实践说说怎样批改 ... -
xquery-aix+db2+was笔记-iteye技术网站
2012-01-11 01:13 629xquery-aix+db2+was笔记-iteye技术网站 ... -
部署报错
2012-01-11 01:13 480部署报错 2011年09月01日 这次我们做了一个项目是 ... -
jvm运行时数据区-hehaibo-iteye技术网站
2012-01-11 01:12 634jvm运行时数据区-hehaibo-i ...
相关推荐
内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把...使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。
文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类...目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。
文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类...目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。
文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处 理的函数和类...目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。
一个多线程的文件拷贝工具的实现,文件操作接口使用了内存映射模型的方式实现,可以指定线程数量,可以在拷贝过程中查看整体的进度信息(进度、速度、剩余时间、已用时间),同时可以查看每个子线程对应的进度信息。...
本代码 完美封装 好用易懂. 已在自己的项目中使用很久 稳定无bug, 内存映射的好处就不说了 但如果直接使用API 过程很繁复.
内核内存映射文件之获取SSDT函数索引号
文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类...目前,对 于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。
在此基础上首先探讨了应用内存映射文件技术所用到的函数及其功能;接着分析了调用、存储大场景流域模型(大小约4 GB)所应用到的函数及其使用方法原理,并结合相关程序代码对具体的实现过程进行了详细的剖析;最后...
一个多线程的文件快速拷贝工具的实现,文件操作接口使用了内存映射模型的方式实现,可以指定线程数量,可以在拷贝过程中查看整体的进度信息(进度、速度、剩余时间、已用时间),同时可以查看每个子线程对应的进度...
with-mmap-file一个帮助宏,可确保在我们完成内存映射文件后安全地取消映射(使用munmap-file函数)。 另外,下面是处理mmap-file函数返回的内存映射文件对象的谓词和访问器函数的导出符号: mmapped-file-p一个...
C语言实现大数据文件的内存映射机制 摘要 本文主要讲述大量数据的文件的...使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。 2
1. mmap内存映射文件 建立一个文件的内存映射将使用操作系统虚拟内存来直接访问文件系统上的数据,而不是使用常规的I/O函数访问数据。内存映射通常可以提供I/O性能,因为使用内存映射是,不需要对每个访问都建立一个...
另见http://dylan-muir.com/articles/mapped_tensor/ 如果此功能对您的学术工作有用,请引用该出版物代替谢谢: Muir 和 Kampa,... 这意味着使用 MappedTensor 的函数不能完全向量化,而必须在 for 循环内的段中对映射
UnmapViewOfFile 在当前应用程序的内存地址空间解除对一个文件映射对象的映射 VerFindFile 用这个函数决定一个文件应安装到哪里 VerInstallFile 用这个函数安装一个文件 VerLanguageName 这个函数能根据16位语言...
自己读入windows内核文件,获取原始,可以restore SSDT
使用内存映射文件(MMF); 线程安全的Evergreen 对象; 当跨多个JVM(通过使用目标MMF上的锁定位)进行访问时,可以安全地读取/写入文件中的已保存实例。 低延迟(但我怀疑这与OpenHFT的编年史图没有任何距离)...
通过利用文件映射,我们不必使用诸如VirtualAllocEx和WriteProcessMemory之类的各种功能即可将Shellcode复制到远程进程中,而是可以使用QueueUserAPC调用我们要引用的函数并在所需文件中执行Shellcode。
C#通过WinIO读取BIOS的版本号 ...程序包里有自己封装好的函数库,里面有对WinIO的操作,使用起来比较简单 这支程序可直接使用,用于工厂测试产品烧录的BIOS版本号 提供了完整的源码,使用时加个自己公司的logo即可
C语言mmap()函数:建立内存映射 头文件: #include <unistd> #include 定义函数:void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offsize); 函数说明:mmap()用来将某个文件内容...