Compartir a través de


Función CoTestCancel (combaseapi.h)

Determina si el cliente canceló la llamada que se está ejecutando en el servidor.

Sintaxis

HRESULT CoTestCancel();

Valor devuelto

Esta función puede devolver los valores devueltos estándar E_FAIL, E_INVALIDARG, E_OUTOFMEMORY y E_UNEXPECTED, así como los valores siguientes.

Código devuelto Descripción
RPC_S_CALLPENDING
La llamada sigue pendiente y el cliente aún no lo ha cancelado.
RPC_E_CALL_CANCELED
El cliente canceló la llamada.

Comentarios

Los objetos de servidor deben llamar a CoTestCancel al menos una vez antes de volver a detectar solicitudes de cancelación de cliente. Si lo hace, puede guardar el trabajo innecesario del servidor si el cliente ha emitido una solicitud de cancelación y puede reducir el tiempo de espera del cliente si ha establecido el tiempo de espera de cancelación como RPC_C_CANCEL_INFINITE_TIMEOUT. Además, si el objeto de servidor detecta una solicitud de cancelación antes de volver desde una llamada pendiente, puede limpiar cualquier memoria, interfaces serialadas o identificadores que haya creado o obtenido.

CoTestCancel llama a CoGetCallContext para obtener la interfaz ICancelMethodCalls en el objeto cancel actual y, a continuación, llama a ICancelMethodCalls::TestCancel. Los objetos que implementan serialización personalizada deben llamar primero a CoSwitchCallContext para instalar el objeto de contexto de llamada adecuado.

Esta función no prueba la cancelación de llamadas asincrónicas.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado combaseapi.h (incluya Objbase.h)
Library Ole32.lib
Archivo DLL Ole32.dll

Consulte también

ICancelMethodCalls