code de contrôle FSCTL_REQUEST_BATCH_OPLOCK
Le code de contrôle FSCTL_REQUEST_BATCH_OPLOCK demande un verrou opportuniste par lot (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_BATCH_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_BATCH_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_BATCH_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_PARAMETERS pour IRP_MJ_FILE_SYSTEM_CONTROL
FSCTL_OPBATCH_ACK_CLOSE_PENDING