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 |