Compartilhar via


Método IExternalConnection::AddConnection (objidl.h)

Incrementa a contagem de conexões externas fortes de um objeto.

Sintaxe

DWORD AddConnection(
  [in] DWORD extconn,
  [in] DWORD reserved
);

Parâmetros

[in] extconn

O tipo de conexão externa com o objeto . O único tipo de conexão externa atualmente compatível com essa interface é forte, o que significa que o objeto deve permanecer ativo enquanto essa conexão externa existir. Conexões externas fortes são representadas pelo valor EXTCONN_STRONG, que é definido na enumeração EXTCONN.

[in] reserved

Informações sobre a conexão. Esse parâmetro é reservado para uso pelo OLE. Seu valor pode ser zero, mas não necessariamente. Portanto, as implementações de AddConnection não devem conter blocos de código cuja execução depende se um valor zero é retornado.

Retornar valor

O método retorna a contagem de conexões. Esse valor destina-se a ser usado apenas para fins de depuração.

Comentários

Um objeto criado por um servidor de objetos EXE depende de seu gerenciador de stub para chamar AddConnection sempre que um cliente de link é ativado e, portanto, cria um bloqueio externo no objeto . Quando o cliente de link interrompe a conexão, o gerenciador de stub chama IExternalConnection::ReleaseConnection para liberar o bloqueio.

Os aplicativos de objeto DLL existem no mesmo espaço de processo que seus objetos, portanto, eles não usam RPC (chamadas de procedimento remoto) e não têm gerenciadores de stub para acompanhar as conexões externas. Portanto, os servidores DLL que dão suporte a links externos para seus objetos devem implementar IExternalConnection para que os clientes de link possam chamar diretamente a interface para informá-los quando as conexões são adicionadas ou liberadas.

Veja a seguir uma implementação típica para o método AddConnection .

DWORD MyInterface::AddConnection(DWORD extconn, DWORD dwReserved)
{
    return extconn & EXTCONN_STRONG ? ++m_cStrong : 0;
}

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 objidl.h (inclua ObjIdl.h)

Confira também

Iexternalconnection

IRunnableObject::LockRunning

OleLockRunning