0
我是新手jn JNA,並且對java和C++的混合有點困惑。在WNDPROC回調方法中,發送到回調函數的LPARAM必須用於檢索DEV_BROADCAST_DEVICEINTERFACE類對象。這是我的代碼:JNA - 如何將LPARAM指針轉換爲Class對象?
public static User32.WNDPROC WndProc = new User32.WNDPROC() {
@Override
public LRESULT callback(HWND hWnd, int uMSG, WPARAM uParam, LPARAM lParam)
{
User32.DEV_BROADCAST_DEVICEINTERFACE b = (User32.DEV_BROADCAST_DEVICEINTERFACE) lParam;
if(b != null){
System.out.println("Device Name: " + b.dbcc_name.toString()); System.out.println("New Volume GUID:" + b.dbcc_classguid.toString());
}
}
編譯器開始抱怨時,我嘗試將lParam參數轉化爲類對象,原因是顯而易見的。我如何實現這一目標?