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