绑定选项常量

应用程序设置绑定选项常量,以控制 RPC 运行时库处理远程过程调用的方式。 下表列出了每个绑定属性以及绑定属性的相关常量值。

备注

下表中 (MQ) 的所有消息队列选项仅适用于 Windows 2000。 WindowsXP 和更高版本不支持消息队列。 不建议开发人员使用消息队列。

常量/值 说明
RPC _C _ OPT _ BINDING _ NONCAUSAL
9
默认。 如果 为 FALSE,则为因果调用排序。 RPC 调用按严格的提交顺序执行。 请参阅“备注”。
如果 为 TRUE,则为 noncausal 调用排序。 RPC 调用独立执行。 请参阅“备注”。
RPC _C _ 选择 _ 最大 _ 选项
17
应用程序不需要。 由 Microsoft 内部使用。
RPC _C _ 不 _ 会失败
4
应用程序不需要。 由 Microsoft 内部使用。
RPC _C _ OPT _ 会话 _ ID
6
如果 为 TRUE,则为每个连接生成会话 ID。
RPC _C _ OPT _ COOKIE _ 身份验证
7
如果 为 TRUE,则将基于客户端 cookie 的身份验证用于连接。 指向 RPC _ C _ OPT _ COOKIE _ 身份验证 _ 描述符结构的指针在 RpcBindingSetOption中作为 OptionValue 参数传递。
RPC _C _ OPT _ 资源 _ 类型 _ UUID
8
应用程序不需要。 由 Microsoft 内部使用。
RPC _C _ OPT _ 不要 _ 逗留
13
如果 为 TRUE,则在释放关联的上一个绑定句柄/上下文句柄之后强制关闭该关联。
RPC _C _ OPT _ 唯一 _ 绑定
11
如果设置为 true,则 RPC 不会重复使用现有连接。 为每个连接打开一个唯一的绑定句柄,并为每个唯一的绑定句柄维护状态。

备注

默认情况下,在应用程序的每个线程中,RPC 运行时库按严格的提交顺序执行对给定绑定句柄的调用。 这不能保证对同一绑定句柄上不同线程的调用进行序列化。 多线程应用程序必须序列化其 RPC 调用。 如果此行为过于严格,可以启用 noncausal 排序。 当你执行此操作时,RPC 运行时库将独立执行调用。 它不会对其提交进行排序。

可能发现 noncausal 排序有用的应用程序的一个示例是一个多线程程序,其线程在同一绑定句柄上调用。 同样,在绑定句柄上使用多个异步调用的程序将找到 noncausal 排序方便的选项。 另一个示例可能是使用单个线程处理多个客户端请求的 Internet 代理程序。 在上述每种情况下,尝试序列化远程过程调用会受到严格限制。

RPC _ C OPT _ 不 _ _ 逗留 选项只能在使用 ncalrpc 或 *ncacn _ * _ 协议序列的绑定句柄上设置。 不能在 ncadg _ * 协议序列上使用。 必须对至少进行一次 RPC 调用的绑定句柄调用带有此选项的 _ RpcBindingSetOption *函数。 如果未对绑定句柄进行 RPC 调用,则从 RpcBindingSetOption 函数调用返回 rpc _ S _ 错误 _ 类型 _ 的 _ 绑定。 无论将多少绑定句柄附加到关联,选项都将对整个关联生效。 由于在关联被销毁之前会对其进行检查,因此可以在绑定句柄关闭之前随时对其进行设置。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Rpcdce;
Rpcdcep

另请参阅

RpcBindingSetOption

RpcBindingInqOption

管理 (关联的网络连接集)