Compartir a través de


Función CoSetCancelObject (combaseapi.h)

Establece (registros) o restablece (anula el registro) un objeto cancel para su uso durante las operaciones de cancelación posteriores en el subproceso actual.

Sintaxis

HRESULT CoSetCancelObject(
  [in, optional] IUnknown *pUnk
);

Parámetros

[in, optional] pUnk

Puntero a la interfaz IUnknown del objeto cancel que se va a establecer o restablecer en el subproceso actual. Si este parámetro es NULL, se restablece el objeto cancel más alto.

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
S_OK
El objeto cancel se estableció o restableció correctamente.
E_ACCESSDENIED
El objeto cancel no se puede establecer ni restablecer en este momento debido a un bloque en las operaciones de cancelación.

Comentarios

Para los objetos que admiten serialización estándar, el objeto proxy comienza a serializar una llamada de método llamando a CoSetCancelObject para registrar un objeto cancel para el subproceso actual.

CoSetCancelObject llama a QueryInterface para ICancelMethodCalls en el objeto cancel. Si el objeto cancel no implementa ICancelMethodCalls, CoSetCancelObject produce un error E_NOINTERFACE. Para deshabilitar las operaciones de cancelación en una interfaz serializado personalizada, la implementación de ICancelMethodCalls::Cancel no debe hacer nada más que devolver E_NOTIMPL, E_FAIL o algún otro valor adecuado.

CoSetCancelObject llama a AddRef en objetos que registra y Libera en objetos que anula el registro.

CoSetCancelObject no establece ni restablece objetos cancel para métodos asincrónicos.

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