在vtbl中命名函数指针

时间:2014-01-31 15:22:56

标签: c windows winapi com idl

对不起初学者的问题。

在非常好的文章中Com in plain C我读了这句话:

  

COM对象的一个​​要求是我们的前三个成员   VTable(即我们的IExampleVtbl结构)必须被称为QueryInterface,   AddRef和Release。

这是真的吗?

如果更改名称,但参数,调用约定和返回值会相同怎么办?

你还在做这个吗?如果不是为什么?

非常感谢您的回复。 (正面或负面。)

1 个答案:

答案 0 :(得分:3)

每个 COM接口必须派生自IUnknown。它提供了基本服务:内存管理(AddRef和Release)以及发现COM对象实现的其他接口(QueryInterface)的能力。因此,COM接口的v表始终以3个函数指针开始,这些函数指向这些方法的实现。函数的实际名称或它们所用的语言根本不重要,COM只关心函数指针。

您可以根据需要命名实现功能。故意不使用IUnknown函数名称是不明智的。