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