关于 Win32 LockFileEx 中文件偏移的混淆 API

Confusion about file offset in Win32 LockFileEx API

根据 LockFileEx() 文档,文件偏移量在 lpOverlapped->Offset/OffsetHigh 中指定。但是在调试 winword.exe 以分析其文件系统行为时,我看到它使用 Offset=0xfffffffbOffsetHigh=0xffffffff 在一个 122 字节的文件上调用 LockFileEx(),并且调用成功完成。显然这不是一个有效的偏移量,这是什么意思?

来自 MSDN:

Locking a region that goes beyond the current end-of-file position is not an error.

他们可能将锁用作某种标志或用于同步。