Aracılığıyla paylaş


IConnectionPoint kullanma

İstemcinin bağlantı noktasına yönelik bir işaretçisi olduğunda, IConnectionPointaracılığıyla ifade edildiği gibi aşağıdaki işlemleri gerçekleştirebilir:

  • İlk olarak, IConnectionPoint::GetConnectionInterface bağlantı noktası tarafından desteklenen giden arabirim IID'sini alır. bu yöntem, IEnumConnectionPointsile birlikte kullanıldığında, istemcinin bağlanabilir nesnede desteklenen tüm giden arabirimlerin IID'lerini incelemesine olanak tanır.
  • İkinci olarak, istemci IConnectionPoint::GetConnectionPointContainer yöntemi aracılığıyla bağlantı noktasından bağlanılabilir nesnenin IConnectionPointContainer arabirimine gidebilir.
  • Üçüncüsü, istemci için en ilginç yöntemler IConnectionPoint::Advise ve IConnectionPoint::Unadvise. İstemci, bağlanılabilir nesneye kendi havuz nesnesini bağlamak istediğinde, istemci öneri için havuzun IUnknown işaretçisini (veya aynı nesnedeki diğer arabirim işaretçilerini) geçirir. Bağlantı noktası, beklenen belirli giden arabirim için havuzu sorgular. Bu arabirim havuz üzerinde kullanılabilir durumdaysa, bağlantı noktası arabirim işaretçisini depolar. Bu noktadan Unadvise çağrılana kadar, olaylar gerçekleştiğinde bağlanılabilir nesne bu arabirim aracılığıyla havuza çağrı yapar. İstemci, lavabonun bağlantı noktasını kesmek için Öneri'den geri döndürülen anahtarı Unadvise yöntemine geçirir. Unadvise sink arabiriminde Release çağırmalıdır.
  • Son olarak, istemci bir bağlantı noktasından IConnectionPoint::EnumConnectionsaracılığıyla var olan tüm bağlantıları listelemesini isteyebilir. Bu yöntem, ayrı bir başvuru sayısına sahip olan ve kendisine bir IEnumConnectionsişaretçisi döndüren birnumaralandırıcı nesnesi oluşturur. Numaralandırıcı artık gerekli olmadığında istemcinin Release çağırması gerekir. Ayrıca, numaralandırıcı her bağlantı için bir dizi CONNECTDATA yapısı döndürür. Her yapı, alıcının IUnknown işaretçisi ile başlangıçta Advise'den döndürülen bağlantı anahtarını kullanarak bir bağlantıyı açıklar. Bu havuz arabirimi işaretçileriyle işiniz bittiğinde, istemcinin bir CONNECTDATA yapısında döndürülen her işaretçide Release çağırması gerekir.

Bağlanabilir Nesne Arabirimleri