我有一个在Citrix环境中运行的应用程序。应用程序可以由不同用户会话中的多个用户同时运行。在我的应用程序中,我正在写一个文件,该文件应该在所有用户会话中互斥。我尝试使用Mutex来避免从不同的用户会话写入文件但是使用Mutex失败,因为在某些情况下,不同的用户会话无法检测Mutex对象是否已经创建。
任何人都可以告诉我以下哪种方法更适合在所有用户会话中实现互斥:
答案 0 :(得分:3)
您无需使用锁定文件。您可以使用内置的文件系统共享机制。
通过调用CreateFile()
打开文件时,您可以确定后续尝试使用dwShareMode
参数打开文件的共享访问权限。例如,将此项设置为0,其他任何进程都无法打开该文件。