![](image/doc.gif)
VC70新手:懒好!
(发表于2002-7-14 19:46:00)
![](image/doc.gif)
awzzz:对服务程序测试成功有效
(发表于2002-7-15 8:34:00)
![](image/doc.gif)
Micro:据我所知,使用共享内存的一个实例应该没有权限直接释放共享内存.因为其他例程可能正在使用.我们是不是应该使用象COM组件的方法,为每一块共享内存设一标识位,内存的每次实例化使该标识加1,用完后减1,而当该标识为0时,则彻底释放该共享内存....:)
(发表于2002-7-16 11:31:00)
![](image/doc.gif)
tdy:Micro老哥,当没有其他用户使用时共享内存时,共享内存变会真正释放的。
(发表于2002-7-21 8:28:00)
![](image/doc.gif)
Micro:呵呵!我差点忘了,共享内存由操作系统管理和分配,用户只能申请使用权......
(发表于2002-7-27 13:48:00)
![](image/doc.gif)
awzzz:补充说明:
void CShareMemDlg::OnButton2()
{
// TODO: Add your control notification handler code here
CSFMClient *pCSFMC = new CSFMClient(FILE_MAP_READ, "_OBJ_ZZZ_");
char *p = (char*)pCSFMC->GetBuffer();
if (p) strcpy(p, "1234567890");
delete pCSFMC;//释放
}
以下行
if (p) strcpy(p, "1234567890");
是为了测试出错情况
因为
CSFMClient *pCSFMC = new CSFMClient(FILE_MAP_READ, "_OBJ_ZZZ_");
FILE_MAP_READ只能读,不能写,写为|FILE_MAP_WRITE
当时没写注释,自己现在都晕了
(发表于2002-9-6 17:00:00)
![](image/doc.gif)
fallwind:没有同步保护阿!
(发表于2003-1-14 11:40:00)
![](image/doc.gif)
summuer:awzzz:对服务程序测试成功有效
(发表于2002-7-15 8:34:00)
可是我在ISAPI程序里使用是无效的,要修改CreatFile和CreatFileMapping的安全描述符才可以用的。
(发表于2003-8-13 14:21:00)
![](image/doc.gif)
wordstar:sos!!!此方案在WinNT下无效!!!!!!程序执行是没有问题的,但是,请注意听你那可怜的硬盘,正在痛苦地呻吟。。。。。。|WinNT实实在在将这倒霉的内存映射文件当成文件来处理了。。。。。。也就是说,和你打开一个可共享的文件,然后同时几个进程操作毫无区别。。。。
(发表于2003-9-25 1:17:00)
![](image/doc.gif)
softhero:你的电脑好落啊
(发表于2004-10-20 9:41:00)
..........................................................................
--------------------next---------------------