Condividi tramite


Metodo IExternalConnection::AddConnection (objidlbase.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 fino a quando esiste questa connessione esterna. 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 OLE. Il suo valore può essere zero, ma non necessariamente. Pertanto, le implementazioni di AddConnection non devono contenere blocchi di codice il cui esecuzione dipende dal fatto che venga restituito un valore zero.

Valore restituito

Il metodo restituisce il numero di connessioni. Questo valore deve essere usato solo per scopi di debug.

Commenti

Un oggetto creato da un server a oggetti EXE si basa sul relativo gestore stub per chiamare AddConnection ogni volta che un client di collegamento attiva 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 a 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 agli 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 objidlbase.h (include ObjIdl.h)

Vedi anche

IExternalConnection

IRunnableObject::LockRunning

OleLockRunning