CreateFileMap在主进程中创建一个 NULL ACL安全属性的共享内存 , 主进程可读写,子进程可读写
在其他进程中使用MapViewOfFile来读 [没有写]
现在手头没有server 2008的开发资料该共享内存在 windows 2000/server2003/windows xp下都正常,其他进程都可以读写,完全正常
但是在最新的 windows server 2008 和 windows vista sp1下,其他进程无法读该共享内存各位兄弟有没有server 2008关于 createfilemap ACL方面的资料,
或者有哪位朋友解决过类似问题,请指教,谢谢

解决方案 »

  1.   

    补充一点
    测试跟踪发现
    主进程[后台服务]的操作在server 2008 / windows vista sp1 下都是成功的,并创建了制定名称的全局内存映射
    但是在其它的读进程中,出现无法打开制定文件的错误
    错误代码是2, 我猜测应该是权限的问题造成的,但是我在内存CREATE的时候,使用的是NULL安全属性,
    现在我也搞不清楚了...
      

  2.   

    管理员身份自动会被vista取消,除非你以run as administrator方式运行,你是这样运行的么?估计这还是和UAC有关
      

  3.   

    怀疑在vista下你需要指定安全模式,允许另外一个进程访问,不能用NULL,不过我也不会,只是怀疑
      

  4.   

    就是以run as administrator方式运行的
    否则根本打不开系统服务控制啊,程序会提示的
    估计不是UAC问题,感觉好象是我create时指定的权限NULL有点问题,在2008里可能....
      

  5.   

    基本查到原因了,在MSDN上
    这个是vista server2008新引入的一个控制参数造成的
    很多人都碰到了这个问题
    不是UAC问题
    需要编程解决,
    先结帖了,谢谢各位