Share via


连接点宏

这些宏定义连接点映射和项。

说明
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()

另请参阅


连接点全局函数