code de contrôle FSCTL_REQUEST_OPLOCK_LEVEL_2
Le code de contrôle FSCTL_REQUEST_OPLOCK_LEVEL_2 demande un verrou opportuniste de niveau 2 (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_OPLOCK_LEVEL_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_REQUEST_OPLOCK_LEVEL_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_REQUEST_OPLOCK_LEVEL_2.
OpenCount : spécifie l’état de verrouillage du fichier. Définissez ce paramètre sur une valeur ULONG différente de zéro s’il existe des verrous de plage d’octets sur le fichier, ou zéro dans le cas contraire.
Bloc d’état
FltOplockFsctrl retourne FLT_PREOP_PENDING pour cette opération si l’oplock a été accordé. Sinon, il 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 de FSCTL_REQUEST_OPLOCK_LEVEL_2. 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_PARAMETERS pour IRP_MJ_FILE_SYSTEM_CONTROL
FSCTL_OPBATCH_ACK_CLOSE_PENDING