Visual C++:接口的 ATL 实现

Posted

技术标签:

【中文标题】Visual C++:接口的 ATL 实现【英文标题】:Visual C++: ATL Implementation of an Interface 【发布时间】:2012-12-20 06:30:39 【问题描述】:

我想这是一个非常愚蠢的问题,但我找不到答案。我正在尝试使用 ATL 实现 COM 接口。根据this,我应该使用实现接口向导。我的问题是如何在此向导中找到所需的界面。我必须浏览所有图书馆吗?是否在接口文档的某处指定 (IOleCommandTarget)

【问题讨论】:

【参考方案1】:

要实现你需要的接口:

从它继承你的类 添加到界面地图 实现其方法

例如:

class CFoo : 
  // regular COM object base class, esp. those generated by ATL Simple Object Class Wizard
  public IOleCommandTarget


BEGIN_COM_MAP(CFoo)
  // ...
  COM_INTERFACE_ENTRY(IOleCommandTarget)
END_COM_MAP()

// ...

public:
// IOleCommandTarget
  STDMETHOD(Exec)(...) // IOleCommandTarget methods go here
  
    // ...
  
;

【讨论】:

这是一个非常有用的答案。感谢您的快速回复。

以上是关于Visual C++:接口的 ATL 实现的主要内容,如果未能解决你的问题,请参考以下文章

返回String类型时Visual Basic WPF加载ATL C++ dll程序退出

将实现 ATL 接口的 VBA 类传递给 ATL 方法

Visual Studio 2008 错误:ATL

如何使用原生 C++ 的 COM 实现 C# 的接口?

ATL“实现界面向导”

如何使用 Visual Studio Express 2013 将 C# 接口实现/合并到一个简单的 C++ 程序中