Verificando o estado oplock de uma operação de IRP_MJ_WRITE
As seguintes condições de interrupção de oplock se aplicam quando um fluxo está sendo gravado e a gravação não é uma E/S de paginação.
Condições para um tipo de solicitação de Nível 2:
Sempre interrompa para Nenhum.
Nenhuma confirmação é necessária; a operação prossegue imediatamente.
Condições para todos os outros tipos de solicitação:
Interrompa IRP_MJ_WRITE quando a operação de gravação ocorre em um FILE_OBJECT com uma chave oplock que difere da chave do FILE_OBJECT que possui o oplock. Se o oplock estiver quebrado, quebre para Nenhum.
Os requisitos de confirmação variam da seguinte maneira:
Solicitação de leitura: nenhuma confirmação é necessária; a operação prossegue imediatamente.
Read-Handle solicitação: embora a confirmação da interrupção seja necessária, a operação continua imediatamente (por exemplo, sem aguardar a confirmação).
Solicitações de Nível 1, Lote, Filtro, Leitura/Gravação e Identificador de Leitura/Gravação: uma confirmação deve ser recebida antes que a operação continue.