AddLogContainerSet 函数 (clfsw32.h)

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

语法

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 边界,并在 由 dpcContainer 指向的值中返回该大小。

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

[in] rgwszContainerPath

容器的 cContainer 路径名称的数组。

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

[in, out, optional] pReserved

保留。 将 “保留” 设置为 NULL

返回值

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

如果函数失败,则返回值为零,指示不添加任何容器。 要获得更多的错误信息,请调用 GetLastError。

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

注解

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

由于 AddLogContainerSet 添加多个容器,因此它比重复调用 AddLogContainer 更高效,后者仅添加一个容器。

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

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 R2 [仅限桌面应用]
目标平台 Windows
标头 clfsw32.h
Library Clfsw32.lib
DLL Clfsw32.dll

另请参阅

AddLogContainer

常见日志文件系统函数

OVERLAPPED