Freigeben über


FsRtlGetNextFileLock-Funktion (ntifs.h)

Die FsRtlGetNextFileLock Routine wird zum Aufzählen der Bytebereichssperren verwendet, die derzeit für eine angegebene Datei vorhanden sind.

Syntax

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

Parameter

[in] FileLock

Zeigen Sie auf die FILE_LOCK Struktur für die Datei. Diese Struktur muss durch einen vorherigen Aufruf von FsRtlAllocateFileLock oder FsRtlInitializeFileLockinitialisiert worden sein.

[in] Restart

Wird auf TRUE- festgelegt, wenn die Enumeration am Anfang der Liste der Bytebereichssperren beginnen soll. Wird auf FALSE- festgelegt, wenn die Enumeration aus einem vorherigen Aufruf fortgesetzt wird.

Wenn Sie alle Bytebereichssperren für eine bestimmte Datei aufzählen möchten, verwenden Sie FsRtlGetNextFileLock wie folgt:

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.

Bemerkungen

Die Bytebereichssperren werden nicht in einer bestimmten Reihenfolge aufgezählt.

Da der aktuelle Enumerationsstatus in der FILE_LOCK-Struktur gespeichert ist, müssen Aufrufer vorsichtig sein, um Aufrufe mit FsRtlGetNextFileLockzu synchronisieren, und um zu vermeiden, dass sie die zurückgegebenen Strukturen ändern. Wenn mehrere Threads versuchen, FsRtlGetNextFileLock gleichzeitig zu verwenden, sind die Ergebnisse unvorhersehbar, und die Enumeration wird nicht zuverlässig abgeschlossen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Siehe auch

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead-

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock