Поделиться через


Функция CcGetDirtyPages (ntifs.h)

Подпрограмма CcGetDirtyPages выполняет поиск грязное страниц во всех файлах, соответствующих заданному дескриптору журнала.

Синтаксис

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

Параметры

[in] LogHandle

Дескриптор журнала, сохраненный при предыдущем вызове CcSetLogHandleForFile.

[in] DirtyPageRoutine

Указатель на подпрограмму обратного вызова, которая создает таблицу грязное страниц из найденных страниц. Эта подпрограмма, вызываемая для каждой найденной грязное страницы, объявляется следующим образом:

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

Указатель на объект file для файла, содержащего страницу грязное.

FileOffset

Указатель на переменную, указывающую смещение начального байта грязное страницы в кэшированном файле.

Длина

Длина страницы грязное в байтах.

OldestLsn

Самый старый логический номер последовательности (LSN) на странице грязное.

NewestLsn

Новейший номер LSN находится на странице грязное.

Context1

Первый параметр контекста.

Context2

Второй параметр контекста.

[in] Context1

Первый параметр контекста, передаваемый в DirtyPageRoutine.

[in] Context2

Второй параметр контекста, передаваемый в DirtyPageRoutine.

Возвращаемое значение

CcGetDirtyPages возвращает самый старый номер LSN, найденный в наборе грязное страниц. Если грязное страниц нет, CcGetDirtyPages возвращает ноль.

Комментарии

Файловые системы вызывают CcGetDirtyPages для возврата грязное страниц во всех файлах, соответствующих заданному дескрипторе журнала. CcGetDirtyPages выполняет поиск грязное страниц во всех файлах, соответствующих заданному LogHandle, и вызывает DirtyPageRoutine для каждой страницы.

Чтобы задать дескриптор журнала для файла, используйте CcSetLogHandleForFile.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

См. также раздел

CcSetDirtyPinnedData

CcSetLogHandleForFile