踩踏拖放过程(或任何其他系统调用)

时间:2011-02-13 17:30:07

标签: c++ visual-studio dll com

我有一个不使用标准库的应用程序。相反,它使用存根调用LoadLibrary / GetProcAddress,然后通过结果函数指针调用函数。

使用上面的方法,我的应用程序在ole32.dll中调用DoDragDrop。该呼叫正在返回E_UNEXPECTED,这显然意味着“灾难性失败”。

我想问的是,是否有人知道如何发现DoDragDrop调用中发生的事情?具体来说,我可以发现它正在寻找但找不到的功能或变量吗? (我猜它想要访问一些我在调用DoDragDrop时没有加载的函数或变量,如果我可以显式加载它,那么调用就会成功。)显然我不能进入调用 - 试图只是在DoDragDrop调用之后运行函数并逐步执行代码中的行。

:)

(我在XP中使用VS2005。)

1 个答案:

答案 0 :(得分:0)

我记得当我忘记为进行调用的线程调用OleInitialize(Ex)/ CoInitialize(Ex)时会发生类似这样的事情。注意公寓必须是STA。