Funzione CcDeferWrite (ntifs.h)

La routine CcDeferWrite rinvia la scrittura in un file memorizzato nella cache. La routine post fornita viene chiamata dalla gestione cache quando può supportare l'operazione di scrittura.

Sintassi

void CcDeferWrite(
  [in] PFILE_OBJECT            FileObject,
  [in] PCC_POST_DEFERRED_WRITE PostRoutine,
  [in] PVOID                   Context1,
  [in] PVOID                   Context2,
  [in] ULONG                   BytesToWrite,
  [in] BOOLEAN                 Retrying
);

Parametri

[in] FileObject

Puntatore a un oggetto file per il file memorizzato nella cache in cui devono essere scritti i dati.

[in] PostRoutine

Indirizzo di una routine per il gestore della cache da chiamare per scrivere nel file memorizzato nella cache. Si noti che è possibile che questa routine venga chiamata immediatamente, anche se CcCanIWrite ha appena restituito FALSE .

La routine post è definita in ntifs.h come:

typedef
VOID (*PCC_POST_DEFERRED_WRITE) (
    _In_ PVOID Context1,
    _In_ PVOID Context2
    );

[in] Context1

Primo parametro per la routine post in PostRoutine.

[in] Context2

Secondo parametro per la routine post in PostRoutine.

[in] BytesToWrite

Numero di byte di dati da scrivere.

[in] Retrying

Impostare su FALSE se la richiesta viene inviata per la prima volta, TRUE in caso contrario.

Valore restituito

nessuno

Osservazioni

Un file system chiama normalmente CcDeferWrite dopo aver ricevuto un valore restituito FALSE da CcCanIWrite.

Per memorizzare nella cache un file, usare CcInitializeCacheMap.

I parametri di contesto passati a PostRoutine sono in genere la richiesta di I/O e i dati di contesto correlati.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe

Vedi anche

CcCanIWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold