2

サイズが 192k のファイルがあり、ファイルの中央をロックしたいと考えています。

例) c#で64k~128kのファイルをロックしたい。ファイルのその部分をロックする方法はありますか?

4

3 に答える 3

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);
于 2012-09-18T13:47:03.143 に答える
3

Windows APIのLockFile関数を調べることをお勧めします。同じページにもLockFileEx機能が記載されています。わーい!いじくり回してたくさんの楽しみを持っています;)

pinvoke サイトには次のページがあります: http://www.pinvoke.net/default.aspx/kernel32.lockfile

于 2012-09-18T13:46:50.273 に答える
0

を使用してファイルの一部をロックすることはできませんSystem.IO。ファイルに開いているハンドルがある場合、ファイル全体がロックされます。

これは、WinAPI を使用して行うことができます。

C# での LockFileEX の使用を確認してください

于 2012-09-18T13:44:42.457 に答える