code de contrôle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
Le code de contrôle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE répond à la notification indiquant qu’un verrou opportuniste exclusif (niveau 1, lot ou filtre) sur un fichier a été rompu.
Une application cliente envoie ce code de contrôle pour indiquer qu’elle reconnaît l’arrêt oplock et que, si l’oplock est un oplock de niveau 1 qui a été rompu au niveau 2, elle veut l’oplock de niveau 2.
Pour traiter ce code de contrôle, un minifiltre appelle FltOplockFsctrl avec les paramètres suivants. Un système de fichiers ou un pilote de filtre hérité appelle FsRtlOplockFsctrl.
Pour plus d’informations sur le verrouillage opportuniste et sur le code de contrôle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE, consultez la documentation Microsoft Windows SDK.
Paramètres
Oplock : pointeur d’objet oplock opaque pour le fichier.
CallbackData : FltOplockFsctrl uniquement. Structure de données de rappel (FLT_CALLBACK_DATA) pour une demande FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. Le paramètre FsControlCode de l’opération doit être FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.
Irp : FsRtlOplockFsctrl uniquement. IRP pour une demande FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. Le paramètre FsControlCode de l’opération doit être FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.
OpenCount : non utilisé avec cette opération ; défini sur zéro.
Bloc d’état
FltOplockFsctrl retourne FLT_PREOP_PENDING pour cette opération lorsqu’un oplock de niveau 1 est rompu au niveau 2 et que l’oplock de niveau 2 a été accordé. Sinon, il retourne FLT_PREOP_COMPLETE.
FsRtlOplockFsctrl retourne l’une des valeurs NTSTATUS suivantes pour cette opération :
Code | Signification |
---|---|
STATUS_SUCCESS | L’arrêt d’oplock est reconnu. Aucun oplocks restant n’est conservé. |
STATUS_INVALID_OPLOCK_PROTOCOL | Aucun oplock n’a été tenu par ce handle, ou l’arrêt d’oplock n’est pas en cours actuellement. Il s’agit d’un code d’erreur. |
STATUS_PENDING | L’arrêt d’oplock est reconnu. Au retour, l’expéditeur du code de contrôle FSCTL_OPLOCK_BREAK_ACKNOWLEDGE détient un oplock de niveau 2. Il s’agit d’un code de réussite. |
Configuration requise
Type d’exigence | Condition requise |
---|---|
En-tête | Ntifs.h (inclure Ntifs.h ou Fltkernel.h) |
Voir aussi
FLT_PARAMETERS pour IRP_MJ_FILE_SYSTEM_CONTROL