如何拥有一个孤立的内存部分,它根本不支持任何文件或额外的管理层,如管道,可以在同一台Windows机器上的两个专用进程之间共享?
大多数文章都指向了CreateFileMapping的方向.让我们从那里开始:
具有hFile = INVALID_HANDLE_VALUE的CreateFileMapping如何实际工作?根据
https://msdn.microsoft.com/en-us/library/windows/desktop/aa366537(v=vs.85).aspx
它"...创建一个指定大小的文件映射对象,该对象由系统页面文件而不是文件系统中的文件支持..."
假设我在内存中写了一些东西,它由CreateFileMapping映射,并带有hFile = INVALID_HANDLE_VALUE.在什么条件下将此内容写入磁盘上的页面文件?
此外,我对共享内存使用的动机的理解是保持性能和优化.为什么文章"创建命名共享内存"(https://msdn.microsoft.com/de-de/library/windows/desktop/aa366551(v=vs.85).aspx)引用CreateFileMapping,如果没有一个属性组合,会阻止写入文件,例如页面文件?
回到最初的问题:我担心,CreateFileMapping不够好......那么什么会起作用?