Función CoGetCancelObject (combaseapi.h)

Obtiene un puntero a una interfaz de control de llamadas, normalmente ICancelMethodCalls, en el objeto cancel correspondiente a una llamada de método COM saliente pendiente en el mismo subproceso de cliente u otro subproceso de cliente.

Sintaxis

HRESULT CoGetCancelObject(
  [in]  DWORD  dwThreadId,
  [in]  REFIID iid,
  [out] void   **ppUnk
);

Parámetros

[in] dwThreadId

Identificador del subproceso en el que se va a cancelar la llamada COM pendiente. Si este parámetro es 0, la llamada se encuentra en el subproceso actual.

[in] iid

Identificador único global de una interfaz en el objeto cancel de la llamada que se va a cancelar. Este argumento suele ser IID_ICancelMethodCalls.

[out] ppUnk

Recibe la dirección de un puntero a la interfaz especificada por riid.

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 de control de llamadas se recuperó correctamente.
E_NOINTERFACE
El objeto en el que se ejecuta la llamada no admite la interfaz especificada por riid.

Comentarios

Si hay dos o más llamadas pendientes en el mismo subproceso a través de llamadas anidadas, es posible que el identificador del subproceso no sea suficiente para identificar la llamada que se va a cancelar. En este caso, CoGetCancelObject devuelve una interfaz cancel correspondiente a la llamada más interna que está pendiente en el subproceso y ha registrado un objeto cancel.

Esta función no busca objetos cancel para 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