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 |