vtable有问题 - 是我还是图书馆?

时间:2009-05-31 22:43:37

标签: com dll vtable

我正在尝试使用一个使用vtable的COM库。然而,在我调用函数之后,堆栈正在进行一些时髦的事情,这告诉我我做错了什么。

带有vtable定义的头文件粘贴在此处:pastebin.com/m2d66c18c(特别参见从第810行开始的代码)。这里粘贴了一个示例:pastebin.com/m1b46e662

表中正在填充函数的正确位置,但是当我调用函数时,它们似乎正在查找堆栈中参数的错误位置。此外,在调用表中的函数后,堆栈搞砸了,我的程序崩溃了。我尝试将函数类型更改为__cdecl__stdcall,但这没有任何作用。

这是我的代码或图书馆,写这个图书馆的公司还没有回复我 - 因为这是周末,我假设。此外,还有一个使用该库的演示应用程序,它可以工作 - 所以我认为这是我的代码/编译器(gcc)/其他东西,而不是库。

为了使用COM库,你可能需要做些什么吗?

0 个答案:

没有答案