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

指向包含脏页的文件的文件对象的指针。

FileOffset

指向变量的指针,该变量指定缓存文件中脏页的起始字节偏移量。

Length

脏页的长度(以字节为单位)。

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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

CcSetDirtyPinnedData

CcSetLogHandleForFile