COM 接口指针是如何工作的?

华生

我是 COM 编程的新手,几年前正在阅读其他人的代码。我有点不解。头文件中声明了一些接口指针。例如,以黄色突出显示的 m_pPhone。

在此处输入图片说明

声明后,m_pPhone 似乎没有得到任何值或赋值或初始化。 在此处输入图片说明

但它用于获取 m_pPhone->PhoneMode 值。价值从何而来?该项目被编译为 DLL。我没有在项目属性中找到任何包含的库。平台为Windows 7。

在此处输入图片说明

补充:VS2010提示信息显示了定义,但是F12或者findstr CMD都找不到。 在此处输入图片说明

莱姆斯·鲁萨努

m_Phone是由所生成的编译器COM智能指针#import该指令将在构建时在构建文件夹中创建一些 .h 文件,这些文件将依次编译到您的项目中,请参阅由导入创建的头文件

该值通常通过调用 分配给智能指针CreateInstance,但也可以通过其他方式分配(例如,通过 COM 智能分配方法返回或什至 QueryInterface 调用)。你必须时刻记住,这里发生的真正动作是 COM 并且遵循 COM 规则,编译器支持只是将它隐藏起来,让它看起来像普通的 C++ 语法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章