rpcCancelThreadEx 函数 (rpcdce.h)

RpcCancelThreadEx 函数停止线程的执行。 RpcCancelThreadEx 函数不应用于停止异步 RPC 调用的执行;而是使用 RpcAsyncCancelCall 函数停止执行异步 RPC 调用。

语法

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

参数

Thread

要取消的线程的句柄。

Timeout

在此函数返回之前等待线程取消的秒数。 若要指定客户端无限期等待时间,请将值传递给RPC_C_CANCEL_INFINITE_TIMEOUT。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_ACCESS_DENIED
线程句柄没有权限。 线程句柄必须正确设置THREAD_SET_CONTEXT才能正确执行函数。
RPC_S_CANNOT_SUPPORT
由 MS-DOS 或 Windows 3 调用。x 客户端。
 
注意 有关有效错误代码的列表,请参阅 RPC 返回值
 

注解

RpcCancelThreadEx 函数允许一个客户端线程取消另一个客户端线程上正在进行的 RPC。 调用 函数时,将通知服务器运行时取消操作。 服务器存根可以通过调用 RpcTestCancel 来确定调用是否已取消。 如果已取消调用,则服务器存根应清理并将控制权返回给客户端。

使用 Timeout 参数,应用程序可以指定等待响应的秒数。 如果服务器未在此间隔内返回,则调用在客户端失败,并出现RPC_S_CALL_CANCELLED异常。 服务器存根将继续执行。

如果使用命名管道协议 ,ncacn_np,则必须指定有限超时。

注意 可以将 RpcCancelThreadEx 与任何面向连接的协议一起使用, (ncacn_*) (ncacn_http除外)以及 除 ncadg_mqncalrpc 之外的任何数据报协议。
 

要求

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

另请参阅

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_np ncadg_mqncalrpc