您的位置:首页 > 移动开发

CreateFileMapping/OpenFileMapping/MapViewOfFile

2015-10-22 15:33 741 查看
/article/11218541.html

  要先使用函数CreateFileMapping来创建一个想共享的文件数据句柄,然后使用MapViewOfFile来获取共享的内存地址,然后使用OpenFileMapping函数在另一个进程里打开共享文件的名称,这样就可以实现不同的进程共享数据

void FileMapping(void)

{

//打开共享的文件对象。

m_hMapFile = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE,_T("TestFileMap"));

if (m_hMapFile)

{  

  //显示共享的文件数据。

LPTSTR lpMapAddr = (LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS, 0,0,0);

OutputDebugString(lpMapAddr);

}

else

{

//创建共享文件。

m_hMapFile = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,

                PAGE_READWRITE,0,1024, _T("TestFileMap"));

     //拷贝数据到共享文件里。

LPTSTR lpMapAddr = (LPTSTR)MapViewOfFile(m_hMapFile,FILE_MAP_ALL_ACCESS, 0,0,0);

std::wstring strTest(_T("TestFileMap"));

wcscpy(lpMapAddr,strTest.c_str());

FlushViewOfFile(lpMapAddr,strTest.length()+1);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: