rpcCancelThreadEx 函数 (rpcdce.h)
RpcCancelThreadEx 函数停止线程的执行。 RpcCancelThreadEx 函数不应用于停止异步 RPC 调用的执行;而是使用 RpcAsyncCancelCall 函数停止执行异步 RPC 调用。
语法
RPC_STATUS RpcCancelThreadEx(
void *Thread,
long Timeout
);
参数
Thread
要取消的线程的句柄。
Timeout
在此函数返回之前等待线程取消的秒数。 若要指定客户端无限期等待时间,请将值传递给RPC_C_CANCEL_INFINITE_TIMEOUT。
返回值
值 | 含义 |
---|---|
|
调用成功。 |
|
线程句柄没有权限。 线程句柄必须正确设置THREAD_SET_CONTEXT才能正确执行函数。 |
|
由 MS-DOS 或 Windows 3 调用。x 客户端。 |
注意 有关有效错误代码的列表,请参阅 RPC 返回值。
注解
RpcCancelThreadEx 函数允许一个客户端线程取消另一个客户端线程上正在进行的 RPC。 调用 函数时,将通知服务器运行时取消操作。 服务器存根可以通过调用 RpcTestCancel 来确定调用是否已取消。 如果已取消调用,则服务器存根应清理并将控制权返回给客户端。
使用 Timeout 参数,应用程序可以指定等待响应的秒数。 如果服务器未在此间隔内返回,则调用在客户端失败,并出现RPC_S_CALL_CANCELLED异常。 服务器存根将继续执行。
如果使用命名管道协议 ,ncacn_np,则必须指定有限超时。
注意 可以将 RpcCancelThreadEx 与任何面向连接的协议一起使用, (ncacn_*) (ncacn_http除外)以及 除 ncadg_mq 和 ncalrpc 之外的任何数据报协议。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | rpcdce.h (包括 Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |
另请参阅
RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_np ncadg_mqncalrpc