Funzione FsRtlGetNextFileLock (ntifs.h)
La routine FsRtlGetNextFileLock viene utilizzata per enumerare i blocchi dell'intervallo di byte attualmente 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 di 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 dell'intervallo di byte successivo, se presente. Se non sono presenti altri blocchi di intervallo di byte per questo file, FsRtlGetNextFileLock restituisce NULL.
Osservazioni
I blocchi dell'intervallo di byte non vengono enumerati in un ordine specifico.
Si noti che poiché lo stato di enumerazione corrente viene archiviato nella struttura FILE_LOCK, i chiamanti devono prestare attenzione a sincronizzare le chiamate a FsRtlGetNextFileLocke per evitare di modificare le strutture restituite. Se più thread tentano di usare FsRtlGetNextFileLock contemporaneamente, i risultati saranno imprevedibili e l'enumerazione non verrà completata in modo affidabile.