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_CALLBACK_DATA

FLT_PARAMETERS

FLT_PARAMETERS pour IRP_MJ_FILE_SYSTEM_CONTROL

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL