5.VC(Custom)-进程间共享内存映射FileMapping
2010-11-15 15:45
183 查看
核心编程有详细介绍
1.创建:
2.写入:
3.读取:
4.释放:
返回失败可用GetLastError 得到,具体可查MSDN
1.创建:
HANDLE hFileMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 1024, _T("XXXX"));//1024是文件大小,请自定义
2.写入:
HANDLE hFileMapping1 = OpenFileMapping(FILE_MAP_WRITE, FALSE, _T("XXXX")); void *pMapView = MapViewOfFile(hFileMapping1, FILE_MAP_WRITE, 0, 0, 1024);//1024对应"创建" memset(pMapView,0,1024) ; memcpy(pMapView,(LPCTSTR)szEdit,1024) ; UnmapViewOfFile(pMapView);//在当前应用程序的内存地址空间解除对一个文件映射对象的映射,这个地址是早先用MapViewOfFile函数获得的
3.读取:
HANDLE hFileMapping = OpenFileMapping(FILE_MAP_READ, FALSE, _T("XXXX")); void *pMapView = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 1024);/*将一个文件映射对象映射到当前应用程序的地址空间,返回值:Long,文件映射在内存中的起始地址*/ CString szEdit ; szEdit =(LPCTSTR) pMapView ; SetDlgItemText(IDC_EDIT1,szEdit); UnmapViewOfFile(pMapView);/*在当前应用程序的内存地址空间解除对一个文件映射对象的映射,这个地址是早先用MapViewOfFile函数获得的*/
4.释放:
HANDLE hFileMapping = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, _T("XXXX")); // 关闭共享内存 if (hFileMapping != NULL) CloseHandle(hFileMapping);
返回失败可用GetLastError 得到,具体可查MSDN
相关文章推荐
- 利用内存映射文件在进程间共享数据
- 利用内存映射文件在进程间共享数据
- 进程间通过内存映射文件共享数据
- C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转
- 利用内存映射文件在进程间共享数据
- 用文件映射(File Mapping)实现进程间内存共享
- 用内存映射文件在进程中共享数据
- 用文件映射(File Mapping)实现进程间内存共享[转]
- UNIX环境高级编程学习之第十五章进程间通信 - 两个进程通过映射普通文件实现共享内存通信
- 利用内存映射文件在两个进程间共享数据
- C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped
- C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped
- 用文件映射(File Mapping)实现进程间内存共享
- C# .Net 多进程同步 通信 共享内存 内存映射文件
- 用内存映射文件在进程中共享数据
- 创建进程间共享内存映射
- 用文件映射(File Mapping)实现进程间内存共享
- 内存映射文件--进程间数据共享
- 内存映射文件进程间共享内存
- C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped