RemoveLogContainerSet 函数 (clfsw32.h)

从与专用或多路复用日志句柄关联的日志中删除多个容器。

客户端必须对日志句柄具有管理权限才能删除容器。 RemoveLogContainer 函数是此 RemoveLogContainerSet 函数的特殊情况,因为它仅删除一个容器。 若要删除多个容器,请使用 RemoveLogContainerSet

语法

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

参数

[in] hLog

CreateLogFile 获取的日志句柄。

日志句柄必须具有管理权限才能添加日志容器,并且可以引用专用日志或多路复用日志。

[in] cContainer

rgwszContainerPath 指向的数组中的容器路径名称数。

此值必须为非零值。

[in] rgwszContainerPath

指向包含 cContainers 指针的 容器路径名称的指针数组。

每个路径名称都是一个宽字符串,用于标识 由 AddLogContainerAddLogContainerSet 创建的容器。

[in] fForce

确定何时以及如何删除容器的删除标志。

如果 fForceTRUE,并且容器是活动日志区域的一部分,则不会删除该容器,并返回 错误ERROR_LOG_CANT_DELETE

如果 为 FALSE,则当容器不再是活动日志区域的一部分时,将删除该容器。

[in, out, optional] pReserved

保留。 将 pReserved 设置为 NULL

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

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

注解

默认情况下,容器删除是延迟的,这意味着仅当容器不是活动日志的一部分时,才会删除该容器。 如果容器是活动日志的一部分,则会将其标记为要删除。 此删除操作将延迟到日志尾部超过容器的最后一个扇区,或者容器的逻辑标识符大于活动日志头的逻辑标识符。 仅当以物理方式删除容器时,日志大小才会反映容器删除。

日志客户端可以通过将删除标志设置为 TRUE 来请求强制删除容器。 这与删除不属于活动日志的容器具有相同的效果。 但是,如果某个容器是活动日志的一部分,则调用会失败,而不会将容器标记为要删除。

要求

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

另请参阅

AddLogContainer

AddLogContainerSet

常见日志文件系统函数

OVERLAPPED

RemoveLogContainer