Função CoCancelCall (combaseapi.h)

Solicita o cancelamento de uma chamada de método DCOM de saída pendente em um thread especificado.

Sintaxe

HRESULT CoCancelCall(
  [in] DWORD dwThreadId,
  [in] ULONG ulTimeout
);

Parâmetros

[in] dwThreadId

O identificador do thread no qual a chamada DCOM pendente deve ser cancelada. Se esse parâmetro for 0, a chamada estará no thread atual.

[in] ulTimeout

O número de segundos em que CoCancelCall aguarda o servidor concluir a chamada de saída após o cliente solicitar o cancelamento.

Valor retornado

Essa função pode retornar os valores de retorno padrão E_FAIL, E_OUTOFMEMORY e E_UNEXPECTED, bem como os valores a seguir.

Código de retorno Descrição
S_OK
A solicitação de cancelamento foi feita.
E_NOINTERFACE
Não há nenhum objeto cancel correspondente ao thread especificado.
CO_E_CANCEL_DISABLED
O cancelamento de chamada não está habilitado no thread especificado.
RPC_E_CALL_COMPLETE
A chamada foi concluída durante o intervalo de tempo limite.
RPC_E_CALL_CANCELED
A chamada já foi cancelada.

Comentários

CoCancelCall chama CoGetCancelObject e, em seguida, ICancelMethodCalls::Cancel no objeto cancel para a chamada que está sendo executada.

Essa função não localiza objetos cancel para chamadas assíncronas.

O servidor de objetos pode determinar se a chamada foi cancelada chamando periodicamente CoTestCancel. Se a chamada tiver sido cancelada, o servidor de objetos deverá limpo e retornar o controle ao cliente.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho combaseapi.h (inclua Objbase.h)
Biblioteca Ole32.lib
DLL Ole32.dll

Confira também

CoTestCancel