Partager via


FsRtlGetNextFileLock, fonction (ntifs.h)

La routine FsRtlGetNextFileLock est utilisée pour énumérer les verrous de plage d’octets qui existent actuellement pour un fichier spécifié.

Syntaxe

PFILE_LOCK_INFO FsRtlGetNextFileLock(
  [in] PFILE_LOCK FileLock,
  [in] BOOLEAN    Restart
);

Paramètres

[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.

[in] Restart

Défini sur TRUE si l’énumération doit commencer au début de la liste des verrous de plage d’octets. Définissez la valeur FALSE si vous reprenez l’énumération à partir d’un appel précédent.

Pour énumérer tous les verrous de plage d’octets pour un fichier donné, utilisez FsRtlGetNextFileLock comme suit :

for (p = FsRtlGetNextFileLock( FileLock, TRUE );
     p != NULL;
     p = FsRtlGetNextFileLock( FileLock, FALSE )) {
        // Process the lock information pointed to by p
}

Valeur de retour

FsRtlGetNextFileLock retourne un pointeur vers la structure FILE_LOCK_INFO pour le verrou de plage d’octets suivant, s’il en existe un. S’il n’existe plus de verrous de plage d’octets pour ce fichier, FsRtlGetNextFileLock retourne NULL.

Remarques

Les verrous de plage d’octets ne sont pas énumérés dans un ordre particulier.

Notez que, étant donné que l’état d’énumération actuel est stocké dans la structure FILE_LOCK, les appelants doivent veiller à synchroniser les appels à FsRtlGetNextFileLock, et pour éviter de modifier les structures qu’il retourne. Si plusieurs threads tentent d’utiliser FsRtlGetNextFileLock en même temps, les résultats seront imprévisibles et l’énumération ne sera pas terminée de manière fiable.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock