AddLogContainerSet 函数 (clfsw32.h)

将多个日志容器添加到与日志句柄关联的物理日志(如果调用进程有权访问日志句柄)。 添加容器允许客户端增加日志的大小。

Syntax

CLFSUSER_API BOOL AddLogContainerSet(
  [in]                HANDLE     hLog,
  [in]                USHORT     cContainer,
  [in, optional]      PULONGLONG pcbContainer,
  [in]                LPWSTR     *rgwszContainerPath,
  [in, out, optional] LPVOID     pReserved
);

参数

[in] hLog

CreateLogFile 获取并有权添加日志容器的打开日志的句柄。

该文件可以专用或多路复用。

[in] cContainer

rgwszContainerPath 数组中的容器数。

此值必须为非零。 日志必须至少有两个容器,然后才能对它执行任何 I/O。

[in, optional] pcbContainer

容器的大小(以字节为单位)。

普通日志的最小大小为 512 KB,多路复用日志的最小大小为 1024 KB。 最大大小约为 4 GB(GB)。

如果将容器添加到新创建的日志中,则需要此参数。 如果已创建容器,则此参数可以为 NULL,或至少与第一个容器的大小一样大的一些值。

日志容器大小是日志区域大小的倍数(512 KB)。 向新文件添加容器时, AddLogContainer 函数将容器的大小舍入到接下来的 512 KB 边界,并返回 由号Container 指向的值中的该大小。

同样,如果日志中已有至少一个容器, 并且 *bpmContainer 的值至少与当前容器大小一样大,该函数将创建具有当前内部大小的所有容器,并在 *bpmContainer 中返回该大小。

[in] rgwszContainerPath

容器 的 cContainer 路径名称数组。

数组中的每个元素都是一个宽字符字符串,其中包含日志卷中新容器的有效路径。

[in, out, optional] pReserved

预留。 设置为NULL

返回值

如果函数成功,则返回值为非零值,表示所有容器都已成功添加到日志中。

如果函数失败,则返回值为零,指示未添加任何容器。 若要获取扩展的错误信息,请调用 GetLastError

以下列表标识可能的错误代码:

注解

AddLogContainerSet 函数不是原子函数。 例如,如果作被无效的路径名称中断,则对 AddLogContainerSet 的调用将返回失败,但某些容器可能已创建。 例如,应用程序必须通过确定添加的容器来从此错误中恢复。

由于 AddLogContainerSet 添加了多个容器,因此它比对 AddLogContainer 进行重复调用更有效,后者只添加一个容器。

容器在非压缩模式下创建和打开,并在创建容器时使用 0(零)进行初始化。

要求

Requirement 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2003 R2 [仅限桌面应用]
目标平台 Windows操作系统
Header clfsw32.h
Library Clfsw32.lib
DLL Clfsw32.dll

另请参阅

AddLogContainer

常见的日志文件系统函数

重叠