Partager via


Macro FsRtlFastLock (ntifs.h)

La macro FsRtlFastLock est utilisée par les systèmes de fichiers et les pilotes de filtre pour demander un verrou de plage d’octets pour un flux de fichiers.

Syntaxe

BOOLEAN
FsRtlFastLock( A1,   /* FileLock            */
               A2,   /* FileObject          */
               A3,   /* FileOffset          */
               A4,   /* Length              */
               A5,   /* ProcessId           */
               A6,   /* Key                 */
               A7,   /* FailImmediately     */
               A8,   /* ExclusiveLock       */
               A9,   /* Iosb                */
               A10,  /* Context             */
               A11   /* AlreadySynchronized */ )

Paramètres

A1

[in] FileLock : pointeur vers la structure FILE_LOCK du fichier. Cette structure doit avoir été initialisée par un appel précédent à FsRtlAllocateFileLock ou FsRtlInitializeFileLock.

A2

[in] FileObject : pointeur vers le FILE_OBJECT pour le fichier ouvert. L’objet file doit avoir été créé avec GENERIC_READ ou GENERIC_WRITE accès au fichier (ou les deux).

A3

[in] FileOffset : pointeur vers une variable qui spécifie le décalage d’octet de début dans le fichier de la plage à verrouiller.

A4

[in] Longueur : pointeur vers une variable qui spécifie la longueur en octets de la plage à verrouiller.

A5

[in] ProcessId : pointeur vers l’ID de processus EPROCESS pour le processus demandant le verrou de plage d’octets.

A6

[in] Clé : clé à affecter au verrou de plage d’octets.

A7

[in] Échec immédiat : valeur booléenne qui spécifie si la demande de verrouillage doit échouer si le verrou ne peut pas être accordé immédiatement. Si l’appelant peut être placé dans un état d’attente jusqu’à ce que la demande soit accordée, définissez Échec immédiatement sur FALSE. Si ce n’est pas le cas, définissez Échec immédiat sur TRUE.

A8

[in] ExclusiveLock : défini sur TRUE si un verrou exclusif est demandé, FALSE si un verrou partagé est demandé.

A9

[out] Iosb : pointeur vers une structure de IO_STATUS_BLOCK allouée par l’appelant qui reçoit status informations sur la demande de verrouillage.

A10

[in] Contexte : pointeur facultatif vers un contexte à utiliser lors de la libération du verrou de plage d’octets.

A11

[in] AlreadySynchronized : ce paramètre est obsolète, mais il est conservé à des fins de compatibilité avec les pilotes hérités.

Valeur de retour

None

Remarques

La macro FsRtlFastLock permet à l’appelant d’acquérir un verrou de plage d’octets sur une région du fichier spécifié.

FsRtlFastLock retourne TRUE pour indiquer que la structure IO_STATUS_BLOCK pointée par Iosb a reçu status informations sur l’opération de verrouillage ; sinon, elle retourne FALSE.

Pour examiner le contenu de la structure vers laquelle Iosb pointe, utilisez la macro NT_STATUS.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête ntifs.h (inclure Ntifs.h)
IRQL <= APC_LEVEL

Voir aussi

FILE_LOCK

FsRtlAllocateFileLock

FsRtlInitializeFileLock