code de contrôle FSCTL_OPLOCK_BREAK_NOTIFY

Le code de contrôle FSCTL_OPLOCK_BREAK_NOTIFY permet à l’application appelante d’attendre la fin d’un arrêt de verrou opportuniste (oplock).

Cette opération est utile uniquement pour un arrêt d’oplock qui a déjà été initié lorsque le handle de l’appelant a été ouvert. Le handle doit avoir été ouvert avec FILE_COMPLETE_IF_OPLOCKED. Cette opération est sans signification si un oplock est actuellement conservé et que l’arrêt oplock n’a pas démarré.

Pour traiter ce code de contrôle, un minifilter 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_NOTIFY, 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 requête FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. Le paramètre FsControlCode de l’opération doit être FSCTL_OPLOCK_BREAK_NOTIFY.

Irp
FsRtlOplockFsctrl uniquement. IRP pour une demande IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. Le paramètre FsControlCode de l’opération doit être FSCTL_OPLOCK_BREAK_NOTIFY.

OpenCount
Non utilisé avec cette opération ; défini sur zéro.

Bloc d’état

FltOplockFsctrl retourne FLT_PREOP_PENDING si l’arrêt d’oplock est en cours et que l’IRP sera terminé lorsque le saut d’oplock se termine. (Dans ce cas, l’IRP peut éventuellement être terminé avec STATUS_SUCCESS ou STATUS_CANCELLED.) Sinon, FltOplockFsctrl retourne FLT_PREOP_COMPLETE.

FsRtlOplockFsctrl retourne l’une des valeurs NTSTATUS suivantes pour cette opération :

Terme Description

STATUS_SUCCESS

Aucun oplock n’a été tenu par cette poignée, ou un oplock est conservé et l’arrêt oplock n’a pas démarré.

STATUS_INVALID_OPLOCK_PROTOCOL

L’IRP a été annulé avant la fin de l’opération de FSCTL_OPLOCK_BREAK_NOTIFY.

STATUS_PENDING

L’arrêt oplock est en cours. L’IRP sera terminé lorsque le saut d’oplock se termine. L’IRP peut éventuellement être terminé avec STATUS_SUCCESS ou STATUS_CANCELLED. Il s’agit d’un code de réussite.

Spécifications

En-tête

Ntifs.h (include 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_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL