mapviewoffile问题不能多次使用吗?

时间:2019-03-21 20:07:31

标签: c++ windows kernel

errorDescription

这就是尝试做的事情,每次我尝试发送“ Read”字符串+“ Test”字符串时,它什么都不做,但是,如果我仅将“ Read”字符串发送到映射的部分,则可以正常读取。我只是想知道这是一个问题,因为我没有为mapviewoffile定义任何偏移量,但是我也尝试使用(sizeof(char *)),但它没有用。基本上它很简单,我只想将这2个字符串发送到我的第二个进程,该进程运行while循环,它将检查第一个字符串,如果它等于共享内存部分,它将执行另一个while循环,继续读取共享内存,直到它等于字符串“ Test”,这就是从第二个进程“其内核btw”中读取字符串的方式。

countryInfo

这是我读取共享内存的方式

    auto Readstring = (char*)MapViewOfFile(hMapFileW, FILE_MAP_WRITE, 0, 0, 4096);

printf("message has been sent to kernel [Read]! \n");


FlushViewOfFile(Readstring, 4096);
UnmapViewOfFile(Readstring);


// maybe am stupid

auto send_test = (char*)MapViewOfFile(hMapFileW, FILE_MAP_WRITE, 0, 0, 4096);


printf("message has been sent to kernel [Test]! \n");


FlushViewOfFile(send_test, 4096);
UnmapViewOfFile(send_test);

和sharedsections只是一个空PVOID。

0 个答案:

没有答案