Método IExternalConnection::AddConnection (objidlbase.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 con el objeto . El único tipo de conexión externa admitido actualmente por esta interfaz es seguro, lo que significa que el objeto debe permanecer activo siempre que 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 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 procedimientos remotos) 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 cuándo se agregan o liberan las 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 | objidlbase.h (incluya ObjIdl.h) |