根据文档,在Local \或Global \之后,除了向后斜杠之外,任何字符都可以。我决定根据物理文件的文件路径命名我的mmf,如下所示:
Twilio.Device.disconect()
因此,如果文件位于C:\ test \ vht1.tst,那么它会生成字符串" Local \ C:/test/vht1.tst"
我的计算机上没有这个问题,但是这个软件最终会出现在共享托管环境中,而且我无法找到有关命名MMF的常规信息。所以..是这个好主意?
答案 0 :(得分:0)
命名MMF映射(内存映射文件)有两个原因:
除非您有一个非常大的项目,否则您不太可能发生本地名称冲突。你可以根据自己的喜好命名。
包括驱动器号和路径可能不是最佳选择。保持简单:
std::string GetMapName(std::string filePath)
{
return "Local\\" + Path::GetFileName(filePath);
}
根据文档[1],你不应该使用" Session \"字首。它保留给系统使用。而且" Global \"前缀需要SeCreateGlobalPrivilege。
[1] https://msdn.microsoft.com/en-us/library/aa382954%28v=vs.85%29.aspx