我是 jn JNA 的新手,对 java 和 C++ 的混合感到有点困惑。在 WNDPROC 回调方法中,LPARAM 被发送到回调必须用于检索 DEV_BROADCAST_DEVICEINTERFACE 类对象。这是我的代码:
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 转换为类对象时,编译器开始抱怨,原因很明显。我如何实现这一目标?