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

如果未安裝最小大小原則,就會發生下列其中一項:

  • 如果記錄檔目前少於 2 個容器,記錄將會擴充為 2 個容器的大小。
  • 如果記錄檔目前有 2 個以上的容器,則不會進行任何變更,而且呼叫會成功。
如果已安裝最小大小原則,就會發生下列其中一項:
  • 如果記錄檔目前小於大小下限原則所指定的容器數目下限,則記錄會展開至原則指定的容器數目下限。
  • 如果記錄中的容器數目大於或等於最小大小原則所指定的容器數目,則不會進行任何變更,而且呼叫會成功且不會發生錯誤。
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
STATUS_SUCCESS
已設定記錄檔大小。 ResultingSizeInContainers 參數包含記錄檔的目前大小。
STATUS_UNSUCCESSFUL
CLFS 管理無法設定記錄檔大小。
STATUS_INVALID_PARAMETER_1
LogFile 參數的值是 NULL,或 NewSizeInContainers 參數的內容是 1。
STATUS_INVALID_PARAMETER_2
NewSizeInContainers 參數的值是 NULL
STATUS_LOG_POLICY_INVALID
記錄檔的大小上限和大小下限原則之間發生衝突。
STATUS_COULD_NOT_RESIZE_LOG
CLFS 管理無法刪除足夠的容器,無法連線到 NewSizeInContainers
STATUS_LOG_POLICY_CONFLICT
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

另請參閱

CLFS_MGMT_POLICY_TYPE

ClfsMgmtInstallPolicy