rpcBindingSetOption 函数 (rpcdce.h)

RpcBindingSetOption 函数使客户端应用程序能够在绑定句柄上指定消息队列选项。

语法

RPC_STATUS RpcBindingSetOption(
  RPC_BINDING_HANDLE hBinding,
  unsigned long      option,
  ULONG_PTR          optionValue
);

参数

hBinding

要修改的服务器绑定。

option

要修改的绑定属性。 有关绑定选项及其可能值的列表,请参阅 绑定选项常量。 有关 RPC 呼叫超时功能的信息,请参阅“备注”。

optionValue

绑定属性的新值。 请参阅“备注”。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_CANNOT_SUPPORT
操作系统或传输不支持该函数。 请注意,对使用 ncacn_* 以外的任何协议序列的绑定句柄调用 RpcBindingSetOption 将失败并返回此值。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

RPC 客户端进程使用 RpcBindingSetOption 来控制交付服务质量、呼叫日志记录和调用生存期。 更改绑定句柄属性将影响所有远程调用,直到其他调用 RpcBindingSetOption 更改属性为止。 还可以调用 RpcBindingSetAuthInfo 来设置绑定句柄的安全选项。

Windowsxp: RPC 调用超时功能:

调用将 Option 设置为 RPC_C_OPT_CALL_TIMEOUT 的 RpcBindingSetOption 函数,并将 OptionValue 设置为超时值 ((以毫秒为单位),) 使开发人员能够设置 RPC 服务器超时,以防止线程被俘虏到无响应 RPC 服务器。 此功能可节省开发人员对无响应 RPC 服务器的调用的显式取消。 收到每个数据包后,RPC 客户端会重置超时计时器监视。 如果超时在未从服务器接收数据包的情况下过期,RPC 客户端将返回RPC_S_CALL_CANCELLED。 请注意,即使客户端会放弃响应,RPC 服务器仍可能最终执行调用。

OptionValue 设置为 INFINITE,或将无限超时设置为零。调用正在进行时,请勿从另一个线程更改此选项。 请勿尝试重试已取消的调用;这样做会增加已无响应服务器的负担。 RPC 调用超时功能仅适用于面向连接的同步 RPC 调用,例如 在 ncacn_* 协议序列上执行的调用。 对于数据报、异步或本地 RPC 调用,RPC 运行时将忽略此选项。

在很多情况下,RPC 调用超时功能非常有用,例如用户界面更新,否则会等待繁忙的 RPC 服务器响应 (使用户观看沙漏) ,或者当许多 RPC 服务器可以服务请求时,从而使客户端能够更快地识别和绕过无响应的服务器。

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用|UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用|UWP 应用]
目标平台 Windows
标头 rpcdce.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

RPC 消息队列

RpcBindingInqAuthClient

RpcBindingInqOption

RpcBindingSetAuthInfo

message