次の方法で共有


RpcAsyncAbortCall 関数 (rpcasync.h)

サーバーは RpcAsyncAbortCall を 呼び出して非同期呼び出しを中止します。

構文

RPC_STATUS RpcAsyncAbortCall(
  PRPC_ASYNC_STATE pAsync,
  unsigned long    ExceptionCode
);

パラメーター

pAsync

非同期呼び出し情報を含む RPC_ASYNC_STATE 構造体へのポインター。

ExceptionCode

0 以外のアプリケーション固有の例外コード。 アプリケーション定義のエラー コード、または標準の RPC エラー コードを指定できます。 詳細については、「 RPC 戻り値」を参照してください。

戻り値

説明
RPC_S_OK
呼び出しの取り消しが成功しました。
RPC_S_INVALID_ASYNC_HANDLE
非同期ハンドルが無効です。
 
メモ 有効なエラー コードの一覧については、「 RPC 戻り値」を参照してください。
 

解説

状況で完了前に非同期呼び出しを中止する必要がある場合、サーバーは RpcAsyncAbortCall を呼び出します。 たとえば、呼び出し元が要求を行うために必要なアクセス許可を持っていない場合や、サーバーがビジー状態で呼び出しを処理できない可能性があります。 ExceptionCode パラメーターを使用して、中止の理由を指定します。 ランタイム環境は、例外コードをエラーとしてクライアントに伝達します。

RpcAsyncAbortCall で非同期呼び出しが中止されると、出力引数のマーシャリングは実行されません。また、すべての入力引数は RPC によって解放されます。 RpcAsyncAbortCall が呼び出されると、RpcAsyncCompleteCall 関数の呼び出しは必要ありません。 RpcAsyncAbortCall 関数は、非同期呼び出しに対して 1 回だけ呼び出す必要があります。2 回目の呼び出しでは、プロセスがクラッシュしたり、他の予期しない方法で失敗したりする可能性があります。

要件

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

関連項目

非同期 RPC

RPC_ASYNC_STATE

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel