在java中获取指向COM对象的指针

在java中获取指向COM对象的指针,java,com,jna,Java,Com,Jna,我正在研究如何在Java中获取指向COM对象的指针,以便将指针传递到另一个本机DLL 目前我一直在使用jacobjavacom桥,但是我没有注意到任何关于如何获取指向实际COM对象的指针的事情,我可以将该指针传递给本机DLL函数调用 我以前使用Java Native Access(JNA)而不是JNI来调用DLL函数,我注意到JNA现在似乎有一些东西可以用来处理COM。关于这个JNACOM支持,我有两个相关的问题:JNA的COM支持工作得如何,它准备好在项目中使用了吗?有没有关于使用JNA CO

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

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

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

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


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

我相信还有COM4J:我知道COM4J,它最近似乎没有更新,所以在我列出的可能使用COM的方法中,它位于列表的下方。此外,我还质疑是否能够获得COM对象的合适指针,然后将其传递给标准DLL函数调用,似乎在contrib目录中有一个MSOffice演示示例,我认为它至少足以让我开始使用JNA的COM支持,正如我提到的,我相信这应该允许获取COM指针并将其发送到本机DLL中的函数。我还没有测试这个传递指针的方法是否有效,如果有效,那么我将对此给出答案。