[jitsi-dev] MS Office COM dll


#1

For 32bit OS'es, the jmsofficecomm native dll does not load, it could also
be that the version of office is 2010 pro. But, that's doubtful because the
32bit dll loads fine in x64 windows with the same version of Office (32bit)
installed (2010 pro). Eitherway, I was hoping to build the dll and compare
it's API calls against the Office 2010 COM API. From the looks of it, the
dll is definitely a COM dll.

I am attempting to debug this dll for 32bit windows, and I noticed the
following header files are automatically generated:

net_java_sip_communicator_plugin_msofficecomm_Messenger.h

net_java_sip_communicator_plugin_msofficecomm_OutOfProcessServer.h

I am trying to build the dll from scratch so I can debug it, how are the
above 2 files dynamically generated?

Also, since there is no Ant target, or Makefile for the jmsofficecomm.dll,
how is it built?

There must be some kind of build script not located in the source tree which
builds this dll, I wanted to compare the Win32 COM calls with the Office
2010 COM API to see if that was the problem, etc, but in order to do that I
need to be able to build the dll.

I also want to check out the calls to see if perhaps a 64bit only call is
being made, or perhaps there is a type problem between the 32 and 64 bit
builds. I'm thinking it could be a type problem because of the fact the
32bit dll runs fine on x64 windows, which would make sense if it was a type
issue.

So, does anyone know how this dll is built? Both the dynamic headers from
JNI and the Makefile/Ant build file. Or is it built differently somehow?

Thanks,

Damian Kohlfeld


#2

net_java_sip_communicator_plugin_msofficecomm_Messenger.h
net_java_sip_communicator_plugin_msofficecomm_OutOfProcessServer.h

I am trying to build the dll from scratch so I can debug it, how are the above 2 files dynamically generated?

These two are part of the JNI implementation of native functions declared in the respective Java files so they are generated by invoking javah on the Java classes. Unless you change the declarations of the native functions, there is really no reason to regenerate them.

Also, since there is no Ant target, or Makefile for the jmsofficecomm.dll, how is it built?

There are a couple of Bash scripts which facilitate the building on Linux but they are incomplete at best so they have been removed from source control.

ยทยทยท

On Aug 17, 2012, at 9:31 PM, Damian Kohlfeld <damian@kohlfeld.com> wrote: