Funzione FsRtlGetNextFileLock (ntifs.h)

La routine FsRtlGetNextFileLock viene usata per enumerare i blocchi dell'intervallo di byte esistenti per un file specificato.

Sintassi

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

Parametri

[in] FileLock

Puntatore alla struttura FILE_LOCK per il file. Questa struttura deve essere stata inizializzata da una chiamata precedente a FsRtlAllocateFileLock o FsRtlInitializeFileLock.

[in] Restart

Impostare su TRUE se l'enumerazione deve iniziare all'inizio dell'elenco di blocchi dell'intervallo di byte. Impostare su FALSE se si riprende l'enumerazione da una chiamata precedente.

Per enumerare tutti i blocchi di intervallo byte per un determinato file, usare FsRtlGetNextFileLock come indicato di seguito:

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

Valore restituito

FsRtlGetNextFileLock restituisce un puntatore alla struttura FILE_LOCK_INFO per il blocco di byte-range successivo, se presente. Se non sono presenti più blocchi di intervallo di byte per questo file, FsRtlGetNextFileLock restituisce NULL.

Commenti

I blocchi dell'intervallo di byte non vengono enumerati in alcun ordine specifico.

Si noti che poiché lo stato di enumerazione corrente viene archiviato nella struttura FILE_LOCK, i chiamanti devono prestare attenzione alla sincronizzazione delle chiamate a FsRtlGetNextFileLock e per evitare di modificare una delle strutture restituite. Se più thread tentano di usare FsRtlGetNextFileLock contemporaneamente , i risultati saranno imprevedibili e l'enumerazione non sarà affidabile.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport)

Vedi anche

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock