ClfsAddLogContainerSet 函式 (wdm.h)

ClfsAddLogContainerSet 例程會以不可部分完成的方式,將一組容器新增至 CLFS 記錄。

語法

CLFSUSER_API NTSTATUS ClfsAddLogContainerSet(
  [in]           PLOG_FILE_OBJECT plfoLog,
  [in]           USHORT           cContainers,
  [in, optional] PULONGLONG       pcbContainer,
  [in]           PUNICODE_STRING  rguszContainerPath
);

參數

[in] plfoLog

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

[in] cContainers

集合中的容器數目。 這是 rguszContainerPath 陣列中的元素數目。

[in, optional] pcbContainer

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

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

[in] rguszContainerPath

UNICODE_STRING 結構的陣列指標。 每個字串都會提供其中一個新容器的路徑名稱。 陣列中的元素數目是由 cContainers 所指定。 指定的路徑可以是絕對路徑,或相對於基底記錄檔的位置。 相對於基底記錄檔的路徑必須以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

另請參閱

ClfsAddLogContainer

ClfsRemoveLogContainerSet