Metodo IExternalConnection::AddConnection (objidl.h)

Incrementa il conteggio delle connessioni esterne complesse di un oggetto.

Sintassi

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

Parametri

[in] extconn

Tipo di connessione esterna all'oggetto . L'unico tipo di connessione esterna attualmente supportato da questa interfaccia è sicuro, il che significa che l'oggetto deve rimanere attivo finché questa connessione esterna esiste. Le connessioni esterne complesse sono rappresentate dal valore EXTCONN_STRONG, definito nell'enumerazione EXTCONN.

[in] reserved

Informazioni sulla connessione. Questo parametro è riservato per l'uso da PARTE di OLE. Il valore può essere zero, ma non necessariamente. Di conseguenza, le implementazioni di AddConnection non devono contenere blocchi di codice la cui esecuzione dipende dal fatto che venga restituito un valore zero.

Valore restituito

Il metodo restituisce il conteggio delle connessioni. Questo valore deve essere usato solo a scopo di debug.

Commenti

Un oggetto creato da un server oggetti EXE si basa sul relativo gestore stub per chiamare AddConnection ogni volta che un client di collegamento viene attivato e quindi crea un blocco esterno sull'oggetto. Quando il client di collegamento interrompe la connessione, la gestione stub chiama IExternalConnection::ReleaseConnection per rilasciare il blocco.

Le applicazioni di oggetti DLL esistono nello stesso spazio di processo degli oggetti, quindi non usano RPC (chiamate di routine remote) e non dispongono di gestioni stub per tenere traccia delle connessioni esterne. Pertanto, i server DLL che supportano collegamenti esterni ai relativi oggetti devono implementare IExternalConnection in modo che i client di collegamento possano chiamare direttamente l'interfaccia per informarli quando le connessioni vengono aggiunte o rilasciate.

Di seguito è riportata un'implementazione tipica per il metodo AddConnection .

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

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione objidl.h (include ObjIdl.h)

Vedi anche

IExternalConnection

IRunnableObject::LockRunning

OleLockRunning