RemoveLogContainer 函数 (clfsw32.h)

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

客户端必须对日志句柄具有管理权限才能删除容器。 若要删除多个容器,请使用 RemoveLogContainerSet 函数。

语法

CLFSUSER_API BOOL RemoveLogContainer(
  [in]                HANDLE hLog,
  [in]                LPWSTR pwszContainerPath,
  [in]                BOOL   fForce,
  [in, out, optional] LPVOID pReserved
);

参数

[in] hLog

CreateLogFile 获取的日志句柄。

[in] pwszContainerPath

指向宽字符串的指针,该字符串包含由 AddLogContainer 或 AddLogContainerSet 创建的日志容器的路径。

[in] fForce

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

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

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

[in, out, optional] pReserved

此参数是保留的,应设置为 NULL

返回值

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

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

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

注解

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

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

要求

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

另请参阅

AddLogContainer

AddLogContainerSet

常见日志文件系统函数

OVERLAPPED

RemoveLogContainerSet