Compartilhar via


Verificando o estado oplock de IRP_MJ_FILE_SYSTEM_CONTROL

As seguintes operações de IRP_MJ_FILE_SYSTEM_CONTROL marcar estado oplock:

  • FSCTL_SET_ZERO_DATA

Essas informações se aplicam quando um chamador deseja zero o conteúdo atual do fluxo fornecido.

Condições para um tipo de solicitação de Nível 2:

  • Sempre quebre 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_FILE_SYSTEM_CONTROL (para FSCTL_SET_ZERO_DATA) quando a operaçã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.