Compartir a través de


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

Incrementa el recuento de conexiones externas seguras de un objeto.

Sintaxis

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

Parámetros

[in] extconn

Tipo de conexión externa al objeto . El único tipo de conexión externa admitido actualmente por esta interfaz es seguro, lo que significa que el objeto debe permanecer activo mientras exista esta conexión externa. Las conexiones externas seguras se representan mediante el valor EXTCONN_STRONG, que se define en la EXTCONN de enumeración.

[in] reserved

Información sobre la conexión. Ole reserva este parámetro para su uso. Su valor puede ser cero, pero no necesariamente. Por lo tanto, las implementaciones de AddConnection no deben contener bloques de código cuya ejecución depende de si se devuelve un valor cero.

Valor devuelto

El método devuelve el recuento de conexiones. Este valor está pensado para usarse solo con fines de depuración.

Comentarios

Un objeto creado por un servidor de objetos EXE se basa en su administrador de código auxiliar para llamar a AddConnection cada vez que se activa un cliente de vínculo y, por lo tanto, crea un bloqueo externo en el objeto. Cuando el cliente de vínculo interrumpe la conexión, el administrador de código auxiliar llama a IExternalConnection::ReleaseConnection para liberar el bloqueo.

Las aplicaciones de objetos DLL existen en el mismo espacio de proceso que sus objetos, por lo que no usan RPC (llamadas a procedimiento remoto) y no tienen administradores de código auxiliar para realizar un seguimiento de las conexiones externas. Por lo tanto, los servidores DLL que admiten vínculos externos a sus objetos deben implementar IExternalConnection para que los clientes de vínculo puedan llamar directamente a la interfaz para informarles cuando se agregan o liberan conexiones.

A continuación se muestra una implementación típica para el método AddConnection .

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

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

Consulte también

IExternalConnection

IRunnableObject::LockRunning

OleLockRunning