我正在使用第三方应用程序,并调用以创建我的COM对象的实例.此调用成功,但第三方应用程序上的函数不返回指向创建对象的指针(我不知道为什么).有没有办法获得指向我的对象的指针?
为了澄清,这里有一些伪代码:
// This function has no return value!
ThirdPartyApp.CreateObject("MyObject");
最佳答案 创建对象后,使其在全局变量或其他某种可共享存储位置中存储对自身的引用.然后从COM DLL中导出一个函数,该函数将从该位置读取,以便您可以调用它并获取对先前创建的对象的引用.
此共享引用不应增加对象的引用计数,否则永远不会被销毁.当您的对象被销毁时,请确保清除该共享引用.
如果在同一进程中可以有多个此对象的实例,则可能需要管理列表而不是单个全局变量.