怎么通过MapViewOfFile读取共享内存中的数据
#001 //文件共享。
#002 //蔡军生 2007/10/27 QQ:9073204 深圳
#003 void FileMapping(void)
#004 {
#005 //打开共享的文件对象。
#006 m_hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS,
#007 FALSE,_T("TestFileMap"));
#008 if (m_hMapFile)
#009 {
#010 //显示共享的文件数据。
#011 LPTSTR lpMapAddr2 = (LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS,
#012 0,0,0);
#013 OutputDebugString(lpMapAddr2);
#014 }
#015 else
#016 {
#017 //创建共享文件。
#018 m_hMapFile = CreateFileMapping( (HANDLE)0xFFFFFFFF,NULL,
#019 PAGE_READWRITE,0,1024,_T("TestFileMap"));
#020
#021 //拷贝数据到共享文件里。
#022 LPTSTR lpMapAddr1 = (LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS,
#023 0,0,0);
#024 std::wstring strTest(_T("TestFileMap"));
#025 wcscpy(lpMapAddr1,strTest.c_str());
#026
#027 FlushViewOfFile(lpMapAddr1,strTest.length()+1);
#028 }
#029 }
(http://blog.csdn.net/caimouse/archive/2007/10/27/1848910.aspx)
1.为什么在通过MapViewOfFile读取共享内存时,只能得到第一个字符"T"?MapViewOfFile的参数怎么设置啊?设置后依然取不到后面的字符,取不到完整的字符串"TestFileMap"?
2.能不能通过CreateFileMapping传递结构体?在强制转化为结构体时,给其赋值时会出错?