ICommandTree::FreeCommandTree 方法(cmdtree.h)

注意

从 Windows XP 开始,索引服务不再受支持,无法从 Windows 8 开始使用。 请改为使用 Windows 搜索 进行客户端搜索,并使用 Microsoft Search Server Express 进行服务器端搜索。

ICommandTree::FreeCommandTree 方法遍历命令树,并释放所有 DBCOMMANDTREE 节点结构以及这些结构中的所有变体。 然后,它将根指针设置为 NULL 指针。

语法

HRESULT FreeCommandTree(
  [in] DBCOMMANDTREE **ppRoot
);

参数

[in] ppRoot

指向在成功退出时接收命令树根的指针的变量的指针。

返回值

此方法可以返回其中一个值。

返回代码 描述
S_OK
方法成功。
E_FAIL
发生了提供程序特定的错误。
E_INVALIDARG
ppRoot 参数是 NULL 指针。
DB_E_CANNOTFREE
使用者使用 fCopy = FALSE调用 ICommandTree::SetCommandTree 方法,从而将内存所有权放弃给提供程序。

言论

使用者可以使用 FreeCommandTree 方法释放其本地构造的命令树的副本,也可以由 ICommandTree::GetCommandTree获取。 它不会释放命令对象拥有的树的副本。 当使用者使用 fCopy = FALSE调用 SetCommandTree 时,使用者将内存所有权放弃给提供程序。 因此,如果使用者在使用 fCopy = FALSE调用 SetCommandTree 后调用 FreeCommandTreeFreeCommandTree 将返回DB_E_CANNOTFREE错误代码,这意味着使用者没有树的所有权,并且无法释放它。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 cmdtree.h

另请参阅

ICommandTree