Função CoTestCancel (combaseapi.h)
Determina se a chamada que está sendo executada no servidor foi cancelada pelo cliente.
Sintaxe
HRESULT CoTestCancel();
Retornar valor
Essa função pode retornar os valores de retorno padrão E_FAIL, E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, bem como os valores a seguir.
Código de retorno | Descrição |
---|---|
|
A chamada ainda está pendente e ainda não foi cancelada pelo cliente. |
|
A chamada foi cancelada pelo cliente. |
Comentários
Objetos de servidor devem chamar CoTestCancel pelo menos uma vez antes de retornar para detectar solicitações de cancelamento do cliente. Isso pode salvar o trabalho desnecessário do servidor se o cliente tiver emitido uma solicitação de cancelamento e reduzir o tempo de espera do cliente se ele tiver definido o tempo limite de cancelamento como RPC_C_CANCEL_INFINITE_TIMEOUT. Além disso, se o objeto de servidor detectar uma solicitação de cancelamento antes de retornar de uma chamada pendente, ele poderá limpo qualquer memória, interfaces marshaled ou identificadores que tenha criado ou obtido.
CoTestCancel chama CoGetCallContext para obter a interface ICancelMethodCalls no objeto cancel atual e, em seguida, chama ICancelMethodCalls::TestCancel. Os objetos que implementam marshaling personalizado devem primeiro chamar CoSwitchCallContext para instalar o objeto de contexto de chamada apropriado.
Essa função não testa o cancelamento para chamadas assíncronas.
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 |