Поделиться через


Функция 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 равен двум, эта подпрограмма вернет дескрипторы для контейнеров 6 и 7.
CLFS_SCAN_BACKWARD Сканирование в обратном направлении. Например, если контейнер 5 является последним отсканированным контейнером и pxcScan->cContainers равен двум, эта подпрограмма вернет дескрипторы для контейнеров 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. Значение N элемента cContainers указывает, что каждый раз, когда вызывается ClfsScanLogContainers, следующие контейнеры N проверяются.

Элемент cContainersReturned структуры CLFS_SCAN_CONTEXT получает количество контейнеров, которые фактически сканируются в одном вызове ClfsScanLogContainers.

Когда ClfsScanLogContainers возвращает STATUS_NO_MORE_ENTRIES, больше контейнеров не требуется проверять.

После завершения работы с контекстом сканирования, на который указывает pcxScan, необходимо вызвать ClfsScanLogContainersс eScanMode равно CLFS_SCAN_CLOSE, чтобы освободить все ресурсы, связанные с контекстом сканирования.

Описание концепций и терминологии CLFS см. в common Log File System.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Server 2003 R2, Windows Vista и более поздних версиях Windows.
целевая платформа Настольный
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

См. также

CLFS_CONTAINER_INFORMATION

CLFS_SCAN_CONTEXT

ClfsCreateScanContext