Funzione CcCoherencyFlushAndPurgeCache (ntifs.h)
Il CcCoherencyFlushAndPurgeCache scaricamenti di routine o scarica e elimina, la cache per garantire la coescenza della cache.
Sintassi
void CcCoherencyFlushAndPurgeCache(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
[out] PIO_STATUS_BLOCK IoStatus,
[in, optional] ULONG Flags
);
Parametri
[in] SectionObjectPointer
Puntatore a una struttura SECTION_OBJECT_POINTERS che contiene i puntatori a oggetti sezione dell'oggetto file.
[in, optional] FileOffset
Puntatore a una variabile che specifica l'offset di byte iniziale da scaricare o per scaricare ed eliminare.
[in] Length
Lunghezza in byte dei dati da scaricare o per scaricare ed eliminare, a partire da FileOffset. Questo parametro viene ignorato se un puntatore NULL
[out] IoStatus
Puntatore a una struttura di IO_STATUS_BLOCK allocata dal chiamante che riceve lo stato di completamento finale e le informazioni sull'operazione.
[in, optional] Flags
Maschera di bit dei flag seguenti che specificano la modalità di esecuzione dell'operazione:
Valore | Significato |
---|---|
CC_FLUSH_AND_PURGE_NO_PURGE | Scarica, ma non elimina la cache. Ciò è utile per leggere gli scaricamenti di coesistenza. |
CC_FLUSH_AND_PURGE_GATHER_DIRTY_BITS | Riservato per l'uso del sistema; non usare. |
CC_FLUSH_AND_PURGE_WRITEABLE_VIEWS_NOTSEEN | Il chiamante può impostare questo flag quando non sono presenti mapping al file all'esterno della gestione cache, per ignorare l'operazione costosa di taglio dei set di lavoro processo. |
Valore restituito
Nessuno
Osservazioni
Usare CcCoherencyFlushAndPurgeCache quando possibile invece di una sequenza di chiamata di scaricamento e eliminazione esplicita, perché invaliderà le visualizzazioni mappate dall'utente per evitare il danneggiamento dei dati. CcCoherencyFlushAndPurgeCache garantisce la coerenza della cache; di conseguenza, non è possibile eseguire un'eliminazione solo tramite questa funzione.
Il file deve essere acquisito esclusivamente prima di chiamare CcCoherencyFlushAndPurgeCache.
È possibile scaricare o scaricare ed eliminare qualsiasi intervallo di byte all'interno di un file usando i parametri
Una chiamata a CcCoherencyFlushAndPurgeCache è un'operazione sincrona (bloccante), non un'operazione asincrona (non bloccante).
Un valore IoStatus->Status di STATUS_CACHE_PAGE_LOCKED indica che l'invalidazione della pagina non è riuscita. Tenere presente che l'invalidazione della pagina può avere esito negativo anche se si passa CC_FLUSH_AND_PURGE_NO_PURGE nel parametro flag
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 7 |
piattaforma di destinazione | Universale |
intestazione |
ntifs.h (include Ntifs.h, FltKernel.h) |
libreria |
NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |