rpcServerInterfaceGroupDeactivate 函数 (rpcdce.h)

RpcServerInterfaceGroupDeactivate 函数告知 RPC 运行时尝试关闭给定的接口组,如果存在未完成的客户端活动,可以选择中止操作。

语法

RPC_STATUS RpcServerInterfaceGroupDeactivate(
  [in] RPC_INTERFACE_GROUP IfGroup,
  [in] unsigned long       ForceDeactivation
);

参数

[in] IfGroup

RpcServerInterfaceGroupCreate 中的RPC_INTERFACE_GROUP,用于定义要停用的接口组

[in] ForceDeactivation

如果 为 TRUE,则 RPC 运行时应忽略客户端活动并无条件地停用接口组。 如果 为 FALSE,则应在发生新活动时中止该操作。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_SERVER_TOO_BUSY
ForceDeactivationFALSE ,并且存在未完成的客户端活动。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

服务器应用程序使用 RpcServerInterfaceGroupDeactivate 取消注册接口组中的接口和终结点。 它执行 RPC 服务器应用程序需要执行的大部分关闭工作。 它执行以下操作:

  • 从 RPC 终结点映射程序取消注册终结点和接口。
  • 从服务器运行时注销终结点。
  • 从服务器运行时注销接口。
  • 如果不存在其他接口,则告知运行时停止侦听调用。

如果 ForceDeactivationFALSE则 RpcServerInterfaceGroupDeactivate 仅在没有未完成的客户端活动时停用接口组。 如果在停用过程中出现新活动,则返回 RPC_S_SERVER_TOO_BUSY 。 在这种情况下,操作将回滚,接口组将继续接收和调度调用。

如果 ForceDeactivationTRUE,RpcServerInterfaceGroupDeactivate 不会失败。

服务应用程序可以从其空闲回调函数 RpcServerInterfaceGroupCreate 调用 ForceDeactivation 设置为 FALSE的 RpcServerInterfaceGroupDeactivate。 与 RPC 服务启动触发器一起使用时,这使它们能够安全地空闲停止,而不会丢失来自潜在客户端的调用。

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 rpcdce.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings