Sdílet prostřednictvím


Použití IProvideClassInfo

Připojitelný objekt může nabídnout rozhraní IProvideClassInfo a IProvideClassInfo2 rozhraní, aby jeho klienti mohli snadno prozkoumat informace o typu. Tato schopnost je důležitá při práci s odchozími rozhraními, která jsou podle definice definována objektem, ale implementována klientem na vlastním objektu jímky. V některých případech je odchozí rozhraní známo v době kompilace jak pro připojitelný objekt, tak pro objekt jímky; to je případ IPropertyNotifySink.

V jiných případech však pouze připojitelný objekt zná jeho odchozí definice rozhraní v době kompilace. V těchto případech musí klient získat informace o typu pro odchozí rozhraní, aby mohl dynamicky poskytovat jímku podporující správné vstupní body následujícím způsobem:

  1. Klient vytvoří výčet spojovacích bodů a poté získá identifikátory IID odchozích rozhraní podporovaných připojitelným objektem, volá IConnectionPoint::GetConnectionInterface pro každý spojovací bod.
  2. Klient se dotazuje u připojitelného objektu na jedno z rozhraní IProvideClassInfo.
  3. Klient volá metody v rozhraních IProvideClassInfo k získání informací o typu pro odchozí rozhraní.
  4. Klient vytvoří objekt jímky podporující odchozí rozhraní.
  5. Proces pokračuje a klient volá IConnectionPoint::Poraďte připojit jímku k spojovacímu bodu.

V informacích o typu označuje atribut zdrojový rozhraní nebo dispinterface uvedený pod coclass jako odchozí rozhraní. Ty, které jsou uvedené bez tohoto atributu, se považují za příchozí rozhraní.

připojitelná rozhraní objektů

poskytování informací o třídě