code de contrôle FSCTL_REQUEST_FILTER_OPLOCK

Le code de contrôle FSCTL_REQUEST_FILTER_OPLOCK demande un verrou opportuniste de filtre (oplock) sur un fichier.

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_REQUEST_FILTER_OPLOCK, 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_REQUEST_FILTER_OPLOCK.

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

  • OpenCount : nombre de handles utilisateur pour le fichier.

Bloc d’état

FltOplockFsctrl retourne FLT_PREOP_PENDING pour cette opération si l’oplock a été accordé. Sinon, elle retourne FLT_PREOP_COMPLETE.

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

Code Signification
STATUS_PENDING L’oplock a été accordé. Il s’agit d’un code de réussite.
STATUS_CANCELLED L’IRP a été annulé avant la fin de l’opération FSCTL_REQUEST_BATCH_OPLOCK. Il s’agit d’un code d’erreur.
STATUS_OPLOCK_NOT_GRANTED L’oplock n’a pas pu être accordé. 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_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL