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 |