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,则应在发生新活动时中止该操作。
返回值
值 | 含义 |
---|---|
|
调用成功。 |
|
ForceDeactivation 为 FALSE ,并且存在未完成的客户端活动。 |
注解
服务器应用程序使用 RpcServerInterfaceGroupDeactivate 取消注册接口组中的接口和终结点。 它执行 RPC 服务器应用程序需要执行的大部分关闭工作。 它执行以下操作:
- 从 RPC 终结点映射程序取消注册终结点和接口。
- 从服务器运行时注销终结点。
- 从服务器运行时注销接口。
- 如果不存在其他接口,则告知运行时停止侦听调用。
如果 ForceDeactivation 为 FALSE, 则 RpcServerInterfaceGroupDeactivate 仅在没有未完成的客户端活动时停用接口组。 如果在停用过程中出现新活动,则返回 RPC_S_SERVER_TOO_BUSY 。 在这种情况下,操作将回滚,接口组将继续接收和调度调用。
如果 ForceDeactivation 为 TRUE,RpcServerInterfaceGroupDeactivate 不会失败。
服务应用程序可以从其空闲回调函数 RpcServerInterfaceGroupCreate 调用 ForceDeactivation 设置为 FALSE的 RpcServerInterfaceGroupDeactivate。 与 RPC 服务启动触发器一起使用时,这使它们能够安全地空闲停止,而不会丢失来自潜在客户端的调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | rpcdce.h (包括 Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |