内存映射
来源:互联网 发布:海洋cms一点不好用 编辑:程序博客网 时间:2024/05/18 23:27
内存映射:
HANDLE CreateFileMapping(Handle 文件,PSECURITY_ATTRIBUTES 安全属性,DWORD 保护属性,DWORD 文件大小高32位,DWORD 文件大小低32位,PCTSTR 映射名称)
PVOID MAPViewOfFile(HANDLE 映射对象,DWORD访问属性,DWORD 偏移量高32位,DWORD 偏移量低32位,SIZE_T 字节数)
//调用的时候传入地址就可以,测试用的txt文件
void Mapping(LPCTSTR path) { HANDLE fFile01 = (HANDLE) CreateFile(path, GENERIC_WRITE | GENERIC_READ, 0, NULL,CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); char chBuffer[256]; memcpy(chBuffer, "testing", 7); DWORD dwWritenSize = 0; BOOL bRet = WriteFile(hFile01, chBuffer, 7, &dwWritenSize, NULL); CloseHandle(hFile01); HANDLE hFile = CreateFile(path, GENERIC_WRITE | GENERIC_READ, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); DWORD dwFileSize = GetFileSize(hFile, NULL); //创建一个内存映射文件,大小为打开文件大小 HANDLE hFileMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0,dwFileSize , NULL); //预定一块地址空间区域,并可以通过指针访问 PVOID pvFile = MapViewOfFile(hFileMap, FILE_MAP_WRITE, 0, 0, 0); PSTR pch = (PSTR)pvFile; //小写变大写 strupr(pch); cout << pch << endl; //从进程空间撤销对文件数据的关联 UnmapViewOfFile(pvFile); CloseHandle(hFileMap); SetFilePointer(hFile, dwFileSize, NULL, FILE_BEGIN); SetEndOfFile(hFile); CloseHandle(hFile);}
阅读全文
0 0
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- 内存映射
- PIXHAWK2之输入命令部分翻译
- 【前端】react学习阶段总结,学习react、react-router与redux的这些事儿
- 深入理解JVM之走进Java
- Group By 和 Having
- python迭代器和生成器
- 内存映射
- R语言的图形边界和布局及图形参数的修改
- ubuntu/win7 双系统无法启动修复详解
- 野指针
- grep 命令
- angularJS-实现放大镜效果
- SVM问题形式化
- VBA-周次表示Format
- poj 1422 Air Raid(最小不相交路径覆盖)