共用方式為


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

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

  • 如果記錄檔目前少於 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 值:

傳回碼 描述
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