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.