如何在Windows中锁定文件,以便只能通过一个进程打开/读取/写入此文件?
我发现可以通过CreateFile
向0
标记dwShareMode
锁定该文件。它工作,但只有返回的句柄可用于处理文件。但我希望能够将文件锁定到其他进程,同时在我的进程中创建多个句柄。
请帮我解决这个问题或提供一些提示......
答案 0 :(得分:2)
为什么需要在同一个进程中创建两次相同的文件?您可以在流程的所有I / O功能中使用一个句柄,而无需重新打开文件。如果您需要将句柄传递给另一个进程,则可以使用DuplicateHandle
函数。
答案 1 :(得分:1)
我认为你不能那样做。您可以获得的最接近的是第一次使用CreateFile
打开/锁定文件,然后使用DuplicateHandle
从您已有的句柄创建多个句柄