首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >共享内存: MapViewOfFile返回错误5

共享内存: MapViewOfFile返回错误5
EN

Stack Overflow用户
提问于 2018-10-02 18:42:09
回答 1查看 754关注 0票数 0

我需要一种机制来在一些线程之间共享内存(通常是在同一个进程中,但有时不是)。

此代码看起来非常基本,但在MapViewOfFile上出现错误5(访问被拒绝)时失败。

代码语言:javascript
复制
HANDLE hSharedMemCreated = CreateFileMapping(
    INVALID_HANDLE_VALUE,    // use paging file
    NULL,                    // default security
    PAGE_READWRITE,          // read/write access
    0,                       // maximum object size (high-order DWORD)
    10000,                // maximum object size (low-order DWORD)
    "testFileMapping");                 // name of mapping object
HANDLE hSharedMemOpened = OpenFileMapping(
    PAGE_READWRITE,          // read/write access
    FALSE,
    "testFileMapping"
);
void* location = MapViewOfFile(
    hSharedMemOpened,   // handle to map object
    FILE_MAP_ALL_ACCESS, // read/write permission
    0,
    0,
    10);
  • MapViewOfFile成功地使用打开的句柄hSharedMemOpened和权限FILE_MAP_READ
  • MapViewOfFile成功地使用创建的句柄hSharedMemCreated和权限FILE_MAP_ALL_ACCESS
  • MapViewOfFile与打开的句柄hSharedMemOpened和权限FILE_MAP_ALL_ACCESS一起失败。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 18:56:01

答案是在评论中:

PAGE_READWRITE不是OpenFileMapping()的有效参数。您可能需要的是FILE_MAP_ALL_ACCESS

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52614485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档