連接點巨集
這些巨集會定義連接點對應和專案。
Macro | 描述 |
---|---|
BEGIN_CONNECTION_POINT_MAP | 標記連接點對應項目的開頭。 |
CONNECTION_POINT_ENTRY | 在地圖中輸入連接點。 |
CONNECTION_POINT_ENTRY_P | (Visual Studio 2017)類似於CONNECTION_POINT_ENTRY,但會採用 iid 的指標。 |
END_CONNECTION_POINT_MAP | 標記連接點對應項目的結尾。 |
需求
標頭: atlcom.h
BEGIN_CONNECTION_POINT_MAP
標記連接點對應項目的開頭。
BEGIN_CONNECTION_POINT_MAP(x)
參數
x
[in]包含連接點的類別名稱。
備註
使用 BEGIN_CONNECTION_POINT_MAP 巨集啟動連接點對應、使用 CONNECTION_POINT_ENTRY 巨集新增每個連接點的專案,並使用 END_CONNECTION_POINT_MAP 巨集完成對應。
如需 ATL 中連接點的詳細資訊,請參閱連接點一文。
範例
BEGIN_CONNECTION_POINT_MAP(CPolyCtl)
CONNECTION_POINT_ENTRY(__uuidof(_IPolyCtlEvents))
END_CONNECTION_POINT_MAP()
CONNECTION_POINT_ENTRY和CONNECTION_POINT_ENTRY_P
在連接點對應中輸入指定介面的連接點,以便存取它。
CONNECTION_POINT_ENTRY(iid)
CONNECTION_POINT_ENTRY_P(piid) // (Visual Studio 2017)
參數
iid
[in]要加入至連接點對應之介面的 GUID。
piid
[in]要加入之介面之 GUID 的指標。
備註
對應中的連接點專案是由 IConnectionPointContainerImpl 使用。 包含連接點對應的類別必須繼承自 IConnectionPointContainerImpl
。
使用 BEGIN_CONNECTION_POINT_MAP 巨集啟動連接點對應、使用 CONNECTION_POINT_ENTRY 巨集新增每個連接點的專案,並使用 END_CONNECTION_POINT_MAP 巨集完成對應。
如需 ATL 中連接點的詳細資訊,請參閱連接點一文。
範例
class ATL_NO_VTABLE CConnect2 :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CConnect2, &CLSID_Connect2>,
public IConnectionPointContainerImpl<CConnect2>,
public IPropertyNotifySinkCP<CConnect2>
{
public:
BEGIN_CONNECTION_POINT_MAP(CConnect2)
CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
END_CONNECTION_POINT_MAP()
// Remainder of class declaration omitted.
END_CONNECTION_POINT_MAP
標記連接點對應項目的結尾。
END_CONNECTION_POINT_MAP()
備註
使用 BEGIN_CONNECTION_POINT_MAP 巨集啟動連接點對應、使用 CONNECTION_POINT_ENTRY 巨集新增每個連接點的專案,並使用 END_CONNECTION_POINT_MAP 巨集完成對應。
如需 ATL 中連接點的詳細資訊,請參閱連接點一文。
範例
BEGIN_CONNECTION_POINT_MAP(CMyComponent)
CONNECTION_POINT_ENTRY(__uuidof(_IMyComponentEvents))
END_CONNECTION_POINT_MAP()