rpcEpResolveBinding 函数 (rpcdce.h)

RpcEpResolveBinding 函数将部分绑定的服务器绑定句柄解析为完全绑定的服务器绑定句柄。

语法

RPC_STATUS RpcEpResolveBinding(
  RPC_BINDING_HANDLE Binding,
  RPC_IF_HANDLE      IfSpec
);

parameters

Binding

要解析为完全绑定服务器绑定句柄的部分绑定服务器绑定句柄。

IfSpec

存根生成的结构,用于指定感兴趣的接口。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_BINDING
绑定句柄无效。
RPC_S_WRONG_KIND_OF_BINDING
这是操作的错误绑定类型。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

应用程序调用 RpcEpResolveBinding 函数,将部分绑定的服务器绑定句柄解析为完全绑定的绑定句柄。

解析绑定句柄需要接口 UUID 和对象 UUID (,) 可能为零。 RPC 运行时库要求 Binding 参数指定的主机上的终结点映射服务查找兼容服务器实例的终结点。 为了查找终结点,终结点映射服务在终结点映射数据库中查找 IfSpec 参数中的接口 UUID,并在 Binding 参数中查找对象 UUID(如果有)。

解析绑定操作的运行方式取决于指定的绑定句柄是部分绑定还是完全绑定。 当客户端指定部分绑定的句柄时,解析绑定操作具有以下可能的结果:

  • 如果未在终结点映射数据库中注册兼容的服务器实例,则解析绑定操作将返回EPT_S_NOT_REGISTERED状态代码。
  • 如果在终结点映射数据库中注册了兼容的服务器实例,则 resolve-binding 操作将返回完全绑定的绑定和RPC_S_OK状态代码。
当客户端指定完全绑定的绑定句柄时,解析绑定操作将返回指定的绑定句柄和RPC_S_OK状态代码。 解析绑定操作不会与终结点映射服务联系。

在部分绑定和完全绑定绑定案例中,解析绑定操作都不会与兼容的服务器实例联系。

注意 调用 RpcEpResolveBinding 并非绝对必要。 如果在部分绑定的服务器绑定句柄上执行 RPC 调用,则 RPC 运行时需要执行必要的步骤,使绑定成为完全绑定的绑定句柄。 RPC 运行时调用 RpcEpResolveBinding,但由于其他缓存技术,这样做的效率更高。 在 Windows XP 和 Windows 2000 中,应用程序没有理由调用 RpcEpResolveBinding
 

要求

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

请参阅

RpcBindingFromStringBinding

RpcBindingReset

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingImportDone

RpcNsBindingImportNext