ClfsAddLogContainer 函式 (wdm.h)

ClfsAddLogContainer 例程會將容器新增至 CLFS 記錄。

語法

CLFSUSER_API NTSTATUS ClfsAddLogContainer(
  [in] PLOG_FILE_OBJECT plfoLog,
  [in] PULONGLONG       pcbContainer,
  [in] PUNICODE_STRING  puszContainerPath
);

參數

[in] plfoLog

LOG_FILE_OBJECT 結構的指標,表示容器將加入的記錄檔。 呼叫端先前藉由呼叫 ClfsCreateLogFile 來取得此指標。

[in] pcbContainer

ULONG 型別變數的指標。 此參數的角色取決於記錄檔目前是否至少有一個容器。

  • 如果記錄檔目前沒有容器,則呼叫端會提供正整數,表示新容器的要求大小,以位元組為單位。 CLFS 會針對專用記錄) 或多任務記錄) 建立要求的大小四捨五入為 512KB (的倍數或 1MB (。
  • 如果記錄檔目前至少有一個容器,且此參數為 NULL 指標,CLFS 會建立與現有容器大小相同的新容器。 (記錄中的所有容器都必須是相同的大小。)
  • 如果記錄檔目前至少有一個容器,且此參數是有效的指標,則呼叫端會提供正整數,該整數是新容器的要求大小,以位元組為單位。 要求的大小會四捨五入為專用記錄) 的 512KB (,或多任務記錄) 的 1MB (。 如果進位大小至少與現有容器大小相同,CLFS 會建立與現有容器大小相同的新容器。 成功傳回時,此參數會接收現有的容器大小。 如果進位大小小於現有的容器大小, ClfsAddLogContainer 就會失敗。

[in] puszContainerPath

提供新容器路徑名稱 之UNICODE_STRING 結構的指標。 路徑可以是絕對或相對於基底記錄檔的位置。 相對於基底記錄檔的路徑必須以CLFS_CONTAINER_RELATIVE_PREFIX開頭,也就是字串常值 (L“%BLF%\”) 。

傳回值

ClfsAddLogContainer 如果成功,則會傳回STATUS_SUCCESS;否則,它會傳回 Ntstatus.h 中定義的其中一個錯誤碼。

備註

容器是穩定記憶體的連續範圍。 例如,容器可能是磁碟上的連續檔案。 記錄檔是一組容器以及基底記錄檔。 如需容器的詳細資訊,請參閱 CLFS 穩定記憶體

由相對於基底記錄檔的路徑所指定的容器,必須與基底記錄檔或基底記錄檔的子目錄位於相同的目錄中。 相對路徑中不允許目錄 「.」 和 「.」。

記錄檔可以有一些具有絕對路徑的容器,以及其他具有相對路徑的容器。

容器是以非壓縮模式建立,並以零初始化。

記錄檔必須至少有兩個容器,才能對它執行任何 I/O。

如需CLFS概念和術語的說明,請參閱 一般記錄檔系統

規格需求

需求
最低支援的用戶端 可在 Windows Server 2003 R2、Windows Vista 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 wdm.h (包含 Wdm.h)
程式庫 Clfs.lib
Dll Clfs.sys
IRQL <= APC_LEVEL

另請參閱

ClfsAddLogContainerSet

ClfsRemoveLogContainer