谁能给个文件映射的例子:
这是进程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读出来。谢谢了
我去年做过,另外一个程序也是这么写,关键是
CreateFileForMapping(
TEXT("\\Map.dat"),
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
中的TEXT("\\Map.dat")要一至,就可以了.具体细节我记不清了.