rpcAsyncAbortCall 函式 (rpcasync.h)

伺服器會呼叫 RpcAsyncAbortCall 來中止非同步呼叫。

語法

RPC_STATUS RpcAsyncAbortCall(
  PRPC_ASYNC_STATE pAsync,
  unsigned long    ExceptionCode
);

參數

pAsync

包含非同步呼叫資訊的 RPC_ASYNC_STATE 結構的指標。

ExceptionCode

非零應用程式特定的例外狀況程式碼。 可以是應用程式定義的錯誤碼或標準 RPC 錯誤碼。 如需詳細資訊,請參閱 RPC 傳回值

傳回值

意義
RPC_S_OK
呼叫取消成功。
RPC_S_INVALID_ASYNC_HANDLE
非同步控制碼無效。
 
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

備註

當情況要求在完成之前中止非同步呼叫時,伺服器會呼叫 RpcAsyncAbortCall 。 例如,呼叫端可能沒有提出要求的必要許可權,或伺服器可能太忙碌而無法處理呼叫。 使用 ExceptionCode 參數來指定中止的原因。 執行時間環境會將例外狀況程式碼傳播至用戶端作為錯誤。

使用 RpcAsyncAbortCall中止非同步呼叫時,不會執行輸出引數的封送處理,而且 RPC 會釋放所有輸入引數。 呼叫 RpcAsyncAbortCall 時,不需要呼叫 RpcAsyncCompleteCall 函式。 RpcAsyncAbortCall函式應該只針對任何非同步呼叫呼叫一次;第二次呼叫可能會損毀進程,或以其他非預期的方式失敗。

需求

   
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 rpcasync.h (包含 Rpc.h)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll

另請參閱

非同步 RPC

RPC_ASYNC_STATE

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel