Použití IConnectionPointu
Pokud má klient ukazatel na spojovací bod, může provádět následující operace vyjádřené prostřednictvím IConnectionPoint:
- Nejprve IConnectionPoint::GetConnectionInterface načte odchozí rozhraní IID podporované spojovacím bodem. Při použití ve spojení s IEnumConnectionPoints, tato metoda umožňuje klientovi prozkoumat IDENTIFIKÁTORy IID všech odchozích rozhraní podporovaných na připojitelném objektu.
- Za druhé, klient může přejít ze spojovacího bodu zpět do připojitelného objektu IConnectionPointContainer prostřednictvím metody IConnectionPoint::GetConnectionPointContainer rozhraní.
- Za třetí, nejzajímavější metody pro klienta jsou IConnectionPoint::Advise a IConnectionPoint::Unadvise. Pokud si klient přeje připojit vlastní objekt jímky k připojitelnému objektu, klient předá IUnknown ukazatel (nebo jakýkoli jiný ukazatel rozhraní na stejném objektu) Poradit. Spojovací bod se dotazuje jímky na konkrétní očekávané odchozí rozhraní. Pokud je toto rozhraní k dispozici na jímce, spojovací bod pak uloží ukazatel rozhraní. Od tohoto okamžiku až do chvíle, kdy je volána metoda Unadvise, bude připojitelný objekt provádět volání k příjemci prostřednictvím tohoto rozhraní, když dojde k událostem. Chcete-li odpojit dřez od spojovacího bodu, klient předává klíč vrácený z Advise do metody Unadvise. Unadvise musí v rozhraní jímky volat release.
- Nakonec může klient požádat spojovací bod, aby vyčíslil všechna připojení k němu, která existují prostřednictvím IConnectionPoint::EnumConnections. Tato metoda vytvoří enumerační objekt (s odděleným počtem referencí), který vrací ukazatel na tento IEnumConnections objekt. Klient musí volat release, pokud už není enumerátor potřeba. Enumerátor navíc vrátí řadu CONNECTDATA struktur, jednu pro každé připojení. Každá struktura popisuje jedno připojení pomocí IUnknown ukazatel jímky a také klíč připojení původně vrácený z Poradit. Po dokončení s těmito ukazateli rozhraní jímky musí klient volat Release na každém ukazateli vráceným ve struktuře CONNECTDATA.
Související témata