CcDeferWrite, fonction (ntifs.h)
Le CcDeferWrite routine reporte l’écriture dans un fichier mis en cache. La routine de publication fournie est appelée par le gestionnaire de cache lorsqu’elle 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 vers lequel les données doivent être écrites.
[in] PostRoutine
Adresse d’une routine pour que le gestionnaire de cache appelle 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 FAUX.
La routine post est définie dans ntifs.h comme suit :
typedef
VOID (*PCC_POST_DEFERRED_WRITE) (
_In_ PVOID Context1,
_In_ PVOID Context2
);
Cette fonction peut être appelée avec le champ TopLevelIrp dans l’IRP actuel défini sur FSRTL_MOD_WRITE_TOP_LEVEL_IRP.
[in] Context1
Premier paramètre de la routine post à PostRoutine.
[in] Context2
Deuxième paramètre de la routine post à PostRoutine.
[in] BytesToWrite
Nombre d’octets de données à écrire.
[in] Retrying
Définissez la valeur FALSE si la demande est publiée pour la première fois, TRUE sinon.
Valeur de retour
Aucun
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 requête d’E/S et les données de contexte associées.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | ntifs.h (include Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |