Condividi tramite


Funzione RpcAsyncAbortCall (rpcasync.h)

Il server chiama RpcAsyncAbortCall per interrompere una chiamata asincrona.

Sintassi

RPC_STATUS RpcAsyncAbortCall(
  PRPC_ASYNC_STATE pAsync,
  unsigned long    ExceptionCode
);

Parametri

pAsync

Puntatore alla struttura RPC_ASYNC_STATE che contiene informazioni sulle chiamate asincrone.

ExceptionCode

Codice di eccezione specifico dell'applicazione diverso da zero. Può essere un codice di errore definito dall'applicazione o un codice di errore RPC standard. Per altre informazioni, vedere Valori restituiti RPC.

Valore restituito

Valore Significato
RPC_S_OK
Annullamento delle chiamate riuscito.
RPC_S_INVALID_ASYNC_HANDLE
Handle asincrono non valido.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

Il server chiama RpcAsyncAbortCall quando le circostanze lo richiedono per interrompere una chiamata asincrona prima del completamento. Ad esempio, il chiamante potrebbe non avere le autorizzazioni necessarie per effettuare la richiesta oppure il server potrebbe essere troppo occupato per elaborare la chiamata. Usare il parametro ExceptionCode per specificare il motivo dell'interruzione. L'ambiente di runtime propaga il codice di eccezione al client come errore.

Quando viene interrotta una chiamata asincrona con RpcAsyncAbortCall, non viene eseguito alcun marshalling degli argomenti di output e tutti gli argomenti di input vengono liberati da RPC. Quando viene chiamato RpcAsyncAbortCall , non è necessaria una chiamata alla funzione RpcAsyncCompleteCall . La funzione RpcAsyncAbortCall deve essere chiamata una sola volta per qualsiasi chiamata asincrona; una seconda chiamata può arrestare il processo o avere esito negativo in altri modi imprevisti.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione rpcasync.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RPC asincrona

RPC_ASYNC_STATE

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel