Delphi 共享内存的应用
来源:互联网 发布:淘宝卖家流量怎么计算 编辑:程序博客网 时间:2024/06/13 23:45
//建立共享内存 参数1:共享内存名 参数2:块大小 返回 句柄Function CreateShareMem(pName:Pchar;Size:Cardinal):Cardinal;begin Result:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,Size,pName);end;//释放共享内存 参数:句柄Procedure FreeShareMem(hMapFile:Cardinal);var pBuffer:Pointer;begin pBuffer:=MapViewOfFile(hMapFile,FILE_MAP_ALL_ACCESS,0,0,0); if pBuffer <> nil then UnmapViewOfFile(pBuffer); if hMapFile <> 0 then CloseHandle(hMapFile);end;{读取共享内存数据 参数1:共享内存名 参数2:存放数据缓存 参数3:读取长度 返回:成功返回true}Function ReadShareMem(pName:PChar;var Buffer;Len:Cardinal):Bool;var hMapFile:Cardinal; pBuf:Pointer;begin Result:=False; hMapFile:=OpenFileMapping(FILE_MAP_ALL_ACCESS,false,pName); if hMapFile <> 0 then begin pBuf:=MapViewOfFile(hMapFile,FILE_MAP_READ,0,0,0); if pBuf <> nil then begin CopyMemory(@Buffer,pBuf,Len); Result:=True; end; CloseHandle(hMapFile); end;end;{写入共享内存 参数1:共享内存名 参数2:数据指针 参数3:长度 返回:成功返回true}Function WriteShareMem(pName:PChar;Buffer:Pointer;Len:Cardinal):Bool;var hMapFile:Cardinal; pBuf:Pointer;begin Result:=False; hMapFile:=OpenFileMapping(FILE_MAP_ALL_ACCESS,false,pName); if hMapFile <> 0 then begin pBuf:=MapViewOfFile(hMapFile,FILE_MAP_WRITE,0,0,0); if pBuf <> nil then begin CopyMemory(pBuf,Buffer,Len); Result:=True; end; CloseHandle(hMapFile); end;end;
可以用于进程间的通讯
- Delphi 共享内存的应用
- Delphi 共享内存的应用
- 共享内存的简单应用
- Delphi如何实现内存共享
- delphi 实现两个exe文件共享内存映像的代码
- delphi 实现两个exe文件共享内存映像的代码
- DELPHI中不同类型的动态数组变量共享内存
- DELPHI中不同类型的动态数组变量共享内存
- 获取其他应用的SharedPreferences共享内存
- 【Linux基础】共享内存应用
- 驱动和应用共享内存
- linux应用开发-内存共享
- linux应用编程共享内存
- 转载:UNIX系统共享内存的应用编程技术
- 共享内存在linux进程间通信以外的应用
- delphi通过使用“内存映射文件”,实现内存共享
- nginx共享内存:共享内存的实现
- 进程的内存分配函数之brk和mmap(不考虑共享内存)的应用
- 【opencv&VS2008】关于cvAbs的那些事
- Exchange Server 2010/2013架构改变
- linux输入子系统(2)
- magento整合wordpress(二)
- Exchange Server 2010/2013功能差异
- Delphi 共享内存的应用
- 贪心算法--哈夫曼编码问题
- UVALive 3181 Fixing the Great Wall
- struts漏洞修复(升级到2.3.15)
- emac配置IDE
- jquery.cookie
- 如何从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)
- contentprovider的学习实例总结
- jquery.metadata