0

我正在研究如何在 Java 中获取指向 COM 对象的指针,以便可以将指针传递给另一个本机 DLL。

目前我一直在使用 JACOB Java COM 桥,但是我没有注意到任何关于如何获取指向实际 COM 对象的指针,我可以将其传递给本地 DLL 函数调用。

我以前使用 Java Native Access (JNA) 而不是 JNI 来调用 DLL 函数,我注意到 JNA 现在似乎有一些与 COM 一起工作的东西。关于这个 JNA COM 支持,我有两个相关的问题:JNA 的 COM 支持效果如何,是否可以在项目中使用?是否有任何关于使用 JNA COM 支持的教程,因为 COM 支持的文档是有限的,我不确定我应该如何使用它。

我想还有与 JNA 和 COM 有关的第三个问题,它是否允许我获取指向 COM 对象的指针,然后将其传递给本机 DLL C 类型函数?我几乎猜测是的,因为对象的继承看起来像 COM 的东西可以从 JNA 进行标准的本机 DLL 调用,我只是想澄清一下。

最后,虽然我主要询问了 JNA,因为这是我找到的一种可能的解决方案,但我对其他可能性持开放态度,尽管我更喜欢使用 JNA 来调用本机 DLL 函数而不是使用 JNI。

4

0 回答 0