CoInvalidateRemoteMachineBindings 函数 (combaseapi.h)

指示 服务控制管理器 刷新指定计算机的任何缓存 RPC 绑定句柄。

只有管理员才能调用此函数。

语法

HRESULT CoInvalidateRemoteMachineBindings(
  [in] LPOLESTR pszMachineName
);

参数

[in] pszMachineName

应为其刷新绑定句柄的计算机名称,或表示应刷新缓存中的所有句柄的空字符串。

返回值

此函数可以返回以下值。

返回代码 说明
S_OK
表示成功。
CO_S_MACHINENAMENOTFOUND
指示找不到指定的计算机名称或绑定句柄缓存为空,指示传递了一个空字符串,而不是特定的计算机名称。
E_ACCESSDENIED
指示调用方不是此计算机的管理员。
E_INVALIDARG
指示为 pszMachineName 传递了 NULL 值。

注解

COM 使用 OLE 服务控制管理器将组件激活请求发送到其他计算机。 为此,OLE 服务控制管理器维护 RPC 绑定句柄的缓存,以将激活请求发送到计算机,按计算机名称进行键控。 在正常情况下,这很有效,但在某些情况下(例如 Web 场和负载均衡)中,可能需要清除特定句柄的缓存,以便按同一名称重新绑定到其他物理服务器。 CoInvalidateRemoteMachineBindings 用于此目的。

随着时间推移,OLE 服务控制管理器将刷新未使用的绑定句柄。 无需调用 CoInvalidateRemoteMachineBindings 来执行此操作。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll