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 值:
傳回碼 | Description |
---|---|
|
已設定記錄檔大小。 ResultingSizeInContainers 參數包含記錄檔的目前大小。 |
|
CLFS 管理無法設定記錄檔大小。 |
|
LogFile 參數的值是 NULL,或 NewSizeInContainers 參數的內容是 1。 |
|
NewSizeInContainers 參數的值是 NULL。 |
|
記錄檔的大小上限和大小下限原則之間發生衝突。 |
|
CLFS 管理無法刪除足夠的容器,無法連線到 NewSizeInContainers。 |
|
CLFS 管理無法將足夠的容器新增至記錄,以連線 到 NewSizeInContainers。 這可能是因為與客戶端設定的原則發生衝突。 |
此例程也可能傳回其他 NTSTATUS值。
備註
ClfsMgmtSetLogFileSize 例程通常用於客戶端啟動或停止時。 請勿從 ClfsAdvanceTailCallback 函式內呼叫 ClfsMgmtSetLogFileSize 例程。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Server 2003 R2 和 Windows Vista 開始提供。 |
目標平台 | 桌面 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | Clfs.lib |
Dll | Clfs.sys |
IRQL | <= APC_LEVEL |