Функция CreateLogContainerScanContext (clfsw32.h)
Создает контекст сканирования для использования с ScanLogContainers для перечисления всех контейнеров журналов, связанных с журналом, и выполняет первую проверку.
Синтаксис
CLFSUSER_API BOOL CreateLogContainerScanContext(
[in] HANDLE hLog,
[in] ULONG cFromContainer,
[in] ULONG cContainers,
[in] CLFS_SCAN_MODE eScanMode,
[in, out] PCLFS_SCAN_CONTEXT pcxScan,
[in, out, optional] LPOVERLAPPED pOverlapped
);
Параметры
[in] hLog
Дескриптор журнала, полученного из CreateLogFile , с разрешениями на сканирование контейнеров журналов.
Файл может быть выделенным или мультиплексированным журналом.
[in] cFromContainer
Контейнер, в котором должна быть запущена проверка.
Этот параметр представляет собой порядковый номер относительно количества контейнеров в журнале.
[in] cContainers
Количество структур CLFS_CONTAINER_INFORMATION для выделения CreateLogContainerScanContext .
Это число контейнеров, сканируемых при каждом вызове проверки, чтобы вызывающий объект знал, что сканирование завершено, когда количество возвращенных контейнеров меньше этого значения.
При выходе указатель на выделенный системой массив CLFS_CONTAINER_INFORMATION структур помещается в элемент pinfoContainer структуры, выделенной клиентом CLFS_SCAN_CONTEXT . На этот элемент указывает параметр pcxScan (то есть pcxScan-pinfoContainer>[]), а фактическое число структур в массиве помещается в "pcxScan-cContainersReturned>".
Клиент должен вызвать ScanLogContainers с параметром eScanMode, равнымCLFS_SCAN_CLOSE , чтобы он смог освободить этот массив; в противном случае происходит утечка памяти.
[in] eScanMode
Режим сканирования контейнеров.
Контейнеры можно сканировать в любом из следующих режимов.
[in, out] pcxScan
Указатель на структуру, выделенную клиентом CLFS_SCAN_CONTEXT , которая получает контекст сканирования, который может быть передан функции ScanLogContainers , когда клиент проверяет контейнеры журналов выделенного журнала.
[in, out, optional] pOverlapped
Указатель на структуру OVERLAPPED , необходимую для асинхронной операции.
Этот параметр может иметь значение NULL , если асинхронная операция не используется.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
В следующем списке указаны возможные коды ошибок:
Комментарии
После завершения сканирования клиент должен снова вызвать ScanLogContainers с параметром eScanMode , установленным на CLFS_SCAN_CLOSE , чтобы он мог освободить выделенный системой массив CLFS_CONTAINER_INFORMATION структур; в противном случае происходит утечка памяти.
Примеры
Пример использования этой функции см. в разделе Перечисление контейнеров журналов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | clfsw32.h |
Библиотека | Clfsw32.lib |
DLL | Clfsw32.dll |