Можно использовать JCIFS
http://jcifs.samba.org/src/docs/api/jcifs/smb/SmbFile.html
или если Вы хотите высокоуровневый API и поддерживаете для других протоколов как FTP, Zip и другие:
http://commons.apache.org/vfs/filesystems.html
Обе опции являются чистым Java и кросс-платформенный.
Это ужасная ошибка / особенность MIDL. Он не позволяет использовать один и тот же идентификатор в другом регистре, поэтому заменяет все последующие вхождения слова регистром с первого раза.
См. KB220137
Хорошо. Разобрался. Здесь была такая строка:
[out,retval] IVirtualMachine **virtualMachine);
Если я поменяю ее на:
[out,retval] IVirtualMachine **ppVirtualMachine);
... тогда все будет нормально. Думаю, что-то странное в MIDL. Возможно, он пытается исправить регистр в стиле VB.