Функция 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 |