Funzione CcPurgeCacheSection (ntifs.h)
La routine CcPurgeCacheSection elimina tutto o una parte di un file memorizzato nella cache del sistema.
Sintassi
BOOLEAN CcPurgeCacheSection(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
ULONG Flags
);
Parametri
[in] SectionObjectPointer
Puntatore a una struttura contenente i puntatori a oggetti della sezione dell'oggetto file.
[in, optional] FileOffset
Puntatore a una variabile che specifica l'offset di byte iniziale all'interno del file memorizzato nella cache in cui i dati devono essere eliminati.
Se FileOffset è NULL, l'intero file viene eliminato dalla cache.
Se FileOffset non è NULL, viene eliminato solo l'intervallo di byte specificato da FileOffset e Length .
[in] Length
Lunghezza dell'intervallo di byte da eliminare, a partire da FileOffset. Se Length è zero, l'intervallo compreso tra FileOffset e la fine del file viene eliminato. Se FileOffset è NULL, la lunghezza viene ignorata.
Flags
Impostare su TRUE per annullare l'inizializzazione delle mappe della cache privata per il file prima di eliminare i dati del file.
Valore restituito
CcPurgeCacheSection restituisceTRUE se i dati dei file memorizzati nella cache sono stati eliminati correttamente, FALSE in caso contrario.
Commenti
I file system chiamano CcPurgeCacheSection per eliminare i dati non aggiornati dalla cache. Ad esempio, quando un file viene troncato ma non eliminato, CcPurgeCacheSection deve essere chiamato per eliminare i dati memorizzati nella cache che non fanno più parte del file.
CcPurgeCacheSection non elimina i file mappati.
Prima di chiamare CcPurgeCacheSection, il chiamante deve acquisire il file esclusivamente e assicurarsi che nessun thread, incluso il chiamante, abbia mappato o aggiunto qualsiasi intervallo di byte nel file.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |