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 |
---|---|
|
La llamada sigue pendiente y el cliente aún no lo ha cancelado. |
|
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 |