Função CoSetCancelObject (combaseapi.h)
Define (registra) ou redefine (cancela o registro) de um objeto cancel para uso durante operações de cancelamento subsequentes no thread atual.
Sintaxe
HRESULT CoSetCancelObject(
[in, optional] IUnknown *pUnk
);
Parâmetros
[in, optional] pUnk
Ponteiro para a interface IUnknown no objeto cancel a ser definido ou redefinido no thread atual. Se esse parâmetro for NULL, o objeto de cancelamento mais alto será redefinido.
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 |
---|---|
|
O objeto cancel foi definido ou redefinido com êxito. |
|
O objeto cancel não pode ser definido ou redefinido no momento devido a um bloco em operações de cancelamento. |
Comentários
Para objetos que dão suporte ao marshaling padrão, o objeto proxy começa a realizar marshaling de uma chamada de método chamando CoSetCancelObject para registrar um objeto cancel para o thread atual.
CoSetCancelObject chama QueryInterface para ICancelMethodCalls no objeto cancel. Se o objeto cancel não implementar ICancelMethodCalls, CoSetCancelObject falhará com E_NOINTERFACE. Para desabilitar operações de cancelamento em uma interface marshaled personalizada, a implementação de ICancelMethodCalls::Cancel não deve fazer nada além de retornar E_NOTIMPL, E_FAIL ou algum outro valor apropriado.
CoSetCancelObject chama AddRef em objetos que ele registra e Libera em objetos que ele cancela o registro.
CoSetCancelObject não define nem redefine objetos de cancelamento para métodos assíncronos.
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 |