Compartilhar via


CoDisconnectObject

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função desconecta remoto todas as conexões processo que está sendo mantidas em nome de todos os ponteiros de interface que apontar para um objeto especificado. Somente o processo que gerencia, na verdade, o objeto deve chamar CoDisconnectObject.

Syntax

STDAPI CoDisconnectObject(
  IUnknown* pUnk,
  DWORD dwReserved
);

Parameters

  • pUnk
    [no] Ponteiro para qualquer IUnknown-derivado interface sobre o objeto para ser desconectada.
  • dwReserved
    [no] Reservado para uso futuro; Deve ser zero.

Return Value

  • S_OK
    Todas as conexões com remoto processos foram excluídos com êxito.

Remarks

O CoDisconnectObject função permite que um servidor para corretamente desconectar externo todos os clientes para o objeto especificado por pUnk.

O CoDisconnectObject função executa a seguinte tarefas:

  1. Verifica se o objeto ser desconectada implementa o IMarshal interface. Em caso afirmativo, ele obtém o ponteiro para essa interface; Caso contrário, ele obtém um ponteiro para o padrão do empacotador (that is, COM) IMarshal implementação.
  2. Usando que IMarshal ponteiro interface que ele foi adquirido, em seguida, chama a função IMarshal::DisconnectObject Para desconectar todos os limite - de - processo clientes.

Cliente de um objeto não chamar CoDisconnectObject Para desconectar se o servidor (os clientes devem usar IUnknown::Release Para essa finalidade). Em vez disso, chama um servidor OLE CoDisconnectObject Para desconectar forçosamente clientes de um objeto, geralmente em resposta a um usuário fechar o aplicativo servidor.

Da mesma forma, um contêiner OLE que ofereça suporte a externo links para seu incorporado objetos podem chamar CoDisconnectObject Para destruir esses links. Novamente, esta chamar normalmente é feita em resposta a um usuário fechar o aplicativo.

O contêiner deve primeiro chamar IOleObject::Close Para todos os seus objetos OLE, cada um deles deve enviar IAdviseSink::OnClose As notificações para seus vários clientes. E o contêiner segura pode chamar CoDisconnectObject Para fechar as conexões existentes.

CoDisconnectObject Não necessariamente desconecta out - de - processo clientes imediatamente.

Se quaisquer chamadas empacotadas pendente no objeto de servidor, CoDisconnectObject Desconecta o objeto apenas quando essas chamadas tiverem retornado.

Nesse meio tempo, CoDisconnectObject Define um sinalizador que faz com que as novas chamadas empacotadas para retornar CO_E_OBJECTNOTCONNECTED.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions