Функция ClfsMgmtSetLogFileSize (wdm.h)
Подпрограмма clfsMgmtSetLogFileSize добавляет контейнеры в журнал или удаляет контейнеры из журнала.
Синтаксис
CLFSUSER_API NTSTATUS ClfsMgmtSetLogFileSize(
[in] PLOG_FILE_OBJECT LogFile,
[in] PULONGLONG NewSizeInContainers,
[out] PULONGLONG ResultingSizeInContainers,
[in, optional] PCLFS_SET_LOG_SIZE_COMPLETE_CALLBACK CompletionRoutine,
[in, optional] PVOID CompletionRoutineData
);
Параметры
[in] LogFile
Указатель на LOG_FILE_OBJECT структуру, представляющую журнал CLFS или поток в журнале, в который добавляются или удаляются контейнеры.
[in] NewSizeInContainers
Указатель на запрошенный размер журнала. Вызывающий объект задает этому параметру одно из следующих значений.
Ценность | Значение |
---|---|
0 |
Применение политики минимального размера. Дополнительные сведения об этой политике см. в clfsMgmtInstallPolicy.
Если политика минимального размера не установлена, происходит одно из следующих действий:
|
1 | Недопустимое значение. Вызов завершается ошибкой и возвращает STATUS_INVALID_VALUE. |
От 2 до 1023 |
Требуемый размер журнала, выраженный как количество контейнеров.
Если это число меньше минимального количества контейнеров, указанных установленной политикой, вызов завершается сбоем с ERROR_COULD_NOT_RESIZE_LOG. Если это число превышает максимальное количество контейнеров, указанных установленной политикой, журнал расширяется только до максимального числа контейнеров, указанных политикой, и вызов завершается без ошибок. |
1024 до MAXULONGLONG |
Если политика максимального размера не установлена, вызов завершается ошибкой и возвращает ERROR_LOG_POLICY_CONFLICT.
Если установлен максимальный размер политики, журнал расширяется до максимального количества контейнеров, указанных политикой максимального размера, и вызов завершается без ошибок. |
Чтобы определить фактический размер журнала, который может отличаться от запрошенного размера, используйте параметр ResultingSizeInContainers.
[out] ResultingSizeInContainers
Указатель на результирующий размер журнала. В случае успешного выполнения подпрограмма записывает фактический размер журнала, выраженный как количество контейнеров в журнале, в расположение, на которое указывает этот параметр.
[in, optional] CompletionRoutine
Не используется. Задайте значение NULL.
[in, optional] CompletionRoutineData
Не используется. Задайте значение NULL.
Возвращаемое значение
Подпрограмма clfsMgmtSetLogFileSize возвращает одно из следующих значений NTSTATUS:
Возвращаемый код | Описание |
---|---|
|
Размер файла журнала установлен. Параметр ResultingSizeInContainers содержит текущий размер журнала. |
|
Управление CLFS не удалось задать размер файла журнала. |
|
Значение параметра logFile равно NULLили содержимое параметра NewSizeInContainers равно 1. |
|
Значение параметра NewSizeInContainers равно NULL. |
|
Существует конфликт между максимальным размером и минимальными политиками размера для журнала. |
|
Управление CLFS не удалось удалить достаточно контейнеров для доступа к NewSizeInContainers. |
|
Управление CLFS не удалось добавить в журнал достаточно контейнеров, чтобы получить доступ к NewSizeInContainers. Это может быть связано с конфликтом с политикой, заданной клиентом. |
Эта подпрограмма также может возвращать другие значения NTSTATUS.
Замечания
Подпрограмма ClfsMgmtSetLogFileSize обычно используется только при запуске или остановке клиента. Не вызывайте подпрограмму ClfsMgmtSetLogFileSize из функции ClfsAdvanceTailCallback.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows Server 2003 R2 и Windows Vista. |
целевая платформа | Настольный |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |