我希望使用命名共享内存来实现 IPC。
为此,其中一个步骤是使用CreateFileMapping()获取映射内存对象的句柄。
我完全按照 MSDN 网站的建议: http: //msdn.microsoft.com/en-us/library/aa366551 (v=VS.85).aspx :
hFileMappingHandle = CreateFileMapping
(
INVALID_HANDLE_VALUE, // use paging file
NULL, // default security
PAGE_READWRITE, // read/write access
0, // maximum object size (high-order DWORD)
256, // maximum object size (low-order DWORD)
"Global\\MyFileMappingObject" // name of mapping object
);
DWORD dwError = GetLastError();
但是,返回的句柄始终为0x0,返回的系统错误代码为:0x5(拒绝访问。)
- 仅需要命名内存共享(不是文件共享)。
- Windows 7 x64位操作系统
- 管理员的用户权限可用
- 开发的应用程序:64位插件应用程序(.dll)
有没有人有同样的经历,求解决方法?我使用 MSDN 站点作为参考,所以我不认为代码中存在问题。