Compartilhar via


Função CoEnableCallCancellation (combaseapi.h)

Habilita o cancelamento de chamadas síncronas no thread de chamada.

Sintaxe

HRESULT CoEnableCallCancellation(
  [in, optional] LPVOID pReserved
);

Parâmetros

[in, optional] pReserved

Esse parâmetro é reservado e deve ser NULL.

Retornar valor

Essa função pode retornar os valores de retorno padrão S_OK, E_FAIL, E_INVALIDARG e E_OUTOFMEMORY.

Comentários

Quando o cancelamento de chamada é habilitado em um thread, chamadas síncronas marshaladas desse thread para objetos no mesmo computador podem sofrer uma grave degradação de desempenho. Por padrão, as chamadas síncronas não podem ser canceladas, mesmo que um objeto cancele esteja disponível. Para habilitar o cancelamento de chamadas, você deve chamar CoEnableCallCancellation primeiro.

A menos que você queira habilitar o cancelamento de chamadas em um thread o tempo todo, você deve emparelhar chamadas para CoEnableCallCancellation com chamadas para CoDisableCallCancellation. O cancelamento de chamada será desabilitado somente se CoDisableCallCancellation tiver sido chamado uma vez para cada vez que CoEnableCallCancellation for chamado com êxito.

Uma chamada será cancelável ou não dependendo do estado do thread no momento em que a chamada foi feita. Posteriormente, habilitar ou desabilitar o cancelamento de chamadas não tem efeito em nenhuma chamada pendente no thread.

Requisitos

Requisito Valor
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

CoEnableCallCancellation

ICancelMethodCalls