连接点宏
这些宏定义连接点映射和项。
宏 | 说明 |
---|---|
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()