我有一个192k大小的文件,我想锁定文件的中间位置。
例)我想用c#锁定64k-128k的文件。知道如何锁定文件的这一部分吗?
答案 0 :(得分:7)
您需要使用LockFileEx
锁定指定的文件以供调用进程独占访问。此函数可以同步或异步操作,并可以请求独占锁或共享锁。
您正在寻找共享锁。
[DllImport("kernel32.dll")]
static extern bool LockFileEx(IntPtr hFile, uint dwFlags, uint dwReserved,
uint nNumberOfBytesToLockLow, uint nNumberOfBytesToLockHigh,
[In] ref System.Threading.NativeOverlapped lpOverlapped);
答案 1 :(得分:3)
您可能希望查看Windows API中的LockFile函数。同一页面还提到了LockFileEx
函数。好极了!周围有很多有趣的事情;)
pinvoke网站上有一个页面:http://www.pinvoke.net/default.aspx/kernel32.lockfile
答案 2 :(得分:0)