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