2010-04-28 1 views
0

Я полный новичок в Windows и COM-программировании, пытаясь использовать com4j для вызова COM-объекта с Java.В чем DLL - это интерфейс COM iStream?

Com4j генерирует интерфейсы Java из определений COM «часто встречается в файлах .ocx, .dll, .exe и/или .tlb». Мне было легко найти файл .ocx моего целевого COM-объекта, но я не имею понятия о стандартном интерфейсе iStream.

Microsoft's documentation упоминает OLE32.DLL (c: \ Windows \ Windows32 \ Ole32.dll?), Но ни генератор com4j, ни oleviewer не удается открыть этот файл.

Любые подсказки?

ответ

1

Похоже, она определена в comsvcs.dll.

+0

DLL кажется правильным. К сожалению, com4j не смог создать из него интерфейсы. Я ищу ответы. –

1

Документация, связанная со ссылками Objidl.idl. com4j может обрабатывать файлы IDL.

В качестве альтернативы вы можете попытаться скомпилировать IDL в TLB с использованием MIDL: http://msdn.microsoft.com/en-us/library/aa367372(VS.85).aspx

+0

Любая идея, где я могу найти objidl.idl? –

+0

Это часть SDK для Windows Platform, но если у вас установлена ​​Visual Studio или VC++, вы тоже ее обладаете. На моей машине я нашел многословные версии, внедренные в C: \ Program Files (x86) \ Microsoft SDK \ Windows \. –