Freigeben über


FsRtlGetNextFileLock-Funktion (ntifs.h)

Die FsRtlGetNextFileLock-Routine wird verwendet, um die Bytebereichsperren aufzulisten, die derzeit für eine angegebene Datei vorhanden sind.

Syntax

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

Parameter

[in] FileLock

Zeiger auf die FILE_LOCK-Struktur für die Datei. Diese Struktur muss durch einen vorherigen Aufruf von FsRtlAllocateFileLock oder FsRtlInitializeFileLock initialisiert worden sein.

[in] Restart

Legen Sie auf TRUE fest, wenn die Enumeration am Anfang der Liste der Bytebereichssperren beginnen soll. Legen Sie auf FALSE fest, wenn die Enumeration aus einem vorherigen Aufruf fortgesetzt wird.

Verwenden Sie FsRtlGetNextFileLock wie folgt, um alle Bytebereichssperren für eine bestimmte Datei aufzulisten:

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

Rückgabewert

FsRtlGetNextFileLock gibt einen Zeiger auf die FILE_LOCK_INFO-Struktur für die nächste Bytebereichssperre zurück, sofern vorhanden. Wenn für diese Datei keine Bytebereichssperren mehr vorhanden sind, gibt FsRtlGetNextFileLockNULL zurück.

Hinweise

Die Bytebereichssperren werden nicht in einer bestimmten Reihenfolge aufgelistet.

Beachten Sie, dass Aufrufer, da der aktuelle Enumerationsstatus in der FILE_LOCK-Struktur gespeichert ist, darauf achten müssen, Aufrufe mit FsRtlGetNextFileLock zu synchronisieren und keine der zurückgegebenen Strukturen zu ändern. Wenn mehrere Threads versuchen, FsRtlGetNextFileLock gleichzeitig zu verwenden, sind die Ergebnisse unvorhersehbar, und die Enumeration ist nicht zuverlässig abgeschlossen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport)

Weitere Informationen

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock