Partager via


Fonction FsRtlGetNextFileLock (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 pour le fichier. Cette structure doit avoir été initialisée par un appel précédent à FsRtlAllocateFileLock ou FsRtlInitializeFileLock.

[in] Restart

Définissez sur TRUE si l’énumération doit commencer au début de la liste des verrous de plage d’octets. Définissez sur 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 retournée

FsRtlGetNextFileLock retourne un pointeur vers la structure FILE_LOCK_INFO pour le verrou de plage d’octets suivant, le cas échéant. S’il n’y a plus de verrous de plage d’octets pour ce fichier, FsRtlGetNextFileLock retourne NULL.

Remarques

Les verrous de plage d’octets ne sont énumérés dans aucun 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 à éviter de modifier les structures qu’ils retournent. 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.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure 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