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 |