Vérification de l’état Oplock d’une opération de IRP_MJ_LOCK_CONTROL
Les conditions suivantes s’appliquent à chaque opération de verrouillage de plage d’octets sur le flux donné.
Conditions pour un type de requête de niveau 2
Toujours passer à Aucun.
Aucun accusé de réception n’est requis ; l’opération se poursuit immédiatement.
Conditions pour un type de demande de filtre
L’oplock n’est pas cassé.
Aucun accusé de réception n’est requis et l’opération se poursuit immédiatement.
Conditions pour les types de requête Niveau 1, Batch, Read, Read-Handle, Read-Write et Read-Write-Handle
Arrêt sur IRP_MJ_LOCK_CONTROL lorsque l’opération de verrouillage se produit sur un FILE_OBJECT avec une clé oplock qui diffère de la clé de l’FILE_OBJECT propriétaire de l’oplock. Si l’oplock est rompu, passez à Aucun.
Les exigences d’accusé de réception varient comme suit :
Demande de lecture : aucun accusé de réception n’est requis ; l’opération se poursuit immédiatement.
Read-Handle et demandes read-write-handle : bien que l’accusé de réception de l’arrêt soit requis, l’opération se poursuit immédiatement (par exemple, sans attendre l’accusé de réception).
Demandes de niveau 1, Batch et Read-Write : un accusé de réception doit être reçu avant la poursuite des opérations.