rpcRevertToSelfEx 函数 (rpcdce.h)

RpcRevertToSelfEx 函数允许服务器模拟客户端,然后在多线程操作中还原,其中模拟客户端的调用可能来自最初从 RPC 调度的线程以外的线程。

语法

RPC_STATUS RpcRevertToSelfEx(
  RPC_BINDING_HANDLE BindingHandle
);

parameters

BindingHandle

服务器上的绑定句柄,该句柄表示与服务器模拟的客户端的绑定。 值为零指定当前线程的客户端句柄;在这种情况下, RpcRevertToSelfEx 的功能与 RpcRevertToSelf 函数的功能相同。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_NO_CALL_ACTIVE
服务器没有要模拟的客户端。
RPC_S_INVALID_BINDING
绑定句柄无效。
RPC_S_WRONG_KIND_OF_BINDING
此操作的绑定类型不正确。
RPC_S_CANNOT_SUPPORT
此操作系统、此传输或此安全子系统不支持调用。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

调用 RpcImpersonateClient 并完成需要客户端模拟的任何任务后,服务器将调用 RpcRevertToSelfEx 以结束模拟并重新建立自己的安全标识。 例如,假设有一个名为 thread1 的主线程,该线程从远程客户端调度并唤醒名为 thread2 的工作线程。 如果 thread2 要求服务器模拟客户端,服务器将调用 RpcImpersonateClient (THREAD1_CALL_HANDLE) ,执行所需的任务,调用 RpcRevertToSelfEx (THREAD1_CALL_HANDLE) 以结束模拟,然后唤醒 thread1。

要求

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

请参阅

客户端模拟

RpcImpersonateClient

RpcRevertToSelf