#include <stdio.h>
#include <windows.h>
int main()
{
//创建打开文件
HANDLE cFile = CreateFile("D:\\filterBufFile.txt",
GENERIC_READ | GENERIC_WRITE,
0,
NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
//内存申请物理页
HANDLE hMapFile = CreateFileMapping(cFile, NULL, PAGE_READWRITE, 0, 0, "共享映射");
//和虚拟地址映射
LPTSTR lpBuff = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_WRITE, 0, 0, 0);
//*(PDWORD)lpBuff = 0x12345678;
//getchar();
//读文件
printf("%p\n", lpBuff);
printf("%x\n", *(PDWORD)lpBuff);
printf("%x\n", *((PDWORD)lpBuff+1));
//写文件
*(PDWORD)lpBuff = 0x41414141;
printf("%x\n", *(PDWORD)lpBuff);
//getchar();
//强制刷新
//FlushViewOfFile(((PDWORD)lpBuff), 4);
//关闭映射
UnmapViewOfFile(lpBuff);
//关闭句柄
CloseHandle(hMapFile);
//关闭句柄
CloseHandle(cFile);
system("pause");
return(0);
}
相关文章
- 11-18WIN32硬盘文件映射到内存
- 11-18使用Windows 未公开Win32 API 实现获取文件MD5 字符串MD5 内存MD5
- 11-18Android mmap 文件映射到内存介绍
- 11-18c++windows内核编程笔记day12 硬盘逻辑分区管理、文件管理、内存管理
- 11-18分配粒度和内存页面大小(x86处理器平台的分配粒度是64K,内存页是4K,所以section都是0x1000对齐,硬盘扇区大小是512字节,所以PE文件默认文件对齐是0x200)
- 11-18WIN32硬盘文件映射到内存
- 11-18【WIN32进阶之路】:内存映射文件
- 11-18linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包
- 11-1822. 将文件映射到内存
- 11-18linux 查看cpu 内存 硬盘 文件夹大小