rpcServerInqBindingHandle 函数 (rpcdce.h)

RpcServerInqBindingHandle 函数获取 RPC 调用的绑定句柄,该调用由调用 RpcServerInqBindingHandle 的线程提供服务。

语法

RPC_STATUS RpcServerInqBindingHandle(
  RPC_BINDING_HANDLE *Binding
);

parameters

Binding

RPC_BINDING_HANDLE 结构,该结构在成功后接收由同时调用 RpcServerInqBindingHandle 的线程服务的调用的绑定句柄。

如果调用失败,则此参数未定义。

返回值

此函数在成功时返回RPC_S_OK;否则,将返回RPC_S_* 错误代码。 除非在当前未为 RPC 调用提供服务的线程上调用此函数,否则此函数不会失败。

注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

RpcServerInqBindingHandle 用于获取 RPC 调用的绑定句柄,该调用当前正在调用此 API 的线程上执行。 由于许多 RPC API 需要绑定句柄作为输入,因此这是获取绑定句柄的便捷方法。

请注意,所有采用绑定句柄作为参数的服务器端 RPC API 都允许将 NULL 作为接受的值传递。 传递 NULL 而不是绑定句柄指示应使用当前在同一线程中执行的 RPC 调用的绑定句柄。 但是,如果从单独的线程调用服务器端 API,则需要为它们提供非 NULL 绑定句柄。

如果使用显式绑定句柄且不使用特定于线程的上下文句柄,则调用的绑定句柄是服务器管理器例程的第一个参数。 但是,如果不使用显式句柄,或者如果使用上下文句柄, RpcServerInqBindingHandle 是获取绑定句柄以在另一个线程中使用的唯一方法。

此 API 可用于异步调用和同步调用,但它对于异步调用不太有用,因为可以获取绑定句柄,因为异步状态始终是所有异步 RPC 调用的第一个参数,并且可以使用 RpcAsyncGetCallHandle 直接从它获取绑定句柄。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 rpcdce.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

请参阅

RpcAsyncGetCallHandle