Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 |