Оппортунистические операции блокировки
Если приложение запрашивает оппортунистические блокировки, все файлы, для которых оно запрашивает блокировки, должны быть открыты для перекрывающихся (асинхронных) входных и выходных данных с помощью функции CreateFile с флагом FILE_FLAG_OVERLAPPED . После открытия файлов для перекрывающейся операции можно использовать функцию DeviceIoControl с одним из следующих кодов управления для работы с оппортунистическими блокировками этих файлов:
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACK_NO_2
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
FSCTL_OPLOCK_BREAK_NOTIFY
FSCTL_REQUEST_BATCH_OPLOCK
FSCTL_REQUEST_FILTER_OPLOCK
FSCTL_REQUEST_OPLOCK
FSCTL_REQUEST_OPLOCK_LEVEL_1
FSCTL_REQUEST_OPLOCK_LEVEL_2