ClfsCreateScanContext 函数 (wdm.h)

ClfsCreateScanContext 例程创建可用于循环访问指定 CLFS 日志的容器的扫描上下文。

语法

CLFSUSER_API NTSTATUS ClfsCreateScanContext(
  [in]      PLOG_FILE_OBJECT   plfoLog,
  [in]      ULONG              cFromContainer,
  [in]      ULONG              cContainers,
  [in]      CLFS_SCAN_MODE     eScanMode,
  [in, out] PCLFS_SCAN_CONTEXT pcxScan
);

参数

[in] plfoLog

指向表示 CLFS 流的 LOG_FILE_OBJECT 结构的指针。 扫描上下文是为该流提供基础存储的日志创建的。 调用方之前通过调用 ClfsCreateLogFile 获取了此指针。

[in] cFromContainer

要扫描的第一个容器的索引。 容器从零开始编制索引。

[in] cContainers

每次调用 ClfsScanLogContainers 时要扫描的容器数。

[in] eScanMode

一组标志,指定是设置扫描上下文以便向前扫描还是向后扫描,以及是否应重新初始化扫描上下文。 此例程的调用方可以使用以下三个标志。

含义
CLFS_SCAN_FORWARD 设置扫描上下文以便向前扫描。 例如,如果容器 5 是最近扫描的容器, 而 cContainers 为 2,则前向扫描将返回容器 6 和 7 的描述符。
CLFS_SCAN_BACKWARD 设置扫描上下文以向后扫描。 例如,如果容器 5 是最近扫描的容器, 而 cContainers 为 2,则向后扫描将返回容器 4 和 3 的描述符。
CLFS_SCAN_INIT 重新初始化扫描上下文。 下次调用 ClfsScanLogContainers 时,它的行为就像在创建扫描上下文后第一次被调用一样。
 

如果 pcxScan 指向第一次传递给此例程的CLFS_SCAN_CONTEXT结构,则必须设置 (CLFS_SCAN_FORWARD 或CLFS_SCAN_BACKWARD) 方向标志之一。 不得设置CLFS_SCAN_INIT标志。

如果 pcxScan 指向以前传递给此例程的 CLFS_SCAN_CONTEXT 结构,则必须设置 CLFS_SCAN_INIT 标志。 此外,必须设置 (CLFS_SCAN_FORWARD 或CLFS_SCAN_BACKWARD) 的一个方向标志,并且只有一个。

[in, out] pcxScan

指向调用方分配 的CLFS_SCAN_CONTEXT 结构的指针,该结构的成员由此例程初始化。 此结构稍后将传递给 ClfsScanLogContainers

返回值

ClfsCreateScanContext 如果成功,则返回STATUS_SUCCESS;否则,它将返回 Ntstatus.h 中的错误代码之一。

注解

有关 CLFS 概念和术语的说明,请参阅 通用日志文件系统

要求

要求
最低受支持的客户端 在 Windows Server 2003 R2、Windows Vista 和更高版本的 Windows 中可用。
目标平台 桌面
标头 wdm.h (包括 Wdm.h)
Library Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

另请参阅

ClfsScanLogContainers