私は初心者のjnJNAであり、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をクラスオブジェクトに変換しようとすると、コンパイラが文句を言い始めます。どうすればこれを達成できますか?