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


Функция 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 (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

См. также раздел

CLFS_CONTAINER_INFORMATION

CLFS_SCAN_CONTEXT

ClfsCreateScanContext