内存映射文件示例

网友投稿 900 2022-11-09

内存映射文件示例

内存映射文件示例

//获取当前操作系统的分配粒度 SYSTEM_INFO sinf; GetSystemInfo(&sinf); DWORD dwAllocationGranularity = sinf.dwAllocationGranularity; //GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ这两个参数如果设置错误将导致错误 HANDLE hFile = CreateFile("join", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL); //PAGE_READWRITE这个属性必须和GENERIC_WRITE | GENERIC_READ属性对应 HANDLE hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0x4000000, NULL); CloseHandle(hFile); __int64 qwFileSize = 0x4000000; __int64 qwFileOffset = 0; __int64 T = 600 * sinf.dwAllocationGranularity; DWORD dwBytesInBlock = 1000 * sinf.dwAllocationGranularity; //qwFileOffset>>32 取64位高位 //qwFileOffset&0xFFFFFFFF 取64位低位 //FILE_MAP_ALL_ACCESS这个属性与CreateFile和CreateFileMapping属性必须匹配 PBYTE pbFile = (PBYTE)MapViewOfFile(hFileMapping, FILE_MAP_ALL_ACCESS, (DWORD)(qwFileOffset>>32), (DWORD)(qwFileOffset&0xFFFFFFFF), dwBytesInBlock); memcpy(pbFile, "123", 3); char temp[3]; memcpy(temp, pbFile, 3); UnmapViewOfFile(pbFile)

;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一个微软没有公布的提取,分割字符串的函数-超级好用
下一篇:孙鑫vc教学视频讲座中18课 activex中的一个问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~