Compartilhar via


Função RpcAsyncAbortCall (rpcasync.h)

O servidor chama RpcAsyncAbortCall para anular uma chamada assíncrona.

Sintaxe

RPC_STATUS RpcAsyncAbortCall(
  PRPC_ASYNC_STATE pAsync,
  unsigned long    ExceptionCode
);

Parâmetros

pAsync

Ponteiro para a estrutura RPC_ASYNC_STATE que contém informações de chamada assíncronas.

ExceptionCode

Um código de exceção específico do aplicativo diferente de zero. Pode ser um código de erro definido pelo aplicativo ou um código de erro RPC padrão. Para obter mais informações, consulte RPC Return Values( Valores retornados de RPC).

Valor retornado

Valor Significado
RPC_S_OK
Cancelamento de chamada bem-sucedido.
RPC_S_INVALID_ASYNC_HANDLE
O identificador assíncrono é inválido.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

O servidor chama RpcAsyncAbortCall quando as circunstâncias exigem que ele anule uma chamada assíncrona antes da conclusão. Por exemplo, o chamador pode não ter as permissões necessárias para fazer a solicitação ou o servidor pode estar muito ocupado para processar a chamada. Use o parâmetro ExceptionCode para especificar o motivo da anulação. O ambiente em tempo de execução propaga o código de exceção para o cliente como uma falha.

Quando uma chamada assíncrona é anulada com RpcAsyncAbortCall, nenhum marshaling dos argumentos de saída é executado e todos os argumentos de entrada são liberados pelo RPC. Quando RpcAsyncAbortCall é chamado, uma chamada para a função RpcAsyncCompleteCall não é necessária. A função RpcAsyncAbortCall deve ser chamada apenas uma vez para qualquer chamada assíncrona; uma segunda chamada pode interromper o processo ou falhar de outras maneiras inesperadas.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho rpcasync.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll

Confira também

RPC assíncrono

RPC_ASYNC_STATE

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel