kwi*_*ess 3 java winapi visual-sourcesafe eclipse-plugin 32bit-64bit
我试图通过64位Java库调用CoCreateInstance(...):org.eclipse.swt.internal.ole.win32.COM.我试图挂钩的DLL是Visual SourceSafe的DLL.该项目的目的是将为32位Eclipse制作的VSS插件(http://sourceforge.net/projects/vssplugin/)移植到64位Eclipse.
当我使用64位版本的org.eclipse.swt.internal.ole.win32.COM时,调用工作正常,但是对于32位版本,调用失败.呼叫正在使用如下:
private void init(GUID guid) {
long[] ppv = new long[1];
int result = COM.CoCreateInstance(guid, 0, COM.CLSCTX_INPROC_HANDLER | COM.CLSCTX_INPROC_SERVER | COM.CLSCTX_LOCAL_SERVER,
COM.IIDIDispatch, ppv);
if (result != COM.S_OK)
OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result);
init(new OleAutomation(new IDispatch(ppv[0])));
}
Run Code Online (Sandbox Code Playgroud)
调用失败并返回-2147221164,我猜这是某种错误代码,指定无法找到相应的注册表项.
我尝试过的一些事情包括:
有没有人对此提出建议?
CoCreateInstance只是调用LoadLibraryEx,并且无法在64位进程中加载32位库.期间,永远.另一方面,你可以: