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_httpを除く任意の接続指向プロトコル (ncacn_*) と、ncadg_mqncalrpc を除く任意のデータグラム プロトコルで使用できます。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー rpcdce.h (Rpc.h を含む)
Library Rpcrt4.lib
[DLL] Rpcrt4.dll

こちらもご覧ください

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_npncadg_mqncalrpc