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

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

长度

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

OldestLsn

在脏页中找到的最旧逻辑序列号(LSN)。

NewestLsn

在脏页中找到的最新 LSN。

Context1

第一个上下文参数。

Context2

第二个上下文参数。

[in] Context1

要传递给 DirtyPageRoutine的第一个上下文参数。

[in] Context2

要传递给 DirtyPageRoutine的第二个上下文参数。

返回值

CcGetDirtyPages 返回在脏页集中找到的最旧 LSN。 如果没有脏页,CcGetDirtyPages 返回零。

言论

文件系统调用 CcGetDirtyPages 以返回与给定日志句柄匹配的所有文件中的脏页。 CcGetDirtyPages 搜索与给定 的 logHandle 匹配的所有文件中的脏页,并为每个页面调用 DirtyPageRoutine

若要设置文件的日志句柄,请使用 CcSetLogHandleForFile

要求

要求 价值
最低支持的客户端 Windows XP
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

CcSetDirtyPinnedData

CcSetLogHandleForFile