草庐IT

hMapFile

全部标签

C++ 从共享内存读取

我想读取应用程序通过共享内存提供的状态信息。我想使用C++来读取该命名共享内存的内容,然后使用C#类中的pinvoke调用它。从软件上我知道它有一定的文件结构:AstructSTATUS_DATA具有四个结构的数组SYSTEM_CHARACTERISTICS.我(还)不熟悉C++,所以我尝试基本上遵循msdn。为了找到要映射的文件的大小,我添加了结构成员的大小,如下面的代码所示。这导致访问被拒绝,所以我认为基于结构的结果太高了。当我使用sizeof(STATUS_DATA)(我将结构添加到我的源代码中),它仍然以拒绝访问结束。如果我尝试更低的值,比如1024字节,我只能在pbuf中看到

c++ - 如何使用命名共享内存?

今天我正在尝试在进程(2个DLL)之间共享内存。现在我只想分享文本以便进行一些调试。我似乎设法创建了命名的共享内存并读取了它,但读取后内存似乎是空的。我可能做错了什么?VOIDsharedMemory(){if(CreateSharedMemory(TEXT("Global\testMem"),TEXT("hellosharedmemory"))){out=out+"|createdsharedmemory";}else{out=out+"|failedtocreatesharedmemory";}wchar_tdata[100];if(ReadSharedMemory(TEXT("G