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 |