Funzione CcCanIWrite (ntifs.h)
La routine CcCanIWrite determina se il chiamante può scrivere in un file memorizzato nella cache.
Sintassi
BOOLEAN CcCanIWrite(
[in] PFILE_OBJECT FileObject,
[in] ULONG BytesToWrite,
[in] BOOLEAN Wait,
[in] UCHAR Retrying
);
Parametri
[in] FileObject
Puntatore a un oggetto file per il file memorizzato nella cache.
[in] BytesToWrite
Numero di byte da scrivere.
[in] Wait
Impostare su TRUE se il chiamante può essere inserito in uno stato di attesa fino a quando non può scrivere nel file memorizzato nella cache, FALSE in caso contrario.
[in] Retrying
Impostare su FALSE se si tratta della prima chiamata a CcCanIWrite per questa richiesta di scrittura, TRUE in caso contrario.
Valore restituito
CcCanIWrite restituisce TRUE se la gestione cache può accettare la richiesta di scrittura, FALSE in caso contrario.
Commenti
CcCanIWrite deve essere chiamato prima di chiamare CcCopyWrite o CcFastCopyWrite.
Se CcCanIWrite restituisce TRUE, il chiamante può chiamare immediatamente CcCopyWrite o CcFastCopyWrite.
Se CcCanIWrite restituisce FALSE, il chiamante deve invece chiamare CcDeferWrite per rinviare la richiesta di scrittura.
In genere, la gestione cache può accettare una richiesta di scrittura se le condizioni seguenti sono vere:
La quantità di dati da scrivere non è troppo grande.
Memoria sufficiente per eseguire l'operazione di scrittura.
Il numero di pagine sporche nella cache di sistema non supera la soglia di pagina sporca (CcDirtyPageThreshold).
Se per ogni file esiste una soglia di pagina sporca per questo file, non viene superata dal numero di pagine sporche per questo file nella cache di sistema.
Per memorizzare nella cache un file, usare CcInitializeCacheMap.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | ntifs.h (include Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |