文件映射

xyyyxmh   2010-4-25 11:40 楼主
谁能给个文件映射的例子:
这是进程1中的代码:
                  //创建文件
        HANDLE hfile = CreateFileForMapping(
                TEXT("\\Map.dat"),
                GENERIC_READ | GENERIC_WRITE,
                FILE_SHARE_READ,
                NULL,
                CREATE_ALWAYS,
                FILE_ATTRIBUTE_NORMAL,
                NULL);
        //创建内存映射文件
        HANDLE hMapFile = CreateFileMapping(
                hfile,
                NULL,
                PAGE_READWRITE,
                0,
                0x10000,
                TEXT("MMFObj") );
        //见文件映射到进程共享地址空间
        LPVOID pAddr = MapViewOfFile(
                hfile,
                FILE_MAP_ALL_ACCESS,
                0,
                0,
                NULL);
        //写入内容
         *( ( INT* )pAddr ) = 34;

进程2中的代码应该怎么写啊。怎样才能把34读出来。谢谢了

回复评论 (3)

我说的winCE 5.0
点赞  2010-4-25 11:40
我去年做过,另外一个程序也是这么写,关键是
CreateFileForMapping(
TEXT("\\Map.dat"),
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
中的TEXT("\\Map.dat")要一至,就可以了.具体细节我记不清了.
点赞  2010-4-25 12:52
内存映射文件名一致即可,跟普通文件访问差不多
点赞  2010-4-25 14:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复