Condividi tramite


Uso di I Connessione ionPoint

Quando il client dispone di un puntatore a un punto di connessione, può eseguire le operazioni seguenti, come espresso tramite I Connessione ionPoint:

  • Prima di tutto, I Connessione ionPoint::Get Connessione ionInterface recupera l'IID dell'interfaccia in uscita supportata dal punto di connessione. Se usato insieme a IEnum Connessione ionPoints, questo metodo consente al client di esaminare i ID DI tutte le interfacce in uscita supportate nell'oggetto connettibile.
  • In secondo luogo, un client può spostarsi dal punto di connessione all'interfaccia I Connessione ionPointContainer dell'oggetto connettibile tramite il metodo I Connessione ionPoint::Get Connessione ionPointContainer.
  • In terzo luogo, i metodi più interessanti per il client sono I Connessione ionPoint::Advise e I Connessione ionPoint::Unadvise. Quando un client desidera connettere il proprio oggetto sink all'oggetto connettibile, il client passa il puntatore IUnknown del sink (o qualsiasi altro puntatore di interfaccia sullo stesso oggetto) a Advise. Il punto di connessione esegue una query sul sink per l'interfaccia in uscita specifica prevista. Se tale interfaccia è disponibile nel sink, il punto di connessione archivia il puntatore dell'interfaccia. Da questo punto fino a quando non viene chiamato Unadvise , l'oggetto connettibile effettuerà chiamate al sink tramite questa interfaccia quando si verificano eventi. Per disconnettere il sink dal punto di connessione, il client passa una chiave restituita da Advise al metodo Unadvise . Unadvise deve chiamare Release sull'interfaccia sink.
  • Infine, un client può chiedere a un punto di connessione di enumerare tutte le connessioni esistenti tramite I Connessione ionPoint::Enum Connessione ions. Questo metodo crea un oggetto enumeratore (con un conteggio dei riferimenti separato) restituendo un puntatore IEnum Connessione ions. Il client deve chiamare Release quando l'enumeratore non è più necessario. Inoltre, l'enumeratore restituisce una serie di strutture CONNECTDATA , una per ogni connessione. Ogni struttura descrive una connessione usando il puntatore IUnknown del sink e la chiave di connessione originariamente restituita da Advise. Al termine di questi puntatori all'interfaccia sink, il client deve chiamare Release per ogni puntatore restituito in una struttura CONNECTDATA .

interfacce oggetto Connessione able