CcDeferWrite, fonction (ntifs.h)

La routine CcDeferWrite reporte l’écriture dans un fichier mis en cache. La post-routine fournie est appelée par le gestionnaire de cache lorsqu’il peut prendre en charge l’opération d’écriture.

Syntaxe

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

Paramètres

[in] FileObject

Pointeur vers un objet de fichier pour le fichier mis en cache dans lequel les données doivent être écrites.

[in] PostRoutine

Adresse d’une routine que le gestionnaire de cache doit appeler pour écrire dans le fichier mis en cache. Notez qu’il est possible que cette routine soit appelée immédiatement, même si CcCanIWrite vient de retourner FALSE .

La post-routine est définie dans ntifs.h comme suit :

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

[in] Context1

Premier paramètre pour la post-routine dans PostRoutine.

[in] Context2

Deuxième paramètre pour la post-routine dans PostRoutine.

[in] BytesToWrite

Nombre d’octets de données à écrire.

[in] Retrying

Définissez sur FALSE si la demande est publiée pour la première fois, true dans le cas contraire.

Valeur de retour

None

Remarques

Un système de fichiers appelle normalement CcDeferWrite après avoir reçu une valeur de retour false de CcCanIWrite.

Pour mettre en cache un fichier, utilisez CcInitializeCacheMap.

Les paramètres de contexte passés à PostRoutine sont généralement la demande d’E/S et les données de contexte associées.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe

Voir aussi

CcCanIWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold