共用方式為


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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 rpcdce.h (包含 Rpc.h)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll

另請參閱

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_np ncadg_mqncalrpc