Partager via


Fonction CcGetDirtyPages (ntifs.h)

La routine CcGetDirtyPages recherche sale pages dans tous les fichiers qui correspondent à un handle de journal donné.

Syntaxe

LARGE_INTEGER CcGetDirtyPages(
  [in] PVOID               LogHandle,
  [in] PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
  [in] PVOID               Context1,
  [in] PVOID               Context2
);

Paramètres

[in] LogHandle

Handle de journal stocké par un appel précédent à CcSetLogHandleForFile.

[in] DirtyPageRoutine

Pointeur vers une routine de rappel qui crée une table de page sale à partir des pages trouvées. Cette routine, appelée pour chaque page sale trouvée, est déclarée comme suit :

typedef
VOID (*PDIRTY_PAGE_ROUTINE) (
            IN PFILE_OBJECT FileObject,
            IN PLARGE_INTEGER FileOffset,
            IN ULONG Length,
            IN PLARGE_INTEGER OldestLsn,
            IN PLARGE_INTEGER NewestLsn,
            IN PVOID Context1,
            IN PVOID Context2
            );

FileObject

Pointeur vers l’objet de fichier pour le fichier contenant la page sale.

FileOffset

Pointeur vers une variable qui spécifie le décalage d’octet de début de la page sale dans le fichier mis en cache.

Longueur

Longueur, en octets, de la page sale.

OldestLsn

Numéro de séquence logique (LSN) le plus ancien trouvé dans la page sale.

NewestLsn

Nom de domaine le plus récent trouvé dans la page sale.

Context1 (Contexte 1)

Premier paramètre de contexte.

Context2 (Contexte 2)

Deuxième paramètre de contexte.

[in] Context1

Premier paramètre de contexte à passer à DirtyPageRoutine.

[in] Context2

Deuxième paramètre de contexte à passer à DirtyPageRoutine.

Valeur retournée

CcGetDirtyPages retourne le LSN le plus ancien trouvé dans l’ensemble de pages sale. S’il n’y a pas de pages sale, CcGetDirtyPages retourne zéro.

Remarques

Les systèmes de fichiers appellent CcGetDirtyPages pour retourner sale pages dans tous les fichiers qui correspondent à un handle de journal donné. CcGetDirtyPages recherche sale pages dans tous les fichiers qui correspondent au LogHandle donné et appelle dirtyPageRoutine pour chaque page.

Pour définir un handle de journal pour un fichier, utilisez CcSetLogHandleForFile.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

CcSetDirtyPinnedData

CcSetLogHandleForFile