将C ++结构转换为C#以读取内存映射文件/共享内存对象

时间:2018-08-16 04:02:04

标签: c# c++ .net

以相同语言创建和打开SharedMemoryObject(SMO)/内存映射文件时看起来不错。 但是,在我的情况下,SMO是用C ++为以下结构创建的。

typedef struct  {
    BOOL    IsLoaded;
    BYTE    pBuffer[120];
} MyStruct;

typedef struct  {
    DWORD   threadId;
    DWORD   values[5];
    char    exePath[250];
    BOOL    isThreadAlive; 
    MyStruct myData;
    DWORD   CurrentThreadInfo;
} SharedDataArea;

我需要使用C#阅读此详细信息。因此,目前我能够读取整数和字节,但是Char指针和数组给我带来了麻烦。

是否可以将上述C ++结构转换/映射为C#代码,所以我可以用标准方式阅读SMO​​吗?我不想对参数的偏移量进行硬编码。

0 个答案:

没有答案