如何在Windows中锁定文件?

时间:2010-05-05 08:14:25

标签: c++ c winapi

如何在Windows中锁定文件,以便只能通过一个进程打开/读取/写入此文件?

我发现可以通过CreateFile0标记dwShareMode锁定该文件。它工作,但只有返回的句柄可用于处理文件。但我希望能够将文件锁定到其他进程,同时在我的进程中创建多个句柄。

请帮我解决这个问题或提供一些提示......

2 个答案:

答案 0 :(得分:2)

为什么需要在同一个进程中创建两次相同的文件?您可以在流程的所有I / O功能中使用一个句柄,而无需重新打开文件。如果您需要将句柄传递给另一个进程,则可以使用DuplicateHandle函数。

答案 1 :(得分:1)

我认为你不能那样做。您可以获得的最接近的是第一次使用CreateFile打开/锁定文件,然后使用DuplicateHandle从您已有的句柄创建多个句柄