如何请求机会锁

仅当锁用于本地服务器上的文件时,客户端应用程序才直接请求机会性锁。 访问远程服务器上的文件时,从远程服务器请求机会锁的是网络重定向程序,而不是客户端应用程序。

机会锁是通过首先打开一个具有权限的文件和适合打开该文件的应用程序的标志来请求的。 必须为重叠 (异步) 操作打开将为其请求机会性锁的所有文件。 打开文件进行重叠操作后,将 DeviceIoControl 函数与相应的控制代码一起使用,以请求机会锁。 有关机会锁操作的列表,请参阅 机会锁操作

通过使用与文件关联的 OVERLAPPED 结构的 hEvent 成员,将通知应用程序机会性锁已断开。 应用程序还可以使用 GetOverlappedResultHasOverlappedIoCompleted 等函数。 应用程序负责将正确的文件与损坏的机会锁相关联。

有关通知的详细信息,请参阅 同步