其他J/Direct特性
通过@dll.import引导呼吁内的修改符(标志),还可用到J/Direct的另两项特性。第一项是对OLE函数的简化会见,第二项是选择API函数的ANSI及Unicode版本。
按照约定,所有OLE函数城市返回范例为HRESULT的一个值,它是由COM界说的一个布局化整数值。若在COM那一级编写措施,并但愿从一个OLE函数里返回某些差异的对象,就必需将一个非凡的指针通报给它——该指针指向函数即将在个中填凑数据的谁人内存区域。但在Java中,我们没有指针可用;另外,这种要领并不简洁。操作J/Direct,我们可在@dll.import引导呼吁里利用ole修改符,从而利便地挪用OLE函数。标志为ole函数的一个固有要了解从Java形式的要领签名(通过它抉择返回范例)自动转换成COM形式的函数。
第二项特性是选择ANSI可能Unicode字串节制要领。对字串举办节制的大大都Win32 API函数都提供了两个版本。譬喻,假设我们调查由USER32.DLL导出的标记,那么不会找到一个MessageBox()函数,相反会看到MessageBoxA()和MessageBoxW()函数——别离是该函数的ANSI和Unicode版本。假如在@dll.import引导呼吁里不划定想挪用哪个版本,JVM就会试着自行判定。但这一操纵会在措施执行时耗费较长的时间。所以,我们一般可用ansi,unicode或auto修改符硬性划定。
欲相识这些特性更具体的环境,请参考微软公司提供的技能文档。