Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obiekt łączący się może oferować interfejsy IProvideClassInfo i IProvideClassInfo2, aby jego klienci mogli łatwo badać informacje o typie. Ta funkcja jest ważna podczas pracy z interfejsami wychodzącymi, które z definicji są definiowane przez obiekt, ale implementowane przez klienta na własnym obiekcie ujścia. W niektórych przypadkach interfejs wychodzący jest znany w czasie kompilacji zarówno z obiektem połączonym, jak i obiektem ujścia; tak jest w przypadku IPropertyNotifySink.
W innych przypadkach jednak tylko obiekt połączony zna definicje interfejsu wychodzącego w czasie kompilacji. W takich przypadkach klient musi uzyskać informacje o typie dla interfejsu wychodzącego, aby mógł dynamicznie zapewnić ujście obsługujące odpowiednie punkty wejścia w następujący sposób:
- Klient wylicza punkty połączenia, a następnie, aby uzyskać identyfikatory IID interfejsów wychodzących obsługiwanych przez obiekt połączony, wywołuje IConnectionPoint::GetConnectionInterface dla każdego punktu połączenia.
- Klient pyta obiekt, z którym można się połączyć, o jeden z interfejsów IProvideClassInfo.
- Klient wywołuje metody w interfejsach , IProvideClassInfoi, aby uzyskać informacje o typie dla interfejsu wychodzącego.
- Klient tworzy obiekt ujścia obsługujący interfejs wychodzący.
- Proces jest kontynuowany, a klient wywołuje IConnectionPoint::Advise w celu połączenia ujścia z punktem połączenia.
W informacjach o typie atrybut źródłowy oznacza interfejs lub dispinterface wymienione w coclass jako interfejs wychodzący. Wymienione bez tego atrybutu są uznawane za interfejsy przychodzące.
Tematy pokrewne
-
interfejsy obiektów connectable