RPC_BINDING_HANDLE
RPC_BINDING_HANDLE数据类型声明一个绑定句柄,其中包含 RPC 运行时库用于访问绑定信息的信息。
typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
备注
运行时库使用绑定信息建立允许执行远程过程调用的客户端与服务器关系。 根据创建绑定句柄的上下文,它被视为服务器绑定句柄或客户端绑定句柄。
服务器绑定句柄包含客户端与特定服务器建立关系所需的信息。 任意数量的 RPC API 运行时例程返回可用于进行远程过程调用的服务器绑定句柄。
客户端绑定句柄不能用于进行远程过程调用。 RPC 运行时库创建调用服务器过程的客户端绑定句柄, (也称为服务器管理器例程) 作为RPC_BINDING_HANDLE参数。 客户端绑定句柄包含有关调用客户端的信息。
当应用程序提供不正确的绑定句柄类型时, RpcBinding* 和 RpcNsBinding* 函数RPC_S_WRONG_KIND_OF_BINDING返回状态代码。
应用程序可以在多个执行线程之间共享单个绑定句柄。 RPC 运行时库管理使用单个绑定句柄的并发远程过程调用。 但是,应用程序负责对修改绑定句柄的操作进行绑定句柄并发控制。 这些操作包括以下例程:
例如,如果应用程序在两个执行线程之间共享绑定句柄,并通过调用 RpcBindingReset 重置其中一个线程中的绑定句柄终结点,则结果未定义。 另一个线程上的绑定句柄也可能重置,或者操作可能会失败,或者进程可能崩溃。 一个常见错误是,在对绑定句柄的调用正在进行时释放绑定句柄;这通常会导致调用进程崩溃。
如果不希望并发,可以设计一个应用程序,通过调用 RpcBindingCopy 来创建绑定句柄的副本。 在这种情况下,对第一个绑定句柄的操作对第二个绑定句柄没有影响。
需要绑定句柄作为参数的例程显示 RPC_BINDING_HANDLE数据类型。 绑定句柄参数按值传递。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|