Dela via


Använda IConnectionPoint

När klienten har en pekare till en anslutningspunkt kan den utföra följande åtgärder enligt IConnectionPoint-:

  • Först IConnectionPoint::GetConnectionInterface hämtar utgående gränssnitts-IID som stöds av anslutningspunkten. När den används tillsammans med IEnumConnectionPointstillåter den här metoden att klienten undersöker IID:erna för alla utgående gränssnitt som stöds på det anslutningsbara objektet.
  • För det andra kan en klient navigera från anslutningspunkten tillbaka till det anslutningsbara objektets IConnectionPointContainer--gränssnitt via IConnectionPoint::GetConnectionPointContainer-metoden.
  • För det tredje är de mest intressanta metoderna för klienten IConnectionPoint::Advise and IConnectionPoint::Unadvise. När en klient vill ansluta sitt eget sinkobjekt till det anslutningsbara objektet skickar klienten sinkobjektets IUnknown pekare (eller någon annan gränssnittspekare på samma objekt) till Advise. Anslutningspunkten frågar mottagaren efter det specifika utgående gränssnitt som förväntas. Om gränssnittet är tillgängligt på sinken lagrar anslutningspunkten sedan gränssnittspekaren. Från denna punkt tills Unadvise anropas, kommer det anslutningsbara objektet att göra anrop till mottagaren via det här gränssnittet när händelser inträffar. För att koppla från sinken från anslutningspunkten skickar klienten en nyckel som returneras från Advise till metoden Unadvise. Unadvise måste anropa Release i sink-gränssnittet.
  • Slutligen kan en klient be en anslutningspunkt att räkna upp alla anslutningar till den som finns via IConnectionPoint::EnumConnections. Den här metoden skapar ett uppräkningsobjekt (med ett separat referensantal) som returnerar en IEnumConnections- pekare till den. Klienten måste anropa Release när uppräknaren inte längre behövs. Dessutom returnerar uppräknaren en serie CONNECTDATA- strukturer, en för varje anslutning. Varje struktur beskriver en anslutning med hjälp av IUnknown pekare för disk samt anslutningsnyckeln som ursprungligen returnerades av Advise. När du är klar med dessa pekare för mottagargränssnittet måste klienten anropa Release på varje pekare som returneras i en CONNECTDATA- struktur.

anslutningsbara objektgränssnitt