Operações de bloqueio oportunistas
Se um aplicativo solicitar bloqueios oportunistas, todos os arquivos para os quais ele solicita bloqueios deverão ser abertos para entrada e saída sobrepostas (assíncronas) usando a função CreateFile com o sinalizador FILE_FLAG_OVERLAPPED . Depois que os arquivos forem abertos para a operação sobreposta, você poderá usar a função DeviceIoControl com um dos seguintes códigos de controle para trabalhar com os bloqueios oportunistas desses arquivos:
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