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
表示 CLFS 記錄檔或記錄檔內數據流之 LOG_FILE_OBJECT 結構的指標,要在其中加入或刪除容器。
[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 例程通常只有在客戶端啟動或停止時才使用。 請勿從 ClfsAdvanceTailCallback 函式內呼叫 ClfsMgmtSetLogFileSize 例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows Server 2003 R2 和 Windows Vista 開始提供。 |
目標平臺 | 桌面 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | Clfs.lib |
DLL | Clfs.sys |
IRQL | <= APC_LEVEL |