code de contrôle FSCTL_OPLOCK_BREAK_ACK_NO_2
Le code de contrôle FSCTL_OPLOCK_BREAK_ACK_NO_2 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 de l’oplock et que, si l’oplock est un oplock de niveau 1 qui a été rompu au niveau 2, elle ne veut pas 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_ACK_NO_2, 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_ACK_NO_2.
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_ACK_NO_2.
OpenCount : non utilisé avec cette opération ; défini sur zéro.
Bloc d’état
FltOplockFsctrl retourne toujours FLT_PREOP_COMPLETE pour cette opération.
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. |
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
FSCTL_OPBATCH_ACK_CLOSE_PENDING