通過@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修改符硬性規定。
欲了解這些特性更詳細的情況,請參考微軟公司提供的技術文檔。