rpcBindingSetOption 函数 (rpcdce.h)
RpcBindingSetOption 函数使客户端应用程序能够在绑定句柄上指定消息队列选项。
语法
RPC_STATUS RpcBindingSetOption(
RPC_BINDING_HANDLE hBinding,
unsigned long option,
ULONG_PTR optionValue
);
参数
hBinding
要修改的服务器绑定。
option
要修改的绑定属性。 有关绑定选项及其可能值的列表,请参阅 绑定选项常量。 有关 RPC 调用超时功能的信息,请参阅备注。
optionValue
绑定属性的新值。 请参阅“备注”。
返回值
值 | 含义 |
---|---|
|
调用成功。 |
|
操作系统或传输不支持 函数。 请注意,在使用除 ncacn_* 以外的任何协议序列的绑定句柄上调用 RpcBindingSetOption 将失败并返回此值。 |
注解
RPC 客户端进程使用 RpcBindingSetOption 来控制服务质量、呼叫日志记录和呼叫生存期。 更改绑定句柄属性将影响所有远程调用,直到再次调用 RpcBindingSetOption 更改属性。 还可以调用 RpcBindingSetAuthInfo 来设置绑定句柄的安全选项。
Windowsxp: RPC 调用超时功能:
调用 RpcBindingSetOption 函数时,Option 设置为 RPC_C_OPT_CALL_TIMEOUT,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 |