Freigeben über


IExternalConnection::AddConnection-Methode (objidl.h)

Erhöht die Anzahl der starken externen Verbindungen eines Objekts.

Syntax

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

Parameter

[in] extconn

Der Typ der externen Verbindung mit dem -Objekt. Der einzige externe Verbindungstyp, der derzeit von dieser Schnittstelle unterstützt wird, ist stark, was bedeutet, dass das Objekt am Leben bleiben muss, solange diese externe Verbindung vorhanden ist. Starke externe Verbindungen werden durch den Wert EXTCONN_STRONG dargestellt, der in der Enumeration EXTCONN definiert ist.

[in] reserved

Informationen zur Verbindung. Dieser Parameter ist für die Verwendung durch OLE reserviert. Sein Wert kann null sein, aber nicht unbedingt. Daher sollten Implementierungen von AddConnection keine Codeblöcke enthalten, deren Ausführung davon abhängt, ob ein Nullwert zurückgegeben wird.

Rückgabewert

Die -Methode gibt die Anzahl der Verbindungen zurück. Dieser Wert ist nur für Debuggingzwecke vorgesehen.

Hinweise

Ein von einem EXE-Objektserver erstelltes Objekt ruft AddConnection von seinem Stub-Manager auf, wenn ein Linkclient aktiviert wird, und erstellt daher eine externe Sperre für das Objekt. Wenn der Linkclient die Verbindung unterbricht, ruft der Stub-Manager IExternalConnection::ReleaseConnection auf, um die Sperre zu lösen.

DLL-Objektanwendungen befinden sich im selben Prozessraum wie ihre Objekte, sodass sie keine RPC (Remoteprozeduraufrufe) verwenden und keine Stub-Manager haben, um externe Verbindungen nachzuverfolgen. Daher müssen DLL-Server, die externe Links zu ihren Objekten unterstützen, IExternalConnection implementieren, damit Linkclients die Schnittstelle direkt aufrufen können, um sie darüber zu informieren, wenn Verbindungen hinzugefügt oder freigegeben werden.

Es folgt eine typische Implementierung für die AddConnection-Methode .

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile objidl.h (include ObjIdl.h)

Weitere Informationen

IExternalConnection

IRunnableObject::LockRunning

OleLockRunning