MapViewOfFileEx这个函数在95下可以用来保证生成的共享存储器映像文件均出现在同一地址空间中,但是在2000下还有用吗?
我在98下面调用它的时候总是失败,肯定是最后一个参数的问题,请问该给它设置多少才能调用成功呢?

解决方案 »

  1.   

    如: PBYTE pbFile = (PBYTE)MapViewOfFileEx(hfilemapping,FILE_MAP_COPY,0,0,0,(PVOID)0x80000000 );
    调用失败,地址该填多少才行?
      

  2.   

    最后一个参数可以是 NULL, Win98 肯定会把文件映射到 0x80000000 ~ 0xBFFFFFFF 的 MMF 区,并且对所有进程共享,但是 WinNT/2000 下没有共享的 MMF 区,而且映射的基址也不一定相同。
      

  3.   

    WinNT/2000 下只能利用 FileMapping 对象的命名在另一进程后访问。