ClfsScanLogContainers 函数 (wdm.h)

ClfsScanLogContainers 例程检索属于特定 CLFS 日志的容器序列的描述性信息。

语法

CLFSUSER_API NTSTATUS ClfsScanLogContainers(
  [in, out] PCLFS_SCAN_CONTEXT pcxScan,
  [in]      CLFS_SCAN_MODE     eScanMode
);

参数

[in, out] pcxScan

指向 CLFS_SCAN_CONTEXT 结构的指针。 调用方之前分配了结构,并通过调用 ClfsCreateScanContext 对其进行了初始化。 具体而言, 初始化 pInfoContainer 成员以指向 CLFS_CONTAINER_INFORMATION 结构的数组, cContainers 成员已初始化为数组中的元素数。 返回时,数组中的结构接收序列中容器的描述性信息。

[in] eScanMode

一组标志,指定扫描方向以及是否应关闭扫描上下文。 此例程的调用方可以使用以下标志。

含义
CLFS_SCAN_FORWARD 向前方向扫描。 例如,如果容器 5 是最近扫描的容器,而 pxcScan->cContainers 等于 2,则此例程将返回容器 6 和 7 的描述符。
CLFS_SCAN_BACKWARD 向后扫描。 例如,如果容器 5 是最近扫描的容器,而 pxcScan->cContainers 等于 2,则此例程将返回容器 4 和 3 的描述符。
CLFS_SCAN_CLOSE 释放与 pcxScan 指向的扫描上下文关联的所有资源。
 

如果设置了CLFS_SCAN_CLOSE标志,则必须清除CLFS_SCAN_FORWARD和CLFS_SCAN_BACKWARD标志。

如果CLFS_SCAN_CLOSE标志清晰,则只能设置 (CLFS_SCAN_FORWARD 或CLFS_SCAN_BACKWARD) 的一个方向标志。

返回值

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

注解

CLFS 使用 CLFS_SCAN_CONTEXT 结构来跟踪容器扫描开始的位置 (cIndex 成员) ,以及每次调用 ClfsScanLogContainers 时扫描的容器数。 cContainers 成员的值 N 指定每次调用 ClfsScanLogContainers 时,都会扫描下一个 N 个容器。

CLFS_SCAN_CONTEXT 结构的 cContainersReturned 成员接收在对 ClfsScanLogContainers 的单个调用中实际扫描的容器数。

当 ClfsScanLogContainers 返回STATUS_NO_MORE_ENTRIES时,不再有要扫描的容器。

使用完 pcxScan 指向的扫描上下文后,必须调用 eScanMode 等于 CLFS_SCAN_CLOSE 的 ClfsScanLogContainers,以释放与扫描上下文关联的任何资源。

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

要求

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

另请参阅

CLFS_CONTAINER_INFORMATION

CLFS_SCAN_CONTEXT

ClfsCreateScanContext