从 VS2012 在 C++ 中使用 ATL 创建 COM

Creating COM using ATL in C++ from VS2012

尝试在 Visual Studio 2012 年使用 ATL 创建简单的 COM 库。 我愿意:

 New ATL Project
 Welcome to the ATL Project Wizard
 Next
 Application Settings - no change (DLL)
 Next
 Finish

得到了很多文件:

试图了解在何处添加可由 COM 用户调用的简单函数。我发现只有一个地方可以使用向导添加功能:

但我发现在参数选择方面缺少某些内容,例如 in、out、retval。

我希望在添加新功能后至少 IDL 文件也会更新,但这并没有发生。

从 VS2012 的 Visual C++ 使用 ATL 创建简单 COM class 的方法是什么?

  1. 添加一个新的class

  2. 填写字段

此步骤 SomeObject.h 之后,将创建 SomeObject.cpp 文件并将其添加到您的解决方案中,ISomeObject 接口声明将添加到 .idl 文件中。

  1. 进入Class视图(默认ctrl+shift+C组合),selectISomeObject,添加新方法

  2. 填写字段

完成此步骤后,someMethod 将添加到 .idl 文件、.h 文件和 .cpp 文件中。您所要做的就是在 .cpp 文件中编写 someMethod 的实现。