Compartilhar via


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.