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)
Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

另请参阅

ClfsScanLogContainers