发送结构时如何使用MapViewOffile

how to use MapViewOfFile when sending a struct

本文关键字:何使用 MapViewOffile 结构      更新时间:2023-10-16

我已经在这里问了这个问题

,但我仍然不明白MapViewOfFile的工作原理。我已经看到了MSDN的例子,但仍然感到困惑。
我只需要有人向我解释如何将整个结构发送到我的共享部分并从那里阅读。
MapViewOfFile如何实际上与从中发送和读取vars一起工作。

,但最重要的是,在从过程1到过程2初始化的整个结构之后,我如何发送整个结构(您可以看到我在上面链接的旧线程中所说的)。

您可以复制结构,也可以将其分配并共享。这两个应用都可以使用以下内容共享结构:

typedef struct {
    int foo;
    int bar;
} MYSTRUCT;
auto hMap = CreateFileMappingA(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0,
                sizeof(MYSTRUCT), "MyStructShareName");
MYSTRUCT* pMyStruct = (MYSTRUCT*) MapViewOfFile(hMap, FILE_MAP_READ |
                 FILE_MAP_WRITE, 0, 0, 0);

此时,这两个应用程序都通过 pm messustruct 的指针指向完全相同的内存。