Функция ClfsCreateScanContext (wdm.h)
Подпрограмма clfsCreateScanContext создает контекст сканирования, который можно использовать для итерации по контейнерам указанного журнала CLFS.
CLFSUSER_API NTSTATUS ClfsCreateScanContext(
[in] PLOG_FILE_OBJECT plfoLog,
[in] ULONG cFromContainer,
[in] ULONG cContainers,
[in] CLFS_SCAN_MODE eScanMode,
[in, out] PCLFS_SCAN_CONTEXT pcxScan
);
[in] plfoLog
Указатель на структуру LOG_FILE_OBJECT, представляющую поток CLFS. Контекст сканирования создается для журнала, который предоставляет базовое хранилище для этого потока. Вызывающий объект ранее получил этот указатель путем вызова ClfsCreateLogFile.
[in] cFromContainer
Индекс первого контейнера для сканирования. Контейнеры индексируются начиная с нуля.
[in] cContainers
Количество контейнеров, которые необходимо проверить при каждом вызове ClfsScanLogContainers.
[in] eScanMode
Набор флагов, указывающий, настроен ли контекст сканирования для сканирования вперед или назад и следует ли повторно инициализировать контекст сканирования. Для вызывающих этой подпрограммы доступны следующие три флага.
Ценность | Значение |
---|---|
CLFS_SCAN_FORWARD | Настройте контекст сканирования для сканирования в направлении вперед. Например, если контейнер 5 является последним отсканированным контейнером и cContainers равен 2, то переадресация вернет дескрипторы для контейнеров 6 и 7. |
CLFS_SCAN_BACKWARD | Настройте контекст сканирования для сканирования в обратном направлении. Например, если контейнер 5 является последним сканируемым контейнером и cContainers равен 2, то обратная проверка вернет дескрипторы для контейнеров 4 и 3. |
CLFS_SCAN_INIT | Повторно инициализировать контекст сканирования. При следующем вызове ClfsScanLogContainers он будет вести себя так, как если бы он был вызван в первый раз после создания контекста сканирования. |
Если pcxScan указывает на структуру CLFS_SCAN_CONTEXT, передаваемую в эту подпрограмму в первый раз, необходимо задать один из флагов направления (CLFS_SCAN_FORWARD или CLFS_SCAN_BACKWARD). Флаг CLFS_SCAN_INIT не должен быть задан.
Если pcxScan указывает на структуру CLFS_SCAN_CONTEXT, переданную этой подпрограмме ранее, необходимо задать флаг CLFS_SCAN_INIT. Кроме того, необходимо задать один и только один из флагов направления (CLFS_SCAN_FORWARD или CLFS_SCAN_BACKWARD).
[in, out] pcxScan
Указатель на выделенную вызывающим CLFS_SCAN_CONTEXT структуру, члены которой инициализированы этой подпрограммой. Эта структура позже передается в ClfsScanLogContainers.
ClfsCreateScanContext возвращает STATUS_SUCCESS в случае успешного выполнения; в противном случае возвращается один из кодов ошибок в Ntstatus.h.
Описание концепций и терминологии CLFS см. в common Log File System.
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Server 2003 R2, Windows Vista и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | wdm.h (include Wdm.h) |
библиотеки | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |