共用方式為


ClfsMgmtHandleLogFileFull 函式 (wdm.h)

ClfsMgmtHandleLogFileFull 例程會嘗試在記錄檔中提供更多可用空間。 它可能會藉由將容器新增至記錄檔來提供更多空間,或者可能會要求用戶端移動其記錄尾端。

語法

CLFSUSER_API NTSTATUS ClfsMgmtHandleLogFileFull(
  [in] CLFS_MGMT_CLIENT Client
);

參數

[in] Client

要求 CLFS 管理的用戶端,以在記錄檔中提供空間。 此參數的值應該是透過 ClfsMgmtRegisterManagedClient 例程呼叫取得的CLFS_MGMT_CLIENT結構。

傳回值

ClfsMgmtHandleLogFileFull 例程會傳回下列其中一個 NTSTATUS 值:

傳回碼 Description
STATUS_INVALID_PARAMETER 用戶端未管理記錄。
STATUS_INVALID_PARAMETER_1 Client 參數提供的值是 NULL ,或不代表有效的用戶端。
STATUS_LOG_FULL_HANDLER_IN_PROGRESS CLFS 管理已嘗試解析此客戶端的記錄檔完整條件。
STATUS_UNSUCCESSFUL CLFS 管理無法處理要求。
STATUS_PENDING CLFS 管理正在處理在記錄檔中建立空間的要求。
STATUS_SUCCESS 記錄檔中有可用的要求空間量。

備註

為了在記錄中提供更多空間, ClfsMgmtHandleLogFileFull 例程會先嘗試根據成長率、新的容器大小和大小上限原則,將更多容器新增至記錄。 如果無法新增更多容器, 則ClfsMgmtHandleLogFileFull 例程會嘗試叫用一或多個用戶端 的ClfsAdvanceTailCallback 函式來釋放現有的空間。

如果 ClfsMgmtHandleLogFileFull 例程傳回STATUS_PENDING,當要求在記錄檔中提出空間要求時,將會呼叫用戶端的 ClfsLogGrowthCompleteCallback 函式。

如果 ClfsMgmtHandleLogFileFull 例程傳回STATUS_LOG_FULL_HANDLER_IN_PROGRESS,客戶端已經要求 CLFS 管理來處理記錄檔完整條件。 用戶端的 ClfsLogGrowthCompleteCallback 函式不會再次呼叫。

如果 ClfsMgmtHandleLogFileFull 例程傳回STATUS_SUCCESS,則不會叫用用戶端的 ClfsLogGrowthCompleteCallback 函式來同步完成呼叫。

如果 ClfsMgmtHandleLogFileFull 例程傳回STATUS_PENDING,則 CLFS 管理會嘗試在記錄檔中釋放空間,並在處理記錄檔完整條件時呼叫用戶端的 ClfsLogGrowthCompleteCallback 函式。 如果已釘選記錄,CLFS 管理會在 ClfsMgmtHandleLogFileFull 例程傳回STATUS_PENDING之前,呼叫用戶端的 ClfsLogGrowthCompleteCallback 函式,並將 LogIsPinned 參數設定為 TRUE

在呼叫 ClfsMgmtHandleLogFileFull 之前,可以呼叫用戶端的 ClfsLogGrowthCompleteCallback 函式。

如果 ClfsMgmtHandleLogFileFull 例程傳回STATUS_PENDING,您就不應該再次為此用戶端呼叫 ClfsMgmtHandleLogFileFull 例程,直到呼叫用戶端的 ClfsLogGrowthCompleteCallback 函式為止。

規格需求

需求
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 Clfs.lib
Dll Clfs.sys
IRQL IRQL <= APC_LEVEL

另請參閱

ClfsAdvanceTailCallback

ClfsLogGrowthCompleteCallback

ClfsMgmtRegisterManagedClient