0

有没有人有CreateSharedMemory 函数(Windows)使用的例子?在共享内存客户端/服务器软件场景中,服务器向函数输入的参数只有MaxSizeInitialSize,那么客户端如何知道共享的内存地址是什么?CreateFileMapping解决了这个问题,因为您可以命名每个文件映射对象。我知道 Boost 具有类似的功能,但我希望使用原始 Windows API 功能来解决这个问题。

4

1 回答 1

5

我想您对页面上的“客户端”和“服务器”术语感到困惑。在 LSA(Windows 安全)上下文之外,它似乎可以满足CreateSharedMemory您的需求。它没有:该功能仅在 Windows 安全和身份验证上下文中设计和使用。

尽管有这个名字,但它并不是在两个进程之间分配共享内存的(通用)函数。

您需要什么,在进程之间共享内存(通常)由页面文件支持的内存映射文件完成,所以通过CreateFileMapping等。存在其他技术,但我建议使用页面文件支持的内存映射文件。

于 2013-02-13T13:27:11.623 回答