一个程序如何创建两个独立的共享内存 - C++ Builder / Windows SDK/API
创建第一个共享内存正常:
hShareMem1=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0 ,7000,"ShareM");
lpszShareMem=(CID*) MapViewOfFile(hShareMem,FILE_MAP_ALL_ACCESS,0,0,0);
创建第二个共享内存
hShareMem2=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0 ,1000,"ShareM");
lpszShareMem2=(CZB*) MapViewOfFile(hShareMem2,FILE_MAP_ALL_ACCESS,0,0,0);
运行时好像和第一个共享内存地址重合,把第一个共享内存中的给覆盖掉了。
我对CreateFileMapping 中第4,5个参数含义不太熟悉,如果要得到两个地址完全独立的共享内存,应如果设置呢?请高手指点
[解决办法]
把最好的名字改掉,比如一个用"shareM",一个用"ShareM1"
[解决办法]
名称区分开,就可以创建两个共享内存块了